游侠脚本说明
14196 点击·2 回帖
简单脚本控制器简介
适合简单的脚本流程控制.
___________________________________________________________________
基本 语法
* 不区分大小写
* 每行一条语句,结尾 符号分号(;)
* 关键字: var , fun ,if, return, main,begin ,end,exit
* 关系 = 赋值 ; == 相同; >= 大于等于 <= 小于等于 != 不等于 ; && 与 || 或
_______________________________________
var 声明一个变量
_______________________________________
如:
var x = 1;
var y = 2;
var map = GetMap() ; 得到当前地图编号,用map保存
_______________________________________
if 简单判断.形式:
if( ... )
{
语句...;
}
或
if( )
{
语句...;
}else
{
语句...;
}
_______________________________________
if( map != 66)
{
Log("Need move to Map 66 ");
moveto(66,555,555);
}else
{
Log("Map is 66 ");
}
_______________________________________
while 循环
_______________________________________
var a = 10;
while( a > 0)
{
Log(a);
a = a - 1;
}
_______________________________________
fun funName() 语句块集合
fun main() 脚本固定入口
_______________________________________
fun Test(){ MoveTo(1312,555,666) ; }
fun main()
{
Test(); #调用
}
#_______________________________________
#可调用的功能列表
GetID() #得到用户ID
GetSex(); #性别
GetSchool(); #门派
GetJing(); #精
GetQI(); #气
GetShen(); #神
GetMP(); #内力
GetPoint(); #学点
GetFreeLoad(); #剩余负重
GetFreeSpace(); #剩余空间
GetMaxLoad(); #最大空间
GetMaxSpace(); #最大空间
GetMap(); #地图
GetX(); #地图X
GetY(); #地图Y
GetMoney(); #金钱
IsBattle(); #是否在战场中
#------------------命令----------------------
Log(); #文字输出
GetItemCount(ItemID); #得到物品个数
GetBankItemCount(ItemID); #得到物品个数
CallJiaoFu(OnOff); #使用脚夫(1:使用,0:取消)
----------------------------------------------------
指令: MOVE(x,y)
功能: 人物移动一步到X,Y坐标
参数: x,y目标点坐标
----------------------------------------------------
指令: MOVETO(map,x,y)
功能: 人物移动到指定的地图
参数: map=目标地图编号 x,y目标点坐标
----------------------------------------------------
指令: NEXTSCENE(map,x,y)
功能: 切换场景
参数: map:目标地图
----------------------------------------------------
指令: DELAY(time)
功能: 等待秒
参数: time:要等候的秒数
----------------------------------------------------
指令: GETMONEYFRMQZ(money)
功能: 从钱庄内取钱
参数: money:要取数量
----------------------------------------------------
指令: GETITEMFRMQZ(item,0,num)
功能: 从钱庄取物品
参数: item=物品编号,num=个数
----------------------------------------------------
指令: SAVEITEMTOQZ(item,nstate,num)
功能: 保存物品到钱庄
参数: item=物品编号,nstate=状态,num=个数(0为保存全部)
----------------------------------------------------
指令: JUANMONEY(money)
功能: 捐款给组织
参数: money=捐款数量
----------------------------------------------------
指令: GETMONEYORG(money)
功能: 帮主提款
参数: money=提款数量
----------------------------------------------------
指令: GOBIRTHPLACE()
功能: 返回记录点
参数: 无
----------------------------------------------------
指令: JIAOFU(state)
功能: 雇佣或解雇脚夫
参数: state=1雇佣,state=2解雇
----------------------------------------------------
指令: EATITEM(item,0,num)
功能: 吃物品
参数: item=物品编号 num=个数
----------------------------------------------------
指令: HAVEREST()
功能: 休息
参数: 无
----------------------------------------------------
指令: SELLITEM(boss,item)
功能: 出售身上所有item物品
参数: boss商人编号,item物品编号
----------------------------------------------------
指令: BUYITEM(boss,item,num)
功能: 买物品
参数: boss商人编号,item物品编号,num=个数
----------------------------------------------------
指令: GIVEEVENT(...)【怀旧不支持】
功能: 事件
参数:
----------------------------------------------------
指令: GiveEventMap(Map,EventID)【怀旧不支持】
功能: 刷新当前MAP的事件并发送
参数: Map=当前地图,EventID=事件编号
例如:
GiveEventMap(66,2);//执行66场景内第2个事件
----------------------------------------------------
指令: COMPOUND(item)
功能: 合成物品
参数: item=合成的物品编号
----------------------------------------------------
指令: READFINISHED()
功能: 读书结束指令
参数: 无
----------------------------------------------------
指令: SetZiXiu(ID,ACT)
功能: 设置自修
参数: ID=武功编号,ACT=0 停止自修,ACT=1开始自修
----------------------------------------------------
指令: SETJUESKILL(ID)
功能: 分配绝点
参数: 索引
----------------------------------------------------
指令: LOOP(n)
功能: 循环,必须放在脚本最后一个
参数: 次数
----------------------------------------------------
指令: SetXDInfo(int nMaster,int nEvt,int nMap,int X,int Y, int nKF, int nLev)【怀旧不支持】
功能: 设置消点信息,必须打开一次消点对话
参数: 师傅,事件编号,地图,X,Y,武功,目标级别
----------------------------------------------------
指令: SetDoXiaodian( state) 【怀旧不支持】
功能: 设置开始/停止消点 (不必先呼师傅,设置完消点信息后可以直接调用,适合消身上已有的武功
参数: bStart=0 停止,>0 开始
----------------------------------------------------
指令: SetStartXD(int bStart)【怀旧不支持】
功能: 设置开始/停止消点 (必须先呼叫一次师傅,如:GiveEventMap(Map,EventID))
参数: bStart=0 停止,>0 开始
----------------------------------------------------
指令: SetPKInfo(int nNPC, int nNUM, int nDelay, int nGrid, int nSpeed, int nTime)
功能: 设置打点信息
参数: NPC号码,个数,战斗间隔,攻击格,速度,超时
----------------------------------------------------
指令: PKStart()
功能: 开始打点
参数:
----------------------------------------------------
指令: PKStop(bPause)
功能: 停止打点
参数: bPause=0 停止, bPause=1 暂停
----------------------------------------------------
指令: ZXState(state)
功能: 设置自修状态
参数: state=1 暂停, state=0 恢复
----------------------------------------------------
指令: TWState(a,b,c)
功能: 设置天悟
参数: a b c 为武功编号
----------------------------------------------------
指令: WaitFor(type,op,value)
功能: 等待条件type满足op value 时继续运行
参数:
op: 1大于 2小于 3等于 4 不等于
type:
0 精
1 气
2 神
3 内
4 剩余负重
5 金钱
6 学点
7 实战
8 杀气
9 地图编号
10 地图X
11 地图Y
12 善恶
13 年
14 月
15 日
16 时 0,1,2,3,4,5,6,7,...11
17 刻 0,1,2...7
例如:
1) 当学点等于65200时继续执行脚本
脚本..
WaitFor(6,3,65200) ;
脚本..
2) 有的消点需要善恶值,可以用这个配合打NPC来升降善恶:
脚本..
SetPKInfo(npc,num,delay,grid,speed,time)
StartPK()
WaitFor(12,3,65200) ;//当善恶等于0时继续执行脚本
PKStop(0)
脚本..
----------------------------------------------------
指令: if() ... endif
功能: 简单判断,结果不成立的就不执行.
参数: 参数基本和WaitFor的参数相同,其中 type 取值11000-65535:视为物品.
例如:
if(33001,2,10) // 如果身上 33001:清水 不够10个
GETITEMFRMQZ(33001,10) //到钱庄里取10个
endif //结束
----------------------------------------------------
指令: ReadSkillBook(int type, int chg,int index, int book)
功能:
参数:
int type : 1=初阶 ,2=进阶 3=三阶
int chg : 1=准备读 0=正在读
int index: 技能索引
0=伐木技能 1=工匠技能 2=织布技能 3=裁缝技能 4=猎人技能 5=采矿技能
6=打铁技能 7=铸剑技能 8=农夫技能 9=捕鱼技能 10=厨师技能
int book : 技能书编号,上(0)下(1)卷
例如:
ReadSkillBook(1,1,1,0) //准备读初级工匠技能 ,上卷
ReadSkillBook(1,0,1,0) //正在读初级工匠技能 ,上卷
ReadSkillBook(1,0,1,0) //正在读初级工匠技能 ,上卷
ReadSkillBook(1,0,1,0) //正在读初级工匠技能 ,上卷
...
----------------------------------------------------
指令: SPEED(nmSec)
功能: 脚本速度调整,毫秒级,(1秒=1000毫秒)
参数: nmSec =毫秒
----------------------------------------------------
指令: JianDing(money)
功能: money = 1(20w) ,2(40w) ,3(80w)
参数: 鉴定宝盒
------------------------------
指令: LoadScript(FileName)
功能: 加载子脚本文件。必须放在SCRIPT目录之内的。
参数: FileName :脚本文件名称,不含路径。
例如: LoadScript(test_5.txt); 加载script目录下的test_5.txt脚本。
----------------------------------------------------
指令: TANWEI_GETITEM(ITEM ,COUNT)
功能: 取摊位内物品【必须收摊之后 】
参数: ITEM =物品编号,COUNT=要取的个数
----------------------------------------------------
指令: SET_ITEM_TANWEI(item ,state,count)
功能: 保存物品到摊位之内
参数: item=物品编号,state=物品状态,count=个数
----------------------------------------------------
指令: TANWEI_ACT(0)
功能: 操作摊位摆放
参数: 0=收摊 1=摆摊
----------------------------------------------------
指令: LD_WORK_ON(LEVEL)
功能: 开始一次炼丹/工具,【需要delay等待5分钟指令】
参数: LEVEL:级别 :
炼丹级别:1级=100,2级=101,3级=102,4级=103,5级=104,6级=105
工具级别:1级=106,2级=107,3级=108,4级=109,5级=110,6级=111
----------------------------------------------------
指令: LD_WORK_FINISH()
功能: 结束一次炼丹/工具
参数:
----------------------------------------------------
指令: DELEITEM(item,state,count)
功能: 系统回收物品
参数: item=物品编号,state=物品状态,count=个数
----------------------------------------------------
指令: ORGCHANGETO(userid)
功能: 更换帮主
参数: (userid=新帮主ID
----------------------------------------------------
指令: ORGCHANGELEV(userid,level)
功能: 指定帮众阶位
参数: userid=帮众ID,level=阶位
----------------------------------------------------
指令: PostItemTo('player',item,state,num)
功能:
参数:
----------------------------------------------------
适合简单的脚本流程控制.
___________________________________________________________________
基本 语法
* 不区分大小写
* 每行一条语句,结尾 符号分号(;)
* 关键字: var , fun ,if, return, main,begin ,end,exit
* 关系 = 赋值 ; == 相同; >= 大于等于 <= 小于等于 != 不等于 ; && 与 || 或
_______________________________________
var 声明一个变量
_______________________________________
如:
var x = 1;
var y = 2;
var map = GetMap() ; 得到当前地图编号,用map保存
_______________________________________
if 简单判断.形式:
if( ... )
{
语句...;
}
或
if( )
{
语句...;
}else
{
语句...;
}
_______________________________________
if( map != 66)
{
Log("Need move to Map 66 ");
moveto(66,555,555);
}else
{
Log("Map is 66 ");
}
_______________________________________
while 循环
_______________________________________
var a = 10;
while( a > 0)
{
Log(a);
a = a - 1;
}
_______________________________________
fun funName() 语句块集合
fun main() 脚本固定入口
_______________________________________
fun Test(){ MoveTo(1312,555,666) ; }
fun main()
{
Test(); #调用
}
#_______________________________________
#可调用的功能列表
GetID() #得到用户ID
GetSex(); #性别
GetSchool(); #门派
GetJing(); #精
GetQI(); #气
GetShen(); #神
GetMP(); #内力
GetPoint(); #学点
GetFreeLoad(); #剩余负重
GetFreeSpace(); #剩余空间
GetMaxLoad(); #最大空间
GetMaxSpace(); #最大空间
GetMap(); #地图
GetX(); #地图X
GetY(); #地图Y
GetMoney(); #金钱
IsBattle(); #是否在战场中
#------------------命令----------------------
Log(); #文字输出
GetItemCount(ItemID); #得到物品个数
GetBankItemCount(ItemID); #得到物品个数
CallJiaoFu(OnOff); #使用脚夫(1:使用,0:取消)
----------------------------------------------------
指令: MOVE(x,y)
功能: 人物移动一步到X,Y坐标
参数: x,y目标点坐标
----------------------------------------------------
指令: MOVETO(map,x,y)
功能: 人物移动到指定的地图
参数: map=目标地图编号 x,y目标点坐标
----------------------------------------------------
指令: NEXTSCENE(map,x,y)
功能: 切换场景
参数: map:目标地图
----------------------------------------------------
指令: DELAY(time)
功能: 等待秒
参数: time:要等候的秒数
----------------------------------------------------
指令: GETMONEYFRMQZ(money)
功能: 从钱庄内取钱
参数: money:要取数量
----------------------------------------------------
指令: GETITEMFRMQZ(item,0,num)
功能: 从钱庄取物品
参数: item=物品编号,num=个数
----------------------------------------------------
指令: SAVEITEMTOQZ(item,nstate,num)
功能: 保存物品到钱庄
参数: item=物品编号,nstate=状态,num=个数(0为保存全部)
----------------------------------------------------
指令: JUANMONEY(money)
功能: 捐款给组织
参数: money=捐款数量
----------------------------------------------------
指令: GETMONEYORG(money)
功能: 帮主提款
参数: money=提款数量
----------------------------------------------------
指令: GOBIRTHPLACE()
功能: 返回记录点
参数: 无
----------------------------------------------------
指令: JIAOFU(state)
功能: 雇佣或解雇脚夫
参数: state=1雇佣,state=2解雇
----------------------------------------------------
指令: EATITEM(item,0,num)
功能: 吃物品
参数: item=物品编号 num=个数
----------------------------------------------------
指令: HAVEREST()
功能: 休息
参数: 无
----------------------------------------------------
指令: SELLITEM(boss,item)
功能: 出售身上所有item物品
参数: boss商人编号,item物品编号
----------------------------------------------------
指令: BUYITEM(boss,item,num)
功能: 买物品
参数: boss商人编号,item物品编号,num=个数
----------------------------------------------------
指令: GIVEEVENT(...)【怀旧不支持】
功能: 事件
参数:
----------------------------------------------------
指令: GiveEventMap(Map,EventID)【怀旧不支持】
功能: 刷新当前MAP的事件并发送
参数: Map=当前地图,EventID=事件编号
例如:
GiveEventMap(66,2);//执行66场景内第2个事件
----------------------------------------------------
指令: COMPOUND(item)
功能: 合成物品
参数: item=合成的物品编号
----------------------------------------------------
指令: READFINISHED()
功能: 读书结束指令
参数: 无
----------------------------------------------------
指令: SetZiXiu(ID,ACT)
功能: 设置自修
参数: ID=武功编号,ACT=0 停止自修,ACT=1开始自修
----------------------------------------------------
指令: SETJUESKILL(ID)
功能: 分配绝点
参数: 索引
----------------------------------------------------
指令: LOOP(n)
功能: 循环,必须放在脚本最后一个
参数: 次数
----------------------------------------------------
指令: SetXDInfo(int nMaster,int nEvt,int nMap,int X,int Y, int nKF, int nLev)【怀旧不支持】
功能: 设置消点信息,必须打开一次消点对话
参数: 师傅,事件编号,地图,X,Y,武功,目标级别
----------------------------------------------------
指令: SetDoXiaodian( state) 【怀旧不支持】
功能: 设置开始/停止消点 (不必先呼师傅,设置完消点信息后可以直接调用,适合消身上已有的武功
参数: bStart=0 停止,>0 开始
----------------------------------------------------
指令: SetStartXD(int bStart)【怀旧不支持】
功能: 设置开始/停止消点 (必须先呼叫一次师傅,如:GiveEventMap(Map,EventID))
参数: bStart=0 停止,>0 开始
----------------------------------------------------
指令: SetPKInfo(int nNPC, int nNUM, int nDelay, int nGrid, int nSpeed, int nTime)
功能: 设置打点信息
参数: NPC号码,个数,战斗间隔,攻击格,速度,超时
----------------------------------------------------
指令: PKStart()
功能: 开始打点
参数:
----------------------------------------------------
指令: PKStop(bPause)
功能: 停止打点
参数: bPause=0 停止, bPause=1 暂停
----------------------------------------------------
指令: ZXState(state)
功能: 设置自修状态
参数: state=1 暂停, state=0 恢复
----------------------------------------------------
指令: TWState(a,b,c)
功能: 设置天悟
参数: a b c 为武功编号
----------------------------------------------------
指令: WaitFor(type,op,value)
功能: 等待条件type满足op value 时继续运行
参数:
op: 1大于 2小于 3等于 4 不等于
type:
0 精
1 气
2 神
3 内
4 剩余负重
5 金钱
6 学点
7 实战
8 杀气
9 地图编号
10 地图X
11 地图Y
12 善恶
13 年
14 月
15 日
16 时 0,1,2,3,4,5,6,7,...11
17 刻 0,1,2...7
例如:
1) 当学点等于65200时继续执行脚本
脚本..
WaitFor(6,3,65200) ;
脚本..
2) 有的消点需要善恶值,可以用这个配合打NPC来升降善恶:
脚本..
SetPKInfo(npc,num,delay,grid,speed,time)
StartPK()
WaitFor(12,3,65200) ;//当善恶等于0时继续执行脚本
PKStop(0)
脚本..
----------------------------------------------------
指令: if() ... endif
功能: 简单判断,结果不成立的就不执行.
参数: 参数基本和WaitFor的参数相同,其中 type 取值11000-65535:视为物品.
例如:
if(33001,2,10) // 如果身上 33001:清水 不够10个
GETITEMFRMQZ(33001,10) //到钱庄里取10个
endif //结束
----------------------------------------------------
指令: ReadSkillBook(int type, int chg,int index, int book)
功能:
参数:
int type : 1=初阶 ,2=进阶 3=三阶
int chg : 1=准备读 0=正在读
int index: 技能索引
0=伐木技能 1=工匠技能 2=织布技能 3=裁缝技能 4=猎人技能 5=采矿技能
6=打铁技能 7=铸剑技能 8=农夫技能 9=捕鱼技能 10=厨师技能
int book : 技能书编号,上(0)下(1)卷
例如:
ReadSkillBook(1,1,1,0) //准备读初级工匠技能 ,上卷
ReadSkillBook(1,0,1,0) //正在读初级工匠技能 ,上卷
ReadSkillBook(1,0,1,0) //正在读初级工匠技能 ,上卷
ReadSkillBook(1,0,1,0) //正在读初级工匠技能 ,上卷
...
----------------------------------------------------
指令: SPEED(nmSec)
功能: 脚本速度调整,毫秒级,(1秒=1000毫秒)
参数: nmSec =毫秒
----------------------------------------------------
指令: JianDing(money)
功能: money = 1(20w) ,2(40w) ,3(80w)
参数: 鉴定宝盒
------------------------------
指令: LoadScript(FileName)
功能: 加载子脚本文件。必须放在SCRIPT目录之内的。
参数: FileName :脚本文件名称,不含路径。
例如: LoadScript(test_5.txt); 加载script目录下的test_5.txt脚本。
----------------------------------------------------
指令: TANWEI_GETITEM(ITEM ,COUNT)
功能: 取摊位内物品【必须收摊之后 】
参数: ITEM =物品编号,COUNT=要取的个数
----------------------------------------------------
指令: SET_ITEM_TANWEI(item ,state,count)
功能: 保存物品到摊位之内
参数: item=物品编号,state=物品状态,count=个数
----------------------------------------------------
指令: TANWEI_ACT(0)
功能: 操作摊位摆放
参数: 0=收摊 1=摆摊
----------------------------------------------------
指令: LD_WORK_ON(LEVEL)
功能: 开始一次炼丹/工具,【需要delay等待5分钟指令】
参数: LEVEL:级别 :
炼丹级别:1级=100,2级=101,3级=102,4级=103,5级=104,6级=105
工具级别:1级=106,2级=107,3级=108,4级=109,5级=110,6级=111
----------------------------------------------------
指令: LD_WORK_FINISH()
功能: 结束一次炼丹/工具
参数:
----------------------------------------------------
指令: DELEITEM(item,state,count)
功能: 系统回收物品
参数: item=物品编号,state=物品状态,count=个数
----------------------------------------------------
指令: ORGCHANGETO(userid)
功能: 更换帮主
参数: (userid=新帮主ID
----------------------------------------------------
指令: ORGCHANGELEV(userid,level)
功能: 指定帮众阶位
参数: userid=帮众ID,level=阶位
----------------------------------------------------
指令: PostItemTo('player',item,state,num)
功能:
参数:
----------------------------------------------------