Event Glossary

General assistance and guidelines for editing the server side of Soma.

Event Glossary

Postby iSylver » Fri Feb 22, 2008 12:51 am

Original Posted by Badger on Pirate Server Myth of Soma section (2005)
Code: Select all
1.evt = Thousand Year Town
2.evt = Dungeon Floor 1
3.evt = Dungeon Floor 2
4.evt = Mercenary Town
5.evt = Abias
6.evt = Dungeon Floor 3
7.evt = Dungeon Floor 4
8.evt = Guild Village Room
9.evt = Pandemonium
10.evt = Chandalir (Dsoma Sword Aura)
11.evt = Infernal Caves
12.evt = Valley of Death
13.evt = Devil Guild Village Room
14.evt = Castle
15.evt = Throne Room
16.evt = Crafting Room
17.evt = Continental Army
18.evt = Hwan
19.evt = Hwan Castle Lower Floor
20.evt = Hwan Castle Upper Floor
21.evt = Devil Dungeon
22.evt = Monster Soma Village

Commands begin with A, E or O.

A is requirement for current event. (acts like "And" statement)eg:
A LEVEL 10 100
Checks if player is between level 10 and 100.


O is like A but acts as an "Or" statement. eg:
O LEVEL 10 100
O AXE 10 100
Checks if player is either between level 10 and 100, or has between 10 and 100 axe skill.


E is actual command. eg:
E MESSAGE_NONE 123
Shows a message box using the specified entry in NPCCHAT.


A and O Commands (can be used with either A or O)

A EXIST_ITEM [item id] [number of items]
Checks if player has required items

A LEVEL [lower bound] [upper bound (-1 for infinite)]
Checks if player is the required level.

A AXE [lower bound] [upper bound (-1 for infinite)]
Checks if player has required weapon skill -
same for:
BOW, SWORD, KNUCKLE, SPEAR, STAFF, MORAL, GOLD
WEAPONMAKE, ARMORMAKE, ACCMAKE, POTIONMAKE, COOKING,
BMAGIC, WMAGIC, DMAGIC

A EXIST_EVENT [event]
Checks if player has a certain event stored in their character data (quests etc).

A ABSENT_EVENT [event]
Checks if player doesn't have the event.

A CHECK_CLASS_TOWN
Checks who owns conti and allows only that race to run the event (like seorin warping)

A CHECK_CLASS_TOWN_WAR
Checks if WOTW is on, and runs an event if it is.

A CHECK_HUMAN
Checks if player is human
others: CHECK_DEMON, CHECK_MONSTER

A CHECK_AUCTION_BADLIST
Checks to see if the player hasn't payed auction fines.

A WEIGHT 365 [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Checks to see if a player has enough bagweight to recieve items specified as parameters. (-1 for none)

A CHECK_ITEMSLOT 393 [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Similar to weight, not 100% sure what this one is for though.. perhaps to check if they have enough inv space.

A HOWMUCH_ITEM [item id] [lower bound] [upper bound]
Checks if player has specified items amounting between lower and upper bounds.

A CHECK_POSITION [zone] [x1] [y1] [x2] [y2]
Checks if player is standing in a specific spot/area.

A CHECK_GUILD_TOWN [town number]
Checks if players guild owns guild village (1 for human, 2 for devil)

A CHECK_GUILD_TOWN_ALLY [town number]
Checks if players guild is allied with GV owners (1 for human, 2 for devil)

A CHECK_GUILD_TOWN_WAR [town number]
Checks if GVW is on (1 for human, 2 for devil)

A CHECK_GUILD_TOWN_LEVEL [town number] [level]
Checks amount of times GVW has been won consecutively by the same guild

A GAME_TIME [year] [month] [day] [hour] (i think)
Checks on the time ingame.

A CHECK_ALIVE_NPC [ssid in monsterset] [amount]
Checks if specified amount (or more) of specified spawn is alive.

A CHECK_JOB [class]
Checks if player is a certain class (dsoma)

A INT [lower bound] [upper bound (-1 for infinite)]
Checks whether your character has the specified int requirement.
Note: I haven't tested it, but it's logical to expect that it might work with STR, DEX, CON, CHA, etc.

A WEIGHT [error sCid] [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Checks to see if a player has enough bagweight to recieve items specified as parameters. (-1 for none)
A general error for this is npcchat 365.

A CHECK_ITEMSLOT [error sCid] [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Same as A WEIGHT, but checks if there is enough inventory space as opposed to weight.
A general error for this is npcchat 393.

A EXIST_MAGIC [mId]
Checks whether magic has been learnt

A ABSENT_MAGIC [mId]
Checks whether magic has not been learnt

Note: The above two commands may also work as EXIST_SPECIAL_SKILL and ABSENT_SPECIAL_SKILL. But maybe not.

A GENDER 0- male 1-female
A MORAL [lower band] [higher band] [65=angel, -65=devil]
A DEX [lowerer band][higher band]
A WIS [lowerer band][higher band]
A STR [lowerer band][higher band]
A INT [lowerer band][higher band]



E Commands

E REPAIR_ITEM_OPEN
Opens the repair window.

E AUCTION_BUY_OPEN 1
Opens the auction bidding window.

E AUCTION_SELL_OPEN 1
Opens the auction item-placement window.

E GUILD_OPEN
Opens the guild-view window.

E SAY [sCid]
Instructs the NPC to say text normally as opposed to inside a window.

E ROB_ITEM [item id] [number of items]
Removes items from player

E RUN_EVENT [event number]
Runs event given as parameter

E SELECT_MSG [message] [1st option] [1st event] [2nd option] [2nd event] [3rd option] [3rd event] [4th option] [4th event]
Gives select menu and jumps to events depending on selection

E MESSAGE_NONE [message]
Shows a message box using the specified entry in NPCCHAT.

E ADD_EVENT [number]
Adds specified event to character data (quests etc)

E DEL_EVENT [number]
Removes specified event

E LIVE_NPC [ssid in monsterset] [amount?] [something] [something]
This one is a bit sketchy - it spawns the specified amount of specified monster.
E LIVE_NPC 12345 -1 -1 -1 will spawn all 12345 monsters (amount in sNum in the table).
Not sure what the other params do.

E KILL_NPC
Kills the npc

E SHOW_MAGIC [mId]
Shows magic animation

E GIVE_MAGIC [mId]
Gives specified spell

E GIVE_SPECIAL_ATTACK [id]
Gives specified aura (special_attack table)

E MESSAGE_OK [message]
Shows message in a box with an OK button

E GIVE_MAKE_SKILL [id]
Gives crafting skill (like repair)

E ROB_GOLD [amount]
Takes barr from player

E ROB_MAGIC [id]
Removes spell from player

E LINK [x] [y] [zone]
Teleports player to specified coordinates on specified map.

E WARP_GATE [zone] [x] [y]
Warps player (with blue warp animation) to around specified coords

E STORE_OPEN [STORE id] [Buy rate] [sell rate] [something]

E BBS_OPEN [id]
Opens specified noticeboard

E GIVE_ITEM [item id] [amount]
Gives specified quantity of an item

E STORE_OPEN [STORE id] [Buy rate] [sell rate] [something]

e.g.

E STORE_OPEN 25 120 80 -1 <- opens STORE 25, where items are 120% of their cost to buy and 80% of the cost to sell.

item worth 1000 will sell for 800, and be purchased for 1200

used to make shops charge more with lower morals

A JOB (sclass number) - checks for a sclass number - useful for running events on single class devils other than all as a whole.

E GIVE_ITEM [item id] [amount] - So you'd get amount of whatever item 180 is.

E PLUS_MORAL [lower band] [higher band] (65=angel, -65=devil)
E CHANGE_STR 1 [amount of strength to add]
E CHANGE_INT 1 [amount of int to add]
E CHANGE_DEX 1 [amount of dex to add]
E CHANGE WIS 1 [amount of wis to add]
E STORAGE_OPEN 1
E LIVE_NPC [monsterid] [amount] [X coordiates] [Y coordiates]

Additions by Miser, et al.
A and O Commands

A INT [lower bound] [upper bound (-1 for infinite)]
Checks whether your character has the specified int requirement.
Note: I haven't tested it, but it's logical to expect that it might work with STR, DEX, CON, CHA, etc.

A WEIGHT [error sCid] [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Checks to see if a player has enough bagweight to recieve items specified as parameters. (-1 for none)
A general error for this is npcchat 365.

A CHECK_ITEMSLOT [error sCid] [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Same as A WEIGHT, but checks if there is enough inventory space as opposed to weight.
A general error for this is npcchat 393.

A EXIST_MAGIC [mId]
Checks whether magic has been learnt

A ABSENT_MAGIC [mId]
Checks whether magic has not been learnt

Note: The above two commands may also work as EXIST_SPECIAL_SKILL and ABSENT_SPECIAL_SKILL. But maybe not.


E Commands

E REPAIR_ITEM_OPEN
Opens the repair window.

E AUCTION_BUY_OPEN 1
Opens the auction bidding window.

E AUCTION_SELL_OPEN 1
Opens the auction item-placement window.

E GUILD_OPEN
Opens the guild-view window.

E SAY [sCid]
Instructs the NPC to say text normally as opposed to inside a window.

Quote:
Note: The above two commands may also work as EXIST_SPECIAL_SKILL and ABSENT_SPECIAL_SKILL. But maybe not.
E Commands[/b]

Amendments....
Quote:
E SAY [sCid]
Instructs the NPC to say text normally as opposed to inside a window.[/b]

Only useful for dieing monsters because a monsters event is activated apon death. SAY command is the same as NPCtalk1 etc.


I've got a fully colourised and descripted EVT files example (Addional NPC):

*****************************************
;POLD'S SON
*****************************************

EVENT 5025
E RUN_EVENT 15 ; RUNS EVENTS
E RUN_EVENT 6036
E RETURN
END

Other Listings:
A GENDER 0- male 1-female
A MORAL [lower band] [higher band] [65=angel, -65=devil]
A DEX [lowerer band][higher band]
A WIS [lowerer band][higher band]
A STR [lowerer band][higher band]
A INT [lowerer band][higher band]
E PLUS_MORAL [lower band] [higher band] (65=angel, -65=devil)
E CHANGE_STR 1 [amount of strength to add]
E CHANGE_INT 1 [amount of int to add]
E CHANGE_DEX 1 [amount of dex to add]
E CHANGE WIS 1 [amount of wis to add]
E STORAGE_OPEN 1
E LIVE_NPC [monsterid] [amount] [X coordiates] [Y coordiates]

thanks to miser for help along the way

not all of them are tested but logic says they work
Quote: nonononoonono theres a certain range of bugged evts[/b]
do you know what the bugged ranges are?

EVENT 15
A CHECK_HUMAN ; CHECK IF THE CHAR IS HUMAN
E SELECT_MSG 697 486 331 698 333 699 335 -1 ; SELECTION MESSAGE (blanked this but it sayes what they say in order)
E RETURN
END

EVENT 331
E STORE_OPEN 15 90 100 -1 ; OPEN SHOP 15 WEAPON
E RETURN
END

EVENT 333
E STORE_OPEN 16 90 100 -1 ; OPEN SHOP 16 ARMOUR
E RETURN
END

EVENT 335
E STORE_OPEN 17 100 100 -1 ; OPEN SHOP 17 MATERIALS
E RETURN
END

EVENT 6036
A CHECK_DEMON ; CHECK IF CHAR IS DEVIL
E KILL_NPC ; KILLS THE NPC
E LIVE_NPC 30524 1 96 866 ; SPAWNS 1 PROTECTOR
E RETURN
END
Image

Contact ingame:
@iSylver
SOMADEV
iSylver
SomaDev Staff
 
Posts: 1692
Joined: Fri Jan 11, 2008 6:21 pm

Re: Event Glossary

Postby Kalestone » Thu Jan 29, 2009 1:53 pm

A CHECK_PAYTYPE is to check if it's a paying customer i guess?
Kalestone
SD One Star
SD One Star
 
Posts: 21
Joined: Tue Feb 26, 2008 12:08 am

Re: Event Glossary

Postby Kalestone » Tue Feb 17, 2009 1:46 pm

What about A CHECK_EVENTCOUNT x y , anyone got an idea what it does?
P.S. some related events exist : E SET_EVENTCOUNT x , E RESET_EVENTCOUNT.
Kalestone
SD One Star
SD One Star
 
Posts: 21
Joined: Tue Feb 26, 2008 12:08 am

Re: Event Glossary

Postby Kalestone » Tue Feb 17, 2009 6:40 pm

A WEIGHT 365 [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5] [amount]
Checks to see if a player has enough bagweight to recieve items specified as parameters. (-1 for none)

A CHECK_ITEMSLOT 393 [item 1] [amount] [item 2] [amount] [item 3] [amount] [item 4] [amount] [item 5]
Similar to weight, not 100% sure what this one is for though.. perhaps to check if they have enough inv space.


First paramater(365 for A WEIGHT for example) is the chat to display in case the check fails.
And yes A CHECK_ITEMSLOT checks if you got enough inventory space to get the all the items.
Kalestone
SD One Star
SD One Star
 
Posts: 21
Joined: Tue Feb 26, 2008 12:08 am

Re: Event Glossary

Postby Kalestone » Tue Mar 03, 2009 1:58 am

E PLUS_MORAL [lower band] [higher band] (65=angel, -65=devil)

It's E PLUS_MORAL [amount] [max_value]
And moral repartition is :
49+ : Angel
30-49 : Virtuous
10-30 : Moral
3-10 : Good
(-3)-3 : Neutral
(-3)-(-10) : Bad
(-10)-(-30) : Evil
(-30)-(-49) : Wicked
(-49)- : Devil
Kalestone
SD One Star
SD One Star
 
Posts: 21
Joined: Tue Feb 26, 2008 12:08 am

Re: Event Glossary

Postby Ramy » Sat Feb 04, 2012 11:57 pm

The full list (no explanations):

GET_POSITEM
CHANGE_PKMODE
XMASPOINT_GUILD
XMASPOINT_USER
OPEN_MONSTER_ZONE
RESET_EVENTCOUNT
SET_EVENTCOUNT
OPEN_MONSTER_SELECT
TIMER_INIT
TIMER_START
COUNTER_INIT
COUNTER_START
OPEN_CHANGE_ITEM
OPEN_TRADER
SPECIAL_ATTACK
MAGIC
OPEN_GUILDTOWN_STONE
OPEN_GUILDTOWN_STORE
OPEN_GUILDTOWN_STORE_REG
GUILDTOWN_TAXRATE
OPEN_SPECIAL_MAKESKILL
OPEN_HAIRSHOP
OPEN_CONTRIBUTION
PLUS_MORAL
LIVE_NPC
KILL_NPC
REPAIR_ITEM_OPEN
GUILD_OPEN
CHANGE_MAGETYPE
RETURN
DEL_SERVER_EVENT
ADD_SERVER_EVENT
DEL_EVENT
ADD_EVENT
RUN_EVENT
MESSAGE_NONE
MESSAGE_OK
SELECT_MSG
SHOW_MAGIC
CHANGE_COOKING
CHANGE_POTIONMAKE
CHANGE_ACCMAKE
CHANGE_ARMORMAKE
CHANGE_WEAPONMAKE
CHANGE_KNUCKLE
CHANGE_BOW
CHANGE_AXE
CHANGE_SPEAR
CHANGE_SWORD
CHANGE_BMAGIC
CHANGE_WMAGIC
CHANGE_DMAGIC
CHANGE_MAX_WGT
CHANGE_MAX_STM
CHANGE_MAX_MP
CHANGE_MAX_HP
CHANGE_CON
CHANGE_CHA
CHANGE_WIS
CHANGE_INT
CHANGE_DEX
CHANGE_STR
CHANGE_MP
CHANGE_HP
CHANGE_GENDER
CHANGE_LEVEL
GIVE_MAKE_SKILL
GIVE_SPECIAL_ATTACK
GIVE_MAGIC
ROB_MAGIC
ROB_GOLD
GIVE_GOLD
GIVE_ITEM
ROB_ITEM
DEAD
RUN_MAGIC
DISAPPEAR
LINK
RAND_SAY
SAY
AUCTION_BUY_OPEN
AUCTION_SELL_OPEN
AUCTION_DELETE_BADLIST
AUCTION_GET_MONEY
AUCTION_DRAW_NOBUY
AUCTION_DRAW_NOBID
AUCTION_BUY_ITEM
WARP_GATE
CHANGE_STORAGE_TYPE
STORAGE_OPEN
MAKER_OPEN
BBS_OPEN
CLASSPOINT_STORE_OPEN
STORE_OPEN
POSITION
PAYACCOUNT
CHECK_PAYACCOUNT
CHECK_PKMODE
CHECK_EVENTBOOK
CHECK_HAVE_EVENTBOOK
CHECK_CLASS_TOWN_WAR
CHECK_CLASS_TOWN
CHECK_PAYTYPE
CHECK_EVENTCOUNT
CHECK_TIMER
CHECK_COUNTER
CHECK_MONSTER
CHECK_DEMON
CHECK_HUMAN
CHECK_JOB
COMPARE_BASIC_VALUE
CHECK_GUILD_RANK
CHECK_GUILD_TOWN_LEVEL
CHECK_GUILD_TOWN_WAR
CHECK_GUILD_TOWN_ALLY
CHECK_GUILD_TOWN
CHECK_ALIVE_NPC
CHECK_AUCTION_STATE
CHECK_AUCTION_BADLIST
CHECK_FIRST_CLICK
CHECK_POSITION
CHECK_ITEMSLOT
RANK
WEIGHT
MAGETYPE
STORAGE_TYPE
MORAL
HOWMUCH_ITEM
GAME_MONTH
GAME_DAY
GAME_TIME
GOLD
RAND
TIME
ABSENT_EVENT
EXIST_EVENT
ABSENT_MAKE_SKILL
EXIST_MAKE_SKILL
ABSENT_SPECIAL_ATTACK
EXIST_SPECIAL_ATTACK
ABSENT_MAGETYPE
EXIST_MAGETYPE
ABSENT_MAGIC
EXIST_MAGIC
ABSENT_ITEM_TYPE
EXIST_ITEM_TYPE
ABSENT_ITEM
EXIST_ITEM
COOKING
POTIONMAKE
ACCMAKE
ARMORMAKE
WEAPONMAKE
STAFF
KNUCKLE
BOW
AXE
SPEAR
SWORD
BMAGIC
WMAGIC
DMAGIC
CON
CHA
WIS
INT
DEX
STR
MP
HP
AGE
GENDER
LEVEL
User avatar
Ramy
SD Four Star
SD Four Star
 
Posts: 213
Joined: Fri Feb 29, 2008 1:20 pm

Re: Event Glossary

Postby Ramy » Sat Feb 11, 2012 12:42 am

Examples and explanations.. I'll add stuff here little by little:

A GAME_TIME [month] [day] [starthour] [endhour]
Checks on the time ingame.

examples:
; checks if time is from 5 to 0 (5 6 7 8 9... 23 0)
A GAME_TIME -1 -1 5 0

; checks if time is from 0 to 23 month 2 and day 10 (so it checks basically if it's day 10 of month 2)
A GAME_TIME 2 10 0 23

A GAME_MONTH [startmonth] [endmonth]
Checks on the month ingame.

example:
;checks if month is from 1 to 4
A GAME_MONTH 1 4


E OPEN_TRADER [number] [number] [number] [number] [number] [number]
Opens tradeshop each number corrisponds to stype in Table_Exchange table, you can have up to 6 unique sets of items.

example:
;opens items in tradeshop stype 1 and 2
E OPEN_TRADER 1 2 -1 -1 -1 -1

Silent meditation events.. these are the handlers for silent meditation their function is to check if the player has talked ingame for xx time.

example:

; check if the eventcount is initalized (it has not been set or started yet)
A CHECK_EVENTCOUNT -1 0

;sets the time you want them to keep quiet in this case 21600 (i think in seconds)
E SET_EVENTCOUNT 21600

;this checks if the timer is incompelete (if you're not finished yet this should turn true)
A CHECK_EVENTCOUNT 1 21600

;this checks if you're finished
A CHECK_EVENTCOUNT 0 1

;this reintializes the eventcounter
E RESET_EVENTCOUNT
User avatar
Ramy
SD Four Star
SD Four Star
 
Posts: 213
Joined: Fri Feb 29, 2008 1:20 pm


Return to Server Development

Who is online

Users browsing this forum: No registered users and 1 guest

cron