返回教程索引
说明:
1)这个需要有一定DIY基础,如果看得一头雾水的话孩子你还是回初级班修炼一下再来吧…
2)本人代码写得极其不规范,勿喷,要喷请温柔,美女限定
3)请好歹回个贴装作讨论一下不然你忍心让俺自说自话郁闷死么
工具:
1)源码文件:拿山寨版就好了,我不是在作广告,真的不是
2)lua编辑器:我用的是Notepad++,这个真的是广告
3)UPedit:看数据的
4)零食:熬夜通宵必备,谁用谁知道
一。加入门派系统的基础理论:定量,判定,设定
1)需要先设定一个全局定量储存所有人物的门派信息。这个可以有很多种做法,我用的是最懒的那种。R文件人物数据里有个名为“无用”的位置,被我废物利用拿来做全局定量了。调用起来很简单,直接使用代码:
JY.Person[aa]["无用"] = bb --aa为人物编号,bb为门派编号
2)定义几个表存放文字来描述你的门派,这里包括了门派名字,门派说明,技能名字,技能说明,等等。我全都放在MyConst.lua里面了。下面以星宿派(门派编号1)来举例子,完整的表请看MyConst.lua,这里只截取了星宿派的部分:
--门派的名字和门派菜单的名字
CC.MP = {
{"星宿派", nil, 1, "毒鼎"},
}
--门派的说明,随便写就好
CC.MPINFO = {
"星宿老仙丁春秋叛出逍遥派后所创。武学以毒为主,让人防不胜防。派中秘传化功大法,源自北冥神功,可化人内力于无形。门下弟子也许不算最强,但绝对最让人胆寒。",
}
--加入门派后的属性变化,这个以后再说
CC.MPINFO2 = {
"攻击防御减5%,轻功加10%,医疗用毒解毒暗器能力加50,内力上限减10%",
}
--不同等级的弟子的称呼,这个可选,如果不准备做相应的剧情的话可以省略;分别对应了等级1-3
CC.MPDJ = {
{"入门弟子", "高级弟子", "掌门"},
}
--门派被动技能的名字
CC.PSKILL = {
{"以身饲毒", "连珠腐尸毒", "淬毒"},
}
--门派主动技能的名字
CC.ASKILL = {
{"口蜜腹剑", "三笑逍遥散"},
}
--被动+主动技能,其实就是前面两个表加起来
CC.SKILLNAME = {
{"以身饲毒", "连珠腐尸毒", "淬毒", "口蜜腹剑", "三笑逍遥散"},
}
--门派技能的说明,这个是和上面的CC.SKILLNAME对应的
CC.SKILLINFO = {
{
"效果:被攻击时自身中毒程度增加,* 中毒越深集气速度越快*条件:被动技能",
"效果:使毒时目标周围四格内随机敌人* 中毒且损失生命*条件:被动技能",
"效果:攻击时几率追加伤害,伤害值与* 自身和目标的中毒程度有关*条件:被动技能",
"效果:一定几率周围四格敌人怒气值清零* 且中毒程度增加*消耗:体力25点",
"效果:一定几率周围三格内普通小兵三次* 行动后即死*消耗:体力20点内力500点"
},
}
3)决定如何判断门派和门派等级。这里我仍然使用了偷懒的方法,把门派和门派等级合成为了一个数字存在“无用”里。
101 - 代表星宿派弟子等级1
102 - 代表星宿派弟子等级2
103 - 代表星宿派弟子等级2
…
303 - 代表古墓派弟子等级3
看出来了吧,其实这个数字就是(门派编号*100+门派弟子等级)
所以就有了以下两个函数:
function MPPD(tmppid) --判定人物的门派
if JY.Person[tmppid]["无用"] == nil or JY.Person[tmppid]["无用"] < 101 then --没有门派的话返回0
return 0
else
local mptype = math.floor(JY.Person[tmppid]["无用"] / 100)
return mptype --有门派的话返回门派编号,也就是“无用”里打头的那个数字
end
end
function MPDJ(tmppid) --判定人物的门派等级
local mpdj
if MPPD(tmppid) == 0 then
return 0 --没有门派的话返回0
end
mpdj = math.fmod(JY.Person[tmppid]["无用"], 100) --这里用了取余数的公式
return mpdj --有门派的话返回门派等级
end
在战斗中就可以利用这两个函数进行判定了
同理,加入门派的时候可以调用另一条函数
function JoinMP(tmppid, mptype, mpdj) --3个输入量分别代表了人物编号,门派编号,门派等级
JY.Person[tmppid]["无用"] = mptype * 100 + mpdj --其实就是把“无用”设成那个偷懒的数字
end
以上就是基础的理论:定量(数字与文字),判定,设定(改“无用”)
二。门派指令菜单的使用
待更新…
[返回教程索引]()