EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   Development::Development (https://www.eqemulator.org/forums/forumdisplay.php?f=590)
-   -   Task System (preliminary work) (https://www.eqemulator.org/forums/showthread.php?t=25894)

bleh9 09-14-2008 04:01 PM

Knowing nothing about tasks, here's some quick thoughts after a cursory look. ;)

1. Why have activity types? Why not push complexity out to scripts?

Code:

  sub EVENT_ITEM
  {
    if (quest::hastask(1234)) {
      quest::completetask(1234);  # completetask() gives any rewards
      quest::givetask(12345); # givetask() gives any items needed to complete task
    }
  }

2. Are tasks accessed so frequently that they need to be in memory? Why not just query the database? Especially if number of tasks increases, this will leave resources to the server (e.g., for disk caching). In any case, please don't put it into shared memory as suggested -- there's too much there as it is.

3. Could the step info be removed and replaced by prerequisites? A single lookup table should suffice:

Code:

  create table tasks (
    task_id int primary key
    -- whatever else a task needs
  );

  create table task_prerequisites (
    task_id int references tasks(task_id) on delete cascade,
    task_id_prereq int references tasks(task_id) on delete cascade
  );

Most tasks will only have one entry in this table (e.g., task 3 requires task 2), but also allows for requiring disparate tasks to be completed before beginning another.

4. Why not create a one-to-many relation for task rewards? Either an aggregate reward table as follows or a reward table for each type (e.g., task_exp_rewards, task_coin_rewards). This can allow for

Code:

create table task_rewards (
  task_id int references tasks(task_id),
  exp int,
  coin int,
  item_id references items(id) -- think that's the column name; don't have schema handy
);

On a semi-unrelated note, I've seen very little eqemu code that uses JOINs when it comes to SQL, and I don't know that I've ever seen any foreign keys. Is this a MyISAM effect? :D

trevius 09-30-2008 09:26 AM

Holy cow Derision! Tonight was the first time I got to really check out the new system and try actually creating a task. It is very complex, but also very versatile! I can't believe you did all of the work on this alone lol. Even the wiki pages by themselves must have taken forever! I think this system has alot of potential and I will definitely try to push the limits with making some interesting tasks on my server :D

Huge thanks for putting this whole thing together. I still can't believe how much work this must have been lol. Jeez! You do some amazing work, but damn man, nice job!

Makes me glad the new SVN is setup so I can finally test all of this without having to mess with code updates.

joligario 09-30-2008 09:28 AM

Wrote my first task today... wow that can get involved!

I have a couple ideas/requests/observations:
1. Under the rewards, if there is a cash reward can you display the amount or at least have it say Cash?
2. The reward text does not show on the task screen unless it is an item.
3. Under description, can you set up a description for the initial task window? For example: [0, This is my general description.][1, This is my description for step 1][2,3, This is my description for shared steps 2 and 3.]. Currently it is blank if step 1 and 2 are shared but if there is only 1 step, the main task window shows the entire text from the first step.
4. In activities, even though activitytype is over-ridden if text3 is populated, setting it to 0 will produce erroneous results in the task window. Currently you have default set to 0.
5. You have done an OUTSTANDING job on this!

I think that's it for now. Learning a lot and noticing that we now have many more possibilities with this system. Thanks!

CRAP, please move this to the discussion thread!!!

ChaosSlayer 09-30-2008 11:18 AM

I have a question on task system.

When goal is set to loot say 50 Wolf Pelts.
When players loots the pelts- where do they go? To players inventory?
Cuase if system grants you credit when you loot the petl, once you looted it, you can turn around and sell it, but you allready got the credit for looting it.

OR does the system automaticly destroyes all goal looted items after giving player the credit to prevent cheating?

Andrew80k 09-30-2008 11:31 AM

Most of the time, but not all, the things you are required to loot either have to be turned in to the quest giver, or they are no drop. Depends on the task. It's sort of up to the task creator.

So_1337 09-30-2008 11:36 AM

I just wanted to stop in and mention that this task system is hot like fire. Excellent work.

ChaosSlayer 09-30-2008 11:44 AM

Quote:

Originally Posted by Andrew80k (Post 157261)
Most of the time, but not all, the things you are required to loot either have to be turned in to the quest giver, or they are no drop. Depends on the task. It's sort of up to the task creator.

well how do you turn in 50 quest items to an npc AT ONCE? =)
Or can task system handles this 1 item at a time? and count the turn ins?

Derision 09-30-2008 03:02 PM

Quote:

Originally Posted by ChaosSlayer (Post 157263)
well how do you turn in 50 quest items to an npc AT ONCE? =)
Or can task system handles this 1 item at a time? and count the turn ins?

The task system counts the turn ins, so you can turn in 25 one day, and then 25 the next day to complete the activity, or whatever, until you have turned in a total of 50.

Quote:

Originally Posted by joligario (Post 157254)
Wrote my first task today... wow that can get involved!

Yeah, it really needs a GUI to assist in writing the tasks.

Quote:

4. In activities, even though activitytype is over-ridden if text3 is populated, setting it to 0 will produce erroneous results in the task window. Currently you have default set to 0.
The activitytype is not overridden if text3 is populated (i.e. the task system will still handle it if the activity is not under Perl quest control), it is just not displayed as 'Deliver To', 'Kill', etc. You're right though, the default activitytype of 0 is invalid. I've just comitted a change to the SVN to send activities that have an activitytype of 0 as a type 9 to the client, which should fix that problem. I'll look into the other issues you raised.

Quote:

Originally Posted by joligario (Post 157254)

1. Under the rewards, if there is a cash reward can you display the amount or at least have it say Cash?
2. The reward text does not show on the task screen unless it is an item.

There is a flag in the packet struct which makes the client display 'You gain experience!' if it is set. I am not aware of a flag that will make it display details of a cash reward, however:

In Rev24, I fixed it so the Reward text field will be displayed even if RewardID==0, so if you want a task to have a cash-only reward, set RewardID to 0 and put the details of the cash reward in the Reward field. If you want to give an item and cash and want the player to know they will get both, then the only way currently is to put the ItemID in the RewardID field, and then put eg. 'Item x and 20 plat' in the Reward text field.

trevius 09-30-2008 05:16 PM

Quote:

Originally Posted by Derision (Post 157275)
Yeah, it really needs a GUI to assist in writing the tasks.

LOL, I would love to see what GeorgeS could do as a tool for this. But it sounds like a tool would be as hard to make as the system itself was. :P

joligario 10-01-2008 11:52 PM

Next suggestion:

Alter the task table to have minlevel and maxlevel fields
Create a bool function for CheckTaskLevel()
Create perl quest function quest::istaskappropriate(taskid)

With those, we could let the system do the level checks for us. Not really a big deal, but just might be handy.

joligario 10-02-2008 01:31 AM

Display messages
 
Odd text display. Here is what I am talking about. Please look at this task with your previous and new revisions. You'll notice the text gets cut short also.

SQL Code:
Code:

INSERT INTO tasks VALUES(13, 0, 'They\'re a Bit Short','[1, They might as well call you a scout, because you\'ll be going out and doing some scouting on some very high-profile sites. These sites are rumored to be burial grounds for priests of an ancient civilization, but there is not much information on them than that. Enough delay, get going and explore the single dwarven hut along the path in the north.][2, If your findings are correct, there\'s nothing around there that even remotely suggests an ancient burial ground. It\'s unfortunate, but there\'s one more spot you need to check before we give up all hope. Go ahead and explore the large rock tower on goblin isle. Be careful, if there is a burial ground, there\'s no telling what kind of creatures lurk nearby.][3, It\'s unfortunate that you weren\'t able to find any remnants at all. Perhaps there will be more to find next time. In the meantime, you need to report your findings, so speak with Tarerd Gahar. That is all.]','Money and Experience', 0, 1433, 2000, 0, 68, 1);

INSERT INTO activities VALUES (13, 0, 0, 5, 'the dwarven hut', '', '', 1, 0, 1, 0, 68, 0);
INSERT INTO activities VALUES (13, 1, 1, 5, 'the large rock tower', '', '', 1, 0, 1, 0, 69, 0);
INSERT INTO activities VALUES (13, 2, 2, 4, '', '', 'Speak with Tarerd Gahar', 0, 2, 1, 0, 202, 0);

INSERT INTO proximities VALUES (68, 1, 390, 410, 2060, 2080, -10, 10);
INSERT INTO proximities VALUES (69, 1, -8515, -8455, -1260, -1200, 20, 70);

butcher\Gibi_Bilgum.pl:
Code:

#BeginFile: butcher\Gibi_Bilgum.pl (68090)
#Quest file for Butcherblock Mountains - Gibi Bilgum: They're a Bit Short

sub EVENT_SAY {
  if($text=~/hail/i) {
    quest::say("Get a load of my sister over yonder. She doesn't know when to give up the swashbuckling. Idiocy is more like it. She's not the only one around here with some [tasks] that need... well, tasking. You might say I'm a taskmaster, only without the whip. I'm not sure how to even use a whip though, so maybe it's for the best.");
  }
  if($text=~/tasks/i) {
    if($ulevel >= 12) {
      if(quest::istaskactive(13)) {
        quest::say("They're a Bit Short is already in progress.");
      }
      else {
        quest::taskselector(13); #Task: They're a Bit Short
      }
    }
    else {
      quest::say("I don't have any tasks suitable to one of your experience.");
    }
  }
}

sub EVENT_ITEM {
  quest::say("I have no use for this, $name.");
  plugin::return_items(\%itemcount);
}

#EndFile: butcher\Gibi_Bilgum.pl (68090)

poknowledge\#Tarerd_Gahar.pl:
Code:

#Tarerd_Gahar.pl
#The Magic Pool

sub EVENT_SAY {
  if($text=~/hail/i) {
    if(quest::istaskactivityactive(13,2)) {
      quest::say("Thanks for contacting me, $name. Your information on this matter has been most useful.");
      $client->Message(7,"The ideal of burial grounds nearby is one that can not be easily overlooked. That's exactly why you were sent to check these areas out. Sadly none of them turned out to be the rumored burial grounds, but there's plenty more land to cover, so you maybe called upon again. You'll be recieving some payment, mostly for your time investment, but partially for the danger involved. Good job.");
      quest::updatetaskactivity(13,2);
    }
    else {
      quest::say("I'm sorry, I have neither the time nor the patience to chat right now.");
    }
  }
  if($text=~/pool/i) {
    quest::say("Oh Tatlan and Wicas sent you did they? I'll tell you what I told them, nothing is free. If you want to know about the pools then I need something [from you] first.");
  }
  if($text=~/from me/i) {
    quest::say("I'm sure it'll be easy for an adventurer as you. I am working on a potion, and I cannot currently travel to gather my last component. If you could bring me the blood of a Sarnak I'd be willing to share what I know.");
  }
}

sub EVENT_ITEM {
  if(plugin::check_handin(\%itemcount, 22519 => 1)) { #Sarnak Blood
    quest::say("Ahh this is exactly what I was looking for. All the information I've gathered from these pools has come from Myrist. Thiran will give you the book I used as a reference. Give him this note so he knows I sent you.");
    quest::summonitem(15958); #Note From Tarerd
  }
  else {
    quest::say("I don't need this."); #text made up
    plugin::return_items(\%itemcount);
  }
}

#END of FILE Zone:poknowledge  ID:202060 -- Tarerd_Gahar


Derision 10-02-2008 12:54 PM

Quote:

3. Under description, can you set up a description for the initial task window? For example: [0, This is my general description.][1, This is my description for step 1][2,3, This is my description for shared steps 2 and 3.]. Currently it is blank if step 1 and 2 are shared but if there is only 1 step, the main task window shows the entire text from the first step.
The way it works is that the entire description is sent to the client and it is the client which decides which portion to display based on which activity you are on. Are you saying it is not working like live ?

I think it maybe be possible to have an extra field in the task table for a description which is only displayed in the task selector window. If this new field was null, then it could just behave as at present.

Quote:

Alter the task table to have minlevel and maxlevel fields
Create a bool function for CheckTaskLevel()
Create perl quest function quest::istaskappropriate(taskid)
This would be simple to do. Could let them default to 0 meaning no level restriction. Anyone else have any input on this feature (and the extra field for a description specific to the task selector window) ?

Quote:

Odd text display. Here is what I am talking about. Please look at this task with your previous and new revisions. You'll notice the text gets cut short also.
I just ran through this task and can't see what you are referring to. Which text gets cut short ?

joligario 10-02-2008 01:48 PM

Old method (before you stated rev24 was made):
http://i409.photobucket.com/albums/p...q/EQ000011.jpghttp://i409.photobucket.com/albums/p...q/EQ000012.jpg
http://i409.photobucket.com/albums/p...q/EQ000013.jpghttp://i409.photobucket.com/albums/p...q/EQ000014.jpg

As you can see, the reward "Money and Experience" does not show up under rewards or on the main task screen. The entire 1st step is shown instead.

joligario 10-02-2008 01:49 PM

New code (using cavedude's PEQ after you said rev24 was made):
http://i409.photobucket.com/albums/p...q/EQ000007.jpghttp://i409.photobucket.com/albums/p...q/EQ000008.jpg
http://i409.photobucket.com/albums/p...q/EQ000009.jpghttp://i409.photobucket.com/albums/p...q/EQ000010.jpg

The entire first step is shown again, however it is truncated. The following steps have no text any more. Money and Experience now shows up as a reward but not on the main task window.

Derision 10-02-2008 02:23 PM

Putting the non-display of the reward on the task selection window aside for now, I don't see the other problems you are seeing:

http://www.rama.demon.co.uk/abs-task1.jpg

http://www.rama.demon.co.uk/abs-task2.jpg

http://www.rama.demon.co.uk/abs-task3.jpg

I think I am running Rev29, but I have made no changes to the task code since Rev24. This is on Linux. I'll try a Windows build on the off chance there is some incompatibilty that has crept in. Guess I should also test with your task as the only active one, as that is a difference between your test and mine.

janusd 10-02-2008 05:23 PM

Adding the level check would be a big help as there were some Live quests that had level requirements before the quest giver would hand out those quests. You can see in the quest list for PoK in Alla http://everquest.allakhazam.com/db/q....html?zone=158 that soem quests have a level minimum before the giver would hand it out. Or like this quest http://everquest.allakhazam.com/db/q...tml?quest=3157 I remember from Live. I know when I was piddling around years ago after they added these armor quests, I started a noob and ran through Gloomingdeep. Once I left, I went to the armor guys. They only give quests in order, but I had to level to the appropriate level before later quests would be given.

Derision 10-03-2008 05:57 AM

Quote:

Originally Posted by joligario (Post 157527)
The entire first step is shown again, however it is truncated. The following steps have no text any more. Money and Experience now shows up as a reward but not on the main task window.

What client are you using? By the look of it, it is the 6.2 client, however the order of the fields in the Quest Journal (Objective/Status/Zone) is different to how my 6.2 client displays it (Zone/Objective/Status).

joligario 10-03-2008 06:08 AM

Yes, I see that... I am using Titanium.

Derision 10-03-2008 06:14 AM

Quote:

Originally Posted by joligario (Post 157583)
Yes, I see that... I am using Titanium.

But that isn't the Titanium UI. Is it a custom one, or did you copy the 6.2 UI into your Titanium directory ?

Edit: I did a /loadskin default_old and still can't reproduce this :(

joligario 10-03-2008 01:14 PM

I installed Titanium and did loadskin default old. Other than that I haven't changed it...

Derision 10-03-2008 01:47 PM

Quote:

Originally Posted by joligario (Post 157608)
I installed Titanium and did loadskin default old. Other than that I haven't changed it...

This is on TGC ? I don't have a character high enough level to get the task there, unless Cavedude wants to level up character Derisiondwarf, account Derision to level 12 so I can go and test it on there :) . Assuming it's not a client issue, I can put some additional debug commands in to try and isolate the cause.

Derision 10-03-2008 01:57 PM

Cavedude put it to me that the 'Stepped' column in the Tasks table is redundant. The reason it is there is to allow a sequential task to be created (where one activity must be completed before the next is unlocked) without the need to fill in the step field in the activity table.

I am proposing a change to do away with the 'Stepped' column:

Code:

Index: zone/tasks.cpp
===================================================================
--- zone/tasks.cpp      (revision 34)
+++ zone/tasks.cpp      (working copy)
@@ -204,7 +204,7 @@
                        Tasks[TaskID]->RewardMethod = (TaskMethodType)atoi(row[8]);
                        Tasks[TaskID]->StartZone = atoi(row[9]);
                        Tasks[TaskID]->ActivityCount = 0;
-                      Tasks[TaskID]->SequenceMode = (SequenceType)atoi(row[10]);
+                      Tasks[TaskID]->SequenceMode = ActivitiesSequential;
                        Tasks[TaskID]->LastStep = 0;

                        _log(TASKS__GLOBALLOAD,"TaskID: %5i, Duration: %8i, StartZone: %3i Reward: %s",
@@ -246,6 +246,10 @@
                                continue;
                        }
                        Tasks[TaskID]->Activity[Tasks[TaskID]->ActivityCount].StepNumber = Step;
+
+                      if(Step != 0)
+                              Tasks[TaskID]->SequenceMode = ActivitiesStepped;
+
                        if(Step >Tasks[TaskID]->LastStep) Tasks[TaskID]->LastStep = Step;

                        // Task Activities MUST be numbered sequentially from 0. If not, log an error

Required SQL:

Code:

ALTER TABLE `tasks` DROP `stepped` ;
The way this will work is if the step column for each activity is zero, then the task will be sequential (one activity must be completed before the next is unlocked), i.e. it will behave as if the stepped column in the task table was set to 0.

If there is a non-zero step number for any activity belonging to this task, then it will behave as if the stepped column was set to 1 (i.e. multiple activities can be being worked on at once).

I've tested this, just didn't want to commit it without posting about it first.

cavedude 10-03-2008 02:38 PM

I say commit it, the task system is your baby, nobody knows it better than you!

Derision 10-03-2008 03:37 PM

Quote:

Originally Posted by Derision (Post 157610)
This is on TGC ? I don't have a character high enough level to get the task there, unless Cavedude wants to level up character Derisiondwarf, account Derision to level 12 so I can go and test it on there :) . Assuming it's not a client issue, I can put some additional debug commands in to try and isolate the cause.

I have tried this on TGC now (thanks Cavedude) and am seeing the same thing Joligario is seeing with truncated text, so it is definitely not client related. I'll do some more investigation.

Derision 10-03-2008 04:18 PM

Quote:

Originally Posted by cavedude (Post 157618)
I say commit it, the task system is your baby, nobody knows it better than you!

I've committed this, along with a couple of changes to help try to diagnose the problem reported by Joligario (I changed #task show to output the Task Description, and also lowererd the required status to use the #task command (down to 150 from 250), since I currently couldn't use it on TGC :) )

Derision 10-04-2008 05:12 AM

Quote:

Originally Posted by joligario (Post 157474)
Next suggestion:

Alter the task table to have minlevel and maxlevel fields
Create a bool function for CheckTaskLevel()
Create perl quest function quest::istaskappropriate(taskid)

With those, we could let the system do the level checks for us. Not really a big deal, but just might be handy.

I've just committed this. There are new minlevel and maxlevel columns in the task table. If either is zero, it is ignored, so you can have no level restriction, only a minimum level, or only a maximum level, or both.

The level restrictions are enforced in the TaskSelector (a Task won't be sent if it doesn't meet the restrictions).

To augment this, I have slightly altered the way Task Sets work. Previously you had to enable/disable tasks in a set on a per player basis.

Now, if you put a TaskID of zero in a Task Set (which is an invalid TaskID), all the tasks in that set will automatically be available for a player, subject to a level restrictions.

This means you can create a task set for an NPC with a bunch of tasks with different level ranges and just call quest::tasksetselector(set number), and let the task system decide which tasks to offer the client based on the level restrictions.

I have also added quest::istaskappropriate(taskid) if you want to have an NPC tailor what it says to a player based on that.

joligario 10-05-2008 06:05 AM

Table Alter?
 
Just checking what new table is going to look like. Am I correct in assuming the following alter?

Code:

ALTER TABLE tasks ADD (minlevel int(3) not null default 0, maxlevel int(3) not null default 0);

Derision 10-05-2008 06:16 AM

I made them unsigned TINYINT on the assumption that level will never go past 255.

Required SQL:
ALTER TABLE `tasks` ADD `minlevel` TINYINT UNSIGNED NOT NULL DEFAULT '0',
ADD `maxlevel` TINYINT UNSIGNED NOT NULL DEFAULT '0';

Derision 10-05-2008 03:33 PM

I should have also mentioned that the Task Selector now checks to see if the player has any of the tasks it is being asked to offer already active and won't display them. If none of the tasks the Selector is asked to offer meet the required level range, or the client already has all those that do as active tasks, then the Selector window won't display.

This means that you don't need to check for tasks the client already has in your Perl quest, unless you want the NPC to say something in those circumstances.

ChaosSlayer 10-08-2008 12:46 AM

question: does reward has to be a specific item/items OR can system be set up to choose and give a random item from a list?

also: can system handle an ongoing bounty? Like Gnoll Fang quest - which tecnicly NEVEr ends - you keep bringing in gnol fangs- you keep geting reward- there is no set/max number of fang to bring

trevius 10-08-2008 01:06 AM

I imagine you could set that part up with a hash in a quest for when the task is completed. I wouldn't mind if there was a way to set rewards based on class, but I am pretty sure that can all be done with quests as well. I am going to make one really soon and will report if there are any issues. But, the system is already pretty complicated as it is lol. No reason to complicate it any further if the rest can be done with quests.

ChaosSlayer 10-08-2008 01:22 AM

well I am not complaning- I am simply poundering if it worth the effort for me to move from standart perl quests to tasks =)

At the end the only thing you are getting are:
-progress tracking window
-ability to track mobs killed count
-ability to automaticly turn in LARGE number of quest items over any give time frame (otherwise you can only give NPC 4 items at a time OT set up a global variable to count your turn ins)

prety much everything else I am allready doing with standart quests.

Yeah the friendly user interface is nice, specialy for players - but CODING IT into DB going to be a pain for ME =)

KLS 10-08-2008 06:25 AM

It'll prolly be considerably faster to make a task than a quest after people develop decent tools to help it along. It's a little imposing when you have to do all the SQL yourself I noticed. I started to work on a tool incidentally, but who knows if I'll ever get around to finishing it.

trevius 10-08-2008 06:52 AM

Ya, I do think a tool would make a HUGE difference. But I also think that practice would make tasks go quicker as well. I know I didn't write quests as quickly and easily when I first started as I do now.

And yes, everything that can be done with the task system can be done with quests. But, having the option for variety is great! And being able to easily track progress of multi-stepped quests is awesome! I already made a task for my starter zone for new players. For people not used to the EQ Quest system, I think tasks could help them get used to it quicker.

steve 10-08-2008 10:47 AM

Does the task system currently allow you to choose between multiple rewards? On Live, I've encountered a task that had as many as 3 choices. Each showed as their own tab in the reward window, and each tab listed a combination of these: Faction, Experience, Quest Item Reward, and plat. You then were able to pick which option suited you at the moment.

Derision 10-08-2008 11:06 AM

Quote:

Originally Posted by steve (Post 157986)
Does the task system currently allow you to choose between multiple rewards? On Live, I've encountered a task that had as many as 3 choices. Each showed as their own tab in the reward window, and each tab listed a combination of these: Faction, Experience, Quest Item Reward, and plat. You then were able to pick which option suited you at the moment.

No. Do you remember the name of a task with multiple rewards ? I've not seen a way of doing that. I suppose it's possibly an enhancement that was made to the Client after Titanium, or just part of the packet structure I didn't figure out.

steve 10-08-2008 11:44 AM

Hmm, good point. Didn't think about that. I just started playing EQ again a month ago, so I missed out on the initial implementation of the task system. I'm not sure if other tasks had multiple reward choices before SoF launched.

The tasks I was referring to are the 'farm tasks' in Dragonscale Hills.
http://everquest.allakhazam.com/db/q...tml?quest=4393
http://everquest.allakhazam.com/db/q...tml?quest=4394
http://everquest.allakhazam.com/db/q...tml?quest=4395

nicholasjohn 10-08-2008 12:05 PM

does anyone have a mirror for these links ?

Code:

SQL (with sample tasks): http://www.rama.demon.co.uk/tasks/tasktables.sql

Perl quests to support the sample tasks http://www.rama.demon.co.uk/tasks/tasksquests.rar

I keep getting errors when trying to download.
Thanks

ChaosSlayer 10-08-2008 12:07 PM

Quote:

Originally Posted by steve (Post 157986)
Does the task system currently allow you to choose between multiple rewards? On Live, I've encountered a task that had as many as 3 choices. Each showed as their own tab in the reward window, and each tab listed a combination of these: Faction, Experience, Quest Item Reward, and plat. You then were able to pick which option suited you at the moment.

I think that one was added to LIVE after Titanium edition. The T client may not have that part coded in where special window opens up and you select the reward

steve 10-08-2008 12:44 PM

Quote:

Originally Posted by ChaosSlayer (Post 157992)
I think that one was added to LIVE after Titanium edition. The T client may not have that part coded in where special window opens up and you select the reward

Yeah, I'm guessing you're correct. I don't see the EQUI_RewardSelectionWnd.xml file in the Titanium directory, which is the window for the task system.


All times are GMT -4. The time now is 11:23 AM.

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