I need a bit of help with understanding why a certain part of my qglobal is not working properly. I'm posting (below) the entire quest script (player.pl in the C:\EQEmu\quests\templates folder) just in case it's need. You can scroll past the sub EVENT_ENTERZONE section to the sub EVENT_TIMER--and in particular to the "if ($qglobals{kingdomfaction} == 1)" section under that EVENT--which is where the issue is.
Every "positive" action in that section works as it should: i.e., (1) it checks the faction of the player and sets a global flag for them that casts the correct level buff to members of the faction who hold the ring, and it changes the flag and stops casting buffs to the members of the faction that lost the ring; (2) it simultaneously confers guild membership ("quest::setguild(1,1);") to those of the right faction.
However, for some reason it doesn't perform the corresponding "negative" actions that follow loss of the ring, such as fading the buff of those who are now of the wrong faction ("$client->BuffFadeBySpellID();"), or changing their guild membership to the designated guild ("quest::setguild(0,1);").
Any help would be most appreciated.
Code:
sub EVENT_ENTERZONE
{
my $zone_music_end = 'cscript.exe /nologo C:\EQEmu\quests\music\stop.vbs';
system("$zone_music_end");
$client->Message(15, "You have entered $zoneln.");
if(plugin::check_hasitem($client, 13732))
{
my $wraith_music = 'C:\EQEmu\quests\music\runwraith.vbs';
system("$wraith_music");
$client->SetPVP(1);
quest::signal(999281,0);
quest::settimer("aggro",20);
$client->Message(257, (quest::ChooseRandom("A mysterious voice whispers to you, 'I SEEEE YOOUUU!' ","A mysterious voice whispers to you, 'YOU CANNOT HIDE!' ","A mysterious voice whispers to you, 'I'M COMING FOR YOOUUU!' ")));
quest::we(15, "You sense the ring has been found. It is now in the vicinity of $zoneln.");
}
else
{
quest::settimer("check",1);
my $zone_music_a = 'C:\EQEmu\quests\music\runa.vbs'; # 11 - runnyeye
my $zone_music_b =
'C:\EQEmu\quests\music\runb.vbs'; # 117 - cobaltscar
my $zone_music_c = 'C:\EQEmu\quests\music\runc.vbs'; # 3 - surefall
my $zone_music_d = 'C:\EQEmu\quests\music\rund.vbs'; # 16 - beholder
my $zone_music_e = 'C:\EQEmu\quests\music\rune.vbs'; # 15 - eastkarana
my $zone_music_f = 'C:\EQEmu\quests\music\runf.vbs'; # 14 - southkarana
my $zone_music_g = 'C:\EQEmu\quests\music\rung.vbs'; # 4 - qeytoqrg
my $zone_music_h = 'C:\EQEmu\quests\music\runh.vbs'; # 181 - jaggedpine
my $zone_music_i = 'C:\EQEmu\quests\music\runi.vbs'; # 87 - burningwood
my $zone_music_j = 'C:\EQEmu\quests\music\runj.vbs'; # 93 - overthere
my $zone_music_k = 'C:\EQEmu\quests\music\runk.vbs'; # 12 - qey2hh1
my $zone_music_l = 'C:\EQEmu\quests\music\runl.vbs'; # 2 - qeynos2
my $zone_music_m = 'C:\EQEmu\quests\music\runm.vbs'; # 1 - qeynos
my $zone_music_n = 'C:\EQEmu\quests\music\runn.vbs'; # 45 - qcat
my $zone_music_o =
'C:\EQEmu\quests\music\runo.vbs'; # 347 - illsalin
my $zone_music_p = 'C:\EQEmu\quests\music\runp.vbs'; # 50 - rathemtn
my $zone_music_q = 'C:\EQEmu\quests\music\runq.vbs'; # 17 - blackburrow
my $zone_music_r = 'C:\EQEmu\quests\music\runr.vbs'; # 79 - warslikswood
my $zone_music_rr = 'C:\EQEmu\quests\music\runrr.vbs'; # randomize
my $zone_music_rrr = 'C:\EQEmu\quests\music\runrrr.vbs'; # randomize
my $zone_music_s = 'C:\EQEmu\quests\music\runs.vbs'; # 183 - tutorial
my $zone_music_t = 'C:\EQEmu\quests\music\runt.vbs'; # 25 - nektulos
my $zone_music_u = 'C:\EQEmu\quests\music\runu.vbs'; # 263 - mmcg
my $zone_music_v = 'C:\EQEmu\quests\music\runv.vbs'; # 13 - northkarana
my $zone_music_vv = 'C:\EQEmu\quests\music\runvv.vbs'; # randomize
my $zone_music_w = 'C:\EQEmu\quests\music\runw.vbs'; # 92 - frontiermtns
my $zone_music_ww = 'C:\EQEmu\quests\music\runww.vbs'; # randomize
my $zone_music_www = 'C:\EQEmu\quests\music\runwww.vbs'; # randomize
my $zone_music_x = 'C:\EQEmu\quests\music\runx.vbs'; # 182 - Nedaria
my $zone_music_y = 'C:\EQEmu\quests\music\runy.vbs'; # 54 - Gfay
my $zone_music_z = 'C:\EQEmu\quests\music\runz.vbs'; # 57 - Gfay
my $zone_music_a1 = 'C:\EQEmu\quests\music\runa1.vbs'; # 100 - Stonebrunt
my @random_music_a = (
"$zone_music_a"
);
my @random_music_b = (
"$zone_music_b",
"$zone_music_vv"
);
my @random_music_c = (
"$zone_music_c"
);
my @random_music_d = (
"$zone_music_d"
);
my @random_music_e = (
"$zone_music_e"
);
my @random_music_f = (
"$zone_music_f"
);
my @random_music_g = (
"$zone_music_g"
);
my @random_music_h = (
"$zone_music_h"
);
my @random_music_i = (
"$zone_music_i"
);
my @random_music_j = (
"$zone_music_j"
);
my @random_music_k = (
"$zone_music_k"
);
my @random_music_l = (
"$zone_music_l"
);
my @random_music_m = (
"$zone_music_m"
);
my @random_music_n = (
"$zone_music_n"
);
my @random_music_o = (
"$zone_music_o"
);
my @random_music_p = (
"$zone_music_p"
);
my @random_music_q = (
"$zone_music_q"
);
my @random_music_r = (
"$zone_music_r",
"$zone_music_rr",
"$zone_music_rrr"
);
my @random_music_s = (
"$zone_music_s"
);
my @random_music_t = (
"$zone_music_t"
);
my @random_music_u = (
"$zone_music_u"
);
my @random_music_v = (
"$zone_music_v",
"$zone_music_vv"
);
my @random_music_w = (
"$zone_music_w",
"$zone_music_ww",
"$zone_music_www"
);
my @random_music_x = (
"$zone_music_x"
);
my @random_music_y = (
"$zone_music_y"
);
my @random_music_z = (
"$zone_music_z"
);
my @random_music_a1 = (
"$zone_music_a1"
);
my $random_music_a = quest::ChooseRandom(@random_music_a);
my $random_music_b = quest::ChooseRandom(@random_music_b);
my $random_music_c = quest::ChooseRandom(@random_music_c);
my $random_music_d = quest::ChooseRandom(@random_music_d);
my $random_music_e = quest::ChooseRandom(@random_music_e);
my $random_music_f = quest::ChooseRandom(@random_music_f);
my $random_music_g = quest::ChooseRandom(@random_music_g);
my $random_music_h = quest::ChooseRandom(@random_music_h);
my $random_music_i = quest::ChooseRandom(@random_music_i);
my $random_music_j = quest::ChooseRandom(@random_music_j);
my $random_music_k = quest::ChooseRandom(@random_music_k);
my $random_music_l = quest::ChooseRandom(@random_music_l);
my $random_music_m = quest::ChooseRandom(@random_music_m);
my $random_music_n = quest::ChooseRandom(@random_music_n);
my $random_music_o = quest::ChooseRandom(@random_music_o);
my $random_music_p = quest::ChooseRandom(@random_music_p);
my $random_music_q = quest::ChooseRandom(@random_music_q);
my $random_music_r = quest::ChooseRandom(@random_music_r);
my $random_music_s = quest::ChooseRandom(@random_music_s);
my $random_music_t = quest::ChooseRandom(@random_music_t);
my $random_music_u = quest::ChooseRandom(@random_music_u);
my $random_music_v = quest::ChooseRandom(@random_music_v);
my $random_music_w = quest::ChooseRandom(@random_music_w);
my $random_music_x = quest::ChooseRandom(@random_music_x);
my $random_music_y = quest::ChooseRandom(@random_music_y);
my $random_music_z = quest::ChooseRandom(@random_music_z);
my $random_music_a1 = quest::ChooseRandom(@random_music_a1);
if($zoneid == 11)
{
system("$random_music_a");
}
elsif($zoneid == 117)
{
system("$random_music_b");
}
elsif($zoneid == 3)
{
system("$random_music_c");
}
elsif($zoneid == 16)
{
system("$random_music_d");
}
elsif($zoneid == 15)
{
system("$random_music_e");
}
elsif($zoneid == 14)
{
system("$random_music_f");
}
elsif($zoneid == 4)
{
system("$random_music_g");
}
elsif($zoneid == 181)
{
system("$random_music_h");
}
elsif($zoneid == 87)
{
system("$random_music_i");
}
elsif($zoneid == 93)
{
system("$random_music_j");
}
elsif($zoneid == 12)
{
system("$random_music_k");
}
# elsif($zoneid == 2)
# {
# system("$random_music_l");
# }
# elsif($zoneid == 1)
# {
# system("$random_music_m");
# }
# elsif($zoneid == 45)
# {
# system("$random_music_n");
# }
# elsif($zoneid == 347)
# {
# system("$random_music_o");
# }
elsif($zoneid == 50)
{
system("$random_music_p");
}
# elsif($zoneid == 17)
# {
# system("$random_music_q");
# }
elsif($zoneid == 79)
{
system("$random_music_r");
}
# elsif($zoneid == 183)
# {
# system("$random_music_s");
# }
# elsif($zoneid == 25)
# {
# system("$random_music_t");
# }
# elsif($zoneid == 263)
# {
# system("$random_music_u");
# }
elsif($zoneid == 13)
{
system("$random_music_v");
}
elsif($zoneid == 92)
{
system("$random_music_w");
}
elsif($zoneid == 182)
{
system("$random_music_x");
}
elsif($zoneid == 54)
{
system("$random_music_y");
}
elsif($zoneid == 57)
{
system("$random_music_z");
}
elsif($zoneid == 100)
{
system("$random_music_a1");
}
}
}
sub EVENT_TIMER
{
if($timer eq "aggro")
{
my $guard_one = $entity_list->GetMobByNpcTypeID(999243);
if ($guard_one)
{
my $hate_guard_one = $guard_one->CastToNPC();
$hate_guard_one->AddToHateList($client, 1);
}
quest::stoptimer("aggro");
}
elsif($timer eq "check")
{
my $factioncheck = undef;
if (defined($qglobals{kingdomfaction}))
{
if ($qglobals{kingdomfaction} == 1)
{
$factioncheck = $client->GetCharacterFactionLevel(484);
{
if ($factioncheck >= 850 && $ulevel >= 60)
{
quest::setguild(1,1);
if (!$client->FindBuff(5257)) #kingdom blessing V
{
quest::selfcast(5257);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 50)
{
quest::setguild(1,1);
if (!$client->FindBuff(3467))
#kingdom blessing IV
{
quest::selfcast(3467);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 35)
{
quest::setguild(1,1);
if (!$client->FindBuff(1447))
#kingdom blessing III
{
quest::selfcast(1447);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 20)
{
quest::setguild(1,1);
if (!$client->FindBuff(3692))
#kingdom blessing II
{
quest::selfcast(3692);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 1)
{
quest::setguild(1,1);
if (!$client->FindBuff(312))
#kingdom blessing I
{
quest::selfcast(312);
}
}
elsif ($client->FindBuff(5257) || $client->FindBuff(3467) || $client->FindBuff(1447) || $client->FindBuff(3692) || $client->FindBuff(312))
{
$client->BuffFadeBySpellID(5257);
$client->BuffFadeBySpellID(3467);
$client->BuffFadeBySpellID(1447);
$client->BuffFadeBySpellID(3692);
$client->BuffFadeBySpellID(312);
quest::setguild(0,1);
}
}
}
if ($qglobals{kingdomfaction} == 2)
{
$factioncheck = $client->GetCharacterFactionLevel(485);
{
if ($factioncheck >= 850 && $ulevel >= 60)
{
if (!$client->FindBuff(5257)) #kingdom blessing V
{
quest::selfcast(5257);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 50)
{
if (!$client->FindBuff(3467))
#kingdom blessing IV
{
quest::selfcast(3467);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 35)
{
if (!$client->FindBuff(1447))
#kingdom blessing III
{
quest::selfcast(1447);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 20)
{
if (!$client->FindBuff(3692))
#kingdom blessing II
{
quest::selfcast(3692);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 1)
{
if (!$client->FindBuff(312))
#kingdom blessing I
{
quest::selfcast(312);
}
}
elsif ($client->FindBuff(5257) || $client->FindBuff(3467) || $client->FindBuff(1447) || $client->FindBuff(3692) || $client->FindBuff(312))
{
$client->BuffFadeBySpellID(5257);
$client->BuffFadeBySpellID(3467);
$client->BuffFadeBySpellID(1447);
$client->BuffFadeBySpellID(3692);
$client->BuffFadeBySpellID(312);
}
}
}
if ($qglobals{kingdomfaction} == 3)
{
$factioncheck = $client->GetCharacterFactionLevel(487);
{
if ($factioncheck >= 850 && $ulevel >= 60)
{
if (!$client->FindBuff(5257)) #kingdom blessing V
{
quest::selfcast(5257);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 50)
{
if (!$client->FindBuff(3467))
#kingdom blessing IV
{
quest::selfcast(3467);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 35)
{
if (!$client->FindBuff(1447))
#kingdom blessing III
{
quest::selfcast(1447);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 20)
{
if (!$client->FindBuff(3692))
#kingdom blessing II
{
quest::selfcast(3692);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 1)
{
if (!$client->FindBuff(312))
#kingdom blessing I
{
quest::selfcast(312);
}
}
elsif ($client->FindBuff(5257) || $client->FindBuff(3467) || $client->FindBuff(1447) || $client->FindBuff(3692) || $client->FindBuff(312))
{
$client->BuffFadeBySpellID(5257);
$client->BuffFadeBySpellID(3467);
$client->BuffFadeBySpellID(1447);
$client->BuffFadeBySpellID(3692);
$client->BuffFadeBySpellID(312);
}
}
}
if ($qglobals{kingdomfaction} == 4)
{
$factioncheck = $client->GetCharacterFactionLevel(488);
{
if ($factioncheck >= 850 && $ulevel >= 60)
{
if (!$client->FindBuff(5257)) #kingdom blessing V
{
quest::selfcast(5257);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 50)
{
if (!$client->FindBuff(3467))
#kingdom blessing IV
{
quest::selfcast(3467);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 35)
{
if (!$client->FindBuff(1447))
#kingdom blessing III
{
quest::selfcast(1447);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 20)
{
if (!$client->FindBuff(3692))
#kingdom blessing II
{
quest::selfcast(3692);
}
}
elsif ($factioncheck >= 850 && $ulevel >= 1)
{
if (!$client->FindBuff(312))
#kingdom blessing I
{
quest::selfcast(312);
}
}
elsif ($client->FindBuff(5257) || $client->FindBuff(3467) || $client->FindBuff(1447) || $client->FindBuff(3692) || $client->FindBuff(312))
{
$client->BuffFadeBySpellID(5257);
$client->BuffFadeBySpellID(3467);
$client->BuffFadeBySpellID(1447);
$client->BuffFadeBySpellID(3692);
$client->BuffFadeBySpellID(312);
}
}
}
}
}
}