请选择 进入手机版 | 继续访问电脑版
设为首页收藏本站

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
楼主: admin

全新GSR传奇三引擎发布上市

[复制链接]

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:23:07 | 显示全部楼层
脚本命令是版本的核心。几乎所有的游戏内部功能都有脚本命令组成。
脚本命令分为:保留字、检测类命令、执行类命令。

保留字:

#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]    //角色死亡触发

[@_CHECKROBOTFAIL]//配合Mapinfo.txt的CheckRobot检测挂机的地图属性,验证失败后的触发。
#ACT
SYSMSG "检测到你在挂机!被踢出游戏。"

KickUser

[@_ONFLYTONPC]//世界地图上传送至Npc触发。%ARG(1)=NPC所在地图代码,%ARG(2)=NPC的X坐标,%ARG(3)=NPC的Y坐标。

#Act

Mov A1 %ARG(1)

Mov D1 %ARG(2)

Mov D2 %ARG(3)

#If

checkgold 1000

#Act

take 金币 1000

MapMove %A1 %D1 %D2
[@_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>\
<存库多倍经验/@a1>\
<临时多倍经验/@a2>\
[@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为剩余时间(单位秒)。当没有时间参数,则为保存在内存里,下线消失,% DPOWERRATE为倍率(支持小数,该倍率不存数据库)。具体例子可参考多倍经验,用法一样。
SetDropRate [+-=] [1.2] [500] //设置多倍物品掉率,支持运算符、小数点、时间操作。当有时间参数时则存TBL_CHARACTER表的FLD_DROPRATE和FLD_DROPTIME字段,%DROPRATE为倍率(支持小数),%DROPTIME为剩余时间(单位秒)。当没有时间参数,则为保存在内存里,下线消失,% DDROPRATE为倍率(支持小数,该倍率不存数据库)。具体例子可参考多倍经验,用法一样。
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则不显示图标。如果关闭效果,第3个参数必须为"",否则脚本读取报错。
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//刷新排行榜。

DelFile ".\Envir\ParamControl\Test.ini"//删除服务端下指定目录路径下的文件。以服务端名D:\GsrServer为例,指定从GsrServer目录下开始。

关于Mapinfo的2个分组命令用法:

SPARAM1-3//通过CHECKMAPFLAG判断,检测字符串类分组。
NPARAM1-3//通过CHECKMAPFLAG判断,检测整数类分组。

例:Mapinfo.txt里某地图属性SPARAM1("aaaa") NPARAM1(11)

CHECKMAPFLAG NPARAM1 1//检测地图分组NPARAM1的组号是否为1,返回真或假。

CHECKMAPFLAG SPARAM1 "aaaa"//检测地图分组SPARAM1的组号是否为"aaaa",返回真或假。


回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:23:44 | 显示全部楼层
内置变量的一般表达方式为:%内置变量、<$内置变量>、<$OUTPUT(内置变量)>。使用方法这里不再解释,跟旧版一样。
可以直接参与脚本的检测、执行、运算、变量比较、命令赋值。
此外,新版的自定义变量和A、B、P、D、N变量均支持以上的表达方式和使用方式。


新版里所有的内置变量列表如下:
ERROR//命令失败时会填充这个变量。对应Setup/ ServerMsg.txt里的。
USERNAME//角色名字。
USERMAP//角色当前所在地图的地图代码。
USERX//角色当前所在地图的X坐标。
USERY//角色当前所在地图的Y坐标。
FLD_INDEX//物品序号,来自SYS_Stditems表的物品Idx字段。
FLD_MAKEINDEX//物品索引,每个物品生产出来的唯一序号。
FLD_DURA//物品当前持久
FLD_HP//装备附加HP。
FLD_MP//物品附加MP。
FLD_COLOR//衣服的颜色RGB值。
FLD_EXPIRTIME//期限物品剩余时间。
FLD_TMINDEX//备用字段。
FLD_NAME//物品名字。CheckItemInfo 装备位置 0即可获取名字。
FLD_NAMEPREFIX//物品刻的名字。
CS_SABUK_OWNER//沙巴克领袖名字。
UPRATE//ComPose回调标签里的返回的目标成功率。
UPTAG//ComPose的分页。
UPTARMAKEINDEX//ComPose回调标签里的返回的目标物品索引
UPTARNAME//ComPose回调标签里的返回的目标物品的名字。
EXPTIME//多倍经验剩余时间。存档。
EXPRATE//多倍经验当前倍数。存档。
DEXPRATE//多倍经验当前倍数。不存档。
POWERTIME//多倍攻击剩余时间。存档。
POWERRATE//多倍攻击当前倍数。存档。
DPOWERRATE//多倍攻击当前倍数。不存档。
DROPTIME//多倍掉率剩余时间。存档。
DROPRATE//多倍掉率当前倍数。存档。
DDROPRATE//多倍掉率当前倍数。不存档。
CURSYSTIME//系统时间(一般用不着)。
KILLERNAME//角色上一次被怪物、玩家杀死的名字。
USERJF//用户积分。
USERFAME//用户声望。
USERPK//用户红名值。
USERMAPNAME//角色当前所在地图的名字。非地图代码。
USERSPOUSENAME//夫妻名。
USERREBORNCOUNT//用户转生次数。
USERADDBONUSCOUNT//大善大师已加点次数。
CURWEEK//公测周数。
CURDAY//公测天数。
CURHOUR//公测小时数。
CURMINUTE//公测分钟数。
STARTGAMEMINUTE//本次进入游戏在线分钟数。
USERIP//玩家的IP地址。
MAXLVL//玩家最大等级数。
USERPOSNAME//站在你眼前正对面的玩家角色的名字。
FLD_STDMODE//物品表SYS_Stditems的StdMode字段值
FLD_SHAPE//物品表SYS_Stditems的Shape字段值
FLD_PRICE//物品的价格
USERMINDC//用户附加破坏下限。
USERDC//用户附加破坏上限。
USERMINMC//用户附加自然下限。
USERMC//用户附加自然上限。
USERMINSC//用户附加灵魂下限。
USERSC//用户附加灵魂上限。
USERMINAC//用户附加物理防御下限。
USERAC//用户附加物理防御上限。
USERMINMAC//用户魔法防御下限。
USERMAC//用户魔法防御上限。
USERHP//用户附加体力值。
USERMP//用户附加魔力值。
USERAM1//用户附加火元素。
USERAM2//用户附加冰元素。
USERAM3//用户附加雷电元素。
USERAM4// 用户附加风元素。
USERAM5//用户附加神圣元素。
USERAM6//用户附加暗黑元素。
USERAM7//用户附加幻影元素
NPCNAME//当前NPC在地图上显示的名字。
NPCMAP//当前NPC所属地图的名字。非地图代码。
NPCX//当前NPC所在地图的X坐标。
NPCY//当前NPC所在地图的Y坐标。
USERGOLD//角色当前持有金币数量。
ONLINECOUNT//玩家在线数量。
GUILD//所在行会的行会名。
GUILDNAME//所在行会的行会名。
SERVERNOWTIME//当前服务器系统时间。精确到:年、月、日、小时、分、秒。
USERID//当前角色所在的账号ID。
STARTSVRMINUTE//服务器GS本次启动至今的分钟数。
CS_SABUK_CASTLEGOLD//沙巴克金库。
SABUKGOLD//沙巴克金币。
CS_SABUK_WARDATE//沙巴克城攻城战日程。
ISROBOT//机器人玩家显示1,正常玩家显示0。
INVM//是否在虚拟机运行。返回1是虚拟机,0是物理机。
SAMEIP//相同IP的用户数量
SAMEHW//相同硬件码的用户数量。
CUSINT1//自定义扩展虚拟货币。类似USERJF。请自行定义用法。
CUSINT2//自定义扩展虚拟货币。类似USERJF。请自行定义用法。
GOODSIDX//商店种类编号。目前支持0、1、2这三种。

回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:24:03 | 显示全部楼层
当地图文件第一个为$时为镜像地图,可以减少使用相同地图文件不同地图时的文件数量,情况如$03D010则读取D010文件,即前面3个字符将被忽略
地图参数
DAY//(默认)
DARK//黑天
DAWN//黎明
DUSK//黄昏
CLEAN//(默认)
SNOW//下雪
FOG//雾
RAIN//下雨
DENSE//氤氲
HORSE//允许骑马
SAFE//安全区
FIGHT//PK无PK惩罚,玩家和怪物均不掉落物品
NODROP//玩家不会掉落装备,有PK惩罚,怪物正常掉落
NOSTALL//禁止摆摊
NOCHAT//禁止白字
NODRUG//禁止吃药
NOSKILL(技能名)//禁止某个技能
NOITEMMOVE//禁止结婚戒指,传送戒指,记忆
NORECALL//禁止记忆
NOSPACEMOVE//禁止回城卷
NOSPELLMOVE//禁止移动类的技能如斗转星移,乾坤大挪移,瞬息移动,异形换位
NORANDOMMOVE//禁止随机,地牢逃脱
NOCASTLEMOVE//禁止行会回城卷
NOMOVE//禁止任何方式的移动
NORECONNECT(x)//重新连线就被传送到()中指定的地图
NOSPELL//禁止技能
MINE//金属矿
MINE2//石矿
DAMAGE(1.5)//怪物伤害提升至1.5倍
DEFENCE(1.5)//怪物防御提升至1.5倍
EXP(1.5)//怪物经验提升至1.5倍
TEAMFIGHT//默认0队伍,使用teammaketeam设置队伍,非本队伍必定可以攻击(包括安全模式),无PK惩罚
SPARAM1-3//通过CHECKMAPFLAG判断,检测字符串类分组。
NPARAM1-3//通过CHECKMAPFLAG判断,检测整数类分组。
NOLACK//魔法不持续
NOFLY//定点传送偏移
NORFLY//随机传送偏移
NOREVIVAL//不能被复生
CLEAR//清除SETAREAATTR的参数
CHECKROBOT//检测挂机
NEEDHOLE//允许产生尸王殿洞口,配合Setup\Setup.ini\ZombieHole设置多条节点可以随机进入某一个房间。
可用于SETAREAATTR的参数:
SAFE NOLACK NOFLY NORFLY NOREVIVAL CLEAR

回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:24:20 | 显示全部楼层
Near Far LowHp JumpTo JumpAway Hide Show RunAway Surrounded HighHp Speak Stand与旧版相同。
Say//怪物说话。
Mongen 白野猪 1 8//8为最多召唤8个,直到死亡才可继续召唤。
Time 4//设置4秒后执行,可以用ONTIME判断,如果已经在计时则此命令不生效。
OnTime//判断是否已经到了计时时间。
Motion共3个参数
参数1:0-4 表示动作 1-4分别表示怪物的4个动作,0表示无动作
参数2:0-3, 魔法效果类型,如果此动作在MonAttack和MonMagic有动作魔法的话有意义, 0表示在自身释放动作完毕后播放魔法如神兽喷火,  1表示在自身释放随动作播放如霸王教主挥刀, 2在目标释放动作完毕后播放,如远程魔法 3在目标释放随着动作释放,如吸血
参数3:此次动作时间,可省略,默认700,最小200,即动作多久后产生伤害(HIT类),如果是远程动作会+距离时间
SPELL共6个参数
参数1:攻击类型 [HIT|FLY|WALL|LINE|THUNDER|SHORTTHUNDER|SHORTBOLDTHUNDER]
-说明:
HIT近战攻击,动作完成后立刻伤害,如果参数6为非ENEMY的范围攻击则为近战攻击
FLY飞行攻击,动作完成后计算距离再产生伤害
WALL的持续时间固定6秒 ,
LINE八码线性地面攻击
THUNDER八码线性攻击(不包含边缘,如电僵尸)
SHORTTHUNDER四码线性攻击(不包含边缘,如震天首将)
SHORTBOLDTHUNDER四码线性攻击如诺玛司令,宽度3
参数2:攻击附加效果
[NONE|SLOW|PUSH|PUSHDIR|GREENPOISON|REDPOISON|STONE|PULL|CLEAR|HEALING|BOMB]
-说明:若是[POISON|STONE|SLOW]等类型的持续效果可指定时间,默认3秒, BOMB在目标周围都有伤害
参数3:数据库设定的攻击力百分倍数,如果攻击元素是PHYSICS则为dc倍数,其他为mc倍数  最大65535即655.35倍
参数4:魔法id:魔法效果类型 魔法id指的是monlight的id,魔法效果类型参考Motion的参数2,如果省略则为0即在自身释放动作完毕后播放魔法如神兽喷火
参数5:攻击元素 MAGIC|FIRE|ICE|LIGHT|WIND|SANC|DARK|PHANTOM|PHYSICS,其中MAGIC是纯魔法攻击,只能魔法防御抵消
参数6:目标选择类型 TARGET|SELF|FAN|HALFMOON|FULLMOON|FANBRANDISH|FRIEND|MASTER|ENEMY
-说明:
TARGET 目标
SELF 自身
FRIEND配合治疗效果目标为血量不满的某一友方目标(包括主人),
MASTER仅针对主人为目标,且只能是治疗,随从不能攻击主人
ENEMY可指定范围, 若不指定则为6
FAN前方扇形,HIT则取近战
HALFMOON前方半屏,HIT则取近战
FULLMOON表示全屏,如果是LINE攻击类型则8个方向,HIT则取自身四周
BRANDISH类似霸王教主挥刀刀型范围,始终取近战目标
示例: 默认怪物的动作时间为700ms
Spell [HIT] [NONE] 120 (0) PHYSICS [TARGRT]//近战攻击,700ms后1.2倍物理攻击
Spell [HIT] [STONE:3] 2000 (11) DARK [FULLMON]//近战所有目标,700ms后麻痹,附带20倍魔法攻击,暗黑元素
Spell [FLY] [PUSH] 200 (5) WIND [ENEMY:10]//范围10内所有目标,飞行类技能,击中击退,
Spell [THUNDER] [SLOW] 800 (6) ICE [FULLMON]//8个方向线性,8倍魔法攻击,击中后寒冷效果(玩家除外),默认3秒
Spell [THUNDER] [STONE:4] 800 (1:2) LIGHT [FULLMON]//8个方向线性,8倍魔法攻击,击中后电击昏迷4秒 ,只有线上有伤害
Spell [HIT] [CLEAR] 800 (26) PHANTOM [FULLMON]//近战四周目标清除效果
Spell [HIT] [BOMB] 800 (5) FIRE [TARGRT]//目标被攻击且范围3x3范围同时受到攻击
Spell [HIT] [HEALING] 800 (10) SANC [FRIEND:5]//治疗5码内盟友方不包括自己
Spell [WALL] [NONE] 800 (22) FIRE [TARGRT]//目标脚下一个持续6秒的火墙

回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:24:46 | 显示全部楼层
地图名称 任务标记 值 ,当任务标记非0时,则只有与值相同时才会触发脚本,mogen属于怪物行为不会触发玩家的任务标记,每个地图的每种类型均只能支持一个。
D010 [120] 1 [GetItem] * *//第一个为怪物名称或者* 第二个为物品名称
D010 [0] 0 [MonGen] * *//第一个为怪物名称 第二个为*, 注:在同一地图的所有MonGen事件共享A,D和自定义变量,因为普通怪物不支持这3个变量, 尽量避免使用读取数据库或者过于复杂的命令
D010 [0] 0 [MonDie] * *//第一个为怪物名称 第二个为*
D010 [0] 0 [UserDie] * *//第一第二个为*
D010 [0] 0 [Enter|Leave] * *//第一第二个为* ,
D010 [0] 0 [MonGen] * *//第一个为怪物名称 第二个为*, 注:在同一地图的所有MonGen事件共享A,D和自定义变量,因为普通怪物不支持这3个变量, 尽量避免使用读取数据库或者过于复杂的命令.注和后面的去掉,没限制了
特别注意:Enter|Leave 因为需要线程同步,所以Enter|Leave的结果(xxx_Ok|xxx_Fail)尽量写到前面尽快返回,不能在触发对话框里的按钮设定
如非要执行时长较长的命令,则可以先返回结果再执行,如
#IF
#ACT
Enter_OK
Readsql .........
MapQuest支持delaygoto等命令,MonGen的变量限制取消
注意:同一个文件仅支持一个触发入口,如下面写法将只能第一个生效
D1002 [0] 0 [MonDie] 潘夜火魔 * [MapQuest_Def\Mon_Banyahagi] [@Main1]
D1002 [0] 0 [MonDie] 潘夜冰魔 * [MapQuest_Def\Mon_Banyahagi] [@Main2]

回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:25:03 | 显示全部楼层
第一个参数为地图文件,可以加:XX, 其中XX为背景地图序号
第二个参数为小地图序号
第三个参数为1,则显示在列表内,设置为0(默认值)则不显示
第四个参数如5,200,200/5,240,240,I500/11,28,483,I551,比奇城Lv0-34
其中
5为地图文件名称
I500指的WorldMap的图标ID500,可省略,
比奇城Lv0-34描述文字,可省略,最长16个字符
修改需要重启GS

回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:25:32 | 显示全部楼层
;;
[@main]
#SAY
<金币商店/@Shop(0)>\
<元宝商店/@Shop(1)>\
<综合商店/@Shop(2)>\

[@Shop()]
#Act
Mov GOODSIDX %ARG(1)
Buy


[Goods]
;Goods格式:物品名称 库存 刷新时间 [货币名称:价格]  [SELLHOUR:n] [PILE:n] [IDX:n]
;物品名称|总库存|刷新时间|货币名称:价格|SELLHOUR:公测小时|PILE:每次购买数量|IDX:商店类型(0,1,2)

万年雪霜 99999 10001 金币:1000 SELLHOUR:12 PILE:10 IDX:0
万年雪霜 99999 10001 SELLHOUR:12 PILE:1 IDX:0
龙马戒指 99999 10001 金币:10000 SELLHOUR:12 PILE:1 IDX:0



龙马戒指 99999 10001 元宝:10000 SELLHOUR:12 PILE:1 IDX:1



天神法杖 99999 10001 元宝:10000 SELLHOUR:12 PILE:1 IDX:2
屠龙 99999 10001 金币:900000 SELLHOUR:12 PILE:1 IDX:2

商店说明:

以上是商店系统完整脚本。此脚本展示了金币商店、元宝商店和综合类的混合商店的用法。
Goods格式:物品名称 库存 刷新时间 [货币名称:价格] [SELLHOUR:n] [PILE:n] [IDX:n]
商店具体例子请参考标准参考服务端商店脚本。
说明:
1.当刷新时间大于10000则刷新时间为分钟,如10010为10分钟刷新一次
2.货币:价格可以自定义金币或者积分的价格,目前货币名称仅支持金币或者积分(控制台指定名称)
3.SELLHOUR:n,开区n小时后才会开售
4.PILE:n,一次性买n个
5:IDX:n,商店序号n使用Mov GOODSIDX xx来指定,默认为0最大为2共3个商店,每次点击npc都会重置为0,这让你可以调用不同的goods列表
6.一个列表最大200个物品
7.在商品界面可以右键包裹的物品出售,优先以积分形式出售
8.如果使用默认的数据库里的金币价格,建议把每次购买数量设置为1。
回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:25:46 | 显示全部楼层
1.dirtype:0单组无方向,1多组16方向,2多组8方向,3单组8方向,4单组16方向,-1疾光电影等8方向非飞行,
2.blend=0或者255原色,1高亮,2普通当为原色时,opa为透明度
3.fix=0表示飞行过程中的魔法声效, fix=1表示单体魔法,击中目标,重复地面等声效,fix=2无声效
4.overrideid表示这个魔法由玩家技能id替代
5.monlight的自定义效果id<256为内置类型使用,ID最高到2048
6.如果魔法效果应该是在动作后显示的,必定是monlight或者magic动作类, 所以要解决神兽等攻击和魔法不同步问题有2个方法:1把这个动作和魔法定义为magic而不是attack, 2.从魔法开始往前移几个空白帧开始播放
7.MonFlyAxe删除,改到MonAttackA
8.action.xml增加thaw,revive效果
回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-5-31 21:26:01 | 显示全部楼层
怪物爆率说明
1.怪物爆率最多100条
2.1/4 金币 1000 这个1000仅怪物有效
3.1/4 木剑 1 2   
1无效,2为分组,范围1-63,
相同分组必须写在一起否则无效,如以下分组将会必掉落其中的一个而不会只掉落第一个
1/1   木剑  1 1
1/1   铁轮  1 1
1/1   黑铁  1 1
客户端其他说明
1. EquipEx,GroundEx,InventoryEx,StoreitemEx从0开始,对应数据库50000+n
2.强魔震法,幽灵盾修改magic.wtl文件添加灰度图这样可以显示不同元素颜色的幽灵盾
3.blen=255原图, blen=0,如果opa>=5为原图,opa为透明度, 反之为普通魔法.blen=1高亮,
4.支持ogg格式的wes音乐文件
.gen刷怪文件说明
地图 x y 名称 范围 数量 时间 [是否强制刷新]
强制刷新可省略,否则将会在启动时就会刷新而不是进入地图才会刷新

ComPose合成打造系统说明
4-5个参数
ComPose [升级首饰|说明文字|破坏,自然,灵魂,体力,0|材料1,材料2,材料3|100]    [0,积分卷,1,4]    [0,装备碎片,10,0,4|0,铁轮,0,5,5|1,积分卷,0,100,100|2,黑铁,10,0,3]    @ExecCallBack    @SwitchTagCallBack
第一个参数:标题|说明文字|4个分栏名称(至少1个),最后一个数字为选中的第几栏,当只有1栏时也可省略|3行的材料名称(至少1个)|起始成功率
第二个参数:目标物品,是否需要,名称,随机最少数量,随机最大数量,  第一个数字可以为0,1,2,  0表示合成此物品,1表示包裹里的装备如[1,屠龙],2佩戴的装备如[2,1]表示必须手中的武器
第三个参数:第几行材料0表示第1行以此类推,材料名称,提高成功率,最少数量,最多数量, 当最小=最大时则表示必须数量
第四个参数:提交按钮的回调,此时会收取所有材料,计算成功率
第五个参数:切换分栏回调,当只有一个分栏时可省略此参数
变量
%UPRATE成功率,只能在ExecCallBack内使用
%UPTAG当前标签,只能在SwitchTagCallBack内使用
%UPTARMAKEINDEX 目标物品的makeindex
命令
注意:前3个参数需要使用[]包含
材料如果是金币或者积分,数量只会取最小值,不能使用随机
目标如果是金币或者积分,最大值不能超过65535
回复 支持 反对

使用道具 举报

666

主题

785

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
28118

最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主荣誉管理论坛元老

 楼主| 发表于 2022-6-2 22:18:37 | 显示全部楼层
2022年6月2日更新内容
1.#include支持
2.修复组队武器经验
3.修复攻击伤害为0时不显示MISS
4.修复聊天滚动条问题
5.增加允许逃刀设定, 这个目的是让被攻击者在跑动同时攻击者出刀时可以逃刀,建议设置100
6.左键单击接错锁定
7.数字综合功能增加攻击模式显示
8.GM金币操作增加消息
9.允许聊天框空白滚动
10.DEMO版取消金币限制
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|黑金论坛    

GMT+8, 2022-12-6 23:04 , Processed in 0.140625 second(s), 23 queries .

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.