|
|
 |
 |
 |
 |
|
 |
 |
|
 |
 |
|
 |
|
Support::General Support Post all topics here having to do with errors while trying to connect to an EQEMu server but not about the setup/running of the Server itself. |

04-11-2014, 02:49 PM
|
Hill Giant
|
|
Join Date: Feb 2010
Posts: 207
|
|
Task Reward, Radiant Crystals?
Not really sure where to put this, didn't think it belonged in the quest folder.
Made a Task on the EoC tasks window .. it's functioning perfectly but I'm wondering if there's a way to make it reward radiant crystals? I know I could put single item reward in and have it reward A radiant crystal but I want my task to give 40 of them.
As my workaround to this issue I planned on having the task reward everyone(group) a "voucher" and then the voucher can be handed in for 40 radiant crystals.
Would that be the easiest way to do this or is there a way I can have the actual task reward radiant crystals?
Thanks!
|

04-11-2014, 03:08 PM
|
 |
Developer
|
|
Join Date: Mar 2003
Posts: 1,498
|
|
If the current task code doesn't allow charges, then you can have a quest controlled reward give out 40 RCs.
|

04-11-2014, 03:18 PM
|
Hill Giant
|
|
Join Date: Feb 2010
Posts: 207
|
|
Quote:
Originally Posted by joligario
If the current task code doesn't allow charges, then you can have a quest controlled reward give out 40 RCs.
|
So sort of like an "event controller" in the zone the task is completed, watching for task completion then give player the RCs when it reads task complete?
|
 |
|
 |

04-11-2014, 03:25 PM
|
 |
Administrator
|
|
Join Date: Feb 2009
Location: MN
Posts: 2,072
|
|
Quote:
Originally Posted by Esildor
So sort of like an "event controller" in the zone the task is completed, watching for task completion then give player the RCs when it reads task complete?
|
No need to make it that complicated.
Use your global_player script in EVENT_TASK_COMPLETE
Example:
Code:
sub EVENT_TASK_COMPLETE{
#::: Sands of Time Tasks
if($task_id == 165){
quest::we(15, "Congratulations $name for completing [Story] T1 Progression on Akka's Funhouse! $name is now a Timeshifter!");
quest::ze(15, "Chronos booms Atiiki, '$name, you have proven yourself, you are now amongst the ancients as a Timeshifter!");
$client->SetTitleSuffix("the Timeshifter", 1);
$client->Message(15, "[Title Gain]: You are now known as 'the Timeshifter'");
$client->Message(15, "[Level Unlock]: You are now able to level to 203!");
$client->Message(15, "[Expedition Unlock]: You have unlocked T1 Expeditions - Speak to the first available Expedition NPC to start");
$client->Message(15, "[Currency] You have been given 60 Phosphenes");
if($ulevel == 200){ quest::level(200); }
$client->SetGlobal("CharMaxLevel", "203", 5, 'F');
quest::updatetaskactivity(196, 3, 1); #::: Sands of Time Master Quest
quest::summonitem(79912, 60);
$client->PlayMP3("opener4.xmi");
}
}
|
 |
|
 |
 |
|
 |

04-11-2014, 03:44 PM
|
Hill Giant
|
|
Join Date: Feb 2010
Posts: 207
|
|
Quote:
Originally Posted by Akkadius
No need to make it that complicated.
Use your global_player script in EVENT_TASK_COMPLETE
Example:
Code:
sub EVENT_TASK_COMPLETE{
#::: Sands of Time Tasks
if($task_id == 165){
quest::we(15, "Congratulations $name for completing [Story] T1 Progression on Akka's Funhouse! $name is now a Timeshifter!");
quest::ze(15, "Chronos booms Atiiki, '$name, you have proven yourself, you are now amongst the ancients as a Timeshifter!");
$client->SetTitleSuffix("the Timeshifter", 1);
$client->Message(15, "[Title Gain]: You are now known as 'the Timeshifter'");
$client->Message(15, "[Level Unlock]: You are now able to level to 203!");
$client->Message(15, "[Expedition Unlock]: You have unlocked T1 Expeditions - Speak to the first available Expedition NPC to start");
$client->Message(15, "[Currency] You have been given 60 Phosphenes");
if($ulevel == 200){ quest::level(200); }
$client->SetGlobal("CharMaxLevel", "203", 5, 'F');
quest::updatetaskactivity(196, 3, 1); #::: Sands of Time Master Quest
quest::summonitem(79912, 60);
$client->PlayMP3("opener4.xmi");
}
}
|
So, in the global folder?
What should I name it .. name of the task or like name of the final mob in the task?
|
 |
|
 |

04-11-2014, 03:48 PM
|
 |
Administrator
|
|
Join Date: Feb 2009
Location: MN
Posts: 2,072
|
|
No, global/global_player.pl
This is a player script that is responsible for handling player events. So as a task is completed, that sub EVENT is triggered. In which $task_id passed through it as the current task that the client has completed. You just need to check for that task id and complete the task.
You could do something like this just to test ingame:
Code:
sub EVENT_TASK_COMPLETE{
if($task_id == youridgoeshere){ $client->Message(15, "Hi this works"); }
}
|

04-11-2014, 03:58 PM
|
Hill Giant
|
|
Join Date: Feb 2010
Posts: 207
|
|
Okay, I understand now - going to play with it a bit and get it to work. I like that a lot more than having to hand out a voucher. Figured there had to be some way to do it but I haven't played with any global_player stuff yet so didn't know about it :P
Thanks Akka!
|

04-11-2014, 04:00 PM
|
 |
Administrator
|
|
Join Date: Feb 2009
Location: MN
Posts: 2,072
|
|
Quote:
Originally Posted by Esildor
Okay, I understand now - going to play with it a bit and get it to work. I like that a lot more than having to hand out a voucher. Figured there had to be some way to do it but I haven't played with any global_player stuff yet so didn't know about it :P
Thanks Akka!
|
global_player.pl will be active in any zone. So all of your standard player events work there.
|

04-12-2014, 10:31 AM
|
Dragon
|
|
Join Date: May 2010
Posts: 965
|
|
One thing of note to add to what Akkadius said. global_player.pl works in any zone. THis means the logic fires everytime you complete a task in any zone.
If your task is impossible to complete in more than one zone, then you should put the code in the player.pl for that zone.
Yes for a single task or even a hundred it will really not make a big difference. But for a hundred tasks on a server where 10 or 20 people are completing tasks at the same time, it can start to have an impact on performance.
|

04-12-2014, 12:42 PM
|
Administrator
|
|
Join Date: May 2013
Location: United States
Posts: 1,603
|
|
If you put this in global_player.pl and you find it not working, make sure all your zones have a player.pl that you'd like the task to be completed it, the player.pl may be empty, but it's necessary to have one for global_player.pl to work.
|

04-13-2014, 04:47 PM
|
Hill Giant
|
|
Join Date: Feb 2010
Posts: 207
|
|
Sorvani/KK,
So, instead of using the global_player.pl I could create a "player.pl" in the zone where the task will be completed and that will also work?
|

04-13-2014, 06:22 PM
|
Administrator
|
|
Join Date: May 2013
Location: United States
Posts: 1,603
|
|
Yes, that could work as well. Global_player.pl is just for things you want to be allowed on the global side, but if you just want one zone you can put a player.pl in that zone's folder and do the same thing.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 11:12 PM.
|
|
 |
|
 |
|
|
|
 |
|
 |
|
 |