|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Quests::Custom Custom Quests here |
|
|
|
04-29-2015, 10:42 PM
|
|
Dragon
|
|
Join Date: Aug 2012
Location: Hershey, PA
Posts: 499
|
|
AFK Credits - Yay!
If a PC/client is sitting and hasn't moved x,y,z coordinates (some damper to the z coordinate to account for those that would like to go around levitating people), they will earn credits.
Not a fan of this system, but different strokes for different folks and is simplistic enough that perhaps some can learn from it in some small way.
Code:
$AFKINCREMENTSNEEDED = 180;
sub EVENT_TIMER {
if ($timer eq "activitycheck$charid") {
my $cxcord = int($client->GetX());
my $cycord = int($client->GetY());
my $czcord = int($client->GetZ());
my $oxcord = plugin::REV($client, "oxcord");
my $oycord = plugin::REV($client, "oycord");
my $ozcord = plugin::REV($client, "ozcord");
my $afkcounter = plugin::REV($client, "afkcounter");
if (($client->IsSitting())
&& ($oxcord ~~ [$cxcord-5..$cxcord+5])
&& ($oycord ~~ [$cycord-5..$cycord+5])
&& ($ozcord ~~ [$czcord-20..$czcord+20])) {
++$afkcounter;
plugin::SEV($client, "afkcounter", $afkcounter);
if ($afkcounter == $AFKINCREMENTSNEEDED) {
$afkcounter = 0;
plugin::SEV($client, "afkcounter", $afkcounter);
$client->AddAlternateCurrencyValue(x, x);
$client->Message (15, "You've earned an AFK Server Loyalty Credit!");
}
} else {
$afkcounter = 0;
plugin::SEV($client, "afkcounter", $afkcounter);
}
plugin::SEV($client, "oxcord", $cxcord);
plugin::SEV($client, "oycord", $cycord);
plugin::SEV($client, "ozcord", $czcord);
}
}
sub EVENT_ENTERZONE {
quest::settimer ("activitycheck$charid",10); ## activity check increment
}
sub EVENT_ZONE {
quest::stoptimer ("activitycheck$charid");
}
sub EVENT_DISCONNECT {
quest::stoptimer ("activitycheck$charid");
}
Put in the player.pl for a specific zone (or that is how its coded).
|
|
|
|
04-30-2015, 08:27 AM
|
|
Demi-God
|
|
Join Date: Nov 2007
Posts: 2,175
|
|
I am more tuned to give people some type of credit for writing guides, faqs, fixing issues or even reporting exploits.
I could see where some servers would want something like this so it is a good addition.
|
|
|
|
08-14-2017, 06:56 PM
|
Hill Giant
|
|
Join Date: Feb 2008
Posts: 189
|
|
How would I modify this if I want to use this in the bazaar for traders? Just change the "IsSitting" part? and make it "IsStanding"? Like this?
Code:
$AFKINCREMENTSNEEDED = 180;
sub EVENT_TIMER {
if ($timer eq "activitycheck$charid") {
my $cxcord = int($client->GetX());
my $cycord = int($client->GetY());
my $czcord = int($client->GetZ());
my $oxcord = plugin::REV($client, "oxcord");
my $oycord = plugin::REV($client, "oycord");
my $ozcord = plugin::REV($client, "ozcord");
my $afkcounter = plugin::REV($client, "afkcounter");
if (($client->IsStanding())
&& ($oxcord ~~ [$cxcord-5..$cxcord+5])
&& ($oycord ~~ [$cycord-5..$cycord+5])
&& ($ozcord ~~ [$czcord-20..$czcord+20])) {
++$afkcounter;
plugin::SEV($client, "afkcounter", $afkcounter);
if ($afkcounter == $AFKINCREMENTSNEEDED) {
$afkcounter = 0;
plugin::SEV($client, "afkcounter", $afkcounter);
$client->AddAlternateCurrencyValue(x, x);
$client->Message (15, "You've earned an AFK Server Loyalty Credit!");
}
} else {
$afkcounter = 0;
plugin::SEV($client, "afkcounter", $afkcounter);
}
plugin::SEV($client, "oxcord", $cxcord);
plugin::SEV($client, "oycord", $cycord);
plugin::SEV($client, "ozcord", $czcord);
}
}
sub EVENT_ENTERZONE {
quest::settimer ("activitycheck$charid",10); ## activity check increment
}
sub EVENT_ZONE {
quest::stoptimer ("activitycheck$charid");
}
sub EVENT_DISCONNECT {
quest::stoptimer ("activitycheck$charid");
}
|
|
|
|
08-14-2017, 11:36 PM
|
Administrator
|
|
Join Date: May 2013
Location: United States
Posts: 1,595
|
|
There is no IsStanding(), use !$client->IsSitting().
|
08-15-2017, 07:11 AM
|
|
Developer
|
|
Join Date: Dec 2012
Posts: 515
|
|
You can use appearance i guess?
Code:
if ($client->GetAppearance() == 0) {
#we are standing... 0 standing, 1 sitting, 2 ducking, 3 lieing down, 4 looting
}
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
All times are GMT -4. The time now is 02:21 PM.
|
|
|
|
|
|
|
|
|
|
|
|
|