Advertisement
Guest User

Waypoint NPC

a guest
Apr 1st, 2013
483
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Perl 4.41 KB | None | 0 0
  1. ########################################################################
  2. ###################  WAYPOINT UTILITY SCRIPT  ##########################
  3. ########## CREATED BY: AKKADIUS FROM BLOOD OF THE AKKADIAN #############
  4. ########## EZ SERVER VERSION2 ##########################################
  5. ########## NPC RACE - 127, SPECIAL FLAGS - ABH #########################
  6. ########## MODIFIED BY HUNTER - TO BE USED WITH global_player.pl #######
  7. ########################################################################
  8.  
  9. sub EVENT_SPAWN
  10. {
  11.     quest::settimer("effect", 1);
  12.     quest::settimer("effect2", 1);
  13. }
  14.  
  15. sub EVENT_TIMER
  16. {
  17.     if($timer eq "effect")
  18.     {
  19.         $npc->SpellEffect(178);
  20.         $npc->SpellEffect(203);
  21.         $npc->SendAppearanceEffect(77, 78);
  22.         quest::stoptimer("effect");
  23.         quest::settimer("effect", 12);
  24.     }
  25.     if($timer eq "effect2")
  26.     {
  27.         $npc->SendAppearanceEffect(77, 78);
  28.         quest::stoptimer("effect2");
  29.         quest::settimer("effect2", 4);
  30.     }
  31. }
  32.  
  33. sub EVENT_SAY
  34. {
  35.     if ($text=~/hail/i)
  36.     {
  37.         quest::say("Give me money!");
  38.     }
  39. }
  40.  
  41. sub EVENT_ITEM
  42. {
  43.     if ($platinum > 0)
  44.     {
  45.         QCreditAccountGive2("BankCredit", $platinum);
  46.     }
  47. }
  48.  
  49.  
  50. # TAKE THE MONEY SUB
  51. sub QCreditAccountGive2
  52. {
  53.     my $CreditName = $_[0];
  54.     my $AddTo = $_[1];
  55.     my $client = plugin::val('$client');
  56.     my $npc = plugin::val('$npc');
  57.     my $name = plugin::val('$name');
  58.     my $zonesn = plugin::val('$zonesn');
  59.     my $ulevel = plugin::val('$ulevel');
  60.     my $class = plugin::val('$class');
  61.     my $accountid = $client->AccountID();
  62.     my $accountname = $client->AccountName();
  63.     my $space = "_";
  64.     my $qglobals = plugin::var('qglobals');
  65.     my $CreditAmnt = $qglobals->{"$CreditName$space$accountid"};
  66.     my $CreditAmnt2 = commify2($CreditAmnt + $AddTo);
  67.     my $ClientID = $client->GetID();
  68.     $CreditAmnt += $AddTo;
  69.     $client->SetGlobal("$CreditName$space$accountid", "$CreditAmnt", 7, 'F');
  70.     $client->Message(315,"[Account Balance] [$name] you now have $CreditAmnt2 Platinum credit left on [$accountname].");
  71.     $timestamp = localtime(time);
  72.     my $npc_name = $npc->GetCleanName();
  73.     my $accountname1 = $client->AccountName();
  74.     # plugin::CreditStatusAccountGive("$CreditName", $AddTo);
  75.     CreditStatusAccountGive2("$CreditName", $AddTo);
  76. }
  77.  
  78.  
  79. # SHOW POPUP WITH NEW BALANCE
  80. sub CreditStatusAccountGive2
  81. {
  82.     my $CreditName = $_[0];
  83.     my $AddTo = $_[1]; 
  84.     my $client = plugin::val('$client');
  85.     my $name = plugin::val('$name');
  86.     my $zonesn = plugin::val('$zonesn');
  87.     my $qglobals = plugin::var('qglobals');
  88.     my $space = "_";
  89.     my $accountid = $client->AccountID();
  90.     my $accountname = $client->AccountName();
  91.     my $CreditAmnt = $qglobals->{"$CreditName$space$accountid"};
  92.     # my $CreditAmnt2 = commify2($CreditAmnt);
  93.     my $AddToo = commify2($AddTo);
  94.     my $CreditAmnt2 = commify2($CreditAmnt + $AddTo);
  95.     my $ClientCheck = PlayerClientCheck();
  96.     my $timestamp = localtime(time);
  97.     quest::popup("Account Balance","
  98.             <c \"#FFFF66\">Time : </c> $timestamp </c> <br>
  99.             <c \"#FFFF66\">Client : </c> $ClientCheck </c> <br>
  100.             <c \"#FFFF66\">Account : </c> $accountname <br>
  101.             <c \"#FFFF66\">Character : </c>$name <br>
  102.             <c \"#FFFF66\">Zone Name : </c>$zonesn <br>
  103.             <c \"#FFFF66\">Add Balance : </c> <c \"#33FF99\"> $AddToo </c> <br>
  104.             <c \"#FFFF66\">New Balance : </c> <c \"#33FF99\"> $CreditAmnt2 </c> <br>
  105.             <br>
  106.             <c \"#FE2E2E\">WARNING:  </c> Like other <c \"#FFFF66\">Qglobals</c> , sometimes the zone will bug out
  107.             and not see the current values. If your balance or instance has disappeared, try going to a public zone
  108.             or different zone to see if it gets refresh.
  109.             We apologize for the inconvenience as it will reappear in time.
  110.             ");
  111.     $client->Message(315," ");
  112.     $client->Message(315,"You now have $CreditAmnt2 platinum left.");
  113.     $qglobals{"$CreditName$space$accountid"} = undef;
  114. } # End Check_Balance
  115.  
  116.  
  117. # Check Expansion Name
  118. sub PlayerClientCheck
  119. {
  120.     my $client = plugin::val('$client');
  121.     my $clientver = $client->GetClientVersion();
  122.     my $ShowClient = "";
  123.     if      ($clientver == 2)   { $ShowClient = "Titanium"; }
  124.     elsif   ($clientver == 3)   { $ShowClient = "Secrets of Faydwer"; }
  125.     elsif   ($clientver == 4)   { $ShowClient = "Seeds of Destruction"; }
  126.     elsif   ($clientver == 5)   { $ShowClient = "Underfoot"; }
  127.     else                        { $ShowClient = "Other"; }
  128.     return "$ShowClient";
  129. }
  130.  
  131.  
  132. # Change 1000000 to 1,000,000
  133. sub commify2
  134. {
  135.    local $_  = shift;
  136.    s{(?<!\d|\.)(\d{4,})}
  137.     {my $n = $1;
  138.      $n=~s/(?<=.)(?=(?:.{3})+$)/,/g;
  139.      $n;
  140.     }eg;
  141.    return $_;
  142. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement