用于战神引擎玩家把自己的装备属性提取和转移Npc脚本。


部分脚本
begin
if state='可提取' then //属性转移
begin
if This_Player.YBNum >= 0 then
begin
kind:=ReadIniSectionStr('qq1797962565.txt',This_Player.Name,'装备类别');
wpname:=ReadIniSectionStr('qq1797962565.txt',This_Player.Name,'源装备');//源物品名称
wlv1:=getf(getb(getb(getb(getb(getb(getb(getjlitem(wpname))))))));
wlv2:=getb(getb(getb(getb(getb(getb(getb(getb(getjlitem(wpname)))))))));
if (kind = lx) and ((pa[6] = wlv1) or (pa[6]=wlv2))then //判断类型是否一致
begin
for i := 1 to 7 do
begin
astr:=ReadIniSectionStr('qq1797962565.txt',This_Player.Name,'属性'+inttostr(i));
abil[i]:=getf(astr); //读取属性备注
anum[i]:=StrtoIntDef(getb(getb(astr)),0);//读取属性值
end
if kou = 666 then
begin
if (This_Player.YBNum < 20) then begin This_Npc.NpcDialog(This_Player,'你的元宝不足!'); exit; end; This_Player.ScriptRequestSubYBNum(20); if anum[1] >=1 then This_Item.AddPa1:=anum[1];
if anum[2] >=1 then This_Item.AddPa2:=anum[2];
if anum[3] >=1 then This_Item.AddPa3:=anum[3];
if anum[4] >=1 then This_Item.AddPa4:=anum[4];
if anum[5] >=1 then This_Item.AddPa5:=anum[5];
end else
begin ///免费方式
if anum[1] >=1 then
begin
if random(10) = 0 then
begin//30%几率减去1点
This_Item.AddPa1:=anum[1];
end else
This_Item.AddPa1:=anum[1]-1;
end;
if anum[2] >=1 then
begin
if random(10) = 0 then
begin//30%几率减去1点
This_Item.AddPa2:=anum[2];
end else
This_Item.AddPa2:=anum[2]-1;
end;
if anum[3] >=1 then
begin
if random(10) = 0 then
begin//30%几率减去1点
This_Item.AddPa3:=anum[3];
end else
This_Item.AddPa3:=anum[3]-1;
end;
if anum[4] >=1 then
begin
if random(10) = 0 then
begin//30%几率减去1点
This_Item.AddPa4:=anum[4];
end else
This_Item.AddPa4:=anum[4]-1;
end;
if anum[5] >=1 then
begin
if random(10) = 0 then
begin//30%几率减去1点
This_Item.AddPa5:=anum[5];
end else
This_Item.AddPa5:=anum[5]-1;
end;
end;
if (lx = '项链') then begin
This_Item.AddPa1:=shuxing1;
This_Item.AddPa2:=shuxing2;
end;
if (lx = '武器') then begin
This_Item.AddPa4:=shuxing4;
This_Item.AddPa5:=shuxing5;
end;
WriteIniSectionStr('qq1797962565.txt',This_Player.Name,'提取状态','已提取 '+MirDateTimeToStr('MM-dd hh:mm' , GetNow)); //提取状态改变
This_Player.NotifyClientCommitItem(0,'属性转移成功!');
This_NPC.NotifyClientUPdBagItem(This_Player,This_Item);
domain;
end else
begin
if wlv2 <> '' then begin
This_Player.NotifyClientCommitItem(0,'只能放入《'+kind+'》类型的装备或你提供的装备不是《'+wlv1+'》或《'+wlv2+'》层次装备!');
end else begin
This_Player.NotifyClientCommitItem(0,'只能放入《'+kind+'》类型的装备或你提供的装备不是《'+wlv1+'》层次装备!');
end;
This_NPC.NotifyClientUPdBagItem(This_Player,This_Item);
This_NPC.Click_CommitItem(This_Player,1,'请放入'+kind+':');
end
end else
begin
This_Player.NotifyClientCommitItem(0,'转移属性需要'+inttostr(jl_gold)+'元宝!');
This_NPC.NotifyClientUPdBagItem(This_Player,This_Item);
This_NPC.Click_CommitItem(This_Player,1,'请放入'+kind+':');
end
end else //属性提取
begin
bnum[1]:=This_Item.AddPa1;
bnum[2]:=This_Item.AddPa2;
bnum[3]:=This_Item.AddPa3;
bnum[4]:=This_Item.AddPa4;
bnum[5]:=This_Item.AddPa5;
bnum[6]:=0;
bnum[7]:=0;
if (bnum[1] >=11) or (bnum[2] >=11) or (bnum[3] >=11) or (bnum[4] >=11) or (bnum[5] >=11)then begin
This_Npc.NpcDialog(This_Player,'极品属性超过10的物品我还没有能力提取!');
exit;end;
if bnum[1]+bnum[2]+bnum[3]+bnum[4]+bnum[5] > 0 then
begin
This_Item.AddPa1:=0;
This_Item.AddPa2:=0;
This_Item.AddPa3:=0;
This_Item.AddPa4:=0;
This_Item.AddPa5:=0;
if (lx = '项链') then begin
This_Item.AddPa1:=shuxing1;
This_Item.AddPa2:=shuxing2;
bnum[1]:=0;bnum[2]:=0;
end;
if (lx = '武器') then begin
This_Item.AddPa4:=shuxing4;
This_Item.AddPa5:=shuxing5;
bnum[4]:=0;bnum[5]:=0;
end;
for i:=1 to 7 do
begin
WriteIniSectionStr('qq1797962565.txt',This_Player.Name,'属性'+inttostr(i),pa[i]+','+inttostr(bnum[i]));//写极品值
end
WriteIniSectionStr('qq1797962565.txt',This_Player.Name,'提取状态','可提取');
WriteIniSectionStr('qq1797962565.txt',This_Player.Name,'装备类别',lx);
WriteIniSectionStr('qq1797962565.txt',This_Player.Name,'源装备',This_Item.ItemName);
This_Player.NotifyClientCommitItem(0,'极品值提取成功!');
This_NPC.NotifyClientUPdBagItem(This_Player,This_Item);
domain;
end else
begin
This_Player.NotifyClientCommitItem(0,'这件装备没有极品属性!');
This_NPC.NotifyClientUPdBagItem(This_Player,This_Item);
This_NPC.Click_CommitItem(This_Player,1,'放入要提取的装备:');
end
end;
end;
end;
begin
domain;
end.








