Go Back   EQEmulator Home > EQEmulator Forums > Support > Support::General Support

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.

Reply
 
Thread Tools Display Modes
  #1  
Old 04-11-2014, 02:49 PM
Esildor
Hill Giant
 
Join Date: Feb 2010
Posts: 207
Default 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!
Reply With Quote
  #2  
Old 04-11-2014, 03:08 PM
joligario's Avatar
joligario
Developer
 
Join Date: Mar 2003
Posts: 1,497
Default

If the current task code doesn't allow charges, then you can have a quest controlled reward give out 40 RCs.
Reply With Quote
  #3  
Old 04-11-2014, 03:18 PM
Esildor
Hill Giant
 
Join Date: Feb 2010
Posts: 207
Default

Quote:
Originally Posted by joligario View Post
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?
Reply With Quote
  #4  
Old 04-11-2014, 03:25 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by Esildor View Post
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");
	}
}
Reply With Quote
  #5  
Old 04-11-2014, 03:44 PM
Esildor
Hill Giant
 
Join Date: Feb 2010
Posts: 207
Default

Quote:
Originally Posted by Akkadius View Post
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?
Reply With Quote
  #6  
Old 04-11-2014, 03:48 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

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"); }
}
Reply With Quote
  #7  
Old 04-11-2014, 03:58 PM
Esildor
Hill Giant
 
Join Date: Feb 2010
Posts: 207
Default

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!
Reply With Quote
  #8  
Old 04-11-2014, 04:00 PM
Akkadius's Avatar
Akkadius
Administrator
 
Join Date: Feb 2009
Location: MN
Posts: 2,072
Default

Quote:
Originally Posted by Esildor View Post
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.
Reply With Quote
  #9  
Old 04-12-2014, 10:31 AM
sorvani
Dragon
 
Join Date: May 2010
Posts: 966
Default

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.
Reply With Quote
  #10  
Old 04-12-2014, 12:42 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,593
Default

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.
Reply With Quote
  #11  
Old 04-13-2014, 04:47 PM
Esildor
Hill Giant
 
Join Date: Feb 2010
Posts: 207
Default

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?
Reply With Quote
  #12  
Old 04-13-2014, 06:22 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,593
Default

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.
Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

   

All times are GMT -4. The time now is 02:15 AM.


 

Everquest is a registered trademark of Daybreak Game Company LLC.
EQEmulator is not associated or affiliated in any way with Daybreak Game Company LLC.
Except where otherwise noted, this site is licensed under a Creative Commons License.
       
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3