搜索
 找回密码
 加入

初步理解EVT的CODING~,学编写EVT

cege 2010-3-9 18:43:30 2811
本帖最后由 cege 于 2009-11-3 14:29 编辑

如何加入传送NPC,如何打开商城,如何让你的队伍进入一个区域,如果NPC听你使唤,这些都不成问题;指挥NPC,你需要编写EVT,首先让我们来理解EVT的含义:

所有EVT必须大写;

A 等于 IF ,如果的意思;
E 等于RUN,运行的意思;
; 的作用是加注释
-1的作用是占位,如果你使用的命令有你未使用的参数,需要使用-1占位;至于命令多少个参数尚未研究清楚。
E RUN_EVENT 10601 ;就是 运行10601号事件。

执行动作命令有:
ROB_EXAM
GIVE_ITEM_INPUT_COUNT
ROB_ITEM_INPUT_COUNT
OPEN_INPUT_COUNT
LOG_OLYMPIC_ACCOUNT
CHECK_OLYMPIC_ACCOUNT
MOVE_MIDDLE_STATUE
GIVE_LOGTIME_ITEM
CHECK_LOGTIME_ACCOUNT
GIVE_KJWAR_ITEM
CHECK_KJWAR_ACCOUNT
CHECK_PCBANG_OWNER
GIVE_PCBANG_ITEM
CHECK_PCBANG_ITEM
SHOW_PCBANG_ITEM
CHANGE_MANNER
EMIGRATION_ACCEPT
STATE_CHANGE
ZONE_CHANGE_PARTY
ROB_ALLITEM_PARTY
SEND_WEBPAGE_ADDRESS
CHANGE_NAME
STAT_POINT_FREE
SKILL_POINT_FREE
CHANGE_LOYALTY
ZONE_CHANGE_CLAN
ROLL_DICE
CHANGE_POSITION
PROMOTE_KNIGHT
DESTROY_ITEM
EXP_CHANGE
LEVEL_UP
STAT_POINT_DISTRIBUTE
SKILL_POINT_DISTRIBUTE
PROMOTE_USER_NOVICE
ZONE_CHANGE
KISS_USER
RUN_EXCHANGE
GIVE_PROMOTION_QUEST
PROMOTE_USER
SAVE_EVENT
GIVE_PPCARD_ITEM
RETURN
REQUEST_PERSONAL_RANK_REWARD
REQUEST_REWARD
ROB_NOAH
SAVE_COM_EVENT
LOG_COUPON_ITEM
GIVE_NOAH
OPEN_EDITBOX
ROB_ITEM
GIVE_ITEM
RUN_EVENT
SELECT_MSG
SAY


检查动作命令有:
CHECK_BEEF_ROAST_NO_VICTORY
CHECK_BEEF_ROAST_ELMORAD_VICTORY
CHECK_BEEF_ROAST_KARUS_VICTORY
CHECK_EXAM_COUNT
CHECK_WEIGHT_INPUT_COUNT
CHECK_EXIST_ITEM_INPUT_COUNT
CHECK_INPUT_COUNT
CHECK_MIDDLE_STATUE_NOCAPTURE
CHECK_MIDDLE_STATUE_CAPTURE
CHECK_CLAN_RANKING
CHECK_LOYALTY_RANK
CHECK_LOYALTY_RANK_MONTHLY
CHECK_EMPTY_SLOT
CHECK_STAT_TOTAL
CHECK_SKILL_TOTAL
CHECK_NO_CASTLE
CHECK_CASTLE
CHECK_MONSTER_CHALLENGE_USERCOUNT
CHECK_MONSTER_CHALLENGE_TIME
CHECK_MANNER
CHECK_NO_CLAN
CHECK_CLAN
CHECK_DICE
CHECK_KNIGHT
CHECK_CLAN_GRADE
CHECK_NO_CHIEF
CHECK_CHIEF
CHECK_LOYALTY
CHECK_NOCLASS
CHECK_ITEMCHANGE_NUM
CHECK_EXCHANGE
CHECK_PROMOTION_ELIGIBLE
CHECK_EXIST_EVENT
CHECK_NOEXIST_EVENT
CHECK_NOEXIST_ITEM_OR
CHECK_NOEXIST_ITEM_AND
CHECK_EXIST_ITEM_OR
CHECK_EXIST_ITEM_AND
CHECK_PPCARD_TYPE
CHECK_PPCARD_SERIAL
CHECK_NATION
CHECK_NOAH
EXIST_COM_EVENT
NOEXIST_COM_EVENT
HOWMUCH_ITEM
CHECK_LV
RAND
CHECK_EDITBOX
CHECK_WEIGHT
CHECK_CLASS
CHECK_NOEXIST_ITEM
CHECK_EXIST_ITEM
CHECK_SKILL_POINT
CHECK_OVER_WEIGHT
CHECK_UNDER_WEIGHT

一些执行命令的解释:
ZONE_CHANGE_PARTY:将你的队伍传送到目的区域;
SEND_WEBPAGE_ADDRESS,将打开游戏内浏览器,打开'Web_address_us.tbl'中的网址,例如:
E SEND_WEBPAGE_ADDRESS 4;将打开你的Web_Address_us.tbl 中的序号为4的的网址;

GIVE_ITEM: 给你指定的物品,例如:
E GIVE_ITEM 10100000 1;给你1个ITEM表中NUM为10100000的物品。

一些检查命令的解释:
CHECK_EXIST_EVENT,检查某EVENT是否已经启动,例如:
A CHECK_EXIST_EVENT 30 0 ;如果 event 30 未启动,则...
A CHECK_EXIST_EVENT 30 1 ; 如果event 30 已经启动, 但是尚未完成,则....
A CHECK_EXIST_EVENT 30 2 ; 如果event 30已经完成,则.....

CHECK_EXIST_ITEM  用来检查你身上是否有某物品,例如
: A CHECK_EXIST_ITEM 205002007 1 ; 如果你有 205002007 物品,则...

    大部分命令,可以根据名字猜出个大概,如果猜不出来,可以从EVT例子中学习;

  还有另一个问题,NPC与EVT中EVENT对应的关系,至今未发现有对应的表可以查,不过经过观察,发现EVENT 22001与KNPC中  byType为137的NPC对应。有人认为对应关系在ebenezer中设定。

看下边的例子:
EVENT 22001
E SELECT_MSG 16084 61000 60000 42010 60001 42020 60002 42030 60003 22040 60004 42050 60005 42060 60006 42070 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ;
END
16084 - NPC代号,但是不是一定对应的,可能你找不到代号为16084的NPC,因为EVENT 22001对应于byType为137的NPC,只要NPC的byType为137都会响应EVENT 22001;
61000 - NPC响应你打开的菜单的注释,菜单的注释显示的内容为 in 'Quest_Talk_us.tbl'中61000编号的内容;
60000 - 菜单中的第一个选项,选项显示 'Quest_Menu_us.tbl'中60000编号的内容;
42010 - 这是响应你对60000 选项作出选择后执行的事件;
60001 - 同上T菜单中的第二个选项,选项显示 'Quest_Menu_us.tbl'中60000编号的内容;
52020 - 又是事件, 这是响应你对60001 选项作出选择后执行的事件;

现在大概可以明白大多数EVT中的事件,但是EVENT 编号与与KNPC中  byType对应关系可能需要大量经验,才能顺利的编写EVT。
以上大部分翻译自英文的解释。希望大家能顺利编写EVT,叫NPC听你使唤,{:1_209:}

评分

1

查看全部评分

17 回复

cege
2009-11-3 22:41:03
楼主
点击查看详情
最简单应用的例子,龙洞地图中加入传送NPC,只需要在K_NPCPOS中加入1个 byType为137的NPC(2个种族的话需要加两个NPC),66.EVT这样编写:

EVENT 22001
E SELECT_MSG 35568 51000 50008 22010 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1;可能找不到NPC_ID为35568的NPC,但是没关系,只要byType为137的NPC都会响应此事件。
END
EVENT 22010 ;
E ZONE_CHANGE 21 292 347;传送到21区,就是MLD。
END
langziming
2009-11-3 23:46:28
多谢翻译,对我们E文不好的大有益处啊!
f9365431
2009-11-4 01:33:31
EVENT 22001 對應 137

我試了好幾個
大概幾個有回應
EVENT 1   對應   37
EVENT 21001  34
EVENT 1001    36
EVENT 30001  39
你們試看看
表裡我真的找不到可以對應的了
我也猜是要到AI或EB裡去找
28085279
2009-11-4 13:09:38
谢谢,翻译得很好,我正愁看不懂呢
天赐熊资
2009-11-5 12:46:56
我已经另存为一个文本了,怕以后找不到,哈哈
leonjaykai
2009-11-9 18:40:22
好東西~~~~學
214550663
2009-11-9 22:03:11
楼主的办法让我领略到了编写EVT的风范啊!
⑦埰媣汸
2010-3-8 17:16:19
学习了 领悟了 哈哈
laoyou456
2010-3-9 18:43:30
有人发过对应的EVT~~~~~~~~~~
12下一页
高级模式
游客