请选择 进入手机版 | 继续访问电脑版

【柠檬交流社区】

 找回密码
 立即注册

QQ登录

只需一步,快速开始

源码出售
游戏: 战神引擎
类型: 修改教程
战神引擎刷叠加物品基本思路就是将叠加物品拆分,拆分数量填写0,这样就可以拆分出来一个数量为0的物品,如果这个物品可双击使用,使用后物品数量将会变更成-1,下线再上线这个数量为-1的物品将变为此叠加物品所能叠加的最大数量,从而达到刷物品的目的。
接下来我们说下不可双击使用的叠加物品如何刷,基本思路是一样的只是不可双击就无法让物品数量变更成-1,这里要有个前提条件,就是很多服会有一个删除垃圾的NPC ,这个NPC 可以销毁各种无用道具,我们把不能双击使用的物品比如金刚石,拆分出一个数量为0的金刚石,让后用这个销毁道具的NPC 销毁这个数量为零的金刚石,我们会发现这个数量为零的金刚石消失了,我们整理一下包裹,神奇的事情就发生了,一个数量为-1的金刚石出现了,这样我们每销毁一次数量就会增加-1,让后我们下线再上线,这个物品就变更成此叠加物品的最大值,对于GM这是很恐怖的,当然你可以取消掉金刚石或者销毁物品的NPC ,不过这样你就要去数据库把那些不可丢弃的东西全部改为可丢弃的,这应该是一件很痛苦的事情,我解决的方法是修改销毁物品的NPC ,方法是检测此物品是不是可刷的物品,如果是可刷的物品将不可销毁,相信有点智商的朋友应该能明白我的意思,下面我将把完整代码粘贴到帖子里,你们拿去直接复制过去然后添加你们游戏里哪些可叠加的物品就可以了,

-----------------------------物品销毁NPC代码-------------------------
----------------------------从下面开始复制--------------------------
      
program mir2;

procedure _exit;
begin
    This_NPC.CloseDialog(This_Player);
    exit;
end;

Procedure _DestoryItem;
begin
   This_NPC.NpcDialog(This_Player,
   '把需要销毁的东西放进去就行啦!\ \'+
   '|请注意,物品销毁后将<消失/c=red>,无法找回,请<谨慎操作/c=red>!\'+
   '|部分物品无法销毁。'+
   '|{cmd}<开始销毁/@DestoryItem_1>                '
   );
end;
Procedure _DestoryItem_1;
begin
   This_NPC.Click_CommitItem(This_Player,1,'待销毁道具:');
end;
//-------------删除道具--------------------
function NotDestroy(iName : string):boolean;
begin
    result := true;
    case iName of
        '魔血石(小)' : result := false;
        '魔血石(中)' : result := false;
        '魔血石(大)' : result := false;
        '魔血石(小)(绑)' : result := false;
        '魔血石(中)(绑)' : result := false;
        '魔血石(大)(绑)' : result := false;
        '气血石(小)' : result := false;
        '气血石(中)' : result := false;
        '气血石(大)' : result := false;
        '气血石(小)(绑)' : result := false;
        '气血石(中)(绑)' : result := false;
        '气血石(大)(绑)' : result := false;
        '幻魔石(小)' : result := false;
        '幻魔石(中)' : result := false;
        '幻魔石(大)' : result := false;
        '幻魔石(小)(绑)' : result := false;
        '幻魔石(中)(绑)' : result := false;
        '幻魔石(大)(绑)' : result := false;
        
    end;
end;
procedure CommitItem(AType:word);
var bkxh : string ;
begin
bkxh := This_Item.ItemName;
if (bkxh <> '金刚石' ) and (bkxh <> '书页' ) then    // 这里添加修改不可销毁的物品
begin
    if NotDestroy(This_Item.ItemName) then
    begin
    This_Player.TakeByClientID(This_Item.ClientItemID);
    This_Player.NotifyClientCommitItem(1,'');
    This_Player.PlayerNotice(''+This_Item.ItemName+'已销毁。',2);
    end else
    This_Player.NotifyClientCommitItem(0,'该物品不可销毁,请投入可销毁的物品!');
end
else
This_Player.NotifyClientCommitItem(0,'该物品不可销毁,请投入可销毁的物品!');
         
end;
//------
begin
    This_NPC.NpcDialog(This_Player,
+'我可以把你不用的物品销毁\'
+'请慎重考虑哦!'
    +'|{cmd}<物品销毁/@DestoryItem>\'
    );
end.
回复

使用道具 举报

全部评论0
    懒得打字嘛,点击右侧快捷回复
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    12.12云产品限时秒杀,爆款1核2G云服务器,99元/1年