sm
服务器租用 996 无法下载点击此处反馈
/
查看: 1743|回复: 0

GSR引擎脚本命令详解 [GSR引擎传奇3教程]

[复制链接]

826

主题

37

回帖

23万

积分

霸王教主

积分
237197
发表于 2022-5-23 15:41:59 | 显示全部楼层 |阅读模式
脚本命令详解


脚本命令是版本的核心。几乎所有的游戏内部功能都有脚本命令组成。
脚本命令分为:保留字、检测类命令、执行类命令。

保留字:
#If//如果,检测条件。后面跟检测类脚本命令。
#Say//NPC对话框上的内容。比如按钮、白话、显示的变量
#Act//执行。后面跟执行类脚本命令。
#ElseSay//#If检测条件如果不满足,然后弹出NPC对话框。
#ElseAct//#If检测条件如果不满足,然后执行。后面跟执行类脚本命令
#Call//脚本调用关键字。这里不做解说,跟旧版一样。

内部变量:
A0---A9 //玩家可用
B0---B9 //NPC专用
P0---P9 //玩家可用,通常用作临时变量,例如加减运算返回临时值。超出[@]标签外就为0
D0---D9 //玩家可用。
N0---N99 //NPC专用
自定义变量//跟旧版一样用法。
数字标签变量
Check [n] m //检测数字标签变量,n的取值范围1-1535,m的取值范围是0和1
Set [n] m //设置数字标签变量,n的取值范围1-1535,m的取值范围是0和1

00Default.txt系统标签一览表:
[@SafeZone]    //安全区设置,非系统标签,GOTO跳转触发,详情参考GSR标准服务端。
[@_Diary]     //D键菜单
[@_ONREADBOOK]   //技能书学习
[@_ENTERSAFEZONE]   //进入安全区
[@_LEAVESAFEZONE]   //离开安全区
[@_UserLogin]    //角色登录上线触发
[@_War_Ready_Sabuk]   //沙巴克攻城战准备
[@_War_Start_Sabuk]   //沙巴克攻城战开始
[@_War_Finish_Sabuk]  //沙巴克攻城战结束
[@_CastleFlagChanged_Sabuk] //沙巴克旗帜
[@_ONHOURCHANGE]   //系统每小时触发
[@_ONDAYCHANGE]   //系统每天触发
[@_ONWEEKCHANGE]   //系统每周触发
[@_ONUSERHOURCHANGE] //玩家每小时触发
[@_ONUSERDAYCHANGE]  //玩家每天触发
[@_SYSTIMEREVENT]   //系统自定义计时器1
[@_SYSTIMEREVENT2]  //系统自定义计时器2
[@_SYSTIMEREVENT3]  //系统自定义计时器3
[@_TimeEVENT]    //玩家自定义计时器1
[@_TimeEVENT2]   //玩家自定义计时器2
[@_TimeEVENT3]   //玩家自定义计时器3
[@_TimeEVENT4]   //玩家自定义计时器4
[@_TimeEVENT5]   //玩家自定义计时器5
[@_UPLVLEVENT]   //玩家升级触发
[@_StdFuncOn]    //佩戴装备触发
[@_StdFuncOff]    //摘下装备触发
[@_USEROFFLINE]   //角色离线触发
[@_USERDIE]    //角色死亡触发
[@_Buff]     //StartBuff结束时返回触发标签 StartBuff 1000 5 "ID为1000的Buff开始执行
#Act
Mov D1 %ARG(1)
#If
Equal D1 1000
#Act
SysMsg "ID为1000的Buff倒计时已关闭"
Break
[@_ONITEMDOWN]
#ACT
mov A1 %ARG(1);怪物名字
mov A2 %ARG(2);物品名字
mov A3 %ARG(3);地图名字
#IF
EQUAL D8 1
#ACT
formatstr "玩家[ %s ]在[ %s" %USERNAME,%A3;,%D6
mov A8 %A9
formatstr " ]猎杀[ %s ]爆出极品[ %s ]" %A1,%A2
Addstr A8 %A9
MakeLog 1 0 1 %A8
linemsg [grobal] "<$OUTPUT(A8)>"
//参数1为Mir3ItemLog工具的<类型>字段。取值1-100。
//参数2为Mir3ItemLog工具的<数量>字段。
//参数3为Mir3ItemLog工具的<物品索引>字段。
//参数4为Mir3ItemLog工具的<目标NPC/角色>字段。
[@_CMD(0,MyCmd)]//自定义命令。%ARG(1)、%ARG(2)、%ARG(3)为命令的参数。效果即:@MyCmd 1 400 123
#ACT
Mov A1 %ARG(1)
Mov D1 %ARG(2)
Mov D2 %ARG(3)
MapMove %A1 %D1 %D2
//0是普通用户,非0是GM。使用方法:@MyCmd 1 400 123。不限命令数量,根据格式自行添加。
装备栏穿戴位置一览表:
武器1 衣服0 头盔4 鞋子10 项链3 左手镯5 右手镯6 左戒指7 右戒指8 马铠甲12 照明2 护符9 勋章11 饰品13

检测类脚本命令一览表:
Equal//是否。
Large//大于。
ELarge//大于等于。
Small//小于。
ESmall//小于等于。
Or//或者。2个条件里任意满足1个。
Not//非,取相反。后面加空格和命令
!//跟Not一个意思。后面不用加空格直接跟命令。
Check//检测数字标签变量专用。例 Check [7] 1
IsAdmin//检测是否管理员身份
Checkitem 物品名字 数量//检测物品数量是否足够
CheckitemW 物品名字 数量//检测是否装备某个名字的物品及其数量值。例如检测是否穿戴2个龙马戒指。支持所有位置。
CheckGold 数量//检测是否携带一定数量金币
CheckHorse 坐骑编号//检测是否拥有某个编号的坐骑。官方坐骑编号是1-6。
CheckNameList "NameList.txt"//检测txt名单列表里是否有当前的名字。路径指向Market_def文件夹目录下。
ChkMagicLevel 技能名 等级数//检测某个技能是否达到某级。
CheckMagic 技能名//检测是否学习了某个技能。
Gender Man|Woman//检测性别是否为男性或女性
Random m n//n分之m的几率,如果成功返回真,否则返回假。
CheckJob 职业名称//检测职业。Warrior=战士 Wizard=法师 Taoist=道士
CheckGold 金币数量//检测携带数量是否足够。
DayOfWeek mon|tue|wed|thu|fri|sta|mon//检测星期几。
Hour 13 13//检测是否13点
Min 11 11//检测是否11分
CheckPkPoint 红名点数//检测PK值
CheckRiding//检测是否骑马状态。返回真或假。
CheckBagGage 38//检测包裹里是否有足够的空间。返回真或假。
CheckBagGageEx//检测包裹里物品总数量,后面可跟数字判断多少个。不带参数则,返回%P9数量。
CheckFame 5000//检测声望值是否达到。
CheckTempJF 5000//检测临时积分拥有数量。读取GS目录下的TempJF.dat文件。
CheckUserJF 500//检测用户积分数量。
CheckPos 1,400,123,200//检测角色当前所在指定地图范围。返回真或假。参数是地图代码,X,Y,范围。
HasGuild//检测是否拥有行会。
IsGuildMaster//检测是否行会首领。
CheckmonRecall//检测是否没有召唤宝宝,返回真或假。
CheckDura 龙马戒指 20//检测包裹里的龙马戒指的最大持久度是否为20。
CheckDuraEva 矿石名称 纯度//检测包裹里的矿石是否达到一定纯度。
CheckDuraW 穿戴位置 当前持久度//检测当前穿戴位置物品的当前持久度。如果不带第2个参数则返回当前持久度到%P9。如下:
#If
CheckDuraW 7
#If
#Act
Mov D0 %P9
SysMsg "当前持穿戴7位置持久度为<$D0>"
CheckHum 地图代码 人数//检测某个地图的用户数是否达到一定数量。如果不写第二个参数,则返回总人数到%P9。
CheckMonMap["地图代码"|"地图代码,x,y,范围"] [数量] [名称]//检测某地图怪物数量,不检测死亡怪物。范例如下:
CheckMonMap "1" //道馆地图所有怪物总数返回到%P9。
CheckMonMap "1,400,123,50" 0 猪//道馆指定区域和范围的猪的总数返回到%P9。
StartDailyQuest//可以执行日常-检测类命令。
CheckDailyQuest 任务ID//查看当前的日常是否是指定序号的日常。-检测类命令。
RandSetDailyQuest 参数1 参数2//在指定范围内分配一个序号的日常,同时存档FLD_DAILYQUEST。参数2必须大于等于参数1,代表随机的范围为参数1-参数2之间。-执行类命令。
CheckLevel 80//检测角色是否达到80级。如果省略参数,则返回级别数到%P9。
CheckOnlineCount 100//检测在线人数。如没有参数则返回%P9。
CheckItemCount 物品名//检测包裹里指定名字的物品数量,返回%P9。
IsOnLine 角色名//检测某个角色名是否在线。返回真或假。
IsTestServer//检测当前是否内测状态。返回真则是内测状态。返回假则是公测状态。GS后台的开区时间和当前服务器系统时间做对比,如GS开区时间小于服务器系统时间,则为公测状态,反之则为内测状态。
SpouseIsOnLine//检测配偶是否在线。返回真或假。
IsAttacking//检测是否灰名。返回真或假。
IsDeath//检测当前是否死亡状态。返回真或假。
CheckNickName "天下第一"//检测称号名字。返回真或假。
CheckMapName 道馆//检测当前地图的名字。返回真或假。
CheckWeaponLevel 7//检测武器等级。返回真或假。
HasWeaponAtom//检测武器是否有攻击元素。返回真或假。
CheckRefineWeapon//检测武器是否已经升级过。返回真或假。
CheckWeaponMcType//检测武器的属性类型。参数为0是破坏,为1是自然系,为2是灵魂系。返回真或假。
CheckMapFlag Dark//检测当前地图属性。即Mapinfo.txt属性。返回真或假。
CheckInputStr "XXX"//检测输入的字符串是否为xxx。返回真或假。
CheckMonRecallEx//检测召唤的宝宝名字。返回到%A9。只可检测脚本召唤的怪物。
CheckItemInfo 参数1 参数2//检测物品信息等功能。
//参数1:武器1 衣服0 头盔4 鞋子10 项链3 左手镯5 右手镯6 左戒指7 右戒指8 马铠甲12 照明2 护符9 勋章11 饰品13
//参数2: 身上位置:0 包裹内物品名字:1 包裹内物品ID:2 身上装备名字:3
// CheckItemInfo 参数1 0//参数1为穿戴栏各个位置。0-13
// CheckItemInfo 参数1 1//参数1为包裹栏物品的名字。
// CheckItemInfo 参数1 2//参数1为包裹栏物品的MakeIndex索引字段。
// CheckItemInfo 参数1 3 //参数1为穿戴栏物品的名字。
CheckWeight 物品名称 数量//检测你包裹是否可以放这些数量的物品。包裹剩余负重返回到%P9。
CheckGuildOnlineCount 行会名字//检测行会在线人数。
CheckGuildOfflineCount 行会名字//检测行会离线人数。
IsDuoExp//检测是否开启个人双倍经验状态。
CheckDoubleExp//检测双倍经验剩余未领取时间。剩余时间返回到%P9。
IsGroupOwner//检测是否小组队长。返回真或假。
CheckGroupCount 2//检测队伍中队员数量。如不写参数则检测你是否有拥有组队。返回真或假。
CheckBonus//检测是否可以加点。如果无参数,则GS后台加点最高等级 减去 39得到可加点次数。然后你当前已加点次数
如果小于可加点次数,则检测结果为假,即无法加点。如果指定参数数字,则指定的数字 减去 39得到可加点次数。然后继续
比较然后返回检测结果。本命令的返回结果为真或假。
CheckMarriage//检测是否已经结过婚。返回真或假。
CheckMarriagering %UserName//检测某个角色名是否有婚戒。返回真或假。
GuildMember [S|T|行会名|空]//查看行会成员数量,S为沙巴克,T为土城,或指定行会名或为空,返回%P9。
FindNpc 『义贤』_弼马温//检测NPC所在具体位置。参数为NPC在地图上的名字。执行检测会系统提示黄字。
IsOnCastleWar [Sabuk]//检测是否沙巴克攻城战期间。
IsOnReadyCastleWar [Sabuk]//检测是不是参加沙巴克攻城战的行会成员。
IsCastleGuild [Sabuk] //检测是否沙巴克成员。
IsAttAckGuild [Sabuk]//攻城战期间检测是不是攻击方。
IsDefenseGuild [Sabuk]//攻城战期间检测是不是防御方。
IsAttAckAllyGuild [Sabuk]//攻城战是攻击同盟。
IsDefenseAllyGuild [Sabuk]//攻城战是防守同盟。
CheckTeam 队伍序号//检测TeamMakeTeam创建的队伍序号。只有在TeamFight的地图中使用。返回真或假。
CheckTeamCount [队伍序号] "地图代码" 玩家数量//检测某个序号队伍的玩家数量。最后1个参数如果为0,则人数返回%P9
CheckStrLen 字符串 长度//检测字符串长度。参数1是字符串,参数2是长度数。返回真或假。英文占1个中文占2个。

执行类脚本命令一览表:
Break//停止、中断
Close//关闭对话框
SysMsg "文字或变量"//系统聊天框提示。SysMsg "<$D1>,<$OUTPUT(D1)>"。变量的输出支持简写和完整格式。
Set//执行数字标签变量专用。例 Set [7] 0
Mov D1 %D2//赋值。把变量D2的值赋给D1。给变量赋值。后面跟变量名和值。
Inc D0 3//加法。把左边变量与右面相加,更新左面变量。
Dec D0 3//减法。把左面变量与右面相减,更新左面变量。
Take 物品名 数量//系统收走一定数量的物品。
Take 金币 刷量//系统收回一定数量的金币
Give 物品名 数量//系统给一定数量的物品
Give 金币 数量//系统给一定水量的金币
Speak "要说的话"//NPC在地图上说话
GiveW 穿戴位置 装备名字//系统给与装备直接穿到装备栏界面。支持所有位置。
TakeW 穿戴装备名字//系统收回装备栏所穿戴名字的装备。支持所有位置。
TakeOff 穿戴位置//把身上指定位置的装备拖下来放到包裹里。支持所有位置。
Sum 变量1 变量2//求和,结果返回%P9
Div 变量1 变量2//除法,结果返回%P9
Mod 变量1 变量2//求余,结果返回%P9
Mul 变量1 变量2//乘法,结果返回%P9
Movr D0 10//随机给D0变量赋值0-9
Goto @标签//跳转到某个标签
扩展用法1:
#if
genderman
#Act
goto @xxx(1)
#ElseAct
goto @xxx(2)
[@xxx()]
#act
Mov d0 %Arg(1)

扩展用法2:
#act
goto "@xxxx(100,200,300)"
[@xxxx()]
#act
mov D0 %ARG(1)
mov D1 %ARG(2)
mov D3 %ARG(3)  ……
HorseCall 坐骑名字//召唤坐骑。
KillHorse//删除当前坐骑。
MapMove 地图代码 X坐标 Y坐标//传送地图。
Map 地图代码//随机传送到某个地图的一点。
Percent D1 D2//D1除以D2得到的数保留小数点后两位并乘以100,结果返回%P9
AddNameList "NameList.txt"//把当前角色名添加到txt列表中。路径指向Market_def文件夹目录下。
DelNameList "NameList.txt"//把当前角色名从txt列表中删除。路径指向Market_def文件夹目录下。
ClearNameList "NameList.txt"//清理所有txt列表中的名单。路径指向Market_def文件夹目录下。
AddMagic 技能名 技能等级//学习技能。等级取值0-5级。
GiveExp [数量] [+|-|=]//给用户经验值。什么都不写默认加经验。数量后面可支持+ - =运算符。
SetExpRate [+-=] [1.2] [500] //设置多倍经验,支持运算符、小数点、时间操作。当有时间参数时则存TBL_CHARACTER表的FLD_EXPRATE和FLD_EXPTIME字段,%EXPRATE为倍率(支持小数),%EXPTIME为剩余时间(单位秒)。当没有时间参数,则为保存在内存里,下线消失,% DEXPRATE为倍率(支持小数,该倍率不存数据库)。
**************************************************例:
#say
存库多倍经验<$EXPRATE>,剩余时间<$EXPTIME>\
临时多倍经验<$DEXPRATE>\
<存库多倍经验
[url=]/@a1>\[/url]
<临时多倍经验[url=]/@a2>\[/url]
[@a1]
#act
SetExpRate = 1.8 600
sysmsg "ok"
[@a2]
#act
SetExpRate = 1.5
sysmsg "ok"

***************************************************
SetPowerRate [+-=] [1.2] [500] //设置多倍攻击,支持运算符、小数点、时间操作。当有时间参数时则存TBL_CHARACTER表的FLD_POWERRATE和FLD_POWERTIME字段,%POWERRATE为倍率(支持小数),%POWERTIME为剩余时间(单位秒)。当没有时间参数,则为保存在内存里,下线消失,% DPOWERTIME为倍率(支持小数,该倍率不存数据库)。具体例子可参考多倍经验,用法一样。
SetDropRate [+-=] [1.2] [500] //设置多倍物品掉率,支持运算符、小数点、时间操作。当有时间参数时则存TBL_CHARACTER表的FLD_DROPRATE和FLD_DROPTIME字段,%DROPRATE为倍率(支持小数),%DROPTIME为剩余时间(单位秒)。当没有时间参数,则为保存在内存里,下线消失,% DDROPTIME为倍率(支持小数,该倍率不存数据库)。具体例子可参考多倍经验,用法一样。
AddLucky [+-=][3]//额外增加的幸运值。可在Q栏的属性介绍那看到效果值。下线不保存效果。
SetBodyColor 0-5//设置角色外观颜色(非衣服染色)。取值0到5。
默认0xFF0000,0x8CD6EF,0x0000FF,0xEF6B00,0x007BDE,0xFFFF00。写0-5就行。
SetServerDrop 2.0//设置全服爆率提升。1.0代表恢复,2.0代表双倍经验。重启GS后效果消失,不保存到数据库。
LoadValue 变量名 "QuestDiary\参数设置\记录.ini" [索引名] [字段名]//从制定文件读取变量。支持自定义变量。
SaveValue "QuestDiary\参数设置\记录.ini" [索引名] [字段名] [存入值]//往指定文件存入数据。支持自定义变量。
ChangeGender//转换性别。
SetFame = 5000//设置用户的声望值,支持+-=运算符。
KillSlave//杀死宝宝。
SetUserExp + 10000//设置用户经验值,支持+-=运算符。
SetUserJF = 90000//设置玩家积分,支持+-=运算符。支持字符串备注。保存到TBL_UserJFLog表。
ChangePK = 1000//设置用户PK值,支持+-=运算符。
ChangeLvl = 200//设置用户等级,支持+-=运算符。
SetSuperChange = 7//设置用户转生数,支持+-=运算符。
SetServerExpMultiple 2.0//设置全服经验翻倍。2.0则是双倍经验。
Relive 10 10//原地复活,恢复%10的HP和10%的MP。
StartBuff [序列号] [时间] [说明文字] [图标id]//开启自定义buff系统。序列号范围:1-10000,Time=0取消,-1永久,图标id可省略则图标与id相同,否则或为0则不显示图标。
SetTempJF = 1000// 设置用户的临时积分。支持+-=运算符。保存在GS目录下的TempJF.dat文件。
ChangeJob 职业名称//转换职业。Warrior=战士 Wizard=法师 Taoist=道士。
SendUserSay "@监督人"//用户强制执行命令。
LineMsg [Grobal] "全服提示信息"//红字公告。第一个参数grobal为全服提示,当参数为地图代码,则是某个地图提示。
MonReCall 怪物名 租赁小时 等级 租赁分钟//租赁怪物,当第四个参数存在时,则此分钟后叛变。
MoveNpc "1,394,124,『义贤』_弼马温" "1,400,123"//左面原位置的NPC移动到右面新位置。参数和格式即如此。
DeleteNpc "11,222,333,积分管理员"//删除指定坐标名字的NPC,代码、坐标和NPC名必须准确。
Store//打开仓库。
DelMag 技能名称//删除技能。
AttRibuteAdd//|DC|SC|MC|MAC|MP|AC|HP|MP|AM1~AM7 增加角色属性,下线不保存。例如下:
AttRibuteAdd DC 20 10//表示增加角色破坏10-20。
AttRibuteClear//|DC|SC|MC|MAC|MP|AC|HP|MP|AM1~AM7 清理角色属性,下线不保存。例如下:
AttRibuteClear DC 20 10//表示清理角色破坏10-20。
ChangeMagLvl 焰天火雨 1//调整技能等级。
AddEiMemoLog "aaaaaaa"//GS窗体上输出字符串。
/////////////////////SQL读写操作
ReadSql用法:(读取数据)
ReadSql "表名" "字段1,字段2" "字段变量1,字段变量2" "Where 条件字段名=条件字段值"//第四个参数可以省略
WriteValueSql用法:(插入数据)
WriteValueSql "表名" "条件字段名=条件字段值" "条件字段名,字段名1, 字段名2…" "条件字段值,字段值1,字段值2…"
UpdateValueSql用法:(更新数据)
UpdateValueSql "表名" "条件字段名=条件字段值" "更新字段名1=更新字段值1, 更新字段名2=更新字段值2…"
WriteSql用法:(插入或更新数据。但不推荐作为更新数据使用以免造成重复行记录。)
WriteSql "表名" "条件字段名,字段1,字段2" "条件字段值,1001,字段值1,字段值2"  "where 条件字段名=条件字段值"
ExecSql用法:
ExecSql "SQL语句字符串"//直接运行自定义SQL语句。
格式化字符串:
FormatStr "'%s',%s, '%s',%s" %字符串变量1 %数字变量1 %字符串变量2 %数字变量2
AddStr "'%s',%s, '%s',%s" '字符串1' 100 '字符串2' 200
StartDoubleExp 120//领取并开始双倍经验。参数为分钟。
StopDoubleExp//停止且清除当前双倍
SetDoubleExp +-= 50400000//设置个人双倍经验总时间。参数为毫秒。强制写入。
TryResetDoubleExp +-= 50400000//设置个人双倍经验总时间。参数为毫秒。会检测是否已重置再写入。
跟玩家表的FLD_WEEKOFYEAR字段有关。会检测或写入。建议在玩家每日触发里添加重置的代码。
注意:
写入、更新、读取SQL数据,每次每行最多可支持10个字段和变量。
/////////////////////
ServerNotify 120 "服务器弹窗信息!"//服务器维护公告弹窗信息。时间倒计时结束后,GS会自动关闭。
KickUser//踢除当前的用户,断开当前连接。
DelayGoto [grobal|local] 时间秒 @标签 序号//延迟执行。可以指定不同序号,序号取值范围10000-20000。可继承旧版。
ClearDelayGoto 序号 [1]//清理中断指定序号的延迟执行。参数2的[0]是全局[1]是个人。可继承旧版。
FormatStr//格式化字符串,支持32个变量。用法和旧版一样。
AddStr//增加字符串。用法和旧版一样。
MoveToPlayer 角色名//传送到某个玩家身边。
RunScriptLabel [角色名|ALL] "@标签"//让某人触发脚本。ALL参数为所有人。
HumanEffect 1 1//执行光效特效。类似旧版Title.wil。第1个参数是特效的序号,当第2个参数为1时,则调用GameInter.wtl
和GameInter2.wtl内置特效范围1-32。当第2个参数省略时,则调用客户端目录的Data\DataEx\UserEffect.wil或wtl
文件,每40张图片为1组特效。参数1设置为0则是关闭特效。内置和用户效果可叠加显示。
SetMapDamage "1" 1.5//设置某张地图的怪物攻击翻倍。参数1为地图代码,参数2为浮点型倍数。1.0为恢复正常。低于
1.0为衰减。
DeCompose 开始分解%s @BackCall//分解包裹。[@BackCall ()]回调标签下返回%ARG(1)物品名称和%ARG(2)物品索引。
TimeRecall 5//5分钟后传送回原先的地方。
BreakTimeRecall//终止TimeRecall返回功能。
ItemNamePrefix 1 "天下无级"//给装备刻名。参数1支持0-13的穿戴位置。
EditItem FLD_DESC0 5//编辑物品属性。CheckItemInfo检测后,编辑FLD_DESC0~13的属性值,支持+ - =操作。
EditItem FLD_DESC0 + 100 N//N为佩戴位置,在省略的情况下与旧版相同,在加上位置的情况下可以不需CheckItemInfo
直接修改。
MoveToNpc 名字//传送到指定名字的NPC面前。参数为NPC在地图上显示的名字。
TakeItemByIdx 24643//收回包裹里指定索引的物品。参数为物品的MakeIndex
ReCallGuildmember//将行会所有成员召唤到身边。
HairColor R G B//头发染色。参数为R G B的3组颜色数字。
WearColor R G B//衣服染色。参数为R G B的3组颜色数字。
HairRndCol//头发颜色随机。无参数。每执行一次随意出现颜色。
HairStyle 1-11//改变发型。参数支持1-11,一共11种发型。
GroupMove "1,400,123,5"//队伍全员传送。参数地图代码,X,Y,范围。
SetFame +-= 999//设置用户声望。支持+-=运算符。支持字符串备注。保存到TBL_UserJFLog表。
TimeCall 23 11 @标签//几点几分执行标签。
Divorce//执行离婚效果。
MonClear "1,400,123,20" 黑野猪//清除怪物。怪物名字没有或为*表示所有怪物。
MonGenP "1,400,123,10" 火焰狮子 20 [NOITEM|FREE|物品名称]//地图刷怪 "地图代码,x,y,扩散范围" 怪物名字
刷怪数量 新增参数4: 当为空默认爆率,当为"NOITEM"不爆物品,当为"FREE"任何人均可捡取无归属保护, 物品名称可与
NOITEM|FREE共用。
PlayDice 6 @标签//摇骰子,支持筛子显示特效。参数1为骰子数量。在执行命令前面初始化骰子的变量。最大支持6个骰子。
骰子1到6对应的变量分别是D0到D5。骰子特效结束后执行@标签。
CreateNpc "1,400,123" "积分管理员" "智善大师-1" 31//创建NPC,31是外观,文件为market目录不含扩展名的文件。
TakeBonus |DC|SC|MC|MAC|MP|AC|AM1~7|HP 100//大善大师加点命令。属性写多少就是加多少,注意没有符号。
当属性为负数时,则是减多少属性,注意减号和数值之间无空格。属性点数保存到数据库。
CancelMarriageRing//取下婚戒。执行后即可把婚戒取下来放到包裹里,再次带上后就自动成为婚戒。
GetMarried 新郎名 新娘名//执行结婚效果。执行后,左戒装备栏放入戒指则自动成为婚戒,无法手动取消。
ENTER_OK//进入地图时成功触发。
ENTER_FAIL//进入地图时失败触发。
LEAVE_OK//离开地图时候成功触发。
LEAVE_FAIL//离开地图时候失败触发。
BuildGuild 行会名字 创建者//创建一个行会。参数1为想创建的行会名,参数2是由谁创建,一般是%UserName。
NpcNameChg "1,394,124,原名字" 新名字//更改NPC名字。
ChangeWeaponAtom 1-7//更换当前穿戴武器的元素种类。参数取值范围1-7。
ChangeMapAttr 地图代码 地图属性//更改地图属性。地图代码可以写多个,隔开。地图属性一次只能写1个。
例:ChangeMapAttr "1,0,3" "Rain"//地图属性来源MapInfo.txt里的所有属性。
ResetMapAttr "1,0,3"//清理重置ChangeMapAttr的效果的。参数为地图代码,地图代码可以写多个。
ChangeMonLevel "1" [*|怪物名称|怪物名称|...] [等级]//设置某地图上怪物的等级。可指定多个名字怪物,或*代表所有。
例:ChangeMonLevel "1" * 100
DropItemMap "1,400,123,30" 积分卷 50 100 //地图上掉落物品 "地图代码,x,y,扩散范围" 物品名字 每堆数量 堆数。
ClearItemMap "1,400,123,30" [物品名字|*]//清理地面物品。可以指定名字,*代表所有。
GiveExpMap 1 10000000//给指定地图上所有人加经验。参数1为地图代码,参数2为经验数量。
SoundMsg [PRIVATE|GROBAL|地图名] "Sound\xx.mp3" [0为声效wav,1为背景音乐mp3/ogg,2循环播放背景音乐
mp3/ogg,3停止播放背景音乐]。//播放音乐音效文件。
例:SoundMsg GROBAL "sound\1.mp3" 1
ClearCastleGold [SABUK]//清理沙巴克金币。
SetItemEvent 61 130 @标签//设置双击物品触发事件。参数1为Stdmode固定值61,参数2为Shape不同的双
击事件序号,参数3是执行的标签。
TakeEventItem//收回双击物品触发事件的该物品,如吃书和stdmode=61的道具叠加物品只会收取1个。
必须在 SetItemEvent 61 130 @标签 要在[@标签]代码里使用该命令。
EventMsg PRIVATE|GROBAL|地图名 "消息内容" [img图片序号]//怪物对话框。
ProPoseCastleWar [Sabuk]//申请沙巴克攻城战。可在Act里直接执行也可以在If里检测。
CapTureCastLefLag [Sabuk]//沙巴克抢夺旗子。可以通过if判断来判断是否成功,这样即便2个不同行会同时执行此命令也
必定只会1个成功,在成功后10秒才可以再次更改行会
TestFlag 1 16 16 16//改变当前所选NPC旗子的样式和颜色。参数1是样式值。其他3个参数分别是R、G、B颜色代码。
rgb颜色为32位色,即0-255而非0-16。旗子样式取值范围0-19,一共20种。
ApplyFlag 2 16 16 16//改变当前行会的旗帜样式和颜色。参数和用法同上。
PastEflag Sabuk//把当前NPC旗子改为沙巴克旗子样式。
GetBackCastleGold [SABUK] 金币数量//提取沙巴克金币。参数2为金币数量。
TingWar Sabuk//沙巴克攻城战准备阶段,系统会把闲人自动挪出内城。
ResetRefineWeapon//魔晶石洗武器。会自动弹出洗武器的UI界面进行洗武器操作。
RefineAccessories 首饰名字 炼制类型 属性点数//炼制首饰。参数2:当0为破坏,当1为自然系或灵魂系,参数3为炼制
的点数。当参数2为3时,代表炼制攻击元素,此时的参数3取值为1-7分别代表7种元素。
MapSpell [FIREWALL|ICEWALL] "1,373,133,379,139,+d100,+t30"//地面魔法伤害效果。仅对角色有效。对怪物无效。
100火元素伤害 30秒。参数2的"1,373,133,379,139,+d100,+t30",1为地图代码,373和133为魔法矩形的左上角坐标
点,379和139为魔法矩形的右下角坐标点,这样2个点形成一个矩形。
TeamMakeTeam 队伍序号//创建一个队伍,参数为1-5的队伍内置不同颜色。此功能只在地图属性为TeamFight的地图上
使用。
TeamDialog "地图代码" 队伍序号 "消息内容"//给同序号队伍的所有队员发送带消息的对话框。
TeamTing 1 5 "1 400 123 5"
TeamTing 地图代码 队伍序号 "地图代码 X Y 范围"//把某地图上某个队伍序号的角色全部移动到指定地方。
GroupDialog "发送消息"//组队功能里,给全组人员发送消息框。
ClearCastleOwner Sabuk//清理沙巴克占用着,沙巴克变为无人占领。
RefineWeapon 金币数 参数2 参数3//参数2=1时为炼制当前持久度(新版不再支持炼制持久最大值),参数2=3、参数3=0
时代表炼制破坏力。参数2=3、参数3=1时代表炼制自然系或灵魂系魔法。参数2=4、参数3=1到7时代表炼制攻击元素。
GetRepairCost 穿戴位置//获取某个位置的修理费用。结果返回到%P9。
RepairItem 穿戴位置//修理某个位置的装备。
ReCallGroupMembers//执行者使用该功能则把队伍里其他玩家传送到自己面前。
LoadCastleInfos//刷新沙巴克攻城信息。一般用户手动添加到数据库TBL_GUILDCASTLEWAR此表后,然后此命令刷新加
载到内存里使用。
Mapting 0 1 400 123//把代码为0的地图上所有玩家传送到代码为1的指定400,123的地图上这个坐标来。
Mapmover "1,400,123,10" "1,370,92,10"//把左面指定位置范围的玩家移动到右面指定范围的地方。
MonPWR "1" "红野猪,黑野猪" [DC] 1000//代码为1的地图上所有的指定怪物的破坏提升到1000点。怪物列表可以一行多
个。属性类型支持Hp、Dc、Mc、Ac、Mac。属性值设置0则恢复正常。怪物名如果为*号代表所有怪物都加成。
AddPath 375,120//设置怪物巡逻点。参数1是X坐标,参数2是Y坐标。通过下面的下达指令的怪集结巡逻点。一个#Act
下最多可设置16个集结点。(先设置集结点再下达指令)。
ApplyPath "1,400,123,10" 黑野猪//给指定坐标点范围的怪下达指令。(先设置集结点再下达指令)。*代表所有怪物。
ClearPath//清理当前执行的集结路径和集结命令。
例如:
AddPath 338,172
AddPath 329,175
ApplyPath "11,338,164,5" 黑野猪
ClearPath
AddPath 338,172
AddPath 329,175
ApplyPath "11,338,164,5" 白野猪
ClearPath
ApplyMonEx "1,400,123,90" [*|怪物名称] [MONSTERSIDE|HUMANSIDE|PEACE] [新怪物名称]//修改怪物的一些属
性。MONSTERSIDE=敌对,HUMANSIDE=友好,PEACE=中立。当设置敌对时,就是默认玩家跟怪物的那种关系。当设置
友好时,指定的怪物会攻击其他怪物。当设置中立时,怪物不会攻击玩家和怪物。当最后1个参数设置新名字时,所指定的怪
物的名字会自动改成新定义的名字。
ApplyMonMission "1,375,143,20,2" [*|怪物名]  "1,400,123"//怪物攻城效果,左面区域的指定怪物,行走到右面目的地。
参数1:地图代码、X、Y、范围、数量。参数2:*所有怪物|怪物名字。参数3:地图代码、X、Y。
参数1的数量可以省略。
SetMission 1 400 123//地图上所有的怪都行走到此坐标处,包括后来刷出的。此Mission优先级大于AddPath和
ApplyMonMission。
ClearMission "1"//清理地图1的SetMission事件。
SetAreaAttr "1,400,123,10" "地图属性"//设置区域范围内指定地图属性。地图属性包括:SAFE NOLACK NOFLY NORFLY NOREVIVAL CLEAR这些属性。Clear属性会清理当前区域的所有属性。
SetEventMap 地图代码 武器名字 衣服名字 头盔名字//给指定地图的所有玩家的武器、衣服、头盔伪装成指定外观的样子,并且不显示他人的名字。当头盔外观设置为数字,则头盔显示为HairStyle样式。当衣武器、衣服、头盔设置为0时,表示不伪装。例如下:
SetEventMap "1" 屠龙 恶魔长袍(男) 新人头盔//伪装武器、衣服、头盔为指定装备样子。
SetEventMap "1" 0 0 0//恢复让武器、衣服、头盔不伪装。仅不显示角色名。
ReSetEventMap "1"//彻底恢复指定地图的SetEventMap事件。
SetGmeMap 地图代码 [0|1]//把指定地图设置为不增加pk值,怪物和人都不掉落物品模式。参数2取值为开关,1开0关。当使用TeamMakeTeam时会执行阵营方式,同组的人不会被本组人攻击 若不使用TeamMakeTeam则不可被阵营人员攻击也不可攻击阵营人员。
MakeCastleDoor [Sabuk] 1 3 234 191//造出沙巴克城门。参数2=1代表正门。后面3个参数为门的位置。
MakeCastleDoor [Sabuk] 3 3 169 190//造出沙巴克城门。参数2=3代表左侧门。后面3个参数为门的位置。
MakeCastleDoor [Sabuk] 4 3 233 127//造出沙巴克城门。参数2=1代表右侧门。后面3个参数为门的位置。
CheckCastleDoor Sabuk 1//检测沙巴克的某个方向的城门是否存在,对应MakeCastleDoor建造城门的检测。
CheckCastleDoorOpen Sabuk 1//检测沙巴克某个方向城门是否开启,对应SendCmd开关城门命令的检测。
SendCmd "3,234,191,1" 沙巴克城门1 Close//使城门开启可以自由出入。参数1最后一个数字为范围。
SendCmd "3,234,191,1" 沙巴克城门1 Open//使城门关闭不可自由进出。参数1最后一个数字为范围。

CaptureSaying "角色名" @标签//抓取指定角色名的白话内容,跳转到@标签下,返回到%InputStr。例如下:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
[@抓取说话内容]
#IF
#ACT
CaptureSaying %UserName @抓白话
[@抓白话]
#Act
Mov A0 %InputStr
CaptureSaying ""
sysmsg "我说的内容是:<$A0>"
;;此效果会抓取当前角色说话内容一次。因为CaptureSaying "" 是停止抓取。如果不停止会一直抓。
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
GetDate//获取日期。月数返回%P8,日数返回%P9。例如下:
#ACT
GetDate
mov D1 %P8
mov D2 %P9
SysMsg "当前是:<$D1>月<$D2>日"//输出显示当前的几月几日。
GetTime//获取时间。小时数返回%P8,分钟数返回%P9。例如下:
#ACT
GetTime
mov D1 %P8
mov D2 %P9
SysMsg "当前是:<$D1>点<$D2>分"//输出显示当前是几点几分。
SetNickName "称号名"//设置角色的称号名字,显示在地图上角色名字下方的那个称号名。
OpenUserMarket//打开寄售系统。直接在#Act下执行,无参数。
Buy//商店调用。Buy调用Goods列表。详情请见Goods商店使用详解栏。
ComPose//强大的UI合成系统。在#Act下使用则可以使用强大的合成功能。具体用法请见此专项说明处的解释。
ResetServerTop//刷新排行榜前10名。新版暂未做排行榜功能。等待UI版排行榜添加。。。。。。
SetCusint1 +-= 10001//设置预备扩展虚拟货币1的数值。类似积分、声望的操作。
SetCusint2 +-= 10002//设置预备扩展虚拟货币2的数值。类似积分、声望的操作。

OpenRanking//开启排行榜。GS控制台上可设置排行榜显示的名次数。最高设置50。
ResetServerTop//刷新排行榜。







上一篇:传奇3GM命令和玩家命令-GSR引擎
下一篇:GSR引擎所有内置变量一览表
回复

使用道具 举报

© 2001-2024 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2024-11-23 17:50 , Processed in 0.266419 second(s), 44 queries 手机版|美林GM论坛 ( 蜀ICP备2020030293号-2 )|网站地图

禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.如遇版权问题,请及时QQ联系

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