99Max综合娱乐网站(旧版)

 找回密码
 立即注册
查看: 2241|回复: 8

转发一个关于脚本编辑的基础知识

[复制链接]

升级   1.33%

发表于 2011-4-17 10:00:30 | 显示全部楼层 |阅读模式
不要告我侵权。。。

1、坐标系
↑Y的增加
(0,200)--(200,200)
  |         |
  |         |
(0,  0)--(200,  0)→X的增加
坐标从左下开始,向右上递增

2、NPC的定义
NPC类型:        传送点
作用:        把人物从一个坐标传送到另一个坐标
格式:        <gatname>,<x>,<y><tab>warp<tab><displayname><tab><dx>,<dy>,<destination_gatname>,<destination_x>,<destination_y>
说明:        <gatname>     -- 原地图名(不要忘记加上.gat)
<x>,<y>       -- 原地图坐标
<displayname> -- NPC名字(DEBUG用)
<dx>,<dy>     -- 传送点x,y轴的影响范围
dx,dy举例(●表示x,y的位置):
0,0         1,0             2,2
  *      *****    *******
*●*    **●**    *******
  *      *****    *******
                        ***●***
                        *******
                        *******
                        *******
<destination_gatname>           -- 目标地图名(.gat可有可无)
<destination_x>,<destination_y> -- 目标地图坐标
注意事项:        如果在同一位置放置了多个传送点,则只有最后一个生效。
如果目标坐标是不可到达的坐标,则自动进行目标地图内的随机传送。
 
NPC类型:        怪物
作用:        使地图中出现怪物
格式:        <gatname>,<x>,<y>,<xs>,<ys><tab>monster<tab><displayname><tab><npcid>,<number>,<spawn_delay1>,<spawn_delay2>[,<event>]
<gatname>,<x>,<y>,<xs>,<ys><tab>monster_big<tab><displayname><tab><npcid>,<number>,<spawn_delay1>,<spawn_delay2>[,<event>](刷出大型化的怪物。VIP版专用)
<gatname>,<x>,<y>,<xs>,<ys><tab>monster_small<tab><displayname><tab><npcid>,<number>,<spawn_delay1>,<spawn_delay2>[,<event>](刷出小型化的怪物。VIP版专用)
说明:        <gatname>     -- 地图名
<x>,<y>       -- 坐标
<xs>,<ys>     -- 怪物出现的x,y轴的范围
xs,ys举例(●表示x,y的位置):
0,0         2,1
  ●      *****
          **●**
          *****
<displayname>  -- 显示怪物的名字
<npcid>        -- 怪物ID(请参考mob_db.txt)
<number>       -- 怪物数量
<spawn_delay1> -- 刷新后多少毫秒再次刷新
<spawn_delay2> -- 死亡后多少毫秒再次刷新
<event>        -- 怪物死亡后执行的事件(省略时填0)
注意事项:        根据<spawn_delay1>和<spawn_delay2>的数值,优先选择刷新较慢的那个。
 
NPC类型:        商店/现金店
作用:        出售物品
格式:        <gatname>,<x>,<y>,<direction><tab>shop/cashshop<tab><displayname><tab><npcid>,<item_id1>:<price1>[,<item_id2>:<price2>...]
说明:        <gatname>     -- 地图名
<x>,<y>       -- 坐标
<direction>   -- 商店的方向
<direction> 的详情:
107
2 6
345
<displayname>  -- 商店名字
<npcid>        -- 商店的外观
<item_id?>     -- 商品的物品ID(请参考item_db.txt)
<price/>       -- 商品价格
注意事项:        <item_id>:<price>可用,分割指定多个物品。
当「<gatname>,<x>,<y>,<direction><tab>」部分为「-<tab>」的时候,可作为复制源。
 
NPC类型:        复制店
作用:        复制已存在的商店
格式:        <gatname>,<x>,<y>,<direction><tab>substore(<source>)<tab><displayname><tab><npcid>
说明:        <source>以外的参数和商店一样。
<source>为要复制的商店的名字。
如果是复制没有指定地图的商店,则可用于任意地图。否则只能复制同地图名字的商店。
 
NPC类型:        NPC
作用:        制作NPC
格式:        <gatname>,<x>,<y>,<direction><tab>script<tab><displayname><tab><npcid>,[<xs>,<ys>,]{ <script> ... }
说明:        <gatname> -- 地图名
<x>,<y> -- 坐标
<direction> -- NPC方向
<direction> 的详情:
107
2 6
345
<displayname> -- NPC名字。如果<npcid>为-1则为事件名。
<npcid> -- NPC的外观。如果是-1则表示地图内的事件。
<xs>,<ys> -- 触发NPC的x,y轴的范围。
________________________________________
{}(大括号内)包含NPC的所有代码。
不推荐集中在一行内编写代码,建议写成这样:
gatname等,
{
    //注释
    script;
label:
    script;
}
单行注释请用//,多行注释请用/*,*/
「<gatname>,<x>,<y>,<direction><tab>」部分改为「-<tab>」的时候,可作为复制源。
 
NPC类型:        复制NPC
作用:        复制已存在的NPC
格式:        <gatname>,<x>,<y>,<direction><tab>duplicate(<source>)<tab><displayname><tab><npcid>,<xs>,<ys>
说明:        <source>以外的参数和脚本一样。
<source>为要复制的NPC的名字。
如果是复制没有指定地图的NPC,则可用于任意地图。否则只能复制同地图名字的NPC。
 
NPC类型:        全局函数
作用:        制作由脚本调用的用户自定义函数
格式:        function<tab>script<tab><name><tab>{ <script> ... }
说明:        <name> -- 函数名字
制作一个可用callfunc命令调用的函数。函数的参数可以用getarg函数获得。从函数中返回请使用return命令。
 
NPC类型:        mapflag
作用:        设置地图标识
格式:        <gatname><tab>mapflag<tab><const>
说明:        <gatname> -- 地图名字
<const>   -- 要设置的规则
<const>一览表:        nosave<tab><gatname>,<x>,<y>        重新登陆时,移动到<gatname>地图的(x,y)坐标。
如果是"nosave SavePoint"的话,则移动到人物的储存点。
nomemo<tab>dummy        禁止记忆(禁止使用/nomemo)
noteleport<tab>dummy        禁止使用指定了SavePoint或Random的warp段、传送之阵和瞬移
noportal<tab>dummy        禁止传送之阵(battle_athena.conf的noportal_flag为1时有效)
noreturn<tab>dummy        禁止warp命令SavePoint回城,并且禁止使用蝴蝶翅膀
nobranch<tab>dummy        禁止召怪
nopenalty<tab>dummy        禁止任何处罚
nozenypenalty<tab>dummy        死亡时不掉钱
notrade<tab>dummy        禁止玩家间交易
norevive<tab>dummy        死亡时强制传送到储存点
noskill<tab><skill_id1>:<skill_id2>:<skill_id3>...        禁止使用<skill_id>技能
noskillall<tab>dummy        禁止使用所有技能
nodrop<tab>dummy        怪物死亡后不掉落物品
noabra<tab>dummy        禁止使用随机技能
noicewall<tab>dummy        禁止使用冰墙
snow<tab>dummy        下雪
fog<tab>dummy        雾
sakura<tab>dummy        樱花
leaves<tab>dummy        落叶
rain<tab>dummy        下雨
base_exp_rate<tab><rate>        设置Base经验倍率(优先于battle_athena.conf)
job_exp_rate<tab><rate>        设置Job经验倍率(优先于battle_athena.conf)
monster_noteleport<tab>dummy        禁止怪物使用瞬移
pvp<tab>dummy        变成PVP地图
pvp_noparty<tab>dummy        变成PVP地图(不可攻击同队玩家)
pvp_noguild<tab>dummy        变成PVP地图(不可攻击同公会玩家)
pvp_nightmaredrop<tab><drop_id>,<drop_type>,<drop_per>        变成PVP地图(梦魇模式)
<drop_id>--掉落物品ID。如果为random则表示随机掉落物品(random区分大小写)
<drop_type>--掉落物品类型。inventory表示随身物品、equip表示装备、all表示以上类型均有可能(注意区分大小写)
<drop_per>--掉率(万分率)
pvp_nocalcrank<tab>dummy        变成PVP地图(不计算PVP点数和排行榜)
gvg<tab>dummy        变成GVG地图
gvg_noparty<tab>dummy        变成GVG地图(不可攻击同队玩家)
pk<rab>dummy        变成PK地图
pk_noparty<tab>dummy        变成PK地图(不可攻击同队玩家)
pk_noguild<tab>dummy        变成PK地图(不可攻击同公会玩家)
pk_nightmaredrop<tab><drop_id>,<drop_type>,<drop_per>        变成PK地图(梦魇模式)
<drop_id>--掉落物品ID。如果为random则表示随机掉落物品(random区分大小写)
<drop_type>--掉落物品类型。inventory表示随身物品、equip表示装备、all表示以上类型均有可能(注意区分大小写)
<drop_per>--掉率(万分率)
pk_nocalcrank<tab>dummy        变成PK地图(不计算PK点数和排行榜)
turbo<tab>dummy        变为竞速模式
noitem<tab><item_id1>:<item_id2>:<item_id3>...        禁止使用某个物品
noitemall<tab>dummy        禁止使用所有物品
no_char_pvp<tab>dummy        禁止玩家使用#pvpon/#pvpoff(VIP版专用)
no_disguise<tab>dummy        禁止玩家使用#disguise/#undisguise
nodropitem<tab>dummy        禁止玩家丢弃物品
no_create_party<tab>dummy        禁止创建队伍
no_invite_party<tab>dummy        禁止邀请玩家加入队伍
no_leave_party<tab>dummy        禁止玩家离开队伍
potion_drop_rate<tab><rate>        设置恢复品掉率
expend_drop_rate<tab><rate>        设置消耗品掉率
refine_drop_rate<tab><rate>        设置精炼材料掉率
etc_drop_rate<tab><rate>        设置收集品掉率
weapon_drop_rate<tab><rate>        设置武器掉率
equip_drop_rate<tab><rate>        设置防具掉率
card_drop_rate<tab><rate>        设置卡片掉率
petequip_drop_rate<tab><rate>        设置宠物装备掉率
arrow_drop_rate<tab><rate>        设置箭矢掉率
other_drop_rate<tab><rate>        设置其他物品掉率
noequip<tab><equip_id1>:<equip_id2>:<equip_id3>...        设定地图上不能装备的物品,如果有装备上,则自动卸下
nocard<tab><card_id1>:<card_id2>:<card_id3>...        设定地图上不能装备插有指定卡片的物品,如果有装备上,则自动卸下
gvg_cannot_see_hide<tab>dummy        设定地图不能利用GM模式看到隐身(但狂暴蚁后卡等等仍然效果正常)
gvg_cannot_see_damage<tab>dummy        设定地图不能看到伤害值(包括GM模式)
show_mob_hp<tab><type>        设定地图显示怪物HP,type为1则用HP/MaxHP显示,type为2则用%显示(show_mob_hp、no_show_mob_hp的mapflag优先于battle_athena.conf的show_mob_hp开关。当show_mob_hp、no_show_mob_hp同时存在时,则以show_mob_hp为优先)
no_show_mob_hp<tab>dummy        设定地图不显示怪物HP(show_mob_hp、no_show_mob_hp的mapflag优先于battle_athena.conf的show_mob_hp开关。当show_mob_hp、no_show_mob_hp同时存在时,则以show_mob_hp为优先)
autoloot<tab><value>        设定本地图内是否自动捡物。
当<value>=1时,本地图强制自动捡物。
当<value>=2时,本地图强制不自动捡物。
no_called<tab>dummy        设定本地图的人物不能被技能召唤
no_follow<tab>dummy        设定本地图无法跟随(注意:双方只要其中一方的地图的no_follow生效,就无法跟随。)
Mob_Collision_Detection<tab><value>        启用怪物碰撞检测系统。
当<value>=1时,怪物不会重叠到一个点上,但是那个点可以通行。
当<value>=2时,怪物不会重叠到一个点上,而且那个点也不能通行。
gvg_no_alliance<tab>dummy        设置GVG时不能同盟(能打到同盟)
mob_noskillall<tab>dummy        禁止怪物使用所有技能
mob_noskill<tab><skill_id1>:<skill_id2>:<skill_id3>...        禁止怪物使用某些技能

 
________________________________________
3、关于NPC的一些注意事项
3.1
Jathena++以NPC的标识名来区别NPC,而不是显示名。
如果省略了子名字的话,则使用显示名来代表识别名。
在显示名后加上#表示子名字的话,则子名字不会显示出来。
举例:
<displayname>        <显示名>        <标识名>
A        A        A
A::B        A        B
A#dummy        A        A#dummy
 
3.2
单行注释请使用//,(多行)文本注释注释请使用/* */。
服务端在解释脚本时,会忽略多余的空格、TAB、换行符。
下面举一些例子:
1.超出NPC范围的文字是错误的
prontera.gat,132,150,4 script Test1 120,{
    end;
}
set @hoge,1; ← ×
2.注释OK
// 注释
prontera.gat,132,151,4 script Test2 121,{
    end;
} /* 注释区域 */
3.可以使用以下多行注释
/* prontera.gat,132,152,4 script Test3 122,{
    end;
} */
________________________________________

评分

1

查看全部评分

温馨提示:
1. 本站模拟器源于网络,经 99Max.mE 二次开发,仅供个人学习娱乐使用,切勿用于商业用途,否则后果自负!
2. 如需更好体验游戏内容,请前往官方游戏!不具备合法的运营模式,都是强盗,请勿擅自搭建私服!
3. 如本站内容有侵犯您的权益,请发送信息至QQ:372607220 或 EMAIL:372607220@qq.com ,我们会及时删除。

升级   1.33%

 楼主| 发表于 2011-4-17 10:01:48 | 显示全部楼层
4、脚本说明和基本规则
    *数字
        可使用有符号数和16进制数。
        有符号数可请使用半角的数字,如123456等。
        16进制数要以0x开头,例如0x12。
    *字符串
        字符的表示要用""包含在其中。
        如果要显示"字符,请使用\"代替。
        如果要显示\字符,请使用\\代替。
        字符串中也可以用^000000等显示颜色。
        也可以使用:变量 + "字符串"这样的形式组合。
    *单目运算符
        以下运算符仅需要一个操作数即可。
            -    符号取反
            ~    按位取反
            !    逻辑非
    *双目运算符
        以下运算符需要两个操作数。
            +    加法/字符串连接
            既可以当作加法运算,也可以当作连接字符串符号。

            -    减法
            *    乘法
            /    除法
            %    取模(余数)
            &    按位与
            |    按位或
            ^    异或
            &&   逻辑与
            ||   逻辑或
            >>   向右移位
            <<   向左移位

        以下双目运算符在关系成立时返回1,否则返回0。
            ==   等于
            !=   不等于
            >    大于
            >=   大于等于
            <    小于
            <=   小于等于
    *三目运算符
            ?:   唯一一个三目运算符

            举例:<cond> ? <ture> : <false>
            如果<cond>为真,则返回<ture>部分,否则返回<false>部分。
    *变量
        必须使用半角字符表示变量的前缀、后缀。
        变量的生存期看前缀而定。
前缀        作用范围        生存期
(无前缀)        人物        永久
@        人物        人物在线时
$        Map服务器        永久
$@        Map服务器        同一次Map服务器运行时
#        帐号(个人)        永久
##        帐号(全服)        永久
'        单个NPC        同一次Map服务器运行时
'@        单个NPC+人物        同一次NPC触发时
        简单来说,临时变量带有@、服务器变量带有$、帐号变量带有#。
        '表示NPC变量。
        同名的NPC变量,在NPC之间不会发生冲突;而且是跟玩家触发没有关系的(就是多个玩家共用一个'变量)。
        '变量依赖于NPC,即使NPC结束后,其值也会被保存(Map服务器重启时才消失)。
        虽然使用callfunc函数时,其参数不会影响到其他NPC变量;但是如果配合getarg()函数的话,仍然可以操作传递的参数(参数是以引用传递的)。举例:
        function script func1 {
            set 'var1, 'var1 + 1;            // func1::'var1 加1
            set getarg(0), getarg(0) + 1;    // func2::'var1 加1
        }
        function script func2 {
            callfunc "func1", 'var1;
        }
        '@变量是函数固有的变量,使用callfunc、callsub时,会重新分配内存空间给变量,return时则使分配的变量超出范围。
        简单来说,就像是C语言的临时变量一样,还可以使用递归处理。当然,这种变量也可以使用getarg()函数操作。举例:
        function script func3 {
            set '@n, rand(5);
            if( '@n == 0 ) {
                return;
            } else {
                // '@n 变量和其他变量不同,调用callfunc时变量的范围不同,
                // 所以不会出现mes的结果全部为0的现象。
                callfunc "func3";
            }
            mes '@n;
            return;
        }
        此外,函数类型由后缀决定。
        但是,字符串类型只适用于人物临时变量、NPC变量、临时/永久的服务器变量。(前缀为@、$、$@的)
后缀        类型
(无后缀)        数值类型
$        字符串类型
    <例> @hoge$ 字符串类型人物临时变量
         hoge   数值类型人物永久变量
         $hoge  数值类型服务器永久变量
        不要过多的使用永久变量。
        不需要时马上设置为0进行删除。
        认真思考是否需用用到永久变量。
        特别时人物/帐号变量是有数量限制的。
    *数组变量
        变量名后紧跟[]则表示数组变量。
        注意变量名与“[”之间不能留空。
        也可以使用多维数组,维数没有限制。
        <例> hoge[10]    fuga[ @temp ]    foo[5][@i][3]
        数组元素的索引从0-127。索引为0时表示和同名变量。
        比如说,hoge[0]和hoge是相同的变量。
        同样的,fuga[0][1]和fuga[1]是相同的变量。
        (但是要注意,foo[1][0][2]和foo[1][2]是不同的变量。)
        数组变量可储存人物变量、服务器变量、NPC变量。数值类型或字符串类型均可。
    *标签
        标签名是以(半角的)字母或_开头、并且可包含数字的单词组成。
        例如  L_hoge:。
        用if或menu指令时可跳转到该标签。
    *Const属性
        Athena的db/const.txt给出了这些Const属性。
        只有在脚本内才可以使用。
    *表达式
        在指令的参数为数值类型时使用。
        不需要空格,为了便于阅读时也可以加上空格。
        表达式为真时返回1,否则返回0。
    *事件
        没有固定格式的脚本。
        可用于制作与时间相关的脚本。
        在调用时指定为“事件名::标签”的话,则从事件中指定的标签开始执行脚本。
    *命令语法
        参数请用半角的空格来分割。
        函数必须带()。如果是没有参数的函数,括号内不能带任何东西(包括0)。例如:checkcart()
        命令必须在最后加上;。

升级   1.33%

 楼主| 发表于 2011-4-17 10:03:46 | 显示全部楼层
areamisceffect命令
作用:区域内显示各种效果
________________________________________
格式:        areamisceffect <gatname>,<x0>,<y0>,<x1>,<y1>,<type>;
________________________________________
参数:
 
<gatname>        地图名(字符串类型)
<x0>,<y0>,<x1>,<y1>        范围内坐标(数值类型)
<type>        效果代码(数值类型)
________________________________________
说明:        <gatname>为this(区分大小写)时,表示当前地图。
<type>可参考“各种效果一览表(misceffect)”。



areasoundeffect命令
作用:区域内打开/关闭声音
________________________________________
格式:        areasoundeffect <gatname>,<x0>,<y0>,<x1>,<y1>,<name>,<type>;
________________________________________
参数:
 
<gatname>        地图名(字符串类型)
<x0>,<y0>,<x1>,<y1>        区域内的坐标(数值类型)
<name>        文件名(字符串类型,最大24个字符)
<type>        重复模式(数值类型)
0 - 播放1次
1 - 反复播放
2 - 停止播放
________________________________________
说明:        <gatname>为this(区分大小写)的话,则表示当前地图。



breakadoption函数
作用:解除养子关系
________________________________________
格式:        breakadoption([<name>])
________________________________________
参数:
 
<name>        玩家名字(字符串类型,省略时表示当前玩家)
________________________________________
说明:        解除家庭成员中包含<name>名字的养子关系。
成功则返回1,否则返回0。



changepettype命令
作用:改变宠物捡物类型
________________________________________
格式:        changepettype <type>[,<char_id>];
________________________________________
参数:
 
<type>        捡物类型(数值类型)
0 - 不捡取
1 - 宠物持有
2 - 放入主人随身物品中
<char_id>        玩家的char_id(数值类型,省略时表示自己)



csvdelete命令
作用:删除一行
________________________________________
格式:        csvdelete <file>,<row>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
________________________________________
说明:        删除指定的csv文件中的第<row>行,之后的内容向前移。
为了安全起见,文件名仅限于[A-Za-z0-9](包含目录或扩展名的话将失败)。



csvfind函数
作用:查找csv文件
________________________________________
格式:        csvfind(<file>,<col>,<val>)
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<col>        列号(数值类型)
<val>        查找值(数组/字符串类型)
________________________________________
说明:        查找csv文件中第<col>列的内容为<val>的第一行,然后返回该行号。
失败时,返回-1。



csvflush命令
作用:刷新csv
________________________________________
格式:        csvflush <file>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
________________________________________
说明:        如果csv文件的内容被改变,则把变更内容全部写入到磁盘中,否则不做任何处理。
为了安全起见,文件名仅限于[A-Za-z0-9](包含目录或扩展名的话将失败)。



csvgetcols函数
作用:返回csv文件的列数
________________________________________
格式:        csvgetcols(<file>,<row>)
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
________________________________________
说明:        返回第<row>行的列数。



csvgetrows函数
作用:返回csv文件的行数
________________________________________
格式:        csvgetrows(<file>)
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
________________________________________
说明:        文件不存在时,则返回-1。



csvinsert命令
作用:插入一行空行
________________________________________
格式:        csvinsert <file>,<row>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
________________________________________
说明:        从指定的csv文件中的第<row>行插入一行空行。
为了安全起见,文件名仅限于[A-Za-z0-9](包含目录或扩展名的话将失败)。



csvread函数
作用:返回csv文件指定的一格内容
________________________________________
格式:        csvread(<file>,<row>,<col>)
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
<col>        列号(数值类型)
________________________________________
说明:        返回csv文件中第<row>行第<col>列的字符串。
失败时,返回空字符串。











csvreadarray命令
作用:把csv文件中的某行内容保存到数组中
________________________________________
格式:        csvreadarray <file>,<row>,<output_array>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
<output_array>        要输出的数组名(数组类型的变量)
________________________________________
说明:        把csv文件中第<row>行的内容保存到<output_array>数组中。


csvreload命令
作用:清除指定csv文件的缓存
________________________________________
格式:        csvreload <file>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
________________________________________
说明:        清除指定csv文件的缓存。
写入csvwrite, csvwritearray, csvsort, csvinsert, csvdelete命令变更的内容到磁盘中。


csvsort命令
作用:排序csv
________________________________________
格式:        csvsort <file>,<col>,<order>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<col>        列号(数值类型)
<order>        顺序(数值类型,1:升序、-1:降序)
________________________________________
说明:        将指定的csv文件以第<col>列的数值按<order>顺序进行排序。
为了安全起见,文件名仅限于[A-Za-z0-9](包含目录或扩展名的话将失败)。



csvwrite命令
作用:把数据写入csv文件
________________________________________
格式:        csvwrite <file>,<row>,<col>,<val>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
<col>        列号(数值类型)
<val>        写入的值(数组/字符串类型)
________________________________________
说明:        指定的csv文件中,把<val>写入第<row>行第<col>列。
为了安全起见,文件名仅限于[A-Za-z0-9](包含目录或扩展名的话将失败)。


csvwritearray命令
作用:把数组写入csv文件
________________________________________
格式:        csvwritearray <file>,<row>,<array>;
________________________________________
参数:
 
<file>        csv文件名(字符串类型)
<row>        行号(数值类型)
<array>        数组(数组类型变量)
________________________________________
说明:        把<array>的内容写入csv文件中的第<row>行。


delinventory命令
作用:删除指定索引的物品
________________________________________
格式:        delinventory <index>,<count>[,<char_id>];
________________________________________
参数:
 
<index>        物品索引(数值类型,0-99)
<count>        数量(数值类型)
<char_id>        人物的char_id(数值类型,省略时表示自己)
________________________________________
说明:        删除人物身上索引为<index>的物品<count>个。


disguiseall命令
作用:把全服务器玩家变身为怪物/NPC/人工生命体
________________________________________
格式:        disguiseall <id>;
________________________________________
参数:
 
<id>        怪物ID/NPC ID/人工生命体ID(数值类型)



flagname命令
作用:改变NPC名字
________________________________________
格式:        flagname <name>;
________________________________________
参数:
 
<name>        新NPC名字(字符串类型)

升级   1.33%

 楼主| 发表于 2011-4-17 10:04:56 | 显示全部楼层
继续。。。
getguildmembers函数
作用:返回公会总人数
________________________________________
格式:        getguildmembers(<guild_id>)
________________________________________
参数:
 
<guild_id>        公会ID(数值类型)


getguildrelation函数
作用:取得公会关系
________________________________________
格式:        getguildrelation(<guild_id1>[,<guild_id2>])
________________________________________
参数:
 
<guild_id1>        公会1的ID(数值类型)
<guild_id2>        公会2的ID(数值类型,省略时表示触发脚本的玩家的公会)
________________________________________
说明:        返回值:
+1 相同公会
+2 同盟公会
+4 guild1方面敌对公会
+8 guild2方面敌对公会

返回-1时,表示任意一方公会不存在。

gethomuninfo函数
作用:获取携带人工生命体的详细信息
________________________________________
格式:        gethomuninfo(<type>[,<char_id>])
________________________________________
参数:
 
<type>        类型(数值类型)
0 - homun_id(人工生命体唯一的ID)
1 - homun_base_lv(等级)
2 - homun_name(人工生命体名字)
3 - friendly(亲密度)
4 - hungry(饥饿度)
5 - class(homun_db.txt对应的ID)
<char_id>        人物的char_id(数值类型,省略时表示自己)
________________________________________
说明:        人物没有携带人工生命体、或者人物不存在时,返回0。


getip函数
作用:解析域名
________________________________________
格式:        getip(<IP/host>)
________________________________________
参数:
 
<IP/host>        IP或主机名(字符串类型)
________________________________________
说明:        返回一个字符串数据类型的IP地址。


getitemid函数
作用:根据物品名字取得物品ID
________________________________________
格式:        getitemid(<item_name>)
________________________________________
参数:
 
<item_name>        物品名字(字符串类型)


getnpcposition命令
作用:改变NPC“职位”
________________________________________
格式:        getnpcposition <name>;
________________________________________
参数:
 
<name>        新职位名字(字符串类型)


getpkflag函数
作用:检查地图的mapflag是否设置了pvp,gvg
________________________________________
格式:        getpkflag(<gatname>)
________________________________________
参数:
 
<gatname>        地图名(字符串类型)
________________________________________
说明:        <gatname>为this(区分大小写)的话则表示当前地图。

返回值:
=-1 失败
=0 没有设置这2个标识
+1 设置了pvp的mapflag
+2 设置了gvg的mapflag


getweapontype函数
作用:返回装备的武器的类型
________________________________________
格式:        getweapontype([<char_id>])
________________________________________
参数:
 
<char_id>        人物的char_id(数值类型)
________________________________________
说明:        省略<char_id>时,表示当前人物。

返回的常量值请参考const.txt(从WT_FIST开始)。


homundel命令
作用:删除人工生命体
________________________________________
格式:        homundel[<char_id>];
________________________________________
参数:
 
<char_id>        玩家的char_id(数值类型,省略时表示自己)


homunevolution命令
作用:让人工生命体进化
________________________________________
格式:        homunevolution[<char_id>];
________________________________________
参数:
 
<char_id>        玩家的char_id(数值类型,省略时表示自己)

homunrename命令
作用:改变人工生命体的名字
________________________________________
格式:        homunrename <name>[,<flag>[,<char_id>]];
________________________________________
参数:
 
<name>        人工生命体的新名字(字符串类型)
<flag>        更换名字标识(数值类型,默认时为0)
0 - 根据当前的改名状态
1 - 标记为未改名状态,日后可以更改名字
2 - 标记为已改名状态,日后不可以更改名字
<char_id>        玩家的char_id(数值类型,省略时表示自己)


leaveguild命令
作用:强制离开公会
________________________________________
格式:        leaveguild[<char_id>];
________________________________________
参数:
 
<char_id>        玩家的char_id(数值类型,省略时为自己)


leaveparty命令
作用:强制离开队伍
________________________________________
格式:        leaveparty[<char_id>];
________________________________________
参数:
 
<char_id>        玩家的char_id(数值类型,省略时为自己)


npcskillattack命令
作用:给玩家显示伤害效果
________________________________________
格式:        npcskillattack <skillid>,<skilllv>,<val>;
________________________________________
参数:
 
<skillid>        技能ID(数值类型)
<skilllv>        技能LV(数值类型)
<val>        显示的伤害值(数值类型)
________________________________________
说明:        被命令的NPC给玩家造成技能为<skillid>的伤害效果,伤害值显示为<val>(没有造成实际伤害)。
此命令仅限于攻击技能的效果。


npcskillpos命令
作用:显示地面技能效果
________________________________________
格式:        npcskillpos <skillid>,<skilllv>,<x>,<y>;
________________________________________
参数:
 
<skillid>        技能ID(数值类型)
<skilllv>        技能LV(数值类型)
<x>,<y>        坐标(数值类型)
________________________________________
说明:        被命令的NPC在(x,y)坐标显示技能为<skillid>的技能效果(并没有实际效果)。
此命令仅限于指定的地面技能的效果。
但是不设置技能单位。

例 → LoV正常地被表示。
      ME只显示初期效果,不在地面上显示单位效果。


recalcstatus命令
作用:重新计算玩家的属性/状态
________________________________________
格式:        recalcstatus[<account_id>];
________________________________________
参数:
 
<account_id>        帐号ID(数值类型,省略时表示自己)



sc_ison函数
作用:检查人物异常状态
________________________________________
格式:        sc_ison(<type>)
________________________________________
参数:
 
<type>        异常状态的编号(数值类型,请参考skill.h或check_option的项目)
________________________________________
说明:        返回关联的人物是否处于指定的异常状态。
如果是则返回1,否则返回0(包括失败)。


sc_starte命令
作用:造成指定对象异常状态
________________________________________
格式:        sc_starte <type>,<tick>,<val1>[,<target>];
________________________________________
参数:
 
<type>        异常状态的编号(数值类型,请参考skill.h或check_option的项目)
<tick>        异常状态持续的时间(数值类型,单位为ms)
<val1>        造成异常状态对应的技能的等级(数值类型)
<target_id>        对象的唯一ID值(数值类型,省略时为自己)
________________________________________
说明:        ※不重新计算异常状态。


setequipscript命令
作用:设置物品的装备效果
________________________________________
格式:        setequipscript <item_id>,<script>;
________________________________________
参数:
 
<item_id>        物品ID(数值类型)
<script>        物品的使用效果(字符串类型)
________________________________________
说明:        <script>一定要在首尾包含“{}”。


setestate命令
格式和作用:(和setoption函数一样)


setusescript命令
作用:设置物品的使用效果
________________________________________
格式:        setusescript <item_id>,<script>;
________________________________________
参数:
 
<item_id>        物品ID(数值类型)
<script>        物品的使用效果(字符串类型)
________________________________________
说明:        <script>一定要在首尾包含“{}”。

<例> setusescript 501,"{ if(Class==0) killmonsterall \"this\"; else heal -HP+1,0; }";


undisguiseall命令
作用:全服务器玩家取消变身
________________________________________
格式:        undisguiseall;


usediteminfo函数
作用:使用物品时,返回使用物品的ID、制造者的ID
________________________________________
格式:        usediteminfo(<flag>)
________________________________________
参数:
 
<flag>        标识(数值类型)
________________________________________
说明:        <flag> = 0:返回使用物品ID
<flag> = 1:返回制作者ID

人物不存在时,则返回-1。

升级   38%

发表于 2011-4-21 18:47:00 | 显示全部楼层
e..................頂頂吧

升级   88.67%

发表于 2012-3-19 17:44:30 | 显示全部楼层
技术贴,慢慢学习吧,本人只会VB脚本和js脚本

升级   29.95%

发表于 2017-12-31 17:46:07 | 显示全部楼层
技术贴,慢慢学习吧

升级   79.33%

群组: JRO日本客户端

发表于 2019-3-16 17:53:51 | 显示全部楼层
谢谢楼主大大分享!
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|99Max综合娱乐网站(旧版) ( 沪ICP备11024206号-1 )

GMT+8, 2024-5-19 10:39 , Processed in 0.082682 second(s), 30 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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