View Single Post
  #1  
Old 07-06-2019, 02:43 PM
Zoid13erg
Fire Beetle
 
Join Date: Jul 2016
Posts: 7
Default NPC Buffing Scripting Help

Hey I am hoping I can get some help with scripting my npc buff bot i have in PoK. Currently I have it set to Shout every so often that Buffs are available. I would like to change 2 things:

1) set a timer to shout or ooc that there will be an AoE buff in 5 mins + the aoe buff cast.

2) how to make the npc self cast a spell on itself every 30 mins or so.

Here is what I have so far, I have not implemented both of the items on my wishlist yet. so far I have it able to shout and take donations for buffs

Quote:
#zone:PoKnowledge
#Clerical

sub EVENT_SAY {
if(($text=~/hail/i)&&($ulevel<= 45)){
$npc->SetAppearance(0);
quest::say("Hello $name, I can buff you with Temperance for a fee of 10pp, and my friend over there has enchanter buffs.");
}
elsif(($text=~/hail/i)&&($ulevel=>46)){
$npc->SetAppearance(0);
quest::say("Hello $name, I can buff you with Virtue for a fee of 50pp, and my friend over there has cleric buffs");
}
}

sub EVENT_SPAWN
{
$x = $npc->GetX();
$y = $npc->GetY();
quest::set_proximity($x - 800, $x + 800, $y - 800, $y + 800);
}

sub EVENT_ENTER
{
$npc->SetAppearance(1);
my $random_result = int(rand(40));
if ($random_result<=20){
quest::shout("Casting Temp and Virtue for donations beside the main bank!");
}else{
#Do Nothing
}
}

sub EVENT_ITEM{
if (($platinum>=50)&&($ulevel=> 46)){
$npc->SetAppearance(0);
$npc->CastSpell(3479,$userid);
quest::say("Casting Virtue, Good hunting!");
}elsif(($platinum>=10)&&($ulevel<= 45)){
$npc->SetAppearance(0);
$npc->CastSpell(3692,$userid);
quest::say("Casting Temperance, Good hunting!");
}else{
quest::say("Thank you for your donation $name, it wasn't enough though ...");
}
}

sub EVENT_SIGNAL {
quest::shout("Casting Temp and Virtue for donations beside the main bank!");
}
Reply With Quote