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
E is used anytime you're using an event function
; is used for commenting - Example
E RUN_EVENT 10601 ; You can write notes here..
-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.
ALL of EVT Coding must be done in capital letters.
Code:
Event Functions
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
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
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.
Use: E CHANGE_MANNER 10000 ; Will give you 10,000 Manner points
E CHANGE_MANNER -10000 ; Will remove 10,000 Manner points
ZONE_CHANGE_PARTY
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
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.
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
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.
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
Will give you your level 10 specialty.
Use: E PROMOTE_USER_NOVICE ;
ZONE_CHANGE
Will teleport the character to a different zone/location.
Use: E ZONE_CHANGE 21 350 350 ; Will teleport your character to Moradon, with coordinates of 350,350
Parameters: Zone ID, X, Y
KISS_USER
The NPC will kiss you and give you a Kiss Item
Use: E KISS_USER ;
RUN_EXCHANGE
Will run a item exchange (ITEM_EXCHANGE table in the database)
Use: E RUN_EXCHANGE 36300 ; 36300 - Index number from ITEM_EXCHANGE table.
GIVE_PROMOTION_QUEST
Gives you the quest to get your Masters Quest
Use: E GIVE_PROMOTION_QUEST ;
SAVE_EVENT
Saves the quest data into the database, lets you check whether or not the quest has been done.
Use: E SAVE_EVENT QuestNumber 0/1/2
Examples:
E SAVE_EVENT 30 1 ; Will make you start Quest 30. You use Save 1 when you brief them about the quest, once they accept it, it should give them a save 1
E SAVE_EVENT 30 2 ; Will make their quest count as finished. Once they've gathered all of the requirements for their quest, you do save 2 so they can no longer do that quest anymore
REQUEST_PERSONAL_RANK_REWARD
Gives you your cash reward for being one of the top NP holders
Use: E REQUEST_PERSONAL_RANK_REWARD
ROB_NOAH
Takes noah from the Character.
Use: E ROB_NOAH 15000 ; Will take 15,000 noah from the character
GIVE_NOAH
Gives the character Noah.
Use: E GIVE_NOAH 15000 ; Will give your character 15,000 noah
ROB_ITEM
Will delete the item specified from the inventory.
Use: E ROB_ITEM ItemIDHere ; Example : E ROB_ITEM 10100000
GIVE_ITEM
Will give the item specified.
Use: E GIVE_ITEM ItemIDHere ; Example : E GIVE_ITEM 10100000 1
RUN_EVENT
[i]RUN_EVENT Is mainly used for linking one event into multiple ones, will be shown in detail more below.[i]
Use: E RUN_EVENT 30601
IF / Check Functions
CHECK_EMPTY_SLOT
Used to check if you have an empty slot in your inventory.
Use: E CHECK_EMPTY_SLOT 0 ; Doing this will check if your inventory is full.
CHECK_STAT_TOTAL
Will let you check how many stat points a person has between two numbers.
Use: A CHECK_STAT_TOTAL 300 500 ; Will check if the char has between 300 and 500 points
CHECK_SKILL_TOTAL
Will let you check how many stat points a person has between two numbers.
Use: A CHECK_SKILL_TOTAL 100 110 ; Will check to see if the person has skill points between 100 and 110.
CHECK_MANNER
Used for checking if the user has a certain amount of manner.
Use: A CHECK_MANNER 500 2100000000 ; Checks if you have at-least 500 Manner points.
CHECK_DICE
Used in conjunction with the ROLL_DICE command, you use the CHECK_DICE to tell it what to do when it lands on that certain dice number
Use: A CHECK_DICE 1 ; If dice is 1, do this ..
CHECK_CLAN_GRADE
Used to check the clan's grade, can check if they're between Grade 1-3, Grade 4-5 etc.
Use: A CHECK_CLAN_GRADE 1 3 ; Checks if the clan is between grade 1 and 3.
CHECK_LOYALTY
Checks if you have the right amount of loyalty between the two numbers specified
Use: A CHECK_LOYALTY 100 1000 ; Checks if you have between 100 and 1000 Loyalty.
CHECK_NOCLASS
Checks to see if you're not in the specified classes
Use: A CHECK_NOCLASS 107 207 -1 -1 -1 -1 ; Now, the -1's mean a value that's not going to be used, there are 6 possible values for this, and we only specified 2, so we put a -1 where we aren't using anything. This is basically saying, It's checking if you're not a Human or Orc Rogue that's not mastered.
CHECK_PROMOTION_ELIGIBLE
Checks to see if you're eligible to get your masters quest.
Use: A CHECK_PROMOTION_ELIGIBLE ;
CHECK_EXIST_EVENT
You can use this to check if the quest has been ever been started, been accepted and not finished, or has been completed.
Use:
A CHECK_EXIST_EVENT 30 0 ; If event 30 hasn't been received/started, continue..
A CHECK_EXIST_EVENT 30 1 ; If the event 30 has been received, but not finished, continue..
A CHECK_EXIST_EVENT 30 2 ; Checks to see if the event 30 has been finished or not.
CHECK_NATION
Used to check a characters nation.
Use: A CHECK_NATION 1 ; Checks to see if the character is an orc, swap the 1 out for a 2 for checking if the character is a Human.
CHECK_NOAH
Used to check if the character has noah between the two numbers specified
Use: A CHECK_NOAH 25000 2100000000 ; Will check to see if you have atleast 25,000 Noahs.
HOWMUCH_ITEM
Used to check how much of an item you have, only works for stackable items.
Use: A HOWMUCH_ITEM 379007000 0 20 ; Will check if you have between 0 and 20 of the Item : 379007000.
A HOWMUCH_ITEM 379007000 21 9999 ; Will check if you have atleast 21 of the item.
CHECK_LV
Used to check if you're between the levels specified
Use: A CHECK_LV 1 9 ; Will check if you're between level 1 through 9.
CHECK_WEIGHT
Used to check if you have enough room for the item you want to give.
Use: A CHECK_WEIGHT 379007000 10 ; Will check if you have enough room for that item with a stacksize of 10.
CHECK_CLASS
Used to check if you're in the specified classes, can specify up to 6 classes.
Use: A CHECK_CLASS 102 107 108 202 207 208 ; Checks if you're a Beginner Rogue, Rogue, or a Mastered rogue.
A CHECK_CLASS 107 207 -1 -1 -1 -1 ; Checks if you are a Rogue, Orc or Karus. Since only 2 of the slots are used, we place four -1's.
CHECK_NOEXIST_ITEM
Used to check if you don't have an item.
Use: A CHECK_NOEXIST_ITEM 205002007 1 ; Checks if you don't have the item : 205002007
CHECK_EXIST_ITEM
Used to check if you have an item.
Use: A CHECK_EXIST_ITEM 205002007 1 ; Checks if you have the item : 205002007
If I missed some of them above, that means I haven't taken the time to figure out what it does. I'm sure if you spend some time on it you'll be able to figure them all out, but I really couldn't care too much about the rest to bother. |