Jump to content

chojuro

Members
  • Content Count

    41
  • Joined

  • Last visited

Everything posted by chojuro

  1. 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
  2. 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
  3. via attack via gm command no drop on the floor
  4. 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
  5. see the drop rates is very high but the floor can see any drop where should i start to fix this?
  6. is it working can i see?
  7. are you wearing katar but it shows dagger? maybe you need to equip same weapon class for this?
  8. i already checked this im using normal players account
  9. i already check the skill_db.conf from original it is the same
  10. 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?
  11. my skillconverter not working i dont know why isnt working i have already installed python latest version
  12. how to converte skill_db.txt to skill_db.conf?
  13. 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
  14. 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) {
  15. help me about my old plugins got error when update some revision of my old files thanks
  16. 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; }
  17. what diff bro maybe i can help
  18. hello @AnnieRuru can ask how to fix this im using quite old emulator
  19. //===== 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
  20. yes it is very old hahaha but im updating it little by little
  21. 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?
  22. if you click that error it will open the file contain testvar
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.