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. |
This is what I've got right now, just so you know I'm not just leeching. I'm trying.
Code:
sub EVENT_ENTERZONE { |
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 :) |
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) |
Quote:
|
Quote:
|
I'm hitting a brick wall. I know it's as simple as a } in the wrong place or something.
|
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.
|
Quote:
Code:
|
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)) { |
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 { |
I wonder if you could just have the mob summon the player every 6 sec or so?
|
Quote:
you won't have to worry about being invited back :P |
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.
|
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
|
OK so I changed the script name to player.pl and it works. But it won't work as an NPC script. Super weird.
|
No, ENTERZONE has to be on a player.pl script. On an NPC, using a sub EVENT_ENTER is for coming within a proximity of an NPC.
|
Ahh ok, well then I need a check to see if the NPC is up, for the summon part. If the NPC isn't up then it doesn't need to move them. So a group of players can kill the guardian for the server for a while until he repops, but it will keep new players from zoning in just to loot corpses still. I'll check naggy's script cause I know it does a check for the NPC.
|
Something I doing on mine, with a customized zone, players have to be script ported in and they will have the option to
go instance or non-instance version. Some like to be alone, others don't, lol |
After I get the server migrated to the new machine I can do a lot more with it. That sounds cool.
|
This isn't the best, but it'll do what you want it to do I believe. When the player zones in the script checks if NPC ID # is spawned. If it is a timer for 30 seconds is set on the player. When the timer expires, the client is moved to the NPC's current co-ordinates.
Code:
sub EVENT_ENTERZONE { |
Why not just make the NPC spawn immune until that mob is killed? Have like a 30sec timer that checks if the NPC is dead it sets him attackable.
|
Quote:
summoned. I don't need it for FC's purpose, but it gives me other ideas. Thanks to you Kingly :) I am curious if something like this would be picked up as a "warp" in the db radar system. I'll check it out later. |
Seems to me the problem is that you give players #zone. Why not just give them #peqzone instead and disable it in any zone where it causes a problem?
|
Yeah it's more of a fun thing than preventing any kind of cheat. I just want them to kill that dragon first as sort of a right of passage.
|
That code looks simple and amazing. Thanks a ton.
|
All times are GMT -4. The time now is 04:08 PM. |
Powered by vBulletin®, Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.