Jump to content

L2 Rapture - Npc Buffer Ai Source Code C4/il


Recommended Posts

I share with you this buffer code witch was used perfectly on L2Rapture.It's a decent buffer for you to use in your servers,you can add or remove buffs,and you can also edit/add/remove exchange item and amount for buffs.It's a decent buffer and can be very usefull and helpfull.I don't know if this code is already shared in the past but i searched a bit and didn't find it,so here you go.If it was shared before here in this forum just inform me.

class 1 l2r_town_buffer : citizen

	{

	parameter:

	   int   windwalk = 308226;   // 308226   ww 2

	   int   magicbarrier = 265218;   // 265218   magic barrier 2

	   int   agility = 278275;   // 278275   agility 3

	   int   might = 273411;      // 273411   might 3

	   int   guidance = 317443;   // 317443   guidance 3

	   int   deathwhisper = 317955;   // 317955   dw 3

	   int   focus = 275715;      // 275715   focus 3

	   int   haste = 278018;      // 278018   haste 2

	   int   blessbody = 267526;   // 267526   bb 6

	   int   shield = 266243;   // 266243   shield 3

	   int   acumen = 277763;   // 277763 acumen 3

	   int   concentration = 275974;   // 275974   concentration 6

	   int   empower = 271107;   // 271107   empower 3

	   int   blesssoul = 268294;   // 268294   bs 6

	   int   blessshield = 318214;   // 318214   bless shgield 6

	   int   mentalshield = 264964;   // 264964   mental shield  4

	   string   fnHi = "l2r_town_buffer.htm";

	   string   fnSelectBuffs = "l2r_select_buff.htm";

	   int   chargeFee = 0;

	   int   feeItem = 57;      // 57 adena

	   int   feeAmt = 1000;

	

	handler:

	   EventHandler TALKED (talker)

	   {

	      myself::ShowPage (talker, fnHi);

	   }

	   EventHandler MENU_SELECTED (ask, reply, talker)

	   {

	      if (ask == 3)   //player select buffs

	      {

	         if (reply == 1)

	         {

	            myself::ShowPage (talker, fnSelectBuffs);

	         }

	         if (reply > 10000)

	         {

	               if( ( myself::Skill_GetConsumeMP( reply ) < myself.sm.mp && myself::Skill_GetConsumeHP( reply ) < myself.sm.hp ) && myself::Skill_InReuseDelay( reply ) == 0 )

	               {

	            if (chargeFee == 1)

	            {

	               if (myself::OwnItemCount (talker, feeItem) > feeAmt)

	               {

	                  myself::DeleteItem1 (talker, feeItem, feeAmt);

	               }

	               else

	               {

	                  myself::Say ("Sorry " + talker.name + ", come back when you have more Adena.");

	                  return;

	               }

	            }

	            myself::AddUseSkillDesire( talker, reply, 1, 0, 1000000 );

	            myself::ShowPage (talker, fnSelectBuffs);

	               }

	         }

	      }

	   }

	}

Pastebin: http://pastebin.com/3mFsMZsU

Link to comment
Share on other sites

WARNING :) Don't use this code unless you add some check whether 'reply' value is really one of buffs you wanted to allow! Otherwise player can get practically any skill casted on him...

Link to comment
Share on other sites

WARNING :) Don't use this code unless you add some check whether 'reply' value is really one of buffs you wanted to allow! Otherwise player can get practically any skill casted on him...

thanks for mention this ;)

Link to comment
Share on other sites

  • 3 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



×
×
  • Create New...