EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Shared Tasks (https://www.eqemulator.org/forums/showthread.php?t=30479)

Akkadius 11-22-2010 04:42 PM

Quote:

Originally Posted by Caryatis (Post 194415)
Awesome, yea if you have some stuff already done, it would definitely help me out as this is all pretty new to me still :)

I can definitely get packet collects taken care of as far as Monster Mission in EQ as it stands. Once this gets further in progression I can take care of it.

Jaekob 11-22-2010 11:01 PM

Quote:

Originally Posted by Caryatis (Post 194413)
I bugged derision for his diff on this, so hopefully will be able to get this functional sometime before the new year(he wasn't joking about the size the diff lol). I'm going to try to get expeditions working first as it seems less complicated and good practice for this however we are missing the SoD opcodes for shared tasks so if somebody who can get those is bored over the next while, it would help out to get those nailed down.

With the changes Ive made to the AA system, we should be able to implement monster missions once this gets working(will be able to hide the clients normal AAs and send a new table with the monster AAs, although will prob require a change to the way AAs are calculated, as presently even hidden AAs gets tallied up).

If you need a collect for expeditions talk to KLS. Robregen collected those some time back and passed them along to her. Getting expeditions functional would be very nice.

Caryatis 11-22-2010 11:39 PM

Didn't have much time to work on this today but seems like it should be pretty straightforward, got most of the fields populated(members/status not quite right yet)...

http://www1.mediafire.com/imgbnc.php...2a0175e35g.jpg

However we seem to be missing the opcode for the lockout window, we have the structs and 1 unknown opcode which Im going to assume is for the lockout portion(underlined):

Code:

# Expedition
OP_DzQuit=0x054e
OP_DzListTimers=0x3200
OP_DzAddPlayer=0x3ba3
OP_DzRemovePlayer=0xa682
OP_DzSwapPlayer=0x0d8d
OP_DzMakeLeader=0x1caa
OP_DzPlayerList=0x74ca
OP_DzJoinExpeditionConfirm=0x1772
OP_DzJoinExpeditionReply=0x3c13
OP_DzExpeditionInfo=0x128e
OP_DzMemberStatus=0x4661
OP_DzLeaderStatus=0x226f
OP_DzExpeditionEndsWarning=0x1879
OP_DzExpeditionList=0x3657
OP_DzMemberList=0x74e4
OP_DzCompass=0x35d3
OP_DzChooseZone=0xd8a
#0x1d99 was grouped with these too but I don't really know it's purpose.

Not too vital as we can still show the lockout timers with the /dzListTimers command but for aesthetics might be nice to have them in the window.

Akkadius 11-22-2010 11:56 PM

Quote:

Originally Posted by Jaekob (Post 194428)
If you need a collect for expeditions talk to KLS. Robregen collected those some time back and passed them along to her. Getting expeditions functional would be very nice.

Well that or what I was getting to is getting specific monster missions collected so we can extract them into database form once we get a schema and source established. Because this is going to require collects of tons of different monster profiles via AA, items etc. etc. I'm sure it's going to be quite the project.

Akkadius 04-21-2012 05:34 PM

Does anyone still have a diff as to where they got with this as well as identified opcodes and structs?

Derision, Caryatis?

Derision 04-21-2012 05:42 PM

For shared tasks ? The last few posts in this thread seem to be about Shrouds and Expeditions.

This is the diff I sent Caryatis for the work I had done on Shared Tasks a couple of years ago.

http://www.rama.demon.co.uk/sharedtasks.diff

Akkadius 04-21-2012 05:46 PM

Quote:

Originally Posted by Derision (Post 209079)
For shared tasks ? The last few posts in this thread seem to be about Shrouds and Expeditions.

This is the diff I sent Caryatis for the work I had done on Shared Tasks a couple of years ago.

http://www.rama.demon.co.uk/sharedtasks.diff

Alright thanks.

What did you not quite like about this? Is there anything you can tell me that would help anyone who just starts going through this diff?

Edit: I also see that you have three new tables that are referenced in the Mysql portions of this diff. Do you happen to have these as well before I start guessing at what the field types were and your intentions.

`shared_task_activities`
`shared_task_members`
`shared_tasks`

Derision 04-22-2012 10:45 AM

Code:

CREATE TABLE IF NOT EXISTS `shared_tasks` (
  `id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `taskid` int(10) unsigned NOT NULL,
  `leader` varchar(64) NOT NULL,
  PRIMARY KEY (`id`),
  KEY `taskid` (`taskid`,`leader`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;

CREATE TABLE IF NOT EXISTS `shared_task_activities` (
  `id` int(10) unsigned NOT NULL,
  `activityid` int(10) unsigned NOT NULL,
  `donecount` int(10) unsigned NOT NULL,
  `completed` int(10) unsigned NOT NULL,
  PRIMARY KEY (`id`,`activityid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

CREATE TABLE IF NOT EXISTS `shared_task_members` (
  `id` int(10) unsigned NOT NULL,
  `member` varchar(64) NOT NULL,
  `charid` int(10) unsigned NOT NULL DEFAULT '0',
  `level` tinyint(3) unsigned NOT NULL DEFAULT '0',
  PRIMARY KEY (`id`,`member`),
  UNIQUE KEY `member` (`member`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

EDIT: Looks like I added some columns to the tasks table:

I think sharedtype was 4 for Norrath's Keepers (Radiant crystal reward) and 5 for Dark Reign (Ebon crystals). The lockactivity column was to lock a task from adding new members after that activity was completed.

Code:

mysql> describe tasks;
+---------------+---------------------+------+-----+---------+-------+
| Field        | Type                | Null | Key | Default | Extra |
+---------------+---------------------+------+-----+---------+-------+
| id            | int(11) unsigned    | NO  | PRI | 0      |      |
| duration      | int(11) unsigned    | NO  |    | 0      |      |
| title        | varchar(100)        | NO  |    |        |      |
| description  | text                | NO  |    | NULL    |      |
| reward        | varchar(64)        | NO  |    |        |      |
| rewardid      | int(11) unsigned    | NO  |    | 0      |      |
| cashreward    | int(11) unsigned    | NO  |    | 0      |      |
| xpreward      | int(10) unsigned    | NO  |    | 0      |      |
| crystalreward | int(10) unsigned    | NO  |    | 0      |      |
| sharedtype    | tinyint(1) unsigned | NO  |    | 0      |      |
| rewardmethod  | tinyint(3) unsigned | NO  |    | 2      |      |
| startzone    | int(11)            | NO  |    | 0      |      |
| minlevel      | tinyint(3) unsigned | NO  |    | 0      |      |
| maxlevel      | tinyint(3) unsigned | NO  |    | 0      |      |
| repeatable    | tinyint(1) unsigned | NO  |    | 1      |      |
| minmembers    | tinyint(3)          | NO  |    | 0      |      |
| maxmembers    | tinyint(3)          | NO  |    | 0      |      |
| lockactivity  | tinyint(3) unsigned | NO  |    | 100    |      |
+---------------+---------------------+------+-----+---------+-------+
18 rows in set (0.00 sec)

I haven't looked at that code in over two years, but as I said in a previous post, I was trying to retrofit shared tasks into code that wasn't designed for it, and so the code felt a bit fugly and 'hackish' to me. I can't remember specifics.


All times are GMT -4. The time now is 07:26 AM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.