
chojuro
Members-
Content Count
41 -
Joined
-
Last visited
Content Type
Profiles
Forums
Downloads
Staff Applications
Calendar
Everything posted by chojuro
-
i tried to disable all plugins nothing happen still no drop i tried to diagnose 1 by 1 i think the problem is the source code ill try this debugger then ill feedback here what happen
-
Answeer: - Not latest hercules to be exact 39141 not sure if this revision start this problem until i test it - Pre-renewal onfiguration - since my planned it to update my old emulator with manny modification up to latest the answer is not clean - it never been touch the rate since i start updating my revision - mobinfo show droprate high i think there's no problem here i dont disable any plugins and npc and there is alot of changes in sources Rebuild started... 1>------ Rebuild All started: Project: plugin-change_weapon_skin, Configuration: Release Win32 ------ 2>------ Rebuild All started: Project: plugin-viewhg, Configuration: Release Win32 ------ 3>------ Rebuild All started: Project: plugin-whosell, Configuration: Release Win32 ------ 4>------ Rebuild All started: Project: plugin-whobuy, Configuration: Release Win32 ------ 5>------ Rebuild All started: Project: plugin-market, Configuration: Release Win32 ------ 6>------ Rebuild All started: Project: plugin-mapflags, Configuration: Release Win32 ------ 7>------ Rebuild All started: Project: plugin-itemmap, Configuration: Release Win32 ------ 8>------ Rebuild All started: Project: plugin-HPMHooking_login, Configuration: Release Win32 ------ 1>change_weapon_skin.c 2>viewhg.c 6>mapflags.c 3>whosell.c 4>whobuy.c 8>HPMHooking.c 5>market.c 5>G:\ragnarok\experiment\2. Update\39141\src\plugins\market.c(342,30): warning C4267: '=': conversion from 'size_t' to 'short', possible loss of data 7>itemmap.c 1> Creating library plugin-change_weapon_skin\Release\change_weapon_skin.lib and object plugin-change_weapon_skin\Release\change_weapon_skin.exp 4> Creating library plugin-whobuy\Release\whobuy.lib and object plugin-whobuy\Release\whobuy.exp 2> Creating library plugin-viewhg\Release\viewhg.lib and object plugin-viewhg\Release\viewhg.exp 3> Creating library plugin-whosell\Release\whosell.lib and object plugin-whosell\Release\whosell.exp 5> Creating library plugin-market\Release\market.lib and object plugin-market\Release\market.exp 7> Creating library plugin-itemmap\Release\itemmap.lib and object plugin-itemmap\Release\itemmap.exp 1>plugin-change_weapon_skin.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\change_weapon_skin.dll 2>plugin-viewhg.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\viewhg.dll 3>plugin-whosell.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\whosell.dll 9>------ Rebuild All started: Project: plugin-HPMHooking_char, Configuration: Release Win32 ------ 4>plugin-whobuy.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\whobuy.dll G:\ragnarok\experiment\2. Update\39141\src\map\clif.h(39): warning C6244: Local declaration of 'guild' hides previous declaration at line '192' of 'g:\ragnarok\experiment\2. update\39141\src\map\guild.h'. G:\ragnarok\experiment\2. Update\39141\src\plugins\viewhg.c(347): warning C6011: Dereferencing NULL pointer 'bl'. See line 296 for an earlier location where this can occur 5>plugin-market.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\market.dll 7>plugin-itemmap.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\itemmap.dll G:\ragnarok\experiment\2. Update\39141\src\plugins\whosell.c(34): warning C6340: Mismatch on sign: 'unsigned int' passed as _Param_(3) when some signed type is required in call to 'sprintf'. G:\ragnarok\experiment\2. Update\39141\src\plugins\whosell.c(95): warning C6326: Potential comparison of a constant with another constant. G:\ragnarok\experiment\2. Update\39141\src\plugins\whosell.c(107): warning C6326: Potential comparison of a constant with another constant. G:\ragnarok\experiment\2. Update\39141\src\plugins\whosell.c(112): warning C6326: Potential comparison of a constant with another constant. G:\ragnarok\experiment\2. Update\39141\src\plugins\whosell.c(118): warning C6326: Potential comparison of a constant with another constant. G:\ragnarok\experiment\2. Update\39141\src\plugins\whosell.c(156): warning C6340: Mismatch on sign: 'unsigned short' passed as _Param_(3) when some signed type is required in call to 'sprintf'. 6> Creating library plugin-mapflags\Release\mapflags.lib and object plugin-mapflags\Release\mapflags.exp G:\ragnarok\experiment\2. Update\39141\src\plugins\whobuy.c(60): warning C6340: Mismatch on sign: 'unsigned short' passed as _Param_(5) when some signed type is required in call to 'snprintf'. G:\ragnarok\experiment\2. Update\39141\src\plugins\itemmap.c(223): warning C6001: Using uninitialized memory 'amount'. 2>Done building project "plugin-viewhg.vcxproj". 3>Done building project "plugin-whosell.vcxproj". 10>------ Rebuild All started: Project: plugin-HPMHooking_map, Configuration: Release Win32 ------ 4>Done building project "plugin-whobuy.vcxproj". 5>Done building project "plugin-market.vcxproj". 11>------ Rebuild All started: Project: plugin-sample, Configuration: Release Win32 ------ 12>------ Rebuild All started: Project: map-server, Configuration: Release Win32 ------ 13>------ Rebuild All started: Project: mapcache, Configuration: Release Win32 ------ 7>Done building project "plugin-itemmap.vcxproj". 14>------ Rebuild All started: Project: login-server, Configuration: Release Win32 ------ 11>sample.c 10>HPMHooking.c 12>grammar.c 12>libconfig.c 12>scanctx.c 12>scanner.c 12>strbuf.c 12>mt19937ar.c 6>plugin-mapflags.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\mapflags.dll 12>conf.c 12>core.c 12>console.c 12>db.c 13>core.c 13>console.c 13>des.c 13>grfio.c 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(41759,35): warning C4090: 'function': different 'const' qualifiers 13>memmgr.c 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(62642,37): warning C4090: 'function': different 'const' qualifiers 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(62642,42): warning C4047: 'function': 'int **' differs in levels of indirection from 'int *' 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(62642,39): warning C4024: 'preHookFunc': different types for formal and actual parameter 2 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(62669,37): warning C4090: 'function': different 'const' qualifiers 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(62669,42): warning C4047: 'function': 'int **' differs in levels of indirection from 'int *' 13>showmsg.c 10>G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking\HPMHooking_map.Hooks.inc(62669,39): warning C4024: 'preHookFunc': different types for formal and actual parameter 2 13>strlib.c 9>HPMHooking.c 13>sysinfo.c 14>grammar.c 12>des.c 15>------ Rebuild All started: Project: char-server, Configuration: Release Win32 ------ 13>utils.c 12>ers.c 13>nullpo.c 14>libconfig.c 14>scanctx.c 14>scanner.c 14>strbuf.c 14>des.c 12>grfio.c 14>mutex.c 14>thread.c 13>mapcache.c 12>HPM.c 12>memmgr.c 14>account_sql.c 14>HPMlogin.c 12>mapindex.c 12>md5calc.c 12>mutex.c 12>nullpo.c 12>random.c 12>showmsg.c 12>socket.c 11> Creating library plugin-sample\Release\sample.lib and object plugin-sample\Release\sample.exp 12>sql.c 15>grammar.c 12>strlib.c 12>sysinfo.c 15>libconfig.c 8> Creating library plugin-HPMHooking_login\Release\HPMHooking_login.lib and object plugin-HPMHooking_login\Release\HPMHooking_login.exp 15>scanctx.c 14>ipban_sql.c 15>scanner.c 12>G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(1059,40): warning C4090: 'function': different 'const' qualifiers 12>G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(1059,40): warning C4113: 'int (__cdecl *)(SqlStmt *,size_t,SqlDataType,void *,size_t)' differs in parameter lists from 'int (__cdecl *)(SqlStmt *,size_t,SqlDataType,const void *,size_t)' 15>strbuf.c 15>mt19937ar.c 14>lclif.c 14>login.c 14>loginlog_sql.c 15>conf.c 14>conf.c 15>core.c 14>core.c 12>thread.c 15>console.c 14>console.c 15>db.c 15>des.c 12>timer.c 12>utils.c 12>adelays.c 14>db.c 15>ers.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(403,37): warning C4244: '=': conversion from 'double' to 'float', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(427,23): warning C4244: '=': conversion from 'int' to 'float', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(431,44): warning C4244: '=': conversion from 'float' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(492,22): warning C4244: '=': conversion from 'int' to 'float', possible loss of data 15>grfio.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(496,43): warning C4244: '=': conversion from 'float' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(522,22): warning C4244: '=': conversion from 'int' to 'float', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(526,28): warning C4244: '=': conversion from 'float' to 'int', possible loss of data 14>ers.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(530,21): warning C4244: 'return': conversion from 'float' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(534,33): warning C4244: 'return': conversion from 'float' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(584,56): warning C4244: '*=': conversion from 'float' to 'int', possible loss of data 15>HPM.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(597,32): warning C4244: '*=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(604,32): warning C4244: '*=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(709,75): warning C4244: '=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(717,75): warning C4244: '=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(740,51): warning C4244: '=': conversion from 'double' to 'int', possible loss of data 15>memmgr.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(858,21): warning C4244: '=': conversion from 'int64' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(1008,13): warning C4244: '*=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(1086,36): warning C4244: '-=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(1118,34): warning C4244: '+=': conversion from 'double' to 'int', possible loss of data 12>G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(1120,34): warning C4244: '+=': conversion from 'double' to 'int', possible loss of data 12>atcommand.c 12>battle.c 15>mapindex.c 14>grfio.c 14>HPM.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(2997,4): warning C4090: 'function': different 'const' qualifiers 12>G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(2998,34): warning C4090: 'function': different 'const' qualifiers 14>memmgr.c 12>battleground.c 14>md5calc.c 15>md5calc.c 15>mutex.c 15>nullpo.c 15>random.c 15>showmsg.c 11>plugin-sample.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\sample.dll 8>plugin-HPMHooking_login.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\HPMHooking_login.dll 12>G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(122,73): warning C4020: 'function through pointer': too many actual parameters 12>G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(142,73): warning C4020: 'function through pointer': too many actual parameters 12>G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(404,75): warning C4020: 'function through pointer': too many actual parameters 12>G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(589,75): warning C4020: 'function through pointer': too many actual parameters 14>nullpo.c 14>random.c 12>buyingstore.c 14>showmsg.c 15>socket.c 14>socket.c 14>sql.c 15>sql.c 12>channel.c 12>chat.c 14>strlib.c 15>strlib.c 14>G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(1059,40): warning C4090: 'function': different 'const' qualifiers 14>G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(1059,40): warning C4113: 'int (__cdecl *)(SqlStmt *,size_t,SqlDataType,void *,size_t)' differs in parameter lists from 'int (__cdecl *)(SqlStmt *,size_t,SqlDataType,const void *,size_t)' 14>sysinfo.c 15>sysinfo.c 15>G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(1059,40): warning C4090: 'function': different 'const' qualifiers 15>G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(1059,40): warning C4113: 'int (__cdecl *)(SqlStmt *,size_t,SqlDataType,void *,size_t)' differs in parameter lists from 'int (__cdecl *)(SqlStmt *,size_t,SqlDataType,const void *,size_t)' 14>timer.c 12>chrif.c 12>clif.c 15>thread.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(3284,43): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(3284,56): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(3292,43): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(3292,56): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 13>Generating code 12>G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(13612,38): warning C4020: 'function through pointer': too many actual parameters 14>utils.c 15>timer.c 15>utils.c 15>HPMchar.c 15>char.c 14>mt19937ar.c 13>Finished generating code 12>date.c 12>duel.c 12>elemental.c 12>guild.c 15>geoip.c 15>int_auction.c 12>intif.c 15>int_elemental.c 12>irc-bot.c 15>int_guild.c 12>itemdb.c 12>log.c 15>int_homun.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(553,34): warning C4293: '<<': shift count negative or too big, undefined behavior 12>G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(555,34): warning C4293: '<<': shift count negative or too big, undefined behavior 15>int_mail.c 15>int_mercenary.c 13>mapcache.vcxproj -> G:\ragnarok\experiment\2. Update\39141\mapcache.exe G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(770): warning C6054: String 'w2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(917): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(384): warning C28159: Consider using 'IsWindows*' instead of 'GetVersionExA'. Reason: Deprecated. Use VerifyVersionInfo* or IsWindows* macros from VersionHelpers. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(423): warning C6387: 'Temp_value_#690' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(609): warning C6387: 'Temp_value_#3043' could be '0'. 12>mail.c 13>Done building project "mapcache.vcxproj". 15>int_party.c 15>G:\ragnarok\experiment\2. Update\39141\src\char\int_party.c(320,54): warning C4018: '<=': signed/unsigned mismatch 15>int_pet.c 15>int_quest.c 12>map.c 12>mapreg_sql.c 12>homunculus.c 15>int_storage.c 15>inter.c 12>HPMmap.c 9> Creating library plugin-HPMHooking_char\Release\HPMHooking_char.lib and object plugin-HPMHooking_char\Release\HPMHooking_char.exp 15>loginif.c 15>mapif.c 15>pincode.c 14> Creating library ..\login-server.lib and object ..\login-server.exp 14>Generating code 12>instance.c 12>mercenary.c 12>mob.c 12>npc.c 14>Finished generating code 9>plugin-HPMHooking_char.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\HPMHooking_char.dll 12>npc_chat.c 12>party.c 12>path.c 12>pc.c 12>pc_groups.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(101,74): warning C4020: 'function through pointer': too many actual parameters 12>G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(7852,4): warning C4002: too many arguments for function-like macro invocation 'clif_disp_onlyself' 12>G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(7856,4): warning C4002: too many arguments for function-like macro invocation 'clif_disp_onlyself' 12>pet.c 14>login-server.vcxproj -> G:\ragnarok\experiment\2. Update\39141\login-server.exe 12>quest.c G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(228): warning C6053: The prior call to '_snprintf' might not zero-terminate string 'fbuf'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(409): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'list->elements', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(414): warning C28182: Dereferencing NULL pointer. 'list->elements' contains the same NULL value as 'realloc()`409' did. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(766): warning C6011: Dereferencing NULL pointer 'config->root'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(819): warning C6011: Dereferencing NULL pointer 'setting'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(57): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'ctx->filenames', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(60): warning C28182: Dereferencing NULL pointer. 'ctx->filenames' contains the same NULL value as 'realloc()`57' did. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(112): warning C6387: 'full_file' could be '0'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(113): warning C6387: 'full_file' could be '0'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1516): warning C6011: Dereferencing NULL pointer 'b->yy_ch_buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1561): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]->yy_ch_buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1728): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1761): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1795): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1855): warning C6011: Dereferencing NULL pointer 'b'. See line 1843 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1914): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1963): warning C6387: 'yyg->yy_buffer_stack' could be '0'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2009): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2061): warning C6011: Dereferencing NULL pointer 'buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2070): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2200): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2215): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\strbuf.c(50): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'buf->string', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\strbuf.c(53): warning C6387: 'buf->string+buf->length' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\mutex.c(76): warning C28125: The function 'InitializeCriticalSection' must be called from within a try/except block. G:\ragnarok\experiment\2. Update\39141\src\common\mutex.c(144): warning C28125: The function 'InitializeCriticalSection' must be called from within a try/except block. G:\ragnarok\experiment\2. Update\39141\src\common\thread.c(232): warning C6258: Using TerminateThread does not allow proper thread clean up. G:\ragnarok\experiment\2. Update\39141\src\login\account_sql.c(242): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\login\login.c(1046): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\login\login.c(1095): warning C6385: Reading invalid data from 'sd->userid'. G:\ragnarok\experiment\2. Update\39141\src\login\login.c(1101): warning C6386: Buffer overrun while writing to 'sd->userid'. G:\ragnarok\experiment\2. Update\39141\src\login\login.c(1672): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\db.c(615): warning C28182: Dereferencing NULL pointer. 'w' contains the same NULL value as 'x_parent->left' did. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(770): warning C6054: String 'w2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(917): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(121): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(430): warning C33010: Unchecked lower bound for enum type used as index.. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(796): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'HPM->filenames.data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(798): warning C28182: Dereferencing NULL pointer. 'HPM->filenames.data' contains the same NULL value as 'realloc()`796' did. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(980): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(1011): warning C6001: Using uninitialized memory '**HPM.filenames.data.name'. G:\ragnarok\experiment\2. Update\39141\src\common\random.c(96): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\random.c(96): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(380): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(1198): warning C6262: Function uses '16412' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(1524): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(215): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(384): warning C28159: Consider using 'IsWindows*' instead of 'GetVersionExA'. Reason: Deprecated. Use VerifyVersionInfo* or IsWindows* macros from VersionHelpers. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(423): warning C6387: 'Temp_value_#690' could be '0'. 12>script.c G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(609): warning C6387: 'Temp_value_#3043' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\timer.c(193): warning C28159: Consider using 'GetTickCount64' instead of 'GetTickCount'. Reason: GetTickCount overflows roughly every 49 days. Code that does not take that into account can loop indefinitely. GetTickCount64 operates on 64 bit values and does not have that problem 12>G:\ragnarok\experiment\2. Update\39141\src\map\script.c(8612,36): warning C4090: 'function': different 'const' qualifiers 12>searchstore.c 12>skill.c 12>status.c 12>G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6524,35): warning C4090: 'function': different 'const' qualifiers 12>G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6756,44): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6756,60): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11167,44): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11167,60): warning C4133: 'function': incompatible types - from 'int *' to 'unsigned short *' 12>G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20187,32): warning C4293: '<<': shift count negative or too big, undefined behavior 12>G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20189,34): warning C4293: '<<': shift count negative or too big, undefined behavior 12>G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20193,33): warning C4293: '<<': shift count negative or too big, undefined behavior 12>G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20195,35): warning C4293: '<<': shift count negative or too big, undefined behavior 12>G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20199,35): warning C4293: '<<': shift count negative or too big, undefined behavior 12>G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20201,37): warning C4293: '<<': shift count negative or too big, undefined behavior 15> Creating library ..\char-server.lib and object ..\char-server.exp 15>Generating code 12>storage.c 14>Done building project "login-server.vcxproj". 12>trade.c 12>unit.c 12>vending.c 15>Finished generating code 15>char-server.vcxproj -> G:\ragnarok\experiment\2. Update\39141\char-server.exe G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(228): warning C6053: The prior call to '_snprintf' might not zero-terminate string 'fbuf'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(409): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'list->elements', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(414): warning C28182: Dereferencing NULL pointer. 'list->elements' contains the same NULL value as 'realloc()`409' did. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(766): warning C6011: Dereferencing NULL pointer 'config->root'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(819): warning C6011: Dereferencing NULL pointer 'setting'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(57): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'ctx->filenames', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(60): warning C28182: Dereferencing NULL pointer. 'ctx->filenames' contains the same NULL value as 'realloc()`57' did. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(112): warning C6387: 'full_file' could be '0'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(113): warning C6387: 'full_file' could be '0'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1516): warning C6011: Dereferencing NULL pointer 'b->yy_ch_buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1561): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]->yy_ch_buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1728): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1761): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1795): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1855): warning C6011: Dereferencing NULL pointer 'b'. See line 1843 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1914): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1963): warning C6387: 'yyg->yy_buffer_stack' could be '0'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2009): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2061): warning C6011: Dereferencing NULL pointer 'buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2070): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2200): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2215): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\strbuf.c(50): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'buf->string', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\strbuf.c(53): warning C6387: 'buf->string+buf->length' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\db.c(615): warning C28182: Dereferencing NULL pointer. 'w' contains the same NULL value as 'x_parent->left' did. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(770): warning C6054: String 'w2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(917): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(121): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(430): warning C33010: Unchecked lower bound for enum type used as index.. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(796): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'HPM->filenames.data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(798): warning C28182: Dereferencing NULL pointer. 'HPM->filenames.data' contains the same NULL value as 'realloc()`796' did. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(980): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(1011): warning C6001: Using uninitialized memory '**HPM.filenames.data.name'. G:\ragnarok\experiment\2. Update\39141\src\common\mapindex.c(68): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\mutex.c(76): warning C28125: The function 'InitializeCriticalSection' must be called from within a try/except block. G:\ragnarok\experiment\2. Update\39141\src\common\mutex.c(144): warning C28125: The function 'InitializeCriticalSection' must be called from within a try/except block. G:\ragnarok\experiment\2. Update\39141\src\common\random.c(96): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\random.c(96): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(380): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(1198): warning C6262: Function uses '16412' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(1524): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(215): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(384): warning C28159: Consider using 'IsWindows*' instead of 'GetVersionExA'. Reason: Deprecated. Use VerifyVersionInfo* or IsWindows* macros from VersionHelpers. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(423): warning C6387: 'Temp_value_#690' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(609): warning C6387: 'Temp_value_#3043' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\thread.c(232): warning C6258: Using TerminateThread does not allow proper thread clean up. G:\ragnarok\experiment\2. Update\39141\src\common\timer.c(193): warning C28159: Consider using 'GetTickCount64' instead of 'GetTickCount'. Reason: GetTickCount overflows roughly every 49 days. Code that does not take that into account can loop indefinitely. GetTickCount64 operates on 64 bit values and does not have that problem G:\ragnarok\experiment\2. Update\39141\src\char\char.c(1187): warning C6262: Function uses '55824' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(1637): warning C6262: Function uses '55800' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(1689): warning C6262: Function uses '55836' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3035): warning C6262: Function uses '32012' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3120): warning C6262: Function uses '16404' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3184): warning C6386: Buffer overrun while writing to 'skillid2idx'. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3198): warning C6262: Function uses '16408' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3361): warning C6262: Function uses '55800' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3451): warning C6262: Function uses '55800' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(3927): warning C6262: Function uses '55816' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(4731): warning C6262: Function uses '55884' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(4896): warning C6262: Function uses '55788' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\char\char.c(4970): warning C6054: String 'email' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\char\int_auction.c(101): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\char\int_auction.c(297): warning C6054: String 'searchtext' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\char\inter.c(134): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\char\inter.c(150): warning C6054: String 'w2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\char\pincode.c(55): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). 15>Done building project "char-server.vcxproj". 10> Creating library plugin-HPMHooking_map\Release\HPMHooking_map.lib and object plugin-HPMHooking_map\Release\HPMHooking_map.exp 10>plugin-HPMHooking_map.vcxproj -> G:\ragnarok\experiment\2. Update\39141\plugins\HPMHooking_map.dll G:\ragnarok\experiment\2. Update\39141\src\plugins\HPMHooking.c(233): warning C6262: Function uses '48404' bytes of stack. Consider moving some data to heap. 10>Done building project "plugin-HPMHooking_map.vcxproj". 12> Creating library ..\map-server.lib and object ..\map-server.exp 12>Generating code 12>Finished generating code 12>map-server.vcxproj -> G:\ragnarok\experiment\2. Update\39141\map-server.exe G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(228): warning C6053: The prior call to '_snprintf' might not zero-terminate string 'fbuf'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(409): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'list->elements', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(414): warning C28182: Dereferencing NULL pointer. 'list->elements' contains the same NULL value as 'realloc()`409' did. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(766): warning C6011: Dereferencing NULL pointer 'config->root'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\libconfig.c(819): warning C6011: Dereferencing NULL pointer 'setting'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(57): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'ctx->filenames', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(60): warning C28182: Dereferencing NULL pointer. 'ctx->filenames' contains the same NULL value as 'realloc()`57' did. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(112): warning C6387: 'full_file' could be '0'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\scanctx.c(113): warning C6387: 'full_file' could be '0'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1516): warning C6011: Dereferencing NULL pointer 'b->yy_ch_buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1561): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]->yy_ch_buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1728): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1761): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1795): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1855): warning C6011: Dereferencing NULL pointer 'b'. See line 1843 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1914): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(1963): warning C6387: 'yyg->yy_buffer_stack' could be '0'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2009): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2061): warning C6011: Dereferencing NULL pointer 'buf'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2070): warning C6011: Dereferencing NULL pointer 'b'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2200): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\vcproj-14\scanner.c(2215): warning C6011: Dereferencing NULL pointer 'yyg->yy_buffer_stack'. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\strbuf.c(50): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'buf->string', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\3rdparty\libconfig\strbuf.c(53): warning C6387: 'buf->string+buf->length' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\db.c(615): warning C28182: Dereferencing NULL pointer. 'w' contains the same NULL value as 'x_parent->left' did. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(770): warning C6054: String 'w2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\grfio.c(917): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(121): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(430): warning C33010: Unchecked lower bound for enum type used as index.. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(796): warning C6308: 'realloc' might return null pointer: assigning null pointer to 'HPM->filenames.data', which is passed as an argument to 'realloc', will cause the original memory block to be leaked. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(798): warning C28182: Dereferencing NULL pointer. 'HPM->filenames.data' contains the same NULL value as 'realloc()`796' did. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(980): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\HPM.c(1011): warning C6001: Using uninitialized memory '**HPM.filenames.data.name'. G:\ragnarok\experiment\2. Update\39141\src\common\mapindex.c(68): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\common\mutex.c(76): warning C28125: The function 'InitializeCriticalSection' must be called from within a try/except block. G:\ragnarok\experiment\2. Update\39141\src\common\mutex.c(144): warning C28125: The function 'InitializeCriticalSection' must be called from within a try/except block. G:\ragnarok\experiment\2. Update\39141\src\common\random.c(96): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\random.c(96): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(380): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(1198): warning C6262: Function uses '16412' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\common\socket.c(1524): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\sql.c(215): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(384): warning C28159: Consider using 'IsWindows*' instead of 'GetVersionExA'. Reason: Deprecated. Use VerifyVersionInfo* or IsWindows* macros from VersionHelpers. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(423): warning C6387: 'Temp_value_#690' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\sysinfo.c(609): warning C6387: 'Temp_value_#3043' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\common\thread.c(232): warning C6258: Using TerminateThread does not allow proper thread clean up. G:\ragnarok\experiment\2. Update\39141\src\common\timer.c(193): warning C28159: Consider using 'GetTickCount64' instead of 'GetTickCount'. Reason: GetTickCount overflows roughly every 49 days. Code that does not take that into account can loop indefinitely. GetTickCount64 operates on 64 bit values and does not have that problem G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(778): warning C28183: 'timestr' could be '0', and is a copy of the value found in 'asctime()`777'. G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(778): warning C28182: Dereferencing NULL pointer. 'timestr' contains the same NULL value as 'asctime()`777' did. See line 778 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(709): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(717): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\adelays.c(1212): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(153): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(167): warning C6054: String 'w2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(585): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(639): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(1096): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(1123): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(3788): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(4804): warning C6054: String 'monster' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(5377): warning C6287: Redundant code. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(5363): warning C6054: String 'target' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6079): warning C6054: String 'sound_file' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6103): warning C6054: String 'mob_name' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6200): warning C6031: Return value ignored: 'strtok'. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6347): warning C6054: String 'name' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6362): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6781): warning C6054: String 'mob_name' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(6942): warning C6287: Redundant code. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(7194): warning C28182: Dereferencing NULL pointer. 'item_data' contains the same NULL value as 'item_array[0]=*itemdb->exists(atoi(message))' did. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(7245): warning C28182: Dereferencing NULL pointer. 'item_data' contains the same NULL value as 'item_array[0]=*itemdb->exists(atoi(message))' did. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(8540): warning C6054: String 'val' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(8849): warning C6054: String 'subcmd' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9731): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9727): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9723): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9788): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9784): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9780): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9843): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9839): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(9835): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\atcommand.c(10064): warning C6262: Function uses '21100' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(435): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(437): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(547): warning C6011: Dereferencing NULL pointer 'src'. G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(607): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(632): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(637): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(682): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(684): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(686): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(692): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(768): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(764): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(760): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(756): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(748): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(752): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(742): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(744): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(735): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(737): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(725): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(727): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(729): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(719): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(709): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(711): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(826): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(823): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(809): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(835): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(837): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(891): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(944): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(1501): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(1503): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(1414): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(1456): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(1458): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3006): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3145): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3220): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3460): warning C6011: Dereferencing NULL pointer 'md'. G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3777): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3777): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3770): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3765): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3765): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3813): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3899): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3899): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(3910): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4232): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4219): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4219): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4219): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4220): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4220): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4216): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4216): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4213): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4207): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4207): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4207): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4209): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4194): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4180): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4169): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4169): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4171): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4161): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4144): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4144): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4122): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4064): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4061): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4057): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4057): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4046): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4048): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4029): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4029): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4029): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4029): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4039): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4958): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4925): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(4925): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5057): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5061): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5076): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5100): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5279): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5274): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5265): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5269): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5259): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5261): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5243): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5245): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5235): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5238): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5232): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5228): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5224): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5216): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5206): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5290): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5306): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5474): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5495): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5556): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5558): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5560): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5572): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5618): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5626): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5637): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(5871): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battle.c(7720): warning C6054: String 'w1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(332): warning C28182: Dereferencing NULL pointer. 'sd' contains the same NULL value as 'pl_sd' did. See line 284 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(356): warning C6011: Dereferencing NULL pointer 'bg'. See line 348 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(404): warning C6054: String 'output' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(404): warning C6001: Using uninitialized memory 'output'. G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(1393): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(1415): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\battleground.c(1490): warning C28182: Dereferencing NULL pointer. 'arena' contains the same NULL value as 'sd->guild->member[i].sd->bg_queue.arena' did. See line 1425 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\channel.c(277): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\chrif.c(457): warning C6287: Redundant code. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(1186): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(1323): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(1374): warning C6011: Dereferencing NULL pointer 'sd'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(1409): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(1837): warning C6011: Dereferencing NULL pointer 'sd'. See line 1828 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(2432): warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(2482): warning C6237: (<zero> && <expression>) is always zero. <expression> is never evaluated and might have side effects. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(2975): warning C6011: Dereferencing NULL pointer 'tsd'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(3405): warning C6011: Dereferencing NULL pointer 'vd'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(3689): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(4158): warning C6011: Dereferencing NULL pointer 'sd->inventory_data[index]'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(4864): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(4865): warning C6011: Dereferencing NULL pointer 'sd'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(4895): warning C6011: Dereferencing NULL pointer 'tbl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(4921): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(5734): warning C6011: Dereferencing NULL pointer 'bl'. See line 5727 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(5765): warning C6011: Dereferencing NULL pointer 'bl'. See line 5755 for an earlier location where this can occur G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(7328): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(7331): warning C6011: Dereferencing NULL pointer 'sd'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(7332): warning C6011: Dereferencing NULL pointer 'hd'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(7901): warning C6385: Reading invalid data from '"AFK"'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(9444): warning C6385: Reading invalid data from 'packet->name'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(10267): warning C6001: Using uninitialized memory 'full_message'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(10267): warning C6054: String 'full_message' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(10267): warning C6387: 'message' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(14623): warning C6287: Redundant code. G:\ragnarok\experiment\2. Update\39141\src\map\clif.c(18223): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\irc-bot.c(347): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(215): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(215): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(259): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(259): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(553): warning C26452: Arithmetic overflow: Left shift count is negative or greater than or equal to the operand size which is undefined behavior (io.3). G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(555): warning C26452: Arithmetic overflow: Left shift count is negative or greater than or equal to the operand size which is undefined behavior (io.3). G:\ragnarok\experiment\2. Update\39141\src\map\itemdb.c(2063): warning C6262: Function uses '33092' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\map\map.c(1472): warning C6011: Dereferencing NULL pointer 'fitem'. G:\ragnarok\experiment\2. Update\39141\src\map\map.c(2882): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\map.c(2926): warning C6262: Function uses '262164' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\map\instance.c(656): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\instance.c(678): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(203): warning C6385: Reading invalid data from 'map->list[m].npc'. G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(204): warning C6386: Buffer overrun while writing to 'map->list[m].npc'. G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(938): warning C6011: Dereferencing NULL pointer 'md'. G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2295): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2295): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2315): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2435): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2435): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2443): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(2445): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\mob.c(3408): warning C6031: Return value ignored: 'strtok'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(356): warning C6385: Reading invalid data from 'sd->eventqueue[1]'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(356): warning C6386: Buffer overrun while writing to 'sd->eventqueue[0]'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(2269): warning C6385: Reading invalid data from 'map->list[m].npc'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(2270): warning C6386: Buffer overrun while writing to 'map->list[m].npc'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(4208): warning C6387: 'w4' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(4210): warning C6054: String 'drop_arg1' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(4214): warning C6054: String 'drop_arg2' might not be zero-terminated. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(4565): warning C6387: 'w4' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(4721): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\npc.c(4782): warning C6031: Return value ignored: 'sscanf'. G:\ragnarok\experiment\2. Update\39141\src\map\party.c(979): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\party.c(985): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\path.c(258): warning C6262: Function uses '16548' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\map\path.c(499): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\path.c(499): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(6902): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(6902): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(8461): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(8638): warning C33011: Unchecked upper bound for enum sc used as index.. G:\ragnarok\experiment\2. Update\39141\src\map\pc.c(11147): warning C6262: Function uses '25152' bytes of stack. Consider moving some data to heap. G:\ragnarok\experiment\2. Update\39141\src\map\pet.c(204): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pet.c(431): warning C6011: Dereferencing NULL pointer 'sd->pd'. G:\ragnarok\experiment\2. Update\39141\src\map\pet.c(714): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pet.c(717): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pet.c(1168): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\pet.c(1174): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(1353): warning C6260: sizeof * sizeof is usually wrong. Did you intend to use a character count or a byte count? G:\ragnarok\experiment\2. Update\39141\src\map\script.c(1354): warning C6260: sizeof * sizeof is usually wrong. Did you intend to use a character count or a byte count? G:\ragnarok\experiment\2. Update\39141\src\map\script.c(1361): warning C6260: sizeof * sizeof is usually wrong. Did you intend to use a character count or a byte count? G:\ragnarok\experiment\2. Update\39141\src\map\script.c(1362): warning C6260: sizeof * sizeof is usually wrong. Did you intend to use a character count or a byte count? G:\ragnarok\experiment\2. Update\39141\src\map\script.c(6235): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7010): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7011): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7018): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7019): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7028): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7132): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7514): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(7517): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(10161): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(10210): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(10207): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(10204): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(10686): warning C6011: Dereferencing NULL pointer 'md'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(11163): warning C6387: 'fontColor' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(11175): warning C6387: 'fontColor' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(11187): warning C6387: 'fontColor' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(11199): warning C6387: 'fontColor' could be '0'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(12013): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(13852): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(14325): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(14759): warning C6031: Return value ignored: 'strtok'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(15839): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(15848): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(15852): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(17177): warning C28182: Dereferencing NULL pointer. 'items[i]' contains the same NULL value as 'items[0]=*itemdb->exists(atoi(itemname))' did. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(18554): warning C6011: Dereferencing NULL pointer 'data'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(19159): warning C6031: Return value ignored: 'strtok'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(21338): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\script.c(22773): warning C6011: Dereferencing NULL pointer 'nd->u.scr.shop'. G:\ragnarok\experiment\2. Update\39141\src\map\script.c(23260): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(2361): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(2829): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(2917): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(3219): warning C6011: Dereferencing NULL pointer 'hd'. G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(4620): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(4557): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(4557): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(4251): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(3943): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(9648): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7506): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7203): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7203): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7211): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7213): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7250): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7251): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(7253): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(11435): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(11339): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(11067): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(11073): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(12493): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(12603): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(12526): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(14604): warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(14780): warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant. G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(17031): warning C6011: Dereferencing NULL pointer 'group->unit.data'. G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(18376): warning C6001: Using uninitialized memory 'class_'. G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20199): warning C26452: Arithmetic overflow: Left shift count is negative or greater than or equal to the operand size which is undefined behavior (io.3). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20193): warning C26452: Arithmetic overflow: Left shift count is negative or greater than or equal to the operand size which is undefined behavior (io.3). G:\ragnarok\experiment\2. Update\39141\src\map\skill.c(20187): warning C26452: Arithmetic overflow: Left shift count is negative or greater than or equal to the operand size which is undefined behavior (io.3). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(2721): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(2746): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(4151): warning C6011: Dereferencing NULL pointer 'ed'. G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6129): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6131): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6133): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6135): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6165): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(6167): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(10807): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11984): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11917): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11911): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11805): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11796): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11788): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11780): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11748): warning C26451: Arithmetic overflow: Using operator '+' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '+' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11670): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11417): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11417): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(11419): warning C26451: Arithmetic overflow: Using operator '*' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '*' to avoid overflow (io.2). G:\ragnarok\experiment\2. Update\39141\src\map\status.c(12177): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\unit.c(772): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\unit.c(851): warning C6011: Dereferencing NULL pointer 'bl'. G:\ragnarok\experiment\2. Update\39141\src\map\unit.c(1901): warning C6011: Dereferencing NULL pointer 'src'. G:\ragnarok\experiment\2. Update\39141\src\map\vending.c(148): warning C26451: Arithmetic overflow: Using operator '-' on a 4 byte value and then casting the result to a 8 byte value. Cast the value to the wider type before calling operator '-' to avoid overflow (io.2). 12>G:\ragnarok\experiment\2. Update\39141\vcproj-14\map-server.vcxproj(300,5): warning MSB3030: Could not copy the file "..\conf\import-tmpl\packet_conf.txt" because it was not found. 12>G:\ragnarok\experiment\2. Update\39141\vcproj-14\map-server.vcxproj(301,5): warning MSB3030: Could not copy the file "..\conf\import-tmpl\script_conf.txt" because it was not found. 12>Done building project "map-server.vcxproj". ========== Rebuild All: 15 succeeded, 0 failed, 0 skipped ========== here my result of web service debugger
-
via attack via gm command no drop on the floor
-
im sure that there is no loot mapflag active in that map actually not only in pront all maps before it is ok when i start updating my emulator i encounter that problem
-
see the drop rates is very high but the floor can see any drop where should i start to fix this?
-
is it working can i see?
-
are you wearing katar but it shows dagger? maybe you need to equip same weapon class for this?
-
all skill bypass the skill weapon requirements
chojuro replied to chojuro's question in Database Support
i already checked this im using normal players account -
all skill bypass the skill weapon requirements
chojuro replied to chojuro's question in Database Support
i already check the skill_db.conf from original it is the same -
after i update the skill_db.txt to skill_db.conf suddenly all skill weapon requirements doesnt working all skills can be use without the required weapon can someone know where to look at it?
-
my skillconverter not working i dont know why isnt working i have already installed python latest version
-
up for this please help
-
how can i use that tool?
-
how to converte skill_db.txt to skill_db.conf?
-
i actually updating my old hercules revision to the latest revision a little by little then i found some solution to the other error but this time it messed up with my mapflag plugins
-
now i got this error no warning at compiler after iapplied this patch any idea how to fix that Index: src/char/Makefile.in =================================================================== --- src/char/Makefile.in (revision 38855) +++ src/char/Makefile.in (revision 38857) @@ -23,7 +23,7 @@ CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h) COMMON_D = ../common -COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h)) +COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h)) ../plugins/HPMHooking.h SYSINFO_INC = $(COMMON_D)/sysinfo.inc COMMON_INCLUDE = -I.. Index: src/common/HPM.c =================================================================== --- src/common/HPM.c (revision 38855) +++ src/common/HPM.c (revision 38857) @@ -38,6 +38,7 @@ #include "common/timer.h" #include "common/utils.h" #include "common/nullpo.h" +#include "plugins/HPMHooking.h" #include <stdio.h> #include <stdlib.h> @@ -51,6 +52,7 @@ struct malloc_interface *HPMiMalloc; struct HPM_interface HPM_s; struct HPM_interface *HPM; +struct HPMHooking_core_interface HPMHooking_core_s; /** * (char*) data name -> (unsigned int) HPMDataCheck[] index @@ -341,13 +343,13 @@ /* TODO: add ability for tracking using pID for the upcoming runtime load/unload support. */ bool HPM_AddHook(enum HPluginHookType type, const char *target, void *hook, unsigned int pID) { - if (!HPM->hooking) { + if (!HPM->hooking->enabled) { ShowError("HPM:AddHook Fail! '%s' tried to hook to '%s' but HPMHooking is disabled!\n",HPM->pid2name(pID),target); return false; } /* search if target is a known hook point within 'common' */ /* if not check if a sub-hooking list is available (from the server) and run it by */ - if (HPM->addhook_sub && HPM->addhook_sub(type,target,hook,pID)) + if (HPM->hooking->addhook_sub != NULL && HPM->hooking->addhook_sub(type,target,hook,pID)) return true; ShowError("HPM:AddHook: unknown Hooking Point '%s'!\n",target); @@ -358,12 +360,12 @@ void HPM_HookStop(const char *func, unsigned int pID) { /* track? */ - HPM->force_return = true; + HPM->hooking->force_return = true; } -bool HPM_HookStopped (void) +bool HPM_HookStopped(void) { - return HPM->force_return; + return HPM->hooking->force_return; } /** @@ -567,16 +569,20 @@ plugin->hpi->addToHPData = hplugins_addToHPData; plugin->hpi->getFromHPData = hplugins_getFromHPData; plugin->hpi->removeFromHPData = hplugins_removeFromHPData; - plugin->hpi->AddHook = HPM_AddHook; - plugin->hpi->HookStop = HPM_HookStop; - plugin->hpi->HookStopped = HPM_HookStopped; plugin->hpi->addArg = hpm_add_arg; plugin->hpi->addConf = hplugins_addconf; + if ((plugin->hpi->hooking = plugin_import(plugin->dll, "HPMHooking_s", struct HPMHooking_interface *)) != NULL) { + plugin->hpi->hooking->AddHook = HPM_AddHook; + plugin->hpi->hooking->HookStop = HPM_HookStop; + plugin->hpi->hooking->HookStopped = HPM_HookStopped; + } /* server specific */ if( HPM->load_sub ) HPM->load_sub(plugin); - ShowStatus("HPM: Loaded plugin '"CL_WHITE"%s"CL_RESET"' (%s).\n", plugin->info->name, plugin->info->version); + ShowStatus("HPM: Loaded plugin '"CL_WHITE"%s"CL_RESET"' (%s)%s.\n", + plugin->info->name, plugin->info->version, + plugin->hpi->hooking != NULL ? " built with HPMHooking support" : ""); return plugin; } @@ -660,12 +666,13 @@ bool (*addhook_sub) (enum HPluginHookType type, const char *target, void *hook, unsigned int pID); if ((func = plugin_import(plugin->dll, "Hooked",const char * (*)(bool *))) != NULL && (addhook_sub = plugin_import(plugin->dll, "HPM_Plugin_AddHook",bool (*)(enum HPluginHookType, const char *, void *, unsigned int))) != NULL) { - const char *failed = func(&HPM->force_return); + const char *failed = func(&HPM->hooking->force_return); if (failed) { ShowError("HPM: failed to retrieve '%s' for '"CL_WHITE"%s"CL_RESET"'!\n", failed, plugin_name); } else { - HPM->hooking = true; - HPM->addhook_sub = addhook_sub; + HPM->hooking->enabled = true; + HPM->hooking->addhook_sub = addhook_sub; + HPM->hooking->Hooked = func; // The purpose of this is type-checking 'func' at compile time. } } } @@ -1046,11 +1053,10 @@ void hpm_defaults(void) { HPM = &HPM_s; + HPM->hooking = &HPMHooking_core_s; memset(&HPM->filenames, 0, sizeof(HPM->filenames)); VECTOR_INIT(HPM->cmdline_load_plugins); - HPM->force_return = false; - HPM->hooking = false; /* */ HPM->init = hpm_init; HPM->final = hpm_final; @@ -1067,7 +1073,6 @@ HPM->pid2name = hplugins_id2name; HPM->parse_packets = hplugins_parse_packets; HPM->load_sub = NULL; - HPM->addhook_sub = NULL; HPM->parseConf = hplugins_parse_conf; HPM->getBattleConf = hplugins_get_battle_conf; HPM->DataCheck = HPM_DataCheck; @@ -1078,4 +1083,9 @@ HPM->data_store_create = hplugin_data_store_create; HPM->data_store_validate = hplugin_data_store_validate; HPM->data_store_validate_sub = NULL; + + HPM->hooking->enabled = false; + HPM->hooking->force_return = false; + HPM->hooking->addhook_sub = NULL; + HPM->hooking->Hooked = NULL; } Index: src/common/HPM.h =================================================================== --- src/common/HPM.h (revision 38855) +++ src/common/HPM.h (revision 38857) @@ -65,6 +65,8 @@ #endif // WIN32 +struct HPMHooking_core_interface; + struct hplugin { DLL dll; unsigned int idx; @@ -126,9 +128,6 @@ /* vars */ unsigned int version[2]; bool off; - bool hooking; - /* hooking */ - bool force_return; /* data */ VECTOR_DECL(struct hplugin *) plugins; VECTOR_DECL(struct hpm_symbol *) symbols; @@ -159,7 +158,6 @@ char *(*pid2name) (unsigned int pid); unsigned char (*parse_packets) (int fd, int packet_id, enum HPluginPacketHookingPoints point); void (*load_sub) (struct hplugin *plugin); - bool (*addhook_sub) (enum HPluginHookType type, const char *target, void *hook, unsigned int pID); /* for custom config parsing */ bool (*parseConf) (const char *w1, const char *w2, enum HPluginConfType point); bool (*getBattleConf) (const char* w1, int *value); @@ -173,6 +171,9 @@ bool (*data_store_validate) (enum HPluginDataTypes type, struct hplugin_data_store **storeptr, bool initialize); /* for server-specific HPData e.g. map_session_data */ bool (*data_store_validate_sub) (enum HPluginDataTypes type, struct hplugin_data_store **storeptr, bool initialize); + + /* hooking */ + struct HPMHooking_core_interface *hooking; }; CMDLINEARG(loadplugin); Index: src/common/HPMi.h =================================================================== --- src/common/HPMi.h (revision 38855) +++ src/common/HPMi.h (revision 38857) @@ -25,6 +25,7 @@ #include "common/core.h" #include "common/showmsg.h" +struct HPMHooking_interface; struct Sql; // common/sql.h struct script_state; struct AtCommandInfo; @@ -32,7 +33,7 @@ struct map_session_data; struct hplugin_data_store; -#define HPM_VERSION "1.1" +#define HPM_VERSION "1.2" #define HPM_ADDCONF_LENGTH 40 struct hplugin_info { @@ -71,11 +72,6 @@ hpPHP_MAX, }; -enum HPluginHookType { - HOOK_TYPE_PRE, - HOOK_TYPE_POST, -}; - /** * Data types for plugin custom data. */ @@ -107,13 +103,6 @@ HPCT_MAX, }; -#define addHookPre(tname,hook) (HPMi->AddHook(HOOK_TYPE_PRE,(tname),(hook),HPMi->pid)) -#define addHookPost(tname,hook) (HPMi->AddHook(HOOK_TYPE_POST,(tname),(hook),HPMi->pid)) -/* need better names ;/ */ -/* will not run the original function after pre-hook processing is complete (other hooks will run) */ -#define hookStop() (HPMi->HookStop(__func__,HPMi->pid)) -#define hookStopped() (HPMi->HookStopped()) - #define addArg(name, param,func,help) (HPMi->addArg(HPMi->pid,(name),(param),(cmdline_arg_ ## func),(help))) /* HPData handy redirects */ /* session[] */ @@ -231,10 +220,6 @@ void (*removeFromHPData) (enum HPluginDataTypes type, uint32 pluginID, struct hplugin_data_store *store, uint32 classid); /* packet */ bool (*addPacket) (unsigned short cmd, unsigned short length, void (*receive)(int fd), unsigned int point, unsigned int pluginID); - /* Hooking */ - bool (*AddHook) (enum HPluginHookType type, const char *target, void *hook, unsigned int pID); - void (*HookStop) (const char *func, unsigned int pID); - bool (*HookStopped) (void); /* program --arg/-a */ bool (*addArg) (unsigned int pluginID, char *name, bool has_param, CmdlineExecFunc func, const char *help); /* battle-config recv param */ @@ -243,6 +228,9 @@ void (*addPCGPermission) (unsigned int pluginID, char *name, unsigned int *mask); struct Sql *sql_handle; + + /* Hooking */ + struct HPMHooking_interface *hooking; }; #ifdef HERCULES_CORE #define HPM_SYMBOL(n, s) (HPM->share((s), (n)), true) Index: src/common/Makefile.in =================================================================== --- src/common/Makefile.in (revision 38855) +++ src/common/Makefile.in (revision 38857) @@ -50,7 +50,8 @@ COMMON_H = atomic.h cbasetypes.h conf.h console.h core.h db.h des.h ers.h \ grfio.h hercules.h HPM.h HPMi.h memmgr.h mapindex.h md5calc.h \ mmo.h mutex.h nullpo.h random.h showmsg.h socket.h spinlock.h \ - sql.h strlib.h sysinfo.h thread.h timer.h utils.h winapi.h + sql.h strlib.h sysinfo.h thread.h timer.h utils.h winapi.h \ + ../plugins/HPMHooking.h COMMON_PH = COMMON_SQL_OBJ = obj_sql/sql.o Index: src/common/strlib.c =================================================================== --- src/common/strlib.c (revision 38855) +++ src/common/strlib.c (revision 38857) @@ -629,7 +629,6 @@ svstate.opt = opt; svstate.delim = delim; svstate.done = false; - svstate.start = 0; // parse count = 0; Index: src/login/Makefile.in =================================================================== --- src/login/Makefile.in (revision 38855) +++ src/login/Makefile.in (revision 38857) @@ -23,7 +23,7 @@ CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h) COMMON_D = ../common -COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h)) +COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h)) ../plugins/HPMHooking.h SYSINFO_INC = $(COMMON_D)/sysinfo.inc COMMON_INCLUDE = -I.. Index: src/map/Makefile.in =================================================================== --- src/map/Makefile.in (revision 38855) +++ src/map/Makefile.in (revision 38857) @@ -23,7 +23,7 @@ CONFIG_H = $(wildcard $(CONFIG_D)/*.h) $(wildcard $(CONFIG_D)/*/*.h) COMMON_D = ../common -COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h)) +COMMON_H = $(filter-out %.p.h, $(wildcard $(COMMON_D)/*.h)) ../plugins/HPMHooking.h SYSINFO_INC = $(COMMON_D)/sysinfo.inc COMMON_INCLUDE = -I.. Index: src/plugins/HPMHooking.c =================================================================== --- src/plugins/HPMHooking.c (revision 38855) +++ src/plugins/HPMHooking.c (revision 38857) @@ -17,6 +17,9 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include "HPMHooking.h" + #include "common/hercules.h" #include "common/db.h" #include "common/memmgr.h" Index: src/plugins/HPMHooking.h =================================================================== --- src/plugins/HPMHooking.h (nonexistent) +++ src/plugins/HPMHooking.h (revision 38857) @@ -0,0 +1,65 @@ +/** + * This file is part of Hercules. + * http://herc.ws - http://github.com/HerculesWS/Hercules + * + * Copyright (C) 2016 Hercules Dev Team + * + * Hercules is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#ifndef PLUGINS_HPMHOOKING_H +#define PLUGINS_HPMHOOKING_H + +#include "common/hercules.h" + +enum HPluginHookType { + HOOK_TYPE_PRE, + HOOK_TYPE_POST, +}; + +struct HPMHooking_interface { + bool (*AddHook) (enum HPluginHookType type, const char *target, void *hook, unsigned int pID); + void (*HookStop) (const char *func, unsigned int pID); + bool (*HookStopped) (void); +}; + +#ifdef HERCULES_CORE +struct HPMHooking_core_interface { + bool enabled; + bool force_return; + bool (*addhook_sub) (enum HPluginHookType type, const char *target, void *hook, unsigned int pID); + const char *(*Hooked)(bool *fr); +}; +#else // ! HERCULES_CORE +HPExport struct HPMHooking_interface HPMHooking_s; + +#include "HPMHooking/HPMHooking.Defs.inc" + +#define addHookPre(ifname, funcname, hook) ( \ + (void)((HPMHOOK_pre_ ## ifname ## _ ## funcname)0 == (hook)), \ + HPMi->hooking->AddHook(HOOK_TYPE_PRE, #ifname "->" #funcname, (hook), HPMi->pid) \ + ) + +#define addHookPost(ifname, funcname, hook) ( \ + (void)((HPMHOOK_post_ ## ifname ## _ ## funcname)0 == (hook)), \ + HPMi->hooking->AddHook(HOOK_TYPE_POST, #ifname "->" #funcname, (hook), HPMi->pid) \ + ) + +/* need better names ;/ */ +/* will not run the original function after pre-hook processing is complete (other hooks will run) */ +#define hookStop() (HPMi->hooking->HookStop(__func__,HPMi->pid)) +#define hookStopped() (HPMi->hooking->HookStopped()) + +#endif // ! HERCULES_CORE + +#endif // PLUGINS_HPMHOOKING_H Index: src/plugins/HPMHooking/HPMHooking.Defs.inc =================================================================== --- src/plugins/HPMHooking/HPMHooking.Defs.inc (nonexistent) +++ src/plugins/HPMHooking/HPMHooking.Defs.inc (revision 38857) @@ -0,0 +1,24 @@ +/** + * This file is part of Hercules. + * http://herc.ws - http://github.com/HerculesWS/Hercules + * + * Copyright (C) 2013-2016 Hercules Dev Team + * + * Hercules is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +/* + * NOTE: This file was auto-generated and should never be manually edited, + * as it will get overwritten. + */ Index: src/plugins/Makefile.in =================================================================== --- src/plugins/Makefile.in (revision 38855) +++ src/plugins/Makefile.in (revision 38857) @@ -47,7 +47,7 @@ COMMON_D = ../common # Includes private headers (plugins might need them) -COMMON_H = $(wildcard $(COMMON_D)/*.h) +COMMON_H = $(wildcard $(COMMON_D)/*.h) ../plugins/HPMHooking.h COMMON_INCLUDE = -I.. THIRDPARTY_INCLUDE = -I../../3rdparty Index: src/plugins/sample.c =================================================================== --- src/plugins/sample.c (revision 38855) +++ src/plugins/sample.c (revision 38857) @@ -29,6 +29,7 @@ #include "map/pc.h" #include "map/script.h" +#include "plugins/HPMHooking.h" #include "common/HPMDataCheck.h" /* should always be the last Hercules file included! (if you don't make it last, it'll intentionally break compile time) */ #include <stdio.h> @@ -199,13 +200,13 @@ /* in this sample we add a PreHook to pc->dropitem */ /* to identify whether the item being dropped is on amount higher than 1 */ /* if so, it stores the amount on a variable (my_pc_dropitem_storage) and changes the amount to 1 */ - addHookPre("pc->dropitem",my_pc_dropitem_pre); + addHookPre(pc, dropitem, my_pc_dropitem_pre); /* in this sample we add a PostHook to pc->dropitem */ /* if the original pc->dropitem was successful and the amount stored on my_pc_dropitem_storage is higher than 1, */ /* our posthook will display a message to the user about the cap */ /* - by checking whether it was successful (retVal value) it allows for the originals conditions to take place */ - addHookPost("pc->dropitem",my_pc_dropitem_post); + addHookPost(pc, dropitem, my_pc_dropitem_post); } } /* triggered when server starts loading, before any server-specific data is set */ Index: tools/HPMHookGen/HPMHookGen.pl =================================================================== --- tools/HPMHookGen/HPMHookGen.pl (revision 38855) +++ tools/HPMHookGen/HPMHookGen.pl (revision 38857) @@ -460,31 +460,13 @@ } my $year = (localtime)[5] + 1900; -foreach my $servertype (keys %keys) { - my $keysref = $keys{$servertype}; - # Some interfaces use different names - my %exportsymbols = map { - $_ => &{ sub ($) { - return 'battlegrounds' if $_ =~ /^bg$/; - return 'pc_groups' if $_ =~ /^pcg$/; - return $_; - }}($_); - } @$keysref; - my ($maxlen, $idx) = (0, 0); - my $fname; - - if ($servertype eq 'all') { - $fname = "../../src/common/HPMSymbols.inc.h"; - open(FH, ">", $fname) - or die "cannot open > $fname: $!"; - - print FH <<"EOF"; +my $fileheader = <<"EOF"; /** * This file is part of Hercules. * http://herc.ws - http://github.com/HerculesWS/Hercules * - * Copyright (C) 2015-$year Hercules Dev Team + * Copyright (C) 2013-$year Hercules Dev Team * * Hercules is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -504,7 +486,29 @@ * NOTE: This file was auto-generated and should never be manually edited, * as it will get overwritten. */ +EOF +foreach my $servertype (keys %keys) { + my $keysref = $keys{$servertype}; + # Some interfaces use different names + my %exportsymbols = map { + $_ => &{ sub ($) { + return 'battlegrounds' if $_ =~ /^bg$/; + return 'pc_groups' if $_ =~ /^pcg$/; + return $_; + }}($_); + } @$keysref; + + my ($maxlen, $idx) = (0, 0); + my $fname; + + if ($servertype eq 'all') { + $fname = "../../src/common/HPMSymbols.inc.h"; + open(FH, ">", $fname) + or die "cannot open > $fname: $!"; + + print FH <<"EOF"; +$fileheader #if !defined(HERCULES_CORE) EOF @@ -538,6 +542,36 @@ } EOF close FH; + + $fname = "../../src/plugins/HPMHooking/HPMHooking.Defs.inc"; + open(FH, ">", $fname) + or die "cannot open > $fname: $!"; + + print FH <<"EOF"; +$fileheader +EOF + + foreach my $key (@$keysref) { + print FH <<"EOF"; +#ifdef $fileguards{$key}->{guard} /* $key */ +EOF + + foreach my $if (@{ $ifs{$key} }) { + my ($predef, $postdef) = ($if->{predef}, $if->{postdef}); + $predef =~ s/preHookFunc/HPMHOOK_pre_${key}_$if->{name}/; + $postdef =~ s/postHookFunc/HPMHOOK_post_${key}_$if->{name}/; + + print FH <<"EOF"; +typedef $predef +typedef $postdef +EOF + } + print FH <<"EOF"; +#endif // $fileguards{$key}->{guard} +EOF + } + close FH; + next; } @@ -546,30 +580,7 @@ or die "cannot open > $fname: $!"; print FH <<"EOF"; -/** - * This file is part of Hercules. - * - * Copyright (C) 2013-$year Hercules Dev Team - * - * Hercules is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/* - * NOTE: This file was auto-generated and should never be manually edited, - * as it will get overwritten. - */ - +$fileheader struct HookingPointData HookingPoints[] = { EOF @@ -597,31 +608,7 @@ or die "cannot open > $fname: $!"; print FH <<"EOF"; -/** - * This file is part of Hercules. - * http://herc.ws - http://github.com/HerculesWS/Hercules - * - * Copyright (C) 2013-$year Hercules Dev Team - * - * Hercules is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/* - * NOTE: This file was auto-generated and should never be manually edited, - * as it will get overwritten. - */ - +$fileheader EOF foreach my $key (@$keysref) { @@ -636,31 +623,7 @@ or die "cannot open > $fname: $!"; print FH <<"EOF"; -/** - * This file is part of Hercules. - * http://herc.ws - http://github.com/HerculesWS/Hercules - * - * Copyright (C) 2013-$year Hercules Dev Team - * - * Hercules is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/* - * NOTE: This file was auto-generated and should never be manually edited, - * as it will get overwritten. - */ - +$fileheader struct { EOF @@ -711,31 +674,7 @@ or die "cannot open > $fname: $!"; print FH <<"EOF"; -/** - * This file is part of Hercules. - * http://herc.ws - http://github.com/HerculesWS/Hercules - * - * Copyright (C) 2013-$year Hercules Dev Team - * - * Hercules is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ - -/* - * NOTE: This file was auto-generated and should never be manually edited, - * as it will get overwritten. - */ - +$fileheader EOF foreach my $key (@$keysref) {
-
help me about my old plugins got error when update some revision of my old files thanks
-
it works thanks
-
this line make me having error from this //To identify disguised characters. static inline bool disguised(struct block_list* bl) { struct map_session_data* sd = BL_CAST(BL_PC, bl); if (sd == NULL || sd->disguise == -1) return false; return true; } to this //To identify disguised characters. bool clif_isdisguised(struct block_list* bl) { struct map_session_data* sd = BL_CAST(BL_PC, bl); if (sd == NULL || sd->disguise == -1) return false; return true; }
-
what diff bro maybe i can help
-
hello @AnnieRuru can ask how to fix this im using quite old emulator
-
//===== Hercules Plugin ====================================== //= change equipment skin //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 1.1 //===== Compatible With: ===================================== //= Hercules 2019-03-23 //===== Description: ========================================= //= change equipment skin //===== Topic ================================================ //= http://herc.ws/board/topic/16618-change-equipment-skin/ //===== Additional Comments: ================================= //= only weapon supported, LOOK_SHIELD are fuck up ... not supported //============================================================ #include "common/hercules.h" #include "map/pc.h" #include "map/clif.h" #include "map/battle.h" #include "map/script.h" #include "common/conf.h" #include "common/memmgr.h" //#include "plugins/HPMHooking.h" #include "common/HPMDataCheck.h" struct change_weapon_skin_data { int itemid; int skinid; }; VECTOR_DECL(struct change_weapon_skin_data) weapon_skin_data; HPExport struct hplugin_info pinfo = { "change_equipment_skin", SERVER_TYPE_MAP, "1.1", HPM_VERSION, }; void clif_sendlook_pre( struct block_list **bl, int *id, int *type, int *val, int *val2, enum send_target *target ) { struct map_session_data *sd = BL_CAST(BL_PC, *bl); if ( sd != NULL ) { if ( *type == LOOK_WEAPON ) { int i = pc->checkequip( sd, script->equip[EQI_SHADOW_WEAPON -1] ); if ( i >= 0 ) { struct item_data *item = sd->inventory_data[i]; if ( item == NULL ) return; for ( i = 0; i < VECTOR_LENGTH(weapon_skin_data); i++ ) { if ( item->nameid == VECTOR_INDEX(weapon_skin_data, i).itemid ) { *val = VECTOR_INDEX(weapon_skin_data, i).skinid; break; } } } } } } void pc_unequipitem_pos_pre( struct map_session_data **sd, int *n, int *pos ) { if ( *sd == NULL ) return; if ( *pos & EQP_SHADOW_WEAPON ) { (*sd)->weapontype1 = W_FIST; pc->calcweapontype(*sd); (*sd)->status.look.weapon = 0; clif->changelook( &(*sd)->bl, LOOK_WEAPON, (*sd)->status.look.weapon ); hookStop(); } return; } int read_change_equipment_skin(void) { const char *confpath = "conf/import/change_equipment_skin.conf"; struct config_t change_equipment_skin_conf; if ( !libconfig->load_file( &change_equipment_skin_conf, confpath ) ) { ShowError( "can't read %s, file not found !\n", confpath ); return -1; } struct config_setting_t *config_db = libconfig->setting_get_member( change_equipment_skin_conf.root, "change_equipment_skin" ); if ( config_db == NULL ) { ShowError( "can't read %s\n", confpath ); libconfig->destroy( &change_equipment_skin_conf ); return -1; } struct config_setting_t *config = NULL; int itemid_ = 0, skinid_ = 0, i = 0; const char *looktype_string = NULL; VECTOR_INIT(weapon_skin_data); while (( config = libconfig->setting_get_elem( config_db, i++ ) )) { if ( !libconfig->setting_lookup_string( config, "Type", &looktype_string ) ) { ShowError( "Missing 'Type' on entry no."CL_WHITE"%d"CL_RESET" in '"CL_WHITE"%s"CL_RESET"'.\n", i, confpath ); continue; } if ( !libconfig->setting_lookup_int( config, "ItemID", &itemid_ ) ) { ShowError( "Missing 'ItemID' on entry no."CL_WHITE"%d"CL_RESET" in '"CL_WHITE"%s"CL_RESET"'.\n", i, confpath ); continue; } if ( !libconfig->setting_lookup_int( config, "SkinID", &skinid_ ) ) { ShowError( "Missing 'SkinID' on entry no."CL_WHITE"%d"CL_RESET" in '"CL_WHITE"%s"CL_RESET"'.\n", i, confpath ); continue; } if ( !strcmp( looktype_string, "LOOK_WEAPON" ) ) { struct change_weapon_skin_data weapon_data_; weapon_data_.itemid = itemid_; weapon_data_.skinid = skinid_; VECTOR_ENSURE( weapon_skin_data, 1, 1 ); VECTOR_PUSH( weapon_skin_data, weapon_data_ ); } else ShowError( "Invalid 'Type' on entry no."CL_WHITE"%d"CL_RESET" in '"CL_WHITE"%s"CL_RESET"'.\n", i, confpath ); } // ShowDebug( "%d\n", VECTOR_LENGTH(weapon_skin_data) ); // for ( i = 0; i < VECTOR_LENGTH(weapon_skin_data); i++ ) { // ShowDebug( "%d", VECTOR_INDEX(weapon_skin_data, i).itemid ); // ShowDebug( "%d\n", VECTOR_INDEX(weapon_skin_data, i).skinid ); // } libconfig->destroy( &change_equipment_skin_conf ); ShowStatus("Done reading '"CL_WHITE"%d"CL_RESET"' entries in '"CL_WHITE"%s"CL_RESET"'.\n", VECTOR_LENGTH(weapon_skin_data), confpath); return VECTOR_LENGTH(weapon_skin_data); } void clean_change_equipment_skin(void) { VECTOR_CLEAR(weapon_skin_data); return; } ACMD(reloadequipmentskin) { int count = 0; char msg[CHAT_SIZE_MAX] = "Done reloading '@reloadequipmentskin' with %d entries."; clean_change_equipment_skin(); count = read_change_equipment_skin(); safesnprintf( msg, CHAT_SIZE_MAX, msg, count ); clif->message( sd->fd, msg ); return true; } HPExport void plugin_init (void) { addHookPre( clif, sendlook, clif_sendlook_pre ); addHookPre( pc, unequipitem_pos, pc_unequipitem_pos_pre ); addAtcommand( "reloadequipmentskin", reloadequipmentskin ); clean_change_equipment_skin(); read_change_equipment_skin(); } HPExport void plugin_final (void) { clean_change_equipment_skin(); } here is the code help me to implement this thanks
-
yes it is very old hahaha but im updating it little by little
-
1charpergm_0.2a.c: In function ‘plugin_init’: 1charpergm_0.2a.c:53:65: error: macro "addHookPre" passed 3 arguments, but takes just 2 addHookPre( chr, make_new_char_sql, char_make_new_char_sql_pre ); ^ 1charpergm_0.2a.c:53:2: error: ‘addHookPre’ undeclared (first use in this function) addHookPre( chr, make_new_char_sql, char_make_new_char_sql_pre ); ^ 1charpergm_0.2a.c:53:2: note: each undeclared identifier is reported only once for each function it appears in 1charpergm_0.2a.c:54:65: error: macro "addHookPre" passed 3 arguments, but takes just 2 addHookPre( chr, parse_char_select, char_parse_char_select_pre ); ^ 1charpergm_0.2a.c: At top level: 1charpergm_0.2a.c:31:12: warning: ‘char_make_new_char_sql_pre’ defined but not used [-Wunused-function] static int char_make_new_char_sql_pre( struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, int *starting_job, uint8 *sex) { ^ 1charpergm_0.2a.c:40:13: warning: ‘char_parse_char_select_pre’ defined but not used [-Wunused-function] static void char_parse_char_select_pre( int *fd, struct char_session_data **sd, uint32 *ipl ) { ^ make[1]: *** [../../plugins/1charpergm_0.2a.so] Error 1 make[1]: Leaving directory `/root/hercules/src/plugins' make: *** [plugin.1charpergm_0.2a] Error 2 //===== Hercules Plugin ====================================== //= 1charpergm //===== By: ================================================== //= AnnieRuru //===== Current Version: ===================================== //= 0.2a //===== Compatible With: ===================================== //= Hercules 2019-02-16 //===== Description: ========================================= //= make each GM account can only have 1 character slot //===== Topic ================================================ //= http://herc.ws/board/topic/11215-one-char-per-gm-account/?do=findComment&comment=90332 //===== Additional Comments: ================================= //= simple trick, only allow them to create/login the character on slot 0 //============================================================ #include "common/hercules.h" #include "char/char.h" #include "common/nullpo.h" #include "common/socket.h" //#include "plugins/HPMHooking.h" #include "common/HPMDataCheck.h" HPExport struct hplugin_info pinfo = { "1charpergm", SERVER_TYPE_CHAR, "0.2a", HPM_VERSION, }; static int char_make_new_char_sql_pre( struct char_session_data **sd, const char **name_, int *str, int *agi, int *vit, int *int_, int *dex, int *luk, int *slot, int *hair_color, int *hair_style, int *starting_job, uint8 *sex) { nullpo_retr(-2, *sd); if ( *slot != 0 && (*sd)->group_id > 10 ) { // change 10 to minimum gm level hookStop(); return -2; } return 0; } static void char_parse_char_select_pre( int *fd, struct char_session_data **sd, uint32 *ipl ) { int slot = RFIFOB(*fd, 2); if ( slot != 0 && (*sd)->group_id > 10 ) { RFIFOSKIP(*fd, 3); chr->creation_failed(*fd, -4); hookStop(); } return; } int (*make_new_char_sql) (struct char_session_data* sd, char* name_, int str, int agi, int vit, int int_, int dex, int luk, int slot, int hair_color, int hair_style); void (*parse_char_select) (int fd, struct char_session_data* sd, uint32 ipl); HPExport void plugin_init (void) { addHookPre( chr, make_new_char_sql, char_make_new_char_sql_pre ); addHookPre( chr, parse_char_select, char_parse_char_select_pre ); } this is the plugins i used any idea how to fixed this?
-
if you click that error it will open the file contain testvar