Didn't work :( After you zoned into the contested and zoned out it still kept you the forced pvp state.
BUT, thanks to all of you, its now working.
Code:
sub EVENT_ENTERZONE {
#this is all the contested zones
my @zonelist = qw(
mischiefplane
);
if ( grep { $_ eq $zonesn } @zonelist ) { #Save PVP state if you zone into a contested zone
quest::setglobal("PvPState",$client->GetPVP(),5,"F"); #Adds their PVPstate to global
$client->SetPVP(1);
}
}
sub EVENT_ZONE {
my @zonelist = qw(
mischiefplane
);
if ( grep { $_ eq $zonesn } @zonelist ) { #If you zone out a contested zone
if(defined $qglobals{"PvPState"} && $qglobals{"PvPState"}==0) { #Checks global PVPState & Check if PvPState = 0
$client->SetPVP(0) #Then turn pvp off
}
}
}
Now for the next part lol.
I am working on a bonus to players who play as pvp for the risk vs reward. I could not get the bonus to kick in without a sub event being called. Which means if even you turn pvp, the bonus wont kick in until you zone, item, or whichever. So the only solution I could come up with was to use a timer on each logged in character at all times. Will that be a memory hog? Would there be a better way?
1 major problem is the bonus will not turn on when you zone into a contested zone and the pvp is forced. I Will continue to work on it!