装备增加BuFF属性Npc脚本(带Gm后台功能)

用于战神引擎的装备增加BuFF属性Npc脚本,功能非常的全面,里面给出的装备内容包含了各种类型,因为是明文版的,可以根据自己的需求,任意修改里面的物品内容,脚本自带了GM后台设置功能,可以直接设置几率,非常的方便,对新手来说,也非常的友好,不要学什么代码,就可以修改好自己想要的几率。

装备增加BuFF属性Npc脚本(带Gm后台功能)

装备增加BuFF属性Npc脚本(带Gm后台功能)

装备增加BuFF属性Npc脚本(带Gm后台功能)

装备增加BuFF属性Npc脚本(带Gm后台功能)

部分脚本

//---------------------------------------
// 此脚本由【烈阳】开发,定制特色脚本
// 请尊重每一个创作者,此条勿删,谢谢支持!
//---------------------------------------
PROGRAM Mir2;
var
   TampForVar:integer;
Procedure _exit;
begin
   This_Npc.CloseDialog(This_Player);
end;
procedure P100;
begin
end;
function addSpace( s : string; needLen : Integer ) : string;
var
  i, j : Integer;
begin
  i := Length(s);
  if i < needLen then begin j := needLen - i; for i := 0 to j do begin s := s + ' '; end; end; Result := s; end; function PrintStr(Pstr:string;Pid:integer):string; var index,len:integer; GetTempstr,GetConvStr,Outstr:string; begin index:=0; GetConvStr:=Pstr; len := length(Pstr); repeat index:=index+1; GetConvStr:=GetValidStr(GetConvStr,GetTempstr,','); if index = Pid then Outstr:=GetTempstr; until (GetTempstr = '') or (index >= len);
	result:=Outstr;
end;
function GetBuffItemConfig(MakeItemsID:integer):String;     //以下根据版本自行添加
begin
      case MakeItemsID of
	                  //获得物,数量,需要的物品,数量,需要的物品,元宝,灵符,金刚石(打造裁决需要3炼狱+5黑铁+1万元宝+1千灵符+100金刚石)
         1 : result := '首充武器BUFF,                                                        几率触发,1.5倍经验加成,首充获得';
         7 : result := '军鼓LV6以上BUFF,                                                       几率触发,10级技能,合成获得';          //打造力量戒指需1个龙之戒指+1000元宝(若不需要的项目为0即可,逗号不可删除)
         4 : result := '天魔以上武器,                                                       几率触发,攻击伤害提高50%,合成打怪获得'; 
         6 : result := '魔龙以上衣服,                                                        几率触发,提高100双防,合成打怪获得';
         10 : result := '血石+100以上BUFF,                                                        几率触发,提高20%生命值,合成获得';
 //        6 : result := '恶魔铃铛,3,炼狱,5,黑铁矿石,10000,1000,0';
         13 : result := '腰牌1.5-1.8BUFF,                                                        几率触发,召唤垃圾宝宝巨型多角虫1,半兽勇士1,鹰卫召唤高级宝宝天穹使者,恶魔领主,骷髅神兵为你作战直到死亡注:6种其中1种,合成获得';
  //       8 : result := '紫碧螺,3,炼狱,5,黑铁矿石,10000,1000,0';
 //        9 : result := '龙纹剑,3,炼狱,5,黑铁矿石,10000,1000,0';
        16 : result := '银光-灵犀重盾BUFF,                                                        几率触发,攻击时触发使敌人流血,合成获得';
 //       11 : result := '三眼手镯,3,炼狱,5,黑铁矿石,10000,1000,0';
 //       12 : result := '泰坦戒指,3,炼狱,5,黑铁矿石,10000,1000,0';
        19 : result := '军鼓LV6以上BUFF,                                                       几率触发,10级技能,合成获得'; 
  //      14 : result := '贵族斗笠,3,炼狱,5,黑铁矿石,10000,1000,0';
 //       15 : result := '贵族勋章,3,炼狱,5,黑铁矿石,10000,1000,0';
      21 : result := '其他10多种BUFF请游戏研究';
  //      17 : result := '贵族靴子,3,炼狱,5,黑铁矿石,10000,1000,0';
  //      18 : result := '屠龙,3,炼狱,5,黑铁矿石,10000,1000,0';
  //      19 : result := '贵族屠龙,3,炼狱,5,黑铁矿石,10000,1000,0';
  //      20 : result := '魔龙战戒,3,炼狱,5,黑铁矿石,10000,1000,0';
//		21 : result := '烈阳小鸟,3,炼狱,5,黑铁矿石,10000,1000,0';
//		22 : result := '烈阳大棒,3,炼狱,5,黑铁矿石,10000,1000,0';    //runquest里的xx戒指和jj戒指为演示,因此这里没有添加
        else  result := '';
	end;
end;
function GetItemBuffFunc(BuffID : integer) : string;
begin
    case BuffID of
        1 : result := '[首充神剑],攻击时触发1.5倍经验倍数持续600秒';
        2 : result := '[天魔以上武器],攻击时触发提升50%攻击伤害持续10秒30秒冷却';
        3 : result := '[魔龙以上衣服],攻击时触发提升100点双抗持续10秒30秒冷却';
        4 : result := '[军鼓LV6以上BUFF],几率触发10级技能30秒冷却';
		5 : result := '[血石+100以上BUFF],几率触发提高20%生命值30秒冷却';
		6 : result := '[腰牌1.5-1.8倍BUFF],几率触发召唤垃圾宝宝巨型多角虫1,半兽勇士1,鹰卫召唤高级宝宝天穹使者,恶魔领主,骷髅神兵为你作战直到死亡注:【6种其中1种】.200秒冷却';
		7 : result := '[银光-灵犀重盾BUFF],几率触发攻击时触发使敌人流血持续10秒30秒冷却';
		8 : result := '[腰牌1.9-2.0倍BUFF],几率触发召唤垃圾宝宝巨型多角虫1,半兽勇士1,鹰卫召唤高级宝宝天穹使者,恶魔领主,骷髅神兵召唤终级宝宝?,?,?,?为你作战直到死亡注:【10种其中1种】.200秒冷却';
		9 : result := '[其他隐藏BUFF请自行研究]';
//	   10 : result := '[灵魂项链],死亡时触发原地复活无冷却';
//	   11 : result := '[三眼手镯],攻击时触发使敌人流血10秒30秒冷却';
//	   12 : result := '[泰坦戒指],攻击时触发使敌人红名30秒冷却';
//	   13 : result := '[黑铁头盔],攻击时触发使敌人武器报废30秒冷却';
//	   14 : result := '[贵族斗笠],攻击时触发使敌人定身10秒30秒冷却';
//	   15 : result := '[贵族勋章],攻击时触发随机掉落敌人背包物品无冷却';
//	   16 : result := '[贵族腰带],攻击时触发使敌人卡屏30秒冷却';
//	   17 : result := '[贵族靴子],攻击时触发使敌人进入混乱5秒冷却';
//	   18 : result := '[屠龙],攻击时触发使敌人降低双抗持续10秒30秒冷却';
//	   19 : result := '[贵族屠龙],攻击时触发秒杀敌人30秒冷却';
//	   20 : result := '[魔龙战戒],杀人后触发复活敌人进行鞭尸30秒冷却';
//	   21 : result := '[烈阳小鸟],攻击时触发移形换影(对怪无效)5秒冷却';
//	   22 : result := '[首充神剑],攻击时触发1.5倍经验倍数持续600秒';    //runquest里的xx戒指和jj戒指为演示,因此这里没有添加
        else  result := '';
    end;
end;
begin
    k := This_Player.GetS(56,86);
	MakeItemName := PrintStr(GetBuffItemConfig(k),1);
    if This_Npc.InputOK then
    begin
	    if PrintStr(GetBuffItemConfig(k),3) <> '0' then
		begin
		    Num_1 := StrToIntDef(PrintStr(GetBuffItemConfig(k),2),0);
			Item_1 := PrintStr(GetBuffItemConfig(k),3);
		    if This_Player.GetBagItemCount(Item_1) < Num_1 then
			begin
			This_NPC.InputDialog(This_Player,'                                         合成失败!我要的东西呢?',1,100); exit;
			end;
		end;
		if PrintStr(GetBuffItemConfig(k),5) <> '0' then
		begin
		    Num_2 := StrToIntDef(PrintStr(GetBuffItemConfig(k),4),0);
			Item_2 := PrintStr(GetBuffItemConfig(k),5);
		    if This_Player.GetBagItemCount(Item_2) < Num_2 then
			begin
			This_NPC.InputDialog(This_Player,'                                         合成失败!我要的东西呢?',1,100); exit;
			end;
		end;
		if PrintStr(GetBuffItemConfig(k),6) <> '0' then
		begin
		    Num_3 := StrToIntDef(PrintStr(GetBuffItemConfig(k),6),0);
		    if This_Player.YBNum < Num_3 then
			begin
			This_NPC.InputDialog(This_Player,'                                         合成失败!你的元宝不足!',1,100); exit;
			end;
		end;
		if PrintStr(GetBuffItemConfig(k),7) <> '0' then
		begin
		    Num_4 := StrToIntDef(PrintStr(GetBuffItemConfig(k),7),0);
		    if This_Player.MyLFnum < Num_4 then
			begin
			This_NPC.InputDialog(This_Player,'                                         合成失败!你的灵符不足!',1,100); exit;
			end;
		end;
		if PrintStr(GetBuffItemConfig(k),8) <> '0' then
		begin
	This_Player.Give(MakeItemName,1);
	end;
end;
procedure _ShowBuffItem(k:integer);
var
   StrForShow:string;
begin
    StrForShow := addSpace('<'+PrintStr(GetBuffItemConfig(k),1)+'>BUFF属性:',46);
	if PrintStr(GetBuffItemConfig(k),3) <> '0' then
	   StrForShow := StrForShow + PrintStr(GetBuffItemConfig(k),2) + PrintStr(GetBuffItemConfig(k),3);
	This_Player.SetS(56,86,k);
    This_NPC.InputDialog(This_Player,addSpace(StrForShow,200) + '      BUFF加成,几率触发',1,101);
end;
procedure _GmPage;
begin
    This_Npc.NpcDialog(This_Player,
	'<哥哥有空就更新,烂了就停更/fcolor=168>|'+
	'增益型BUFF几率:<'+inttostr(GetG(60,31))+'/fcolor=250>^^<[调整几率]/@GmSRChg~31>|'+
	'<↑><该几率控制1-9号BUFF/fcolor=248>|'+
	'对敌型BUFF几率:<'+inttostr(GetG(60,32))+'/fcolor=250>^^<[调整几率]/@GmSRChg~32>|'+
	'<↑><该几率控制11-16、18、19号BUFF/fcolor=248>|'+
	'独立型BUFF几率:<'+inttostr(GetG(60,33))+'/fcolor=250>^^<[调整几率]/@GmSRChg~33>|'+
	'<↑><该几率控制10、15、17、20、21号BUFF/fcolor=248>|'+
	'<所有几率均为百分比,注意合理调整/fcolor=22>|'+
	'{cmd}<返回主页/@main>');
end;
procedure P105;
begin
     if (StrToIntDef(This_Npc.InputStr ,-1) < 100) and (StrToIntDef(This_Npc.InputStr ,-1) >= 0) then
	 begin                                                   修改成功!',1,100);exit;
	 end else
	 This_NPC.InputDialog(This_Player,'                                            你瞎鸡巴输啥呢?!',1,100);
	 exit;
end;
procedure _GmSRChg(VarNum:integer);
var
   k,i:integer;
   Button:string;
   StrForShow:string;
begin
    for k := v to v + 5 do
	begin
	    if k mod 2 = 1 then i := 218
		else i := 22;
	    StrForShow := StrForShow +'<'+PrintStr(GetItemBuffFunc(k),1)+'/fcolor='+inttostr(i)+'><'+PrintStr(GetItemBuffFunc(k),2)+'/fcolor=247>|';
	end;
	if k < 22 then         //如果添加了装备,此处的22也要对应修改,多少个装备这里就填多少
	     Button:='{cmd}<下 一 页/@ShowXQ~'+inttostr(k)+'><返回主页/@main>'
	else Button:='{cmd}<返回首页/@ShowXQ~1><返回主页/@main>';
    This_Npc.NpcDialog(This_Player,StrForShow+Button);
end;
procedure _LunTanJian(v:integer);
var
   k,i:integer;
   ShowButton:string;
   StrForShow:string;
begin
    for k := v to v + 11 do
	begin
		    i := 0;
			StrForShow := StrForShow + '|';
		end;
	end;
	if This_Player.GMLevel > 0 then ShowButton := '<后台管理/@GmPage>'
	else ShowButton := '<关闭界面/@exit>';
	if k < 22 then         //如果添加了装备,此处的22也要对应修改,多少个装备这里就填多少
	     StrForShow := StrForShow + '{cmd}<————————————————————————/@exit>|' + '{cmd}<下 一 页/@LunTanJian~'+inttostr(k)+'><查看详情/@ShowXQ~1>'
    else StrForShow := StrForShow + '{cmd}<————————————————————————/@exit>|' + '{cmd}<返回首页/@LunTanJian~1><查看详情/@ShowXQ~1>';
    This_Npc.NpcDialog(This_Player,StrForShow+ShowButton);
end;
end.
分享到:
赞(0)