View Full Version : player.pl--spawn Boss
javewow
01-08-2013, 09:51 PM
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
}
}
c0ncrete
01-08-2013, 10:34 PM
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?
lerxst2112
01-08-2013, 10:46 PM
You probably want EVENT_CAST. The spell id is in the $spell_id variable.
javewow
01-08-2013, 11:10 PM
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
c0ncrete
01-08-2013, 11:50 PM
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.
c0ncrete
01-09-2013, 12:12 AM
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.
javewow
01-09-2013, 02:30 AM
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
ghanja
01-09-2013, 02:53 AM
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
1. Please use [ CODE] blocks (it's the # icon when making a reply)
2. Please stop using [ COLOR], instead refer to #1
3. Due to language barrier, perhaps post your entire script (IF you use the CODE blocks). Because even if you don't understand the answers given and those answering don't understand your English, they WILL understand Perl -- thus your chances for an accurate (to what you want) answer will increase exponentially.
Those are my suggestions to make it easier on everyone.
c0ncrete
01-09-2013, 03:40 AM
i may have misunderstood your original intentions due to the fact that you were using EVENT_ITEM in your first post. without fully understanding what it is you are trying to do, it's extremely difficult to give you correct information.
if you are just looking to verify that a spell has been cast by the client, then EVENT_CAST is what you want to use, as lerxst2112 previously suggested.
javewow
01-09-2013, 10:50 AM
The picture shows
HELP!
http://www.hxchassis.com/img/xx.jpg
ghanja
01-09-2013, 01:03 PM
http://i390.photobucket.com/albums/oo349/Nowitness41Dirk/worfisfrustratedmz8.gif
sorvani
01-09-2013, 01:35 PM
Try this.
also please notice the use of the tag.
[CODE]sub EVENT_CAST {
if($spell_id == 7652) {
quest::spawn2(218068,0,0,$x,$y,$z,$h);
}
}
javewow
01-09-2013, 09:28 PM
Try this.
also please notice the use of the tag.
[CODE]sub EVENT_CAST {
if($spell_id == 7652) {
quest::spawn2(218068,0,0,$x,$y,$z,$h);
}
}
Use your methods do not spawn
I will not
sub EVENT_ITEM_CLICK_CAST {
my %transmute = ();
$transmute[69231] = 5137;
if($spell_id == 5137) {
quest::spawn2(218068,0,0,$x,$y,$z,$h);
}
}
c0ncrete
01-09-2013, 09:43 PM
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.
javewow
01-09-2013, 10:01 PM
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
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
ghanja
01-09-2013, 10:04 PM
PM's go unanswered. So. What is your native language?
c0ncrete
01-09-2013, 10:17 PM
I can't understand
clearly.
new ->script_69231.pl
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 Spawnbecause 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:
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.
javewow
01-09-2013, 10:29 PM
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
c0ncrete
01-09-2013, 10:40 PM
if you'd do it the way i've instructed, it will work.
javewow
01-09-2013, 10:48 PM
How to "Firework: Dancing Lights" increase "scriptfileid" ?
c0ncrete
01-09-2013, 10:57 PM
a spell isn't an item...
so it doesn't have an entry in the items table in the database...
so it won't have an associated scriptfileid field...
javewow
01-09-2013, 10:59 PM
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
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
c0ncrete
01-09-2013, 11:03 PM
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.
javewow
01-09-2013, 11:08 PM
Just testing a grammar
Still have problems
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 spawn
Ask you to give a pl
c0ncrete
01-09-2013, 11:15 PM
Just testing a grammar
Still have problems
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 spawn
Ask you to give a pl
quest::spawn2(npc_type,grid,guildwarset,x,y,z,head ing)
javewow
01-09-2013, 11:21 PM
quest::spawn2(npc_type,grid,guildwarset,x,y,z,head ing)
The success
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);
quest::spawn2(469003,0,0,2.0,-2.0,4.47,100);
}
}
Thank you very much! Learn from you the
c0ncrete
01-09-2013, 11:24 PM
YAY! GREEN FOR GO!
vBulletin® v3.8.11, Copyright ©2000-2025, vBulletin Solutions Inc.