Originally Posted by Riklin
I have modified the guildlobby player.pl file to prevent the player with an ROF2 client from getting sent to the instanced version of the guildlobby. That said, the specific issue I have is getting into the guildhall with the ROF2 client. The two doors do not work whatsoever, that makes the ROF2 client unusable until this issue is resolved.
I think this involves the player.pl file from either the guildhall or the guildlobby. To that end, I think the best way to resolve this is to post the 2 files here and hope someone sees something I am obviously missing.
guildlobby player.pl:
Code:
my $Pet_ENT;
sub EVENT_CLICKDOOR {
if($doorid == 2 || $doorid == 4 || $doorid == 40 || $doorid == 42) {
if($uguild_id > 0) {
$client->SendToGuildHall();
}
} elsif((($doorid >= 5) && ($doorid <= 38)) || (($doorid >= 43) && ($doorid <= 76))) {
$client->OpenLFGuildWindow();
}
}
sub EVENT_ENTERZONE {
#off the map
if ($client->GetX() > 315 || $client->GetX() < -315 || $client->GetY() > 685 || $client->GetY() < -60 || $client->GetZ() < -5 || $client->GetZ() > 15) {
$client->MovePC(344, 0, 312, 2, 0); # Zone: guildlobby
}
#if I am idle for more than xx seconds, auto-afk and go invisible/don't draw model
# Disabling AutoAFK rdh 05222023
# quest::settimer("afk_check", 1200); #20 minutes
/* Client version doesn't matter - sending everyone to the ONE instance of guildlobby -rdh01302025
if(($client->GetClientVersionBit() & 4294967264)!= 0) {
if($client->GetInstanceID() != 5) {
quest::settimer(1,10);
$client->Message(0,"Invalid Zone(344:0): You will be redirected to the proper instance in 10 seconds.");
}
} else {
if($client->GetInstanceID() == 5) {
quest::settimer(2,10);
$client->Message(0,"Invalid Zone(344:5): You will be redirected to the proper zone in 10 seconds.");
}
}
}
*/
sub EVENT_SIGNAL {
#signals received from enter/exit proximity of various NPCs
#if ($client->GetRace() != 127) {
#I am not invisible from auto-afk, and I'm still moving around, reset auto-afk timer
#quest::settimer("afk_check", 1200);
#} else {
#I was already set invisible from auto-afk, but now I am moving, set back to base race - not afk
#$client->SetRace($client->GetBaseRace());
#$client->SetGender($client->GetBaseGender());
#if ($client->GetPetID()) {
# $Pet_ENT = $entity_list->GetMobByID($client->GetPetID());
# $Pet_ENT->SetRace($Pet_ENT->GetBaseRace());
#}
#$client->Message(4, "You are no longer idle.");
#quest::settimer("afk_check", 1200);
#}
}
sub EVENT_TIMER {
if($timer == 1) {
# quest::MovePCInstance(344,5,$x,$y,$z,450); # Zone: guildlobby_INSTANCED
quest::movepc(344,$x,$y,$z,225); # Zone: guildlobby
} elsif($timer == 2) {
quest::movepc(344,$x,$y,$z,225); # Zone: guildlobby
} elsif($timer eq "afk_check") {
#I have been idle, go auto-afk and don't draw model
$client->Message(4, "You are idle, Auto-AFK");
if ($client->GetPetID()) {
$Pet_ENT = $entity_list->GetMobByID($client->GetPetID());
$Pet_ENT->SetRace(127);
}
$client->SetRace(127);
$client->SetGender(0);
quest::stoptimer("afk_check");
This is the guildhall player.pl file:
Code:
# Guild Hall Regen Pool Script - Player Portion
sub EVENT_ENTERZONE {
quest::settimer("ZoneIn", 3);
}
sub EVENT_TIMER {
if ($timer eq "ZoneIn") {
quest::stoptimer("ZoneIn");
quest::signalwith(345004,$charid); # NPC: Zeflmin_Werlikanin Portal Crystals
}
}
sub EVENT_POPUPRESPONSE {
if ($popupid == 666) { #hateplaneb
quest::movepc(186,-393,656,3); # Zone: hateplaneb
}
if ($popupid == 674) { #airplane
quest::movepc(71,539,1384,-664); # Zone: airplane
}
if ($popupid == 15891) { #dragonscale
#quest::movepc(442,-1954,3916,19);
}
if ($popupid == 2708) { #northkarana
quest::movepc(13,1209,-3685,-5); # Zone: northkarana
}
if ($popupid == 4176) { #ecommons
quest::movepc(22,-140,-1520,3); # Zone: ecommons
}
if ($popupid == 534) { #lavastorm
quest::movepc(27,460,460,-86); # Zone: lavastorm
}
if ($popupid == 2707) { #tox
quest::movepc(38,-916,-1510,-33); # Zone: tox
}
if ($popupid == 2706) { #gfaydark
quest::movepc(54,-441,-2023,4); # Zone: gfaydark
}
if ($popupid == 2709) { #dreadlands
quest::movepc(86,9658,3047,1052); # Zone: dreadlands
}
if ($popupid == 2284) { #iceclad
quest::movepc(110,385,5321,-17); # Zone: iceclad
}
if ($popupid == 2031) { #coboltscar
quest::movepc(117,-1634,-1065,299); # Zone: cobaltscar
}
if ($popupid == 3615) { #twilight
quest::movepc(170,-1028,1338,39); # Zone: twilight
}
if ($popupid == 3794) { #stonebrunt
quest::movepc(100,673,-4531,0); # Zone: stonebrunt
}
if ($popupid == 6180) { #wallofslaughter
quest::movepc(300,-943,13,130); # Zone: wallofslaughter
}
if ($popupid == 5733) { #barindu
quest::movepc(283,209,-515,-119); # Zone: barindu
}
if ($popupid == 8237) { #eastkorlach
#quest::movepc(362,-750,-1002,48);
}
if ($popupid == 8967) { #arcstone
#quest::movepc(369,1630,-279,5);
}
if ($popupid == 999) { #mesa
#quest::movepc(397,-85,-2050,19);
}
if ($popupid == 1000) { #guild banner
#not implemented yet
}
if ($popupid == 416) { #kattacastrum
#quest::movepc(416,-2,-425,-19);
}
if ($popupid == 20543) { #potimea
quest::movepc(219,0,110,8); # Zone: potimea
}
if ($popupid == 21986) { #brellsrest
#quest::movepc(480,-23,-619,36);
}
}
sub EVENT_CLICKDOOR
{
# This will move RoF clients to their instance, the rest are handled in the DB
if (($client->GetClientVersionBit() & 4294967264) != 0) {
if ($doorid == 2 || $doorid == 5) {
# Do we really need the check here?
# if ($client->CalculateDistance(-3.4, -162.9, 6.9) <= 30) {
# quest::MovePCInstance(344, 5, 0, 588, 1.75, 260); # Zone: guildlobby
quest::MovePC(344, 0, 312, 2, 0); # Zone: guildlobby
# }
}
}
}
|