Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

In-Depth EVT Coding

Initiate Mage
Joined
Sep 2, 2008
Messages
4
Reaction score
0
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:
[b][u]Event Functions[/u][/b]


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:
[b][u]IF Functions(Functions for checking something)[/u][/b]

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
    RUN_EVENT Is mainly used for linking one event into multiple ones, will be shown in detail more below.
    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.



Examples and Explanations

Okay, lets say we want to make a NPC where you can turn in a Fragment in for some Bifrost items. I'm only going to use one fragment for this demonstration to save me some time and trouble. I'm going to try and explain everything in detail and hopefully you'll be able to understand how everything works.

IceMan said:
First, the item IDs that we'll be using.

389160000 Fragment of Arrogance

119301000 Sherion
159301000 Lugias
139301000 Avedon
169301000 Helenid Cross Bow
189601000 Hell Blood
189602000 Garp
189603000 Elysium
199301000 Holy Animor

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


Now, this is our menu for the Chaotic Generator. First things first, to link a NPC to a certain part of EVT coding, it starts with the EVENT number. In this case, 22001 is linked to 137 byType(In your K_NPC table). There is no real link as to why it's like that, I believe we found out that it was hard-coded into the ebenezer. Now lets move on to the Menu(SELECT_MSG), I'll explain what each one is.

16084 - The ID Number of the NPC(It doesn't need to be correct, it's just for notes.)
61000 - The main text you find at the top when you open a menu, this information is located in 'Quest_Talk_us.tbl'
60000 - The first button in the menu, this is located in 'Quest_Menu_us.tbl'
42010 - This is the first event number you want to have, the menu button you just made above refers to this event.
60001 - This is the second button on the menu, again located in 'Quest_Menu_us.tbl'
52020 - Again, this is the event's number and it refers to the button you made above.
Basically, the same thing keeps going on until you have the whole menu finished.

Now, you should have your Quest_Menu_us.tbl looking something like this now..(Note, we'll only be using the Fragment of Avarice in this guide, but I figured I'd show you how it would be done if you were to make the full thing.)

60000 Fragment of Arrogance
60001 Fragment of Gluttony
60002 Fragment of Rage
60003 Fragment of Sloth
60004 Fragment of Lechery
60005 Fragment of Jealousy
60006 Fragment of Avarice

And your Quest_Talk_us.tbl looking like this.

61000 Welcome to the Chaotic Generator, you can turn in your fragments here for a chance at getting Bifrost Items.
61001 Sorry, you don't have the required fragment.


Okay, the tbls are set, now lets do the database-sided stuff. We'll need to add an exchange into the ITEM_EXCHANGE table.

Your table should look something like below :

40001 15012 Chaotic Generator Sherion 101 389160000 1 0 0 0 0 0 0 0 0 119301000 1000 111210001 2000 111110001 2000 246001001 2000 246002001 3000
40002 15012 Chaotic Generator Lugias 101 389160000 1 0 0 0 0 0 0 0 0 159301000 1000 151210001 2000 151110001 2000 206001001 2000 206002001 3000
40003 15012 Chaotic Generator Avedon 101 389160000 1 0 0 0 0 0 0 0 0 119301000 1000 111210001 2000 111110001 2000 246001001 2000 246002001 3000
40004 15012 Chaotic Generator Helenid Cross Bow 101 389160000 1 0 0 0 0 0 0 0 0 169301000 1000 168410001 2000 168310001 2000 246001001 2000 246002001 3000
40005 15012 Chaotic Generator Hell Blood 101 389160000 1 0 0 0 0 0 0 0 0 189601000 1000 181110001 2000 181010001 2000 266001001 2000 266002001 3000
40006 15012 Chaotic Generator Garp 101 389160000 1 0 0 0 0 0 0 0 0 189602000 1000 181110001 2000 181010001 2000 266001001 2000 266002001 3000
40007 15012 Chaotic Generator Elysium 101 389160000 1 0 0 0 0 0 0 0 0 189603000 1000 181110001 2000 181010001 2000 266001001 2000 266002001 3000



Now, the database is done, the TBLs are done, now we need to do the EVT part of it all.

So, first we start off with the Menu.

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


Now, 42010 is the Fragment of Avarice, so we'll only be doing that one for now.

EVENT 42010 ; Fragment of Avarice
E RUN_EVENT 42011 ; The RUN_EVENT's basically make one event expand into many others, and links them together, great for checking multiple things.
E RUN_EVENT 42012
END

EVENT 42011 ; First we'll check to see if the item doesn't exist, if it doesn't, End, and display a message.
A HOWMUCH_ITEM 389160000 0 0
E SAY -1 -1 61001 -1 -1 -1 -1 -1 -1 -1
E RETURN
END

EVENT 42012 ; Now we'll check to see if they have a fragment, if you have atleast 1 fragment, roll the dice and run the events.
A HOWMUCH_ITEM 389160000 1 9999
E ROLL_DICE 7 ; Roll a dice 7 times(The number of items we have)
E RUN_EVENT 42013
E RUN_EVENT 42014
E RUN_EVENT 42015
E RUN_EVENT 42016
E RUN_EVENT 42017
E RUN_EVENT 42018
E RUN_EVENT 42019
END

EVENT 42013 ; DICE FOR SHERION
A CHECK_DICE 1
E RUN_EXCHANGE 40001
END

EVENT 42014 ; DICE FOR LUGIAS
A CHECK_DICE 2
E RUN_EXCHANGE 40002
END

EVENT 42015 ; DICE FOR AVEDON
A CHECK_DICE 3
E RUN_EXCHANGE 40003
END

EVENT 42016 ; DICE FOR HELENOID
A CHECK_DICE 4
E RUN_EXCHANGE 40004
END

EVENT 42017 ; DICE FOR HELL BLOOD
A CHECK_DICE 5
E RUN_EXCHANGE 40005
END

EVENT 42018 ; DICE FOR GARP
A CHECK_DICE 6
E RUN_EXCHANGE 40006
END

EVENT 42019 ; DICE FOR ELYSIUM
A CHECK_DICE 7
E RUN_EXCHANGE 40007
END



That's it for that script, you should now be able to finish a Chaotic Generator for your server.




Now I'm just going to make some random examples to explain a few of the functions

Just a simple script below, checks if you have an item, then gives you exp.




IceMan said:
TBLs should look something like below :

Quest_Talk_us.tbl
62000 Quest NPC information here.
62003 You'll need to bring me 10 crystals, 10 opals, and 10 crude sapphires and you'll be rewarded with 10,000,000 Experience Points.
62009 Sorry, you've already completed this quest.
62010 Sorry, you don't have the required Items.
62011 You have to accept the quest before finishing your quest.


Quest_Menu_us.tbl

61000 Quest 1
61001 Quest 2
61002 Quest 3
61003 Quest 4
61004 Quest 5
61005 Quest 6
61006 Quest 7
61007 Accept Quest
61008 Finish Quest

Now, again since this is just an example, I'm only going to make one quest.

EVENT 22001
E SELECT_MSG 16084 62000 61000 45010 61001 45020 61002 45030 61003 45040 61004 45050 61005 45060 61006 45070 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 ;
END

EVENT 45020
E SELECT_MSG 16084 62000 61007 45021 61008 45022 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1;
END

EVENT 45021 ; Accepting the quest
E RUN_EVENT 43001
E RUN_EVENT 43002
END

EVENT 43001 ;; event 30 is one of the beginner quests, Worms, or bandicoots.. I forget. You can disable those and just make your own quests in it's place.
A CHECK_EXIST_EVENT 30 0 ; Check to see if you haven't Accepted the quest, or completed it.
E SAVE_EVENT 30 1
E SAY -1 -1 62003 -1 -1 -1 -1 -1 -1 -1
E RETURN
END

EVENT 43002 ; Check to see if you've already completed the quest
A CHECK_EXIST_EVENT 30 2
E SAY -1 -1 62009 -1 -1 -1 -1 -1 -1 -1
E RETURN
END

EVENT 45022 ; Turning in the quest and getting reward.
E RUN_EVENT 43004
E RUN_EVENT 43005
E RUN_EVENT 43006
END

EVENT 43004; Check to see if they've completed the quest yet
A CHECK_EXIST_EVENT 30 2
E SAY -1 -1 62009 -1 -1 -1 -1 -1 -1 -1
E RETURN
END

EVENT 43005
A CHECK_EXIST_EVENT 30 1
A HOWMUCH_ITEM 389074000 0 9
A HOWMUCH_ITEM 389075000 0 9
A HOWMUCH_ITEM 389076000 0 9
E SAY -1 -1 62010 -1 -1 -1 -1 -1 -1 -1
E RETURN
END

EVENT 43006
A CHECK_EXIST_EVENT 30 1
A HOWMUCH_ITEM 389074000 10 9999
A HOWMUCH_ITEM 389075000 10 9999
A HOWMUCH_ITEM 389076000 10 9999
E EXP_CHANGE 10000000
END

EVENT 43007
A CHECK_EXIST_EVENT 30 0
E SAY -1 -1 62011 -1 -1 -1 -1 -1 -1 -1
E RETURN
END






Well, I think that should just about cover everything and hopefully be of enough help so that you can start EVT on your own now. If you have any questions, or want a bit of coding written up to help you get started in the right direction, I'll be taking some requests and offer some help when I've got some spare time(Which isn't much now). I hope this opens up some of your minds as to what KO is capable of, check out TitanKO and you'll see that you can change the game drastically just by figuring out how to EVT code properly.

Good luck,

IceMan.


Oh and, IceMan1300 is no longer my account(It was stolen, and the person will go unnamed), so I've made this one :2gunsfiring_v1:.
 
Last edited:
Junior Spellweaver
Joined
Jun 5, 2006
Messages
133
Reaction score
0
Great post ice man :) Try adding some bogus rows to the chaotic generator with crappy items to decrease the odds of getting a bifrost item. ^^ And I believe i know who has ur account xD. But I won't say. Glad to see you back :p
 
Experienced Elementalist
Loyal Member
Joined
Jun 11, 2006
Messages
214
Reaction score
0
something i learned recently nay envolve fixing ft as well
there is few monster that have bytype 2 these monster once killed add item in your inventory for example if you add christmas trees to your k_NPCPOS it gives you a scroll called rabbit a thanksgiving item if we could incorporate the npc for the evnt then we could go about fixing the bluechest or green to drop in ft like they should becuase mos that auto add items in your inventory is basically what ft is. also be nice to figure out how to control what drop from bytype 2 monster becuase if i could would love to get them treasure chest working like in japko
 
Initiate Mage
Joined
Sep 2, 2008
Messages
4
Reaction score
0
Re: [Guide] In-Depth EVT Coding

Nice , you really spent allot of time in this :D
Really, good job.

Heh, it took me about 3-4 hours :tongue:

and to everyone.. thanks, and it's no problem.

And as I said earlier if you have any questions, feel free to post and I'll get to it when I have time.
 
Newbie Spellweaver
Joined
Feb 23, 2006
Messages
25
Reaction score
0
Re: [Guide] In-Depth EVT Coding

Much appreciated iceman,
Good work.
 
Last edited:
Experienced Elementalist
Joined
Aug 18, 2007
Messages
204
Reaction score
0
something i learned recently nay envolve fixing ft as well
there is few monster that have bytype 2 these monster once killed add item in your inventory for example if you add christmas trees to your k_NPCPOS it gives you a scroll called rabbit a thanksgiving item if we could incorporate the npc for the evnt then we could go about fixing the bluechest or green to drop in ft like they should becuase mos that auto add items in your inventory is basically what ft is. also be nice to figure out how to control what drop from bytype 2 monster becuase if i could would love to get them treasure chest working like in japko


There is already a npc set up for this quest..

Find NPC 'Goddess Adelia[event]' Npcid = '16072'

She is setup with the ByType for the Rabbit ThanksGiving Event and works perfect.
 
Newbie Spellweaver
Joined
Aug 20, 2008
Messages
38
Reaction score
0
Re: [Guide] In-Depth EVT Coding

EVENT 22001
E SELECT_MSG 16071 62000 61000 45010 61001 45020 (How many -1?)
END

EVENT 45010
E SELECT_MSG 16071 62000 61002 45030 61003 45040 (How many -1?)
END

EVENT 45020
E SELECT_MSG 16071 62000 61004 45050 61005 45060 61006 45070 61007 45080 61008 45090 61009 45100 61010 45110 61011 45120 61012 45130 61013 45140 61014 45150 61015 45160 (How many -1?)

1. Where i have to put my .evt file?
2. Does it matter how named it is?
 
Experienced Elementalist
Joined
Aug 18, 2007
Messages
204
Reaction score
0
Re: [Guide] In-Depth EVT Coding

Thanks for this guide it really helped.

1 question...

Where is the Link between 'ByType and Event Numbers' ?

Thanks in advance.
 
Newbie Spellweaver
Joined
May 3, 2009
Messages
5
Reaction score
0
INSERT INTO ITEM_EXCHANGE
(nIndex, nNpcNum, strNpcName, strNote, bRandomFlag, nOriginItemNum1,
nOriginItemCount1, nOriginItemNum2, nOriginItemCount2, nOriginItemNum3,
nOriginItemCount3, nOriginItemNum4, nOriginItemCount4, nOriginItemNum5,
nOriginItemCount5, nExchangeItemNum1, nExchangeItemCount1,
nExchangeItemNum2, nExchangeItemCount2, nExchangeItemNum3,
nExchangeItemCount3, nExchangeItemNum4, nExchangeItemCount4,
nExchangeItemNum5, nExchangeItemCount5)
VALUES ('40001', '15012', 'Chaotic Generator Sherion', 'Chaotic Generator Sherion', '101',
'389160000', '1', '0', '0', '0', '0', '0', '0', '0', '0', '119301000', '1000', '111210001',
'2000', '111110001', '2000', '246001001', '2000', '246002001', '3000')
 
Back
Top