Agnarr port up not working
Ok, straight out of the quest SVN the port up to the Agnarr event does not work.
The player.pl does successfully build the array of players to port, but the port does not work. I added some client messages to see what went wrong. Quote:
So I removed the player.pl entirely and it still ported Koro up so I looked int he code and the door click code is handling his port up. So I added an IF statement to exclude the clicker from the array incase that was causing some type of conflict and tried again. Quote:
Code:
sub EVENT_CLICKDOOR { |
Changed the movenpc line to
Code:
$client->quest::movepc(209,-765,-1735,1270); Am I using quest::movenpc wrong? |
You don't have to put the zone id in front just the coords as I recall and it should work just fine.
|
Quote:
quest::movepc works fine in a /hail response or something when used plain. for example in one of Askr files when you have to hail to move up the tower Code:
sub EVENT_SAY { Code:
foreach $player (@player_list) { edit: this code will need some IsClient checks or whatever but I been skipping that until I get the thing to work. Because it will die during the build of the array if one toon is in the raid but offline. |
Ok joligaro just posted in another post the answer to my question, don't use quest::
But MovePC causes the loop to die and GMMove causes the Client who clicked to see the others in the raid as if they moved, but the other clients didn'' move on their screens and as soon as something causes a position update to occur the ghosts that seem to have moved on the client screen disappear |
I don't remember off hand, but I don't think the . appendings work in eqemu text.
|
That and you are missing some arguments. You need a heading in ->MovePC()
|
There are 4 options for $client->MovePC(): (note, this is case sensitive)
Option 1: (5 arguments, using zone short name, not instanced) $client->MovePC("zonename", x, y, z, h); Option 2: (5 arguments, using zone id, not instanced) $client->MovePC(zoneID, x, y, z, h); Option 3: (4 arguments, using no zone info, not instanced) $client->MovePC(x, y, z, h); Option 4: (6 arguments, using zone id, instanced) $client->MovePC(zoneID, instanceID, x, y, z, h); |
There is only 1 option for using quest::movepc(): (note, this is case sensitive)
quest::movepc(zone_id, x, y, z, h); |
There is only 1 option for using quest::gmmove(): (also case sensitive)
quest::gmmove(x, y, z); |
There is only 1 option for quest::movegrp(): (yes, this one too)
quest::movegrp(zoneid, x, y, z); |
That being said, I decided to look at code and did see some rewrite needed. I'll take care of it today.
|
Pretty sure I got this working fine. If you want to try it out, clear out the destination info for door #51 and use the following in your player.pl:
Code:
sub EVENT_CLICKDOOR { The check is for the symbol on the character (i.e. no keyring item) Entire raid ports up (all members must be in zone, not zoning, for this to work) Keyed player who clicks will be moved with highest element they are a member of (raid->group->individual) Unkeyed players who click will get a surprise (like live) |
So I am simply missing the heading for MovePC. Easy enough. You remove the keyring? I assume that is live then as I do not recall. I did think that all 4 gargoyles were supposed to attack not just 1. Also the 1 now is sometimes one from the towers takes that is not right. Finally should there not be a range check on the group and raid port up? These were things I was going to fix once I got the script working.
|
ok, i added the heading of 0 to my MovePC and my code works fine now.
I'll add in the checks I mentioned and repost once i'm done, because it will move anyone one in the raid and in the zone to the port spot when someone clicks on it. Also if someone is in the raid but offline or not in zone the array building dies silently at that person never getting to the MovePC command. I'll incorporate your logic for picking up the group too. I think it would be better not to remove the door destination and simply exclude the person clicking from the array. edit: just reread your gargoyle bit, so it sends in all 4 by the stone and the 2 at each tower door? better than the only 1 the original code was sending in. Is this how live did it? edit2: once this is done i'll use your same logic to redo the tower doors to port up your group (only group) if your group happens to be in a raid, because I thought I read a bit about returning raid group # someplace. thanks for your help. |
All times are GMT -4. The time now is 08:53 AM. |
Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.