UID9498
阅读权限30
威望 点
积分204
注册时间2011-4-13
最后登录1970-1-1
听众
收听
升级
1.33%
|
不要告我侵权。。。
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 ,我们会及时删除。
|