|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Support::Windows Servers Support forum for Windows EQEMu users. |
|
|
|
08-11-2017, 03:43 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
If mob is up... Have to fight it
I'm trying to make it so when a player enters the sleeper zone, if a certain mob is up, and they do a #zone x y z to get passed the mob, they get summoned to the npc. Like when you enter the zone soldungb and you're over a certain level, if he's up, naggy will banish you.
I toyed with EVENT_ENTER a little but I'm not getting it right. I want the NPC to summon them after 30 seconds or so in the zone. That way they can get a few buffs in, start to aggro something else and BAM! When the mob has been killed, it won't matter and players can zone in. But I'm going to make the respawn timers such that by the time the first few mobs start to respawn, the summoning mob will respawn too.
Maybe there can be a flag put on the player that makes it so it won't summon them if they have the flag? That's just an extra thought.
I've learned a ton over the last few months making this server, and I appreciate all of the help.
|
|
|
|
08-11-2017, 04:58 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
This is what I've got right now, just so you know I'm not just leeching. I'm trying.
Code:
sub EVENT_ENTERZONE {
if (($ulevel < 70) && ($status < 80)) {
quest::ze(0,"You are not worthy!");
$client->MovePC(202,-285,-148,-159.12,71.5);
}
elsif (($ulevel >= 70) && ($status < 80)) {
quest::echo(0, "You must best me before you are deemed worthy!");
$client->MovePC(128,37.29,-7.22,1.98,199.8);
}
}
|
08-11-2017, 05:26 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
I've always used quest::
quest::movepc(202,-285,-148,-159.12,71.5);
As for the rest, maybe Kingly will pop around, he's a wiz for more advanced perl
|
08-11-2017, 05:40 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
Actually, if you want something to practice with timers, check out the player.pl script for the guildlobby EVENT_ENTER section.
(It sets you afk after xx minutes)
|
08-11-2017, 05:41 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
Quote:
Originally Posted by The_Beast
Actually, if you want something to practice with timers, check out the player.pl script for the guildlobby EVENT_ENTER section.
(It sets you afk after xx minutes)
|
Thanks! Was looking for something I could rape and pillage from, err I mean use as an example.
|
08-11-2017, 05:47 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
Quote:
Originally Posted by Fridgecritter
Thanks! Was looking for something I could rape and pillage from, err I mean use as an example.
|
EXACTLY ! lol Everything I've learned in perl so far, I've started with examples like that and went from there.
|
08-11-2017, 06:30 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
I'm hitting a brick wall. I know it's as simple as a } in the wrong place or something.
|
08-11-2017, 06:48 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
I don't even need the quest flag part. I just wanna get the level check < 70 = boot to POK and =>70 = move to right in front of him so he'll aggro.
|
08-11-2017, 07:19 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
Quote:
Originally Posted by Fridgecritter
I don't even need the quest flag part. I just wanna get the level check < 70 = boot to POK and =>70 = move to right in front of him so he'll aggro.
|
Try this. I've always had probs when tryng to specify a heading in x,y,z in a movepc script, so I just don't bother.
Code:
sub EVENT_ENTERZONE {
if (($ulevel < 70) && ($status < 80)) {
quest::ze(0,"You are not worthy!");
quest::movepc(202,-285,-148,-159.12);
}
elsif (($ulevel >= 70) && ($status < 80)) {
quest::emote(0, "You must best me before you are deemed worthy!");
quest::movepc(128,37.29,-7.22,1.98);
}
}
|
08-11-2017, 07:24 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
Myself, I usually don't call for status in something so simple, I use a level range.
if (($ulevel > 0) && ($ulevel < 70)) {
and this
elsif (($ulevel > 69) && ($ulevel < 80)) {
|
08-11-2017, 07:50 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
I just ran a test with this entering Nexus, <70 it sent me to pok, 70+ it sent me to center nexus. I used "ze" for both msg's.
Code:
sub EVENT_ENTERZONE {
if (($ulevel > 0) && ($ulevel < 70)) {
quest::ze(0,"You are not worthy!");
quest::movepc(202,-285,-148,-159.12);
}
elsif (($ulevel > 69) && ($ulevel < 76)) {
quest::ze(0, "You must best me before you are deemed worthy!");
quest::movepc(152,-6.17,0.75,-31.81);
}
}
|
08-11-2017, 08:03 PM
|
Fire Beetle
|
|
Join Date: Dec 2005
Posts: 13
|
|
I wonder if you could just have the mob summon the player every 6 sec or so?
|
08-11-2017, 09:08 PM
|
|
Discordant
|
|
Join Date: May 2016
Location: Under a rock
Posts: 290
|
|
Quote:
Originally Posted by Xzam
I wonder if you could just have the mob summon the player every 6 sec or so?
|
Once the mob is aggro'd you would have to zone to lose it. If it has summoning ability added to special attacks, then
you won't have to worry about being invited back :P
|
08-11-2017, 10:20 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
Didn't work. Had a level 70 player zone in and it didn't move him. I logged on a regular account and zoned in with a level 69 character and it didn't boot me.
|
08-11-2017, 10:20 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
This mob will kill most 70s unless they are super geared, let alone anyone else. Once there's aggro you can either kill the mob or you can't. It happens super fast if you can't
|
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 07:09 AM.
|
|
|
|
|
|
|
|
|
|
|
|
|