diff options
author | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-12-21 21:30:46 +0000 |
---|---|---|
committer | ai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec> | 2010-12-21 21:30:46 +0000 |
commit | 8f049e98306b7eaae81ea7df0a837d91ef21d438 (patch) | |
tree | 7859169f389643fb0f30df7ec801caa43bf44434 /src/map/script.c | |
parent | 6537ed663f6a57188697bf9ab6fa49dd47562ed1 (diff) | |
download | hercules-8f049e98306b7eaae81ea7df0a837d91ef21d438.tar.gz hercules-8f049e98306b7eaae81ea7df0a837d91ef21d438.tar.bz2 hercules-8f049e98306b7eaae81ea7df0a837d91ef21d438.tar.xz hercules-8f049e98306b7eaae81ea7df0a837d91ef21d438.zip |
* Fixed dynamic shop arrays @bought_nameid, @bought_quantity, @sold_nameid and @sold_quantity not getting reset to zero before use, thus providing attached script with wrong/old data, if it did not clear them by itself in previous call (bugreport:1574, since r5841).
git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14611 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'src/map/script.c')
-rw-r--r-- | src/map/script.c | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/src/map/script.c b/src/map/script.c index 2e4ba6f84..73be737cc 100644 --- a/src/map/script.c +++ b/src/map/script.c @@ -3547,6 +3547,38 @@ void script_add_autobonus(const char *autobonus) } } + +/// resets a temporary character array variable to given value +void script_cleararray_pc(struct map_session_data* sd, const char* varname, void* value) +{ + int key; + uint8 idx; + + if( not_array_variable(varname[0]) || !not_server_variable(varname[0]) ) + { + ShowError("script_cleararray_pc: Variable '%s' has invalid scope (char_id=%d).\n", varname, sd->status.char_id); + return; + } + + key = add_str(varname); + + if( is_string_variable(varname) ) + { + for( idx = 0; idx < SCRIPT_MAX_ARRAYSIZE; idx++ ) + { + pc_setregstr(sd, reference_uid(key, idx), (const char*)value); + } + } + else + { + for( idx = 0; idx < SCRIPT_MAX_ARRAYSIZE; idx++ ) + { + pc_setreg(sd, reference_uid(key, idx), (int)value); + } + } +} + + /*========================================== * I—¹ *------------------------------------------*/ |