铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 1495|回复: 3

抄袭敌人天赋代码设计

[复制链接]
发表于 2011-10-29 06:13 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
本帖最后由 武骧金星 于 2011-10-29 06:35 编辑

说明:这个代码现在还只是个DEMO。首先,偷来的天赋只在你行动时生效;其次,由于这个原因,只能偷一些直接进攻类的天赋。诸如天地独尊等防御类/辅助类天赋的处理方法,现在暂时没想出来……另外这种实现方法实在太粗糙了,大家可能会觉得有点假。

----------------------------------------------------分割线-----------------------------------------------------------------------------------

(1)准备工作

这里我们以新版DIY的李文秀(人物代号801)为例。

首先我们在DIY.Lua中添加这么一段代码:

JY.Person[801]["武功2"] = 91 --炎炎功
JY.Person[801]["武功等级2"] = 801

之所以做这么一个处理,主要原因是为了让偷来的天赋可以被存档(我们知道存档是不能储存DIY中变量信息的),这里选用炎炎功,因为炎炎功是内功不能攻击,而且没有秘籍,因此不会得经验。至于为啥用武功等级2……也是有原因的,大家有兴趣可以改成武功等级1试试,这样你就杯具了……

----------------------------------------------------分割线------------------------------------------------------------------------------------

(2)偷取天赋

这里我们设计成阿秀只要骑着白马被人打出杀气就会偷到他的天赋。那样偷到一个好的天赋以后,只要不装备白马就不会替换了。

那么我们在drawname函数中增加这么一段代码:

        local k=0
        for j=0, WAR.PersonNum-1 do
            if WAR.Person[j]["人物编号"] == 801 then  k=j end
        end

         if name == JY.Person[801]["姓名"] then
            if WAR.Person[k]["TimeAdd"] < 0 then -- 阿秀被人打出了杀气
               if JY.Person[801]["防具"] == 230 then --阿秀骑着白马
                  if WAR.Person[WAR.CurID]["人物编号"] < 190 then --打阿秀的人不是小兵……
                     JY.Person[801]["武功等级2"] = WAR.Person[WAR.CurID]["人物编号"] -- 将究竟是哪个人打的存起来
                  end
               end
            end
         end
               
--------------------------------------------------------分割线-----------------------------------------------------------------------------------

(3)天赋的实现

进攻类天赋基本都在War_fight_sub函数中定义,所以我们在其中加入这么一段代码:

local pid = WAR.Person[id]["人物编号"] -- 这个原来就有,我们加入的代码是插在后面的
  if pid == 801 then
     if JY.Person[801]["武功等级2"] ~= 801 then
        pid = JY.Person[801]["武功等级2"]
    end
  end

这样,当阿秀行动时系统就会认为是她偷取天赋的那个人在行动,所以我们可以用阿秀出降龙三连击~

---------------------------------------------------------分割线-----------------------------------------------------------------------------------

代码仅经过少量测试,已知这样肯定可以打死人,也可以被人打死(我是用乔峰+张三丰做对象测试的)……因该不会有太大的BUG出现。

如果想要在状态中看到偷了哪个天赋,那么改一下RWTFLB [801]就可以了。至于具体偷天赋的条件,可以改得苛刻一点,现在一被杀气就偷天赋未免有点太轻易了。本贴仅仅用于证明如何实现技术而已。



【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-29 08:04 | 显示全部楼层
問題是: 不是每个坛友都能像你般能用到 function War_fight_sub
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-31 11:04 | 显示全部楼层
function War_fight_sub 能改了?

点评

巨侠好 我是来酱油的  发表于 2011-10-31 15:09
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。
发表于 2011-10-31 12:20 | 显示全部楼层
drawnam这个函数在什么文件里?
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-24 13:50

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表