zcyzcy 发表于 2010-5-19 21:25:31

不明白

leonjaykai 发表于 2010-5-19 22:06:35

發個編寫EVT英文的解釋
Introduction
So, you're probably asking yourself, "what is EVT Coding?" EVT coding is the coding language for any quest-related things to do with Knight Online. It has tons of potential, and I'll be explaining what all the functions/commands do and how you would use them.

I'm warning you right now, this is a bit of a long read and EVT coding is very time consuming, so unless you've got time, I wouldn't bother.
Functions/Commands
Basic things you should know :

A is used anytime you're using a IF / Check function
A =隨時使用您使用的IF / 檢查功能                  event=事件   using=運用~ 進行中
E(執行) is used anytime you're using an event function
; is used for commenting – Example            commenting=討論~對話   Example=例如
E RUN_EVENT 10601 ; You can write notes here..
E=執行   運作10601事件 ; 例如你可以寫註記在這裡

-1 is used for noting a space that isn't used, if you're not using one of the supplied spaces you'll have to put a -1.
-1 代表註記這個空格(空間)是不使用的 如果你不是使用或供應其中之一 你必須寫為 -1
ALL of EVT Coding must be done in capital letters.
所有EVT 編碼必須完全使用大寫                        noting 注意到   


Code:編碼
Event Functions    事件功能


ROB_EXAM       取回物品
GIVE_ITEM_INPUT_COUNT   給予ITEM 表中輸入的數量
ROB_ITEM_INPUT_COUNT    取回ITEM 表中輸入的數量
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      移動你的隊伍到那一區    PARTY=遊行中表示隊伍之意
ROB_ALLITEM_PARTY       傳回ALLITEM的隊伍(有可能表示末日輸的那方全部被傳回村之意)
SEND_WEBPAGE_ADDRESS寄送網頁的網址
CHANGE_NAME               改變名字
STAT_POINT_FREE         轉錄 (重新設定)點數為0(可能洗點的意思) 猜測能力(非法術技能)點數洗點之意
SKILL_POINT_FREE      技能點數重新自由設定   猜測技能點數洗點之意
CHANGE_LOYALTY       改變國貢
ZONE_CHANGE_CLAN   改變區域家族(人獸轉換???)
ROLL_DICE            搖骰子( 墨拉登水晶交換或寶箱交換員 )
CHANGE_POSITION      改變位置
PROMOTE_KNIGHT         昇遷為騎士
DESTROY_ITEM             摧毀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                收回item物品…    (轉職任務使用這項)
GIVE_ITEM                給予item物品…   (轉職任務使用這項)
RUN_EVENT               運作事件….第幾號…
SELECT_MSG            選擇任務..NPC
SAY                        說….



Code:
IF Functions(Functions for checking something)功能在於檢查某些事情~事件~~條件等等
下列如述 :
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         有多少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   檢查沒有超重 (重量之下…)


Function explanations   功能解釋~~~
CHANGE_MANNER改變方式 態度樣子ㄅ
Used for removing or adding Manner points.使用在移除或增加 manner的 點數

Use: E CHANGE_MANNER 10000 ; Will give you 10,000 Manner points
執行改變manner 10000 ; 給予你10000 xx點數


E CHANGE_MANNER -10000 ; Will remove 10,000 Manner points
執行 改變 manner -10000 ; 移除 10000 manner 的點數

ZONE_CHANGE_PARTY移動隊伍的區域位置      TP : 可能表示轉換位置的英文縮寫 Traffer Position
Used to TP your whole party to another zone.   移動你的隊伍到另一個區域地圖
Use: E ZONE_CHANGE_PARTY 21 350 350 ; Will tp your party to Moradon, with coordinates of 350 350. Zone ID, X, Y
執行 改變你隊伍的位置到地圖21區 墨拉登 座標 x 350 y 350 的位置

SEND_WEBPAGE_ADDRESS
Will open a in-game browser to the link specified in 'Web_address_us.tbl'
Use: E SEND_WEBPAGE_ADDRESS 4 ; This will open up the webpage which has the index of 4 in your Web_Address_us.tbl file, the first column is the index number.

CHANGE_NAME改變名字
Used for the Name Change Scroll, will change your name instantly in-game.Instantly 即刻 馬上
Use: E CHANGE_NAME ; Simple as that, you will need a Name change stored procedure under the name of 'CHANGE_NEW_ID'
STAT_POINT_FREE
Will restat your character.
Use: E STAT_POINT_FREE ;   執行個人點數可自由設定之意
SKILL_POINT_FREE               個人技能點數可自由設定之意
Will reskill your character.      重新編寫個人屬性   
Use: E SKILL_POINT_FREE ;   
CHANGE_LOYALTY
Used to Add/Remove National Points使用在增加或刪除國貢度
Use: E CHANGE_LOYALTY 500 ; Will add 500 National Points to your character. 個性 屬性 角色
CHANGE_LOYALTY -500 ; Will remove 500 national points from your character.
ZONE_CHANGE_CLAN    CLAN 家族 軍團之意
Used to TP your clan to a different zone.使用在傳喚你軍團到另一個區域
Use: E ZONE_CHANGE_CLAN 21 350 350 ; Will teleport your clan to Moradon, with a X,Y coordinate of 350,350.
Parameters 參數 : Zone ID, X, Y.
ROLL_DICE使用寶箱或水晶交換用~~~
Used to roll the dice, used for randomizing. 隨機化
Use: E ROLL_DICE 20 ; Will roll the dice with up to 20 possible values (1-20), Will be explained more later.
(水晶或寶箱交換有20/1的機會)
CHANGE_POSITION
Used for the Key Quest NPCs, changes the NPC location. Note: This ONLY works if you have the TrapNumbers set up for the NPC.
Use: E CHANGE_POSITION ; That's all you need, then it'll TP It to the next Trap Number set in your K_NPCPOS, it cycles through that.
PROMOTE_KNIGHT   昇遷軍團披風資格 (使用於打半人馬軍團披風任務)
Used for promoting your clan, used when turning in your brain of centaur 半人馬
Use: E PROMOTE_KNIGHT
EXP_CHANGE經驗值改變
Used for giving a character experience points. 增加角色經驗值 (角色接任務時使用)
Use: E EXP_CHANGE 500 ; Will give the character 500 XP
LEVEL_UP
Will level up the character.
Use: E LEVEL_UP ;
PROMOTE_USER_NOVICE                     NOVICE 新手
Will give you your level 10 specialty. 專業
Use: E PROMOTE_USER_NOVICE ;    執行昇遷新手轉職

leonjaykai 发表于 2010-5-19 22:11:50

EVT201文件`國戰201地圖解釋   MSG 3 =MSG為何是3 ??

;;;;;;欲望傳送門;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
EVENT 1
E SELECT_MSG 3 4471 4200 2 4199-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; 撈亥飄甫 竅繼焙誇
END

事件1
執行 選擇任務NPC 34471 Quest_talk_ch在欲望島爭奪戰中,只有分出勝負才可進入欲望島。|欲望島的開放時間共計2小時,其中有1小時的時間可保障勝利國的安全,剩下的1小時,玩家之間可進行PK。|(被敵國玩家殺死會掉落0.5%的經驗值)|─ 欲望島t攻城戰時間 ─ |1點、5點、13點、17點、21點
                     4200Quest_meau_ch 進入欲望島
                     4199Quest_meau_ch 離開。

EVENT 2
E RUN_EVENT 3
E RUN_EVENT 4
END

EVENT 3
A CHECK_NATION 1;墨風膠
E RUN_EVENT 5
E RUN_EVENT 6
END

EVENT 4
A CHECK_NATION 2;郡葛扼靛
E RUN_EVENT 7
E RUN_EVENT 8
END

EVENT 5
A CHECK_BEEF_ROAST_KARUS_VICTORY -1   檢查如果該國有勝利的話 進行以下傳送慾望島動作
E ZONE_CHANGE 31 78 730傳送到慾望島78730 座標
E RETURN
END

EVENT 6
A CHECK_BEEF_ROAST_NO_VICTORY -1    檢查如果該國沒有勝利的話 進行以下對話
E SELECT_MSG 3 4470 6002-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1; 撈亥飄甫 竅繼焙誇
                4470 Quest_talk_ch只有取得勝利的國家才可進入欲望島,經過一小時之後雙方都可進入。|未分出勝負時,兩個國家都不可進入。
                6002 Quest_meau_ch確認
E RETURN
END


EVENT 7
A CHECK_BEEF_ROAST_ELMORAD_VICTORY -1
E ZONE_CHANGE 31 245 950
E RETURN
END

EVENT 8
A CHECK_BEEF_ROAST_NO_VICTORY -1
E SELECT_MSG 3 4470 6002 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1-1 -1 -1 -1 -1;
E RETURN
END

leonjaykai 发表于 2010-5-19 22:12:59

一些執行命令的解釋:
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聽你使喚,
最簡單應用的例子,龍洞地圖中加入傳送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
EVENT 22001 對應 137

我試了好幾個
大概幾個有回應
EVENT 1   對應   37
EVENT 2100134
EVENT 1001    36
EVENT 3000139

30082400 发表于 2010-6-19 09:54:01

文化水平低呀,哎,回家种地去.问题家里没地呀

zhjh999 发表于 2010-7-13 22:21:35

顶一个,正好在研究EVT文件呢
页: 1 [2]
查看完整版本: EVT 命令使用说明