diff options
author | shennetsind <ind@henn.et> | 2015-02-15 15:10:01 -0200 |
---|---|---|
committer | shennetsind <ind@henn.et> | 2015-02-15 15:10:01 -0200 |
commit | 909c0644ce45945c8e3fdc5eb77ebdd1a1cb93d0 (patch) | |
tree | 4449b30cd4441ce271196876c08fbe0c78675c6e | |
parent | 1e609ca42e0ab4c7699b55dcfa043891b9a41136 (diff) | |
download | hercules-909c0644ce45945c8e3fdc5eb77ebdd1a1cb93d0.tar.gz hercules-909c0644ce45945c8e3fdc5eb77ebdd1a1cb93d0.tar.bz2 hercules-909c0644ce45945c8e3fdc5eb77ebdd1a1cb93d0.tar.xz hercules-909c0644ce45945c8e3fdc5eb77ebdd1a1cb93d0.zip |
Updated 'delequip' Script Command
delequip will now stop a script when attempting to delete a item in a position the player has no gear.
Special Thanks to Michieru, Haruna.
Signed-off-by: shennetsind <ind@henn.et>
-rw-r--r-- | doc/script_commands.txt | 4 | ||||
-rw-r--r-- | src/map/script.c | 9 |
2 files changed, 10 insertions, 3 deletions
diff --git a/doc/script_commands.txt b/doc/script_commands.txt index 3784667cb..e69cca6b1 100644 --- a/doc/script_commands.txt +++ b/doc/script_commands.txt @@ -5286,6 +5286,10 @@ This command will destroy whatever is currently equipped in the invoking character's specified equipment slot. For a full list of possible equipment slots see 'getequipid'. +It is always a good idea to check if the player actually has the item you want +before you use this command. If you try to delete in a position that the player +has no gear, script will be terminated with an error. + This command will return 1 if an item was deleted and 0 otherwise. --------------------------------------- diff --git a/src/map/script.c b/src/map/script.c index a0b9f80cc..1a6289db3 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -7995,11 +7995,14 @@ BUILDIN(delequip) pc->unequipitem(sd,i,3); //recalculate bonus pc->delitem(sd,i,1,0,2,LOG_TYPE_SCRIPT); script_pushint(st,1); - } else { - script_pushint(st,0); + return true; } + + ShowError("script:delequip: no item found in position '%d' for player '%s' (AID:%d/CID:%d).\n", num, sd->status.name,sd->status.account_id, sd->status.char_id); + st->state = END; + clif->scriptclose(sd, st->oid); - return true; + return false; } /*========================================== |