• There is NO official Otland's Discord server and NO official Otland's server list. The Otland's Staff does not manage any Discord server or server list. Moderators or administrator of any Discord server or server lists have NO connection to the Otland's Staff. Do not get scammed!

Programmer Fixing Crash Server

_Aion_

Nothing Else
Joined
Jan 19, 2010
Messages
400
Solutions
4
Reaction score
10
Location
Jequie,Bahia,Brazil
Well, i'm using TFS 0.3.7 (8.60).
i have unlocked hp/mp limite 2,1kkk(int32) passing for int64, works fine...
but now, appear one error and i cant find solution, i read code sourcer line by line and no find this error.
this error consist in, when player enter in some event(zombie event or another) when "die", server crash.

if you can help me, i paid you.

(gdb) bt full
#0 0x00000000004ddb9c in Game::addCreatureHealth (this=0xa3a780, list=..., target=0x7f365cb84a20) at game.cpp:5173
it = {_M_node = 0x7f362412d860}
player = 0x0
#1 0x00000000004dabb5 in Game::combatChangeHealth (this=0xa3a780, params=..., attacker=0x7f365dccdf90, target=0x7f365cb84a20, healthChange=-2147483620, force=false)
at game.cpp:4876
deny = false
statsChangeEvents = {<std::_List_base<CreatureEvent*, std::allocator<CreatureEvent*> >> = {
_M_impl = {<std::allocator<std::_List_node<CreatureEvent*> >> = {<__gnu_cxx::new_allocator<std::_List_node<CreatureEvent*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7f364de801c0, _M_prev = 0x7f361c857360}}}, <No data fields>}
textColor = COLOR_NONE
magicEffect = MAGIC_EFFECT_NONE
list = @0x7f3621c64e30: {<std::_List_base<Creature*, std::allocator<Creature*> >> = {
_M_impl = {<std::allocator<std::_List_node<Creature*> >> = {<__gnu_cxx::new_allocator<std::_List_node<Creature*> >> = {<No data fields>}, <No data fields>},
_M_node = {_M_next = 0x7f362412d860, _M_prev = 0x7f3622598ec0}}}, <No data fields>}
elementDamage = 0
damage = 3586230
targetPos = @0x7f3681835640: {x = 610, y = 347, z = 7}
#2 0x000000000043f9fb in Combat::CombatHealthFunc (caster=0x7f365dccdf90, target=0x7f365cb84a20, params=..., data=0x7f3681835810) at combat.cpp:577
change = -2147483620
_params = {blockedByArmor = true, blockedByShield = true, targetCasterOrTopMost = false, targetPlayersOrSummons = false, differentAreaDamage = false,
useCharges = true, isAggressive = true, dispelType = CONDITION_NONE, combatType = COMBAT_PHYSICALDAMAGE, elementType = 2091748813, itemId = 0, elementDamage = 4000,
targetCallback = 0x0, valueCallback = 0x0, tileCallback = 0x0, effects = {impact = MAGIC_EFFECT_NONE, hit = MAGIC_EFFECT_UNKNOWN, distance = SHOOT_EFFECT_NONE,
color = COLOR_UNKNOWN, show = true}, element = {type = COMBAT_NONE, damage = 0},
conditionList = {<std::_List_base<Condition const*, std::allocator<Condition const*> >> = {
_M_impl = {<std::allocator<std::_List_node<Condition const*> >> = {<__gnu_cxx::new_allocator<std::_List_node<Condition const*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7f36818357b0, _M_prev = 0x7f36818357b0}}}, <No data fields>}}
#3 0x0000000000441036 in Combat::doCombatHealth (caster=0x7f365dccdf90, target=0x7f365cb84a20, minChange=-2147483648, maxChange=-2147483648, params=..., check=false)
at combat.cpp:899
var = {minChange = -2147483648, maxChange = -2147483648, change = 0}
#4 0x0000000000440d94 in Combat::doCombat (this=0x7f367cd4d6d0, caster=0x7f365dccdf90, target=0x7f365cb84a20) at combat.cpp:864
minChange = -2147483648
maxChange = -2147483648
_params = {blockedByArmor = true, blockedByShield = true, targetCasterOrTopMost = false, targetPlayersOrSummons = false, differentAreaDamage = false,
useCharges = true, isAggressive = true, dispelType = CONDITION_NONE, combatType = COMBAT_PHYSICALDAMAGE, elementType = 2091748813, itemId = 0, elementDamage = 4000,
targetCallback = 0x0, valueCallback = 0x0, tileCallback = 0x0, effects = {impact = MAGIC_EFFECT_NONE, hit = MAGIC_EFFECT_UNKNOWN, distance = SHOOT_EFFECT_NONE,
color = COLOR_UNKNOWN, show = true}, element = {type = COMBAT_NONE, damage = 0},
conditionList = {<std::_List_base<Condition const*, std::allocator<Condition const*> >> = {
_M_impl = {<std::allocator<std::_List_node<Condition const*> >> = {<__gnu_cxx::new_allocator<std::_List_node<Condition const*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7f36818358e0, _M_prev = 0x7f36818358e0}}}, <No data fields>}}
#5 0x00000000006bceca in CombatSpell::castSpell (this=0x7f367d111660, creature=0x7f365dccdf90, target=0x7f365cb84a20) at spells.cpp:409
No locals.
#6 0x00000000005d1909 in Monster::doAttacking (this=0x7f365dccdf90, interval=100) at monster.cpp:673
multiplier = 1.3999999999999999
targetPos = @0x7f3681835a20: {x = 610, y = 347, z = 7}
inRange = true
it = {_M_node = 0x7f366f1ea0c0}
updateLook = false
myPos = @0x7f3681835a10: {x = 611, y = 348, z = 7}
#7 0x00000000004828ea in Creature::eek:nAttacking (this=0x7f365dccdf90, interval=100) at creature.cpp:252
deny = false
attackEvents = {<std::_List_base<CreatureEvent*, std::allocator<CreatureEvent*> >> = {
 
Post the function doCreatureAddHealth exactly as you are using it on your events.
 
Fourth line of the dump:
player = 0x0
player is a null pointer, make sure to check that
 
BUMP!!
Another core dump
(gdb) bt full
#0 0x00007f92054adb30 in ?? ()
No symbol table info available.
#1 0x00000000004de327 in Game::addCreatureHealth (this=0xa3f7a0, list=...,
target=0x7f920514e350) at game.cpp:5173
it = {_M_node = 0x7f9210e35980}
player = 0x7f9210c52b70
#2 0x00000000004db1e5 in Game::combatChangeHealth (this=0xa3f7a0, params=...,
attacker=0x7f9224f27160, target=0x7f920514e350, healthChange=-81604332,
force=false) at game.cpp:4876
deny = false
statsChangeEvents = {<std::_List_base<CreatureEvent*, std::allocator<Cre atureEvent*> >> = {
_M_impl = {<std::allocator<std::_List_node<CreatureEvent*> >> = {<__ gnu_cxx::new_allocator<std::_List_node<CreatureEvent*> >> = {<No data fields>}, <No data fields>}, _M_node = {_M_next = 0x7f91ff3f8c50,
_M_prev = 0x7f91c74b4950}}}, <No data fields>}
textColor = COLOR_NONE
magicEffect = MAGIC_EFFECT_NONE
list = @0x7f921108b390: {<std::_List_base<Creature*, std::allocator<Crea ture*> >> = {
_M_impl = {<std::allocator<std::_List_node<Creature*> >> = {<__gnu_c xx::new_allocator<std::_List_node<Creature*> >> = {<No data fields>}, <No data f ields>}, _M_node = {_M_next = 0x7f9207676590,
---Type <return> to continue, or q <return> to quit---bt full
_M_prev = 0x7f9210e35980}}}, <No data fields>}
elementDamage = 0
damage = 14744235
targetPos = @0x7f922a959680: {x = 614, y = 357, z = 7}
#3 0x000000000043fa6c in Combat::CombatHealthFunc (caster=0x7f9224f27160,
target=0x7f920514e350, params=..., data=0x7f922a959880) at combat.cpp:577
change = -81604332
_params = {blockedByArmor = true, blockedByShield = true,
targetCasterOrTopMost = false, targetPlayersOrSummons = false,
differentAreaDamage = false, useCharges = true, isAggressive = true,
dispelType = CONDITION_NONE, combatType = COMBAT_PHYSICALDAMAGE,
elementType = COMBAT_NONE, itemId = 0, elementDamage = 81604378624,
targetCallback = 0x0, valueCallback = 0x0, tileCallback = 0x0,
effects = {impact = MAGIC_EFFECT_NONE, hit = MAGIC_EFFECT_UNKNOWN,
distance = SHOOT_EFFECT_NONE, color = COLOR_UNKNOWN, show = true},
element = {type = COMBAT_NONE, damage = 0},
conditionList = {<std::_List_base<Condition const*, std::allocator<Con dition const*> >> = {
_M_impl = {<std::allocator<std::_List_node<Condition const*> >> = {<__gnu_cxx::new_allocator<std::_List_node<Condition const*> >> = {<No data fiel ds>}, <No data fields>}, _M_node = {_M_next = 0x7f922a959818,
_M_prev = 0x7f922a959818}}}, <No data fields>}}
#4 0x00000000004410ca in Combat::doCombatHealth (caster=0x7f9224f27160,
 
Back
Top