一.动作函数
1.HoldPoint
功能: 登出到某个传送点位置
参数: 传送点编号
参数说明:传送点编号的实际位置
1 = 233,78 冒险旅馆(东)
2 = 242,100 银行(东)
3 = 162,130 宠物店(中)
4 = 141,148 竞技场(中)
5 = 72,123 食品店(西)
6 = 63,79 西医院附近的传送点(西)
7 = 46,16 市场
8 = 46,16 市场
使用举例:
HoldPoint(1);
/----------------------------------------------------------------------------------------------
2.MoveNear
功能: 本板块移动
参数: X坐标(南),Y坐标(北)
参数说明: 无
使用举例: //移动到本板块坐标为 100,30的位置
MoveNear(100,30);
/----------------------------------------------------------------------------------------------
3.MoveTo;
功能: 朝某个方向移动
参数
0北~7西北) ,移动步数
MoveTo(0,2);//朝北移动2步
/----------------------------------------------------------------------------------------------
4.MoveRound
功能: 随机走动
参数: 走动范围
MoveRound(3);
/----------------------------------------------------------------------------------------------
5.ReMap(1000)
功能:直接切换地图
参数:要切换到的地图ID
/----------------------------------------------------------------------------------------------
6.WayTo
功能:改变自己的面向朝向,一般用来和NPC对话和点传送石
参数:方向
参数说明:方向编码为 0~7, 0为正北方,7为西北,依顺时钟推算
举例:
WayTo(0);
*如果脚本要用于加速的情况,有时候因为要考虑到网络的延迟的问题,最好
在对话前的最后一个移动前加个 Sleep(1000),并把速度调为正常
例如
MoveNear(20,18);
SetSpeed(570);
Sleep(1000);
MoveNear(20,20);
WayTo(0);
NPC(330,0,0);
NPC(334,0,0);
SetSpeed(XXX); //恢复为你想要的速度
/----------------------------------------------------------------------------------------------
7.Npc
功能:NPC对话框交互
参数:事件编号,操作序号,[附加操作序号]
参数说明:第三个参数没时是为-1,必需要记录卖东西的对话记录才能卖东西
使用举例:
Npc(347,4,-1);
/----------------------------------------------------------------------------------------------
8.Say
功能:说话
参数:内容
使用举例:
Say("Hello");
/----------------------------------------------------------------------------------------------
9.Work
功能: 开始劳动或生产
参数: 技能ID,次数,合成物品ID
参数说明:技能id可以在工作一次就记录下来,劳动次数参数为0或1,为0,表示
一直采集直到物品满或MP不够,1表示只劳动一次,技能ID和合成物品ID只要记
录一次就可以知道,劳动或生产间隔时间可以在脚本的设置那里设置
举例:
work(227,0,-1); //进行挖掘
技能ID表:
挖掘 227 调教 71 狩猎 226 治疗 224 料理 215
Work(207,1,420);//合成头盔
Work(219,1,-1)//鉴定
/----------------------------------------------------------------------------------------------
10:FoldItem
功能:叠东西
参数:要叠的物品名称,几个一组,是否按子串判断名称,例如为 True 时 '石'等于'魔石'
FoldItem('麻布',20,True);
/----------------------------------------------------------------------------------------------
11:LostItem
功能: 扔光身上指定的物品
参数:物品名称(只能是一个),是否按子串判断名称,例如为 True 时 '石'等于'魔石'
LostItem('卡片',True);//LostItem
/----------------------------------------------------------------------------------------------
12:ExchangePos;
功能: 调换物品位置,可以用来装备东西
参数:物品原来位置,物品新位置
0- 头 1- 身体 2- 左手 3-右手 4-饰物左 5-饰物右 6-足 7-水晶 8~27 身上物品栏
if GetItemPos('小刀')>7 then
ExchangePos(GetItemPos('小刀'),2); //装备小刀到身上左手处
/----------------------------------------------------------------------------------------------
12:UseItem
功能: 使用身上指定的物品
参数:物品名称
UseItem('火焰鼠彩券');
/----------------------------------------------------------------------------------------------
13:ChangeSkill
功能: 更换人物技能
参数:技能名称,等级
ChangeSkill('Noraml',0);//换为普通攻击
ChangeSkill('Defence',0);//换为防御
ChangeSkill('Escape',0);//换为逃跑
ChangeSkill('连击',4);
/----------------------------------------------------------------------------------------------
14:ChangePetSkill
功能: 更换宠物技能
参数:技能名称
ChangePetSkill('防御');
/----------------------------------------------------------------------------------------------
二.信息函数
1.Get
功能:取系统值
参数: 名,用""括起来 ,2.脚本附加参数
1 .HP ---- 当前人物HP
2. MP ---- 当前人物MP
3. MAXHP --当前人物最大HP
4. MAXMP --当前人物最大MP
5. LV --当前人物等级
6. POSX --当前人物的X坐标
7. POSY --当前人物的Y坐标
8. MAPNO --当前人物所在的地图编号(要在MoveNear之后用)
9. MONEY --当前人物的钱数
10.ITEM --当前人物物品栏已经有的物品总数量
11.CANCARD--自动打卡设置是否开启 0 = 没有开启,1=开启
12.PETHP --当前战斗宠物的HP
13.PETMP --当前战斗宠物的MP
14.PETMAXHP -- 当前战斗宠物的最大HP
15.HEALTH --人物的健康状况,0为正常,大于0为受伤,数值越大越严重,最大100
16.PETHEALTH -- 当前战斗宠物的健康,0为正常,大于0为受伤,数值越大越严重,最大100
17.SAFEHP 或SAFEHP2 -- 返回脚本设置界面上脚本变量人物HP保护设置设定的数值
18.SAFEMP 或 SAFEMP2-- 返回脚本设置界面上脚本变量人物MP保护设置设定的数值
19.PETSAFEHP 或 PETSAFEHP2-- 返回脚本设置界面上脚本变量宠物HP保护设置设定的数值
20.PETSAFEMP 或 PETSAFEMP2-- 返回脚本设置界面上脚本变量宠物MP保护设置设定的数值
21.RESTOREMP -- 返回脚本设置界面上RestoreMP的数值
22.STARTSPEED -- 返回脚本设置界面上StartSpeed的数值
23.MOVESPEED -- 返回脚本设置界面上MoveSpeed的数值
24.WARSPEED -- 返回脚本设置界面上WarSpeed的数值
25.OTHERSPEED -- 返回脚本设置界面上OtherSpeed的数值
26.CURRENTTIME -- 返回当前系统时间,格式是 HHMMSS
26.LASTENDWARTIME -- 返回最近战斗结束时间,格式是 HHMMSS
举例: Get('HP'); //返回人物的HP
/----------------------------------------------------------------------------------------------
2.SetDropItem
功能: 设置扔东西
参数: 设置的值
SetDropItem('/卡片/碎片/橡木:20/');
/----------------------------------------------------------------------------------------------
3.SetDropPos
功能: 设置扔指定格的东西
参数: 设置的格数(1~20),其它的值会取消改功能
SetDropPos(20);
SetDropPos(-1);//取消该功能
/----------------------------------------------------------------------------------------------
4.GetParams
功能: 读取内部参数
参数: 第几个参数 (0~19)
if GetParams(0)='ok ' then ....
/----------------------------------------------------------------------------------------------
5.SetParams
功能: 设置内部参数(可以用于各个子程序之间的信息交流)
参数:第几个参数 (0~19),设置的值
SetParams(0,'ok');
/----------------------------------------------------------------------------------------------
6.GetCGVer
功能: 返回当前CG文件版本
参数:无
if GetCGVer()='32' then ...... //判断当前的魔力使者支持的魔力版本是不是CG_32.exe
/----------------------------------------------------------------------------------------------
7.GetLastNPCTalk;
功能: 返回上一次和NPC对话的内容,之前最好用Sleep(1000)等待一下
参数:无
WayTo(0);
Sleep(1000);
if Pos('可以',GetLastNPCTalk())>0 then ....//判断NPC是否说过的话是否包含'可以'
/----------------------------------------------------------------------------------------------
8.SetIdenItem;
功能: 设置可以鉴定的东西
参数:东西的名称
SetIdenItem('鱼');
/----------------------------------------------------------------------------------------------
9.SetSellItem;
功能: 设置可以卖的东西
参数:东西的名称,All就是全部,每组数量,无时默认为1
SetSellItem('ALL'); //可以卖掉身上全部东西
SetSellItem('魔石'); //可以卖掉魔石'
SetSellItem('面包:3'); //可以卖掉身上的面包要3个一组
SetSellItem('ALL:3'); //可以卖掉身上3个一组的东西
/----------------------------------------------------------------------------------------------
10:SetBuyItem;
功能: 设置可以买的东西
参数:东西的名称,买的数量
SetBuyItem('麻布:20'); //买100个麻布
/----------------------------------------------------------------------------------------------
11:SetStoreItem;
功能: 设置存到银行的东西,存完后会清空
参数:东西的名称,数量(格)
SetStoreItem('面包:10');//要存10格面包到银行
/----------------------------------------------------------------------------------------------
12:SetGetItem;
功能: 设置从银行取东西,,取完后会清空
参数:东西的名称,数量(格)
SetGetItem('面包:10');//要从银行取10格面包
/----------------------------------------------------------------------------------------------
13:SetMoneyIn;
功能: 设置存到银行多少钱,取完后会清零
参数:金额,输入大于身上的钱时,系统会以身上的钱为准
SetMoneyIn(10000);
/----------------------------------------------------------------------------------------------
14:SetMoneyOut;
功能: 设置从银行取多少钱,存完后会清零
参数:金额,输入大于银行的钱是,系统会以银行的全部钱前为准
SetMoneyOut(10000);
*存取金钱和存取物品要分来两次对话进行,不能同时存取物品和金钱
/----------------------------------------------------------------------------------------------
15:SetUniteItem;
功能: 设置合成的材料
参数:材料名称,每合成一个需要一组包含的个数
SetUniteItem('铜:20');
WayTo(0);
Npc(344,0,0);
Npc(345,0,0);
/----------------------------------------------------------------------------------------------
16:GetItemNum;
功能:取物品数量
参数:物品名称,每组个数(为1时返回总个数,>1时返会每格数量为每组个数的物品格数)
i:=GetItemNum('面包',3);//i为身上的面包组数
i:=GetItemNum('面包',1);//i为身上的面包个数
/----------------------------------------------------------------------------------------------
17.GetEndure
功能:返回身上物品的当前耐久度
参数:装备位置 0~27 0~7 装备 8~27物品
参数说明:
0- 头 1- 身体 2- 左手 3-右手 4-饰物左 5-饰物右 6-足 7-水晶
使用举例:
if GetEndure(0)<50 then ....
/----------------------------------------------------------------------------------------------
18 GetItemPos
功能: 返回物品位置(0~27) 其中 0~7 为装备位置 8~27为物品栏
参数:物品名称,物品名称为空时返回空物品栏位置,如果没有则返回-1
GetItemPos('鱼');//i=鱼的位置
i:=GetItemPos('') ;//i=空位置
/----------------------------------------------------------------------------------------------
19:GetBankItemNum;
功能:返回银行内物品的数量,需在打开银行对话时使用
参数:东西的名称
GetBankItemNum('面包');
/----------------------------------------------------------------------------------------------
20:GetSkillLV;
功能:返回技能的最大等级,无则返回-1
参数:技能名称
GetSkillLV('鉴定');
/----------------------------------------------------------------------------------------------
21:GetPosInfo;
功能:返回某一格的物品详细资料 ,格式是|名字|数量|耐久度|
参数:位置(0~27)
GetPosInfo(0);
/----------------------------------------------------------------------------------------------
三.系统函数
1.SetSpeed
功能:设置脚本速度
参数:板块编号
参数说明:无
使用举例: //设置脚本速度为570
SetSpeed(570);
/----------------------------------------------------------------------------------------------
2.Exit
功能:结束当前程序
参数:无
使用举例:
Exit;
/----------------------------------------------------------------------------------------------
3.Random
功能:返回随机数
参数:随机种子,0<=返回值<种子
使用举例:随机走动
nX:=Get('POSX');
nY:=Get('POSY');
while Get('HP')>Get('SafeHP') do
MoveNear(nX+Random(4)-2,nY+Random(4)-2);
/----------------------------------------------------------------------------------------------
4.OutPutMes;
功能: 输出文本到信息栏
参数: 文本信息
OutPutMes('ok');
/----------------------------------------------------------------------------------------------
5.Call
功能:调用另一个脚本
参数: 1. 脚本文件名,用""括起来 ,2.脚本附加参数,被调用的脚本可以用GetParams(0)
获取该值
举例: Call("A/all.txt",'4'); //调用战斗脚本目录下A目录中文件名为all.txt的脚本
/----------------------------------------------------------------------------------------------
6.Sleep
功能:暂停
参数:暂停毫秒数
Sleep(1000);
/----------------------------------------------------------------------------------------------
7.QuitScript
功能: 关闭脚本
参数: 无
QuitScript;
/----------------------------------------------------------------------------------------------
8.PlaySound
功能: 播放
参数: 声音文件,是否循环播放
PlaySount('C:/Test.wav',False);
/----------------------------------------------------------------------------------------------
9.ShutDown;
功能: 关机
参数: 是否重起
ShutDown(False);
/----------------------------------------------------------------------------------------------
10 SendPacket;
功能: 发送魔力原始包,等于以前的脚本
参数: 封包
SendPacket('Box 1X B2 aa');
/----------------------------------------------------------------------------------------------
11 PauseScript;
功能: 暂停脚本的执行,需人工去恢复
参数: 无
PauseScript;
/----------------------------------------------------------------------------------------------
四.字符函数
1.IntToStr
功能: 将整数转换成字符串
参数: 整数
OutPutMes(IntToStr(Get('HP')));
/----------------------------------------------------------------------------------------------
2.StrToInt
功能: 将字符串转换成整数
参数: 字符串,要用'号包含
StrToInt('123');
/----------------------------------------------------------------------------------------------
3.C10To62
功能: 将10进制整数换为62进制整数字符串
参数:10进制整数
s:=C10To62(10); //结果s等于'a'
/----------------------------------------------------------------------------------------------
4.C62To10
功能: 将62进制整数字符串换为10进制整数
参数:62进制整数字符串
i:=C62To10('a'); //结果i=10
/----------------------------------------------------------------------------------------------
5.Pos;
功能: 在字符串查找子串的位置,返回0则不包含
参数:子字符串,字符串
i:=Pos('a','All'); //i=1
i:=Pos('a','ll'); //i=0
/----------------------------------------------------------------------------------------------
6.UpperCase;
功能: 将字符串转为大写
参数:字符串
s:=UpperCase('Abc'); //s等于'ABC'
/----------------------------------------------------------------------------------------------
7.Copy;
功能: 取字符串的子串
参数:字符串,开始位置,长度
s1:='abcd'
s2:=Copy(s1,2,2); //s2等于'bc'
/----------------------------------------------------------------------------------------------