[模块]人物信息
初始化模块,初始化当前人物信息,require 后调用 Init()即可完成全部初始化工作初始化信息为 char table
结构:
char.id 人物id
char.name 人物名称
char.title 包括门派,头衔,昵称
char.skill 以技能id为key的列表,表中每一元素为{name,level,exp}结构
char.jifa 以激发基本技能id为key的列表,元素为对应于key的特殊功夫id
Init()结束后会删除所用临时Trigger,不使机器人逐渐冗余或产生副作用
使用,如
a) if (char.skill["dodge"].level > 100) then *StopJump* end
b) if char.skill].level > 100 then *StopPractice* end
c) Trigger"你的(*)进步了"
call
for k, v in pairs(char.skill) do
if v.name == %1 then
v.level = v.level + 1
break
end
end
[ 本帖最后由 duno 于 2009-5-5 04:06 AM 编辑 ] 初始化过程log举例
sk
jifa
sc
init
你目前所学过的技能:(共四项技能)
┌ 一项知识 ──────────────────────┐
│读书写字 (literate) - 新学乍用 1/ 0│
└────────────────────────────────┘
┌ 二项基本功夫 ──────────────────────┐
│基本内功 (force) - 不堪一击 2/ 0│
│基本招架 (parry) - 不堪一击 6/ 0│
└────────────────────────────────┘
┌ 一项特殊功夫 ──────────────────────┐
│□马屁神功 (flatter) - 不堪一击 1/ 1│
└────────────────────────────────┘
> 以下是你目前使用中的特殊技能。
轻功 (dodge) : 无 有效等级:8
内功 (force) : 无 有效等级:1
招架 (parry) : 马屁神功 有效等级:4
> ≡━◎个人档案◎━━━━━━━━━━━━━━━━━━━━━━━━≡
【青年男子】普通百姓「拾荒者」娃哈哈(Testgogogo)
say init name 娃哈哈 testgogogo
say title = 普通百姓「拾荒者」
say list char info
say clear init
你是一位二十岁的未婚男性人类,戊子年十二月八日戌时四刻生。
膂力:[ 19]悟性:[ 21]根骨:[ 18]身法:[ 22]
福缘:[ 19]容貌:[ 11]灵性:[ 30]
<精>■■■■■■■■■■■■■■■■■■■■■■■■■
<气>■■■■■■■■■■■■■■■■■■■■■■■■■
攻击 不堪一击 (+0) 躲闪 不堪一击 招架 不堪一击 (+1)
食物:□□□□□□□□□□□□□□□□□□□□□□□□□
饮水:□□□□□□□□□□□□□□□□□□□□□□□□□
你曾经结束过零个生命,其中有零个是其他玩家,零个是宠物。
你共经历过六次死亡的痛苦,其中有一次是命丧其他玩家之手。
你上一次于己丑年四月二十八日亥时四刻在花园别墅区死亡,死因为:被白骆驼(camel)杀死。
杀 气:正常
银行存款:二十七两白银八十三文铜板
道 德:0
潜 能:100
实战经验:120
等 级:零
师门忠诚:0
江湖声望:0
≡━━━━━━━━━━━━━━━━━━━━━━◎北大侠客行◎━━≡
> 你说道:「init name 娃哈哈 testgogogo」
> 你说道:「title = 普通百姓「拾荒者」」
> 你说道:「list char info」
*** char info ***
char.id = testgogogo
char.name = 娃哈哈
char.title = 普通百姓「拾荒者」
*** list char skills ***
char.skill -> name=读书写字 level=1 exp=0
char.skill -> name=基本内功 level=2 exp=0
char.skill -> name=马屁神功 level=1 exp=1
char.skill -> name=基本招架 level=6 exp=0
*** list char jifa ***
char.jifa = flatter
[ 本帖最后由 duno 于 2009-5-3 11:20 PM 编辑 ] 不明白,有什么具体的功用? 练技能的时候有用,不过俺不会用 只在一定程度上提高自动化比率,进入游戏后,不需要预先设定任务名称,id,比如慕容追叛徒需要用到名称,引入此模块可以不用再手动设定 char_name 领悟时,自动遍历skill,寻找 可领悟 或 可练习 的skill
下为目前使用的领悟机器人选择技能函数,task为领悟任务列表,每一元素有lingwu,lianxi两个域
function DoLingWu ()
local lingwu = nil
local lianxi = nil
for i = 1, #task do
local v = task
if not lingwu and v.lingwu ~= "dodge" and skill.level < skill.level + 1 and skill.level < limit then
lingwu = v.lingwu
end
if not lianxi and skill.level < skill.level and skill.level < limit then
lianxi = v.lingwu
end
end
if lingwu and (not task_type or task_type == "lingwu") then
for i = 1, 3 do
Send ("yun regenerate")
Send ("lingwu " .. lingwu .. " 50")
end
elseif lianxi and (not task_type or task_type == "lianxi") then
Send ("yun recover")
Send ("lian " .. lianxi .. " 50")
else
Send ("say lingwu end")
EnableTimer ("ticker_main", false)
end
end
太高深了yct30 就是领悟的时候,每次领悟前遍历char.skill,选择当前可以领悟的技能
判断条件为,领悟技能 小于 对应激发技能+1 (由char.jifa确定激发技能)
大致就是这个意思啦
上面的task是一个设定的任务列表,比如sword,blade,claw,之后就直从里面寻找需要领悟的技能
看别人的代码确实是很痛苦的,即使自己看自己几年前的写的东西也会痛苦,suffering 囧
[ 本帖最后由 duno 于 2009-5-3 09:08 PM 编辑 ] 也是个好东西!ttk_00 hz9 完全看不懂啊,papaya
页:
[1]
2