Go Back   EQEmulator Home > EQEmulator Forums > Quests > Quests::Q&A

Quests::Q&A This is the quest support section

Reply
 
Thread Tools Display Modes
  #1  
Old 01-08-2013, 09:51 PM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default player.pl--spawn Boss

player.pl


Is that all right ? HELP!


sub EVENT_ITEM
{
if($castspell{7652} == 1)#player cast Fireworks
{

quest::spawn2(218068,0,0,$x,$y,$z,$h); #spawn BOSS
}
}
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #2  
Old 01-08-2013, 10:34 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

please use CODE tags when you post code.

is this supposed to happen when someone hands a player an item? i'm not sure that EVENT_IETM is valid outside an npc script.

where is %castspell defined?
Reply With Quote
  #3  
Old 01-08-2013, 10:46 PM
lerxst2112
Demi-God
 
Join Date: Aug 2010
Posts: 1,742
Default

You probably want EVENT_CAST. The spell id is in the $spell_id variable.
Reply With Quote
  #4  
Old 01-08-2013, 11:10 PM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

1---if players in this ZONE --loot item="Fireworks Rack"

2:---then in this cast---"Fireworks Rack"

3:---- if player cast finishing

4:---- At this time spawn-> Boss out



Such as of WOW GAme Boss

How to set up, please help to tell me


Very grateful
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #5  
Old 01-08-2013, 11:50 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

if you're wanting for it to occur when a player uses a click effect, use EVENT_CLICK_CAST.

note that you will need to have the client cast a spell in the event with $client->CastSpell() or they won't be able to do anything else.

it won't show you the spell that is cast (in the case of the fireworks rack, it's "Use Ability", according to ZAM) in the event, but it will show you the itemID that was clicked.
Reply With Quote
  #6  
Old 01-09-2013, 12:12 AM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

oops. my bad.

i meant EVENT_ITEM_CLICK_CAST...

and it needs to be in an item script named something like quests\items\script_<scriptfileid>.pl instead of player.pl

<scriptfileid> is set in the database for that item's entry.
Reply With Quote
  #7  
Old 01-09-2013, 02:30 AM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

PEQ\quests\items crate new pl

For example

script_51778.pl (51778=item:Fireworks Rack

Content:



sub EVENT_ITEM_CLICK
{
if($itemid == 51778 ) # Fireworks Rack
{
if($client->CastSpell(7652))
{

quest::spawn2(218068,0,0,$x,$y,$z,$h);
}
}



Right?? HELP ! I don't understand
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #8  
Old 01-09-2013, 09:43 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

you're not using EVENT_ITEM_CLICK_CAST right.

the transmute stuff is not necessary. it's specific to one item.

you're using variables that likely aren't defined in the type of script and event you have them in. you will have to get values for x, y, z, and h.

again... $itemid is defined in EVENT_ITEM_CLICK_CAST, not $spell_id.

check your logs. they will generally tell you when you have issues in your scripts.
Reply With Quote
  #9  
Old 01-09-2013, 10:01 PM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

Quote:
Originally Posted by c0ncrete View Post
you're not using EVENT_ITEM_CLICK_CAST right.

the transmute stuff is not necessary. it's specific to one item.

you're using variables that likely aren't defined in the type of script and event you have them in. you will have to get values for x, y, z, and h.

again... $itemid is defined in EVENT_ITEM_CLICK_CAST, not $spell_id.

check your logs. they will generally tell you when you have issues in your scripts.
I can't understand

new ->script_69231.pl

Code:
sub EVENT_ITEM_CLICK_CAST {
        my %transmute = ();
        $transmute[69231] = 5137;

               if($itemid && $transmute[$itemid]) {
                $client->NukeItem($itemid);
                $client->CastSpell($transmute[$itemid], 0, 1, 0, 0);
                $client->spawn2(469003,0,0,2.0,-2.0,4.47,100);
  }
}
Can't run not Spawn
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #10  
Old 01-09-2013, 10:17 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

Quote:
Originally Posted by javewow View Post
I can't understand
clearly.

Quote:
new ->script_69231.pl

Code:
sub EVENT_ITEM_CLICK_CAST {
        my %transmute = ();
        $transmute[69231] = 5137;

               if($itemid && $transmute[$itemid]) {
                $client->NukeItem($itemid);
                $client->CastSpell($transmute[$itemid], 0, 1, 0, 0);
                $client->spawn2(469003,0,0,2.0,-2.0,4.47,100);
  }
}
Can't run not Spawn
because you are doing it wrong.

as i've said before...

1) you do not need %transmute. stop using it.

2) the script name should be script_<scriptfileid>.pl

EXAMPLE:
Code:
mysql> select id, name, clickeffect, scriptfileid from items where name = "Fireworks Rack";
+-------+----------------+-------------+--------------+
| id    | name           | clickeffect | scriptfileid |
+-------+----------------+-------------+--------------+
| 51778 | Fireworks Rack |        7652 |            0 |
+-------+----------------+-------------+--------------+
1 row in set (0.30 sec)
the item you are using doesn't have a script associated with it. assign one in the database and name your script accordingly.

i have no idea where you are getting the numbers 69231 or 5137. if you don't explain everything you are doing and where you are getting the information from, we can only guess at how to help you resolve your issue.
Reply With Quote
  #11  
Old 01-09-2013, 10:04 PM
ghanja's Avatar
ghanja
Dragon
 
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
Default

PM's go unanswered. So. What is your native language?
Reply With Quote
  #12  
Old 01-09-2013, 10:29 PM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

Before, I use "Fireworks Rack" is error

Behind me to "Firework: Dancing Lights"

Firework: Dancing Lights ID = 69231 spellID=5137

I want to click can summon -> Spawn NPC

But Pl error Can't succeed
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #13  
Old 01-09-2013, 10:40 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

if you'd do it the way i've instructed, it will work.
Reply With Quote
  #14  
Old 01-09-2013, 10:59 PM
javewow's Avatar
javewow
Sarnak
 
Join Date: Aug 2012
Location: work
Posts: 74
Default

Quote:
Originally Posted by c0ncrete View Post
if you'd do it the way i've instructed, it will work.
Thank you I understand

I do try

--------------------------------------------
Update items set scriptfileid = "xxxxxx" where id=69231;

------------------------------------------
Now change to

Code:
mysql> select id, name, clickeffect, scriptfileid from items where name = "Firework: Dancing Lights";
+-------+--------------------------+-------------+--------------+
| id    | name                     | clickeffect | scriptfileid |
+-------+--------------------------+-------------+--------------+
| 69231 | Firework: Dancing Lights |        5137 |        32767 |
+-------+--------------------------+-------------+--------------+
1 row in set

mysql>
save->script_32767.pl
__________________
To create the most beautiful server for "!!~[BP] PLARYBOT EQ~!" Welcome to our server
Reply With Quote
  #15  
Old 01-09-2013, 11:03 PM
c0ncrete's Avatar
c0ncrete
Dragon
 
Join Date: Dec 2009
Posts: 719
Default

yes, then name the quest file script_32767.pl and forget everything about %transmute and $spell_id. you're just looking for the item click.
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 07:11 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 - 2025, Jelsoft Enterprises Ltd.
Template by Bluepearl Design and vBulletin Templates - Ver3.3