diff --git a/modules/game_interface/gameinterface.lua b/modules/game_interface/gameinterface.lua index 755217ec..fa791b4d 100644 --- a/modules/game_interface/gameinterface.lua +++ b/modules/game_interface/gameinterface.lua @@ -394,8 +394,8 @@ function processMouseAction(menuPosition, mouseButton, autoWalkPos, lookThing, u else if multiUseThing and keyboardModifiers == KeyboardNoModifier and mouseButton == MouseRightButton and not g_mouse.isPressed(MouseLeftButton) then local player = g_game.getLocalPlayer() - if multiUseThing:isCreature() and multiUseThing:isCreature() ~= player then - g_game.attack(multiUseThing) + if creatureThing ~= player then + g_game.attack(creatureThing) return true elseif multiUseThing:isContainer() then if multiUseThing:getParentContainer() then diff --git a/src/otclient/game.cpp b/src/otclient/game.cpp index ea915365..ee5e3343 100644 --- a/src/otclient/game.cpp +++ b/src/otclient/game.cpp @@ -769,7 +769,7 @@ void Game::attack(const CreaturePtr& creature) if(!canPerformGameAction() || creature == m_localPlayer) return; - if(creature == m_attackingCreature) { + if(creature && creature == m_attackingCreature) { cancelAttack(); return; }