eAthena Script Command Removal Review

Content and general development discussion, including quest scripts and server code. TMW Classic is a project comprising the Legacy tmwAthena server & the designated improved engine server based on evolHercules.


Forum rules

This forum houses many years of development, tracing back to some of the earliest posts that exist on the board.

Its current use is for the continued development of the server and game it has always served: TMW Classic.

Post Reply
User avatar
Wombat
TMW Adviser
TMW Adviser
Posts: 1532
Joined: 08 Aug 2008, 16:31

eAthena Script Command Removal Review

Post by Wombat »

Here is a list of eAthena script commands that are under review for removal. I'd like to keep as many useful ones as possible so we don't have to remake the wheel later. Ones that are broken, aren't useful and/or are overly redundant are to be removed.

eAthena Wiki Mirror: Script Commands Category

Commands already used and commands accepted into the future of TMWAthena shall be added to our wiki when we can concentrate efforts on it.

Note: This project may take a long time specifically to open up critical discussion. Though discussion can go in various directions, I will only go over a maximum of 5 commands a week for review, so on-topic discussion is helpful, but not required as long as it is about eAthena script commands in general.

Process: Contributors find several commands they want to highlight by reading its description in the eAthena wiki and/or other source, test it in a script, then post a review with the script used to test. If it is confirmed by other contributors as broken, it can be discussed if fixing it would make it useful for the game. If it works, again a discussion on it being useful for the game can occur. Anything not useful to the game may be removed after some consideration.

Code: Select all

getarg
jobchange
areawarp
cleararray
copyarray
deletearray
getelementofarray
getitem2
makeitem
cutincard
viewpoint
checkweight
getcharid
getpartyname
getpartymember
getguildname
getguildmaster
getguildmasterid
getequipname
getbrokenid
getequipisequiped
getequipisenableref
getequipisidentify
getequiprefinerycnt
getequipweaponlv
getequippercentrefinery
successrefitem
failedrefitem
statusup
statusup2
bonus2
bonus3
guildskill
getgdskilllv
basicskillcheck
getopt2
setopt2
checkoption
setoption
setcart
checkcart
setfalcon
checkfalcon
setriding
checkriding
gettimestr
guildopenstorage
itemskill
doevent
donpcevent
addtimer
deltimer
addtimercount
getnpctimer
areaannounce
getusers
getmapusers
getareadropitem
enablearena
disablearena
hideoffnpc
hideonnpc
sc_start2
getscrate
debugmes
resetlvl
resetskill
changebase
waitingroom
warpwaitingpc
delwaitingroom
enablewaitingroomevent
disablewaitingroomevent
getwaitingroomstate
warpwaitingpc
detachrid
isloggedin
setmapflagnosave
setmapflag
removemapflag
pvpon
pvpoff
gvgon
gvgoff
maprespawnguildid
agitstart
agitend
agitcheck
flagemblem
getcastlename
getcastledata
setcastledata
requestguildinfo
getequipcardcnt
successremovecards
failedremovecards
getanchorinvocation
getskilllist
getpoolskilllist
checkpoolskill
clearitem
classchange
soundeffect
strmobinfo
guardian
guardianinfo
npcskilleffect
specialeffect2
inittimer
stoptimer
cmdothernpc
movenpc
npcwarp
hasitems
getlook
getsavepoint
fakenpcname
getx
gety
Current character is "Abolish".
User avatar
Wombat
TMW Adviser
TMW Adviser
Posts: 1532
Joined: 08 Aug 2008, 16:31

Re: eAthena Script Command Removal Review

Post by Wombat »

o11c may have some thoughts on many of these commands as he's already tested many of them before this process was put in place. I'd like to get a list of the commands you think deserve fast removal and I'll check those out first.
Current character is "Abolish".
User avatar
o11c
Grand Knight
Grand Knight
Posts: 2262
Joined: 20 Feb 2011, 21:09
Location: ^ ^

Re: eAthena Script Command Removal Review

Post by o11c »

Support for "chat rooms" removed (looks interesting, but can be implemented in other ways, and of course, not supported with the client)

Code: Select all

enablearena
disablearena
waitingroom
warpwaitingpc
delwaitingroom
enablewaitingroomevent
disablewaitingroomevent
getwaitingroomstate
warpwaitingpc
Support for guilds removed (this is not the place to argue this, guilds are not officially supported):

Code: Select all

getguildname
getguildmaster
getguildmasterid
guildskill
getgdskilllv
guildopenstorage
gvgon
gvgoff
maprespawnguildid
agitstart
agitend
agitcheck
flagemblem
getcastlename
getcastledata
setcastledata
requestguildinfo
guardian
guardianinfo
Removed due to lack of support with the client

Code: Select all

setcart
checkcart
setfalcon
checkfalcon
setriding
checkriding

changebase
jobchange
classchange

cutin
cutincard
viewpoint
npcskilleffect
Speedy keep:

Code: Select all

getx, gety // recently added because they were needed
checkweight // should be used in official scripts instead of checking whether current inventory count is 100
getsavepoint // needed if we do the time-travel quest, but problematic because depending on the arguments it may return a string or an int
Known not to work, but looks interesting if we can solve the related problems

Code: Select all

movenpc
Note: If the new script format part of my proposal (which will be a huge performance increase) is accepted, all existing buildin implementations must be redone, so *I* would rather see as many builtins removed as possible.
Former programmer for the TMWA server.
nmaligec
Warrior
Warrior
Posts: 253
Joined: 08 Apr 2010, 01:55

Re: eAthena Script Command Removal Review

Post by nmaligec »

Since the server is used by others besides tmw, you should be very careful what you remove. For this reason you should not touch unused or redundant commands! Sometimes a seemingly redundant command creates a different effect than its counterpart when used in different situations.

The tmwA script is already so limited that removing stuff is almost counterproductive. It is behind even the old eAthena scripting manual that keeps getting referenced. The future of content for tmw would seem brighter if this was a post about what should be added.

That said, I agree with the list 011c gave. I just hope that there are no projects that added support for some of those features only to find out they have been removed from the server...
Post Reply