Game.useOnCreature lua api

master
Eduardo Bart 12 years ago
parent 0b08552bbc
commit cc5b36b1cb

@ -22,7 +22,8 @@ end
function debugContainersItems()
function UIItem:onHoverChange(hovered)
if hovered then
ToolTip.display(self:getItem():getId())
local item = self:getItem()
if item then ToolTip.display(item:getId()) end
else
ToolTip.hide()
end

@ -18,12 +18,15 @@ function UIPopupMenu:display(pos)
end
displayUI(self, {x = pos.x, y = pos.y})
self:bindRectToParent()
self:grabMouse()
self:grabKeyboard()
table.insert(displayedMenuList, self)
end
function UIPopupMenu:onGeometryChange()
self:bindRectToParent()
end
function UIPopupMenu:addOption(optionName, optionCallback)
local optionWidget = createWidget(self:getStyleName() .. 'Button', self)
local lastOptionWidget = self:getLastChild()

@ -274,6 +274,14 @@ void Game::useHotkey(int itemId, const ThingPtr& toThing)
m_protocolGame->sendUseItemEx(Position(0xFFFF, 0, 0), itemId, 0, toThing->getPos(), toThing->getId(), getThingStackpos(toThing));
}
void Game::useOnCreature(const ThingPtr& thing, const CreaturePtr& creature)
{
if(!m_online || !thing || !checkBotProtection())
return;
m_protocolGame->sendUseOnCreature(thing->getPos(), thing->getId(), getThingStackpos(thing), creature->getId());
}
void Game::attack(const CreaturePtr& creature)
{
if(!m_online || !creature || !checkBotProtection())

@ -65,6 +65,7 @@ public:
void use(const ThingPtr& thing);
void useWith(const ThingPtr& fromThing, const ThingPtr& toThing);
void useHotkey(int itemId, const ThingPtr& toThing);
void useOnCreature(const ThingPtr& thing, const CreaturePtr& creature);
// attack/follow related
void attack(const CreaturePtr& creature);

@ -198,6 +198,7 @@ void OTClient::registerLuaFunctions()
g_lua.bindClassStaticFunction<Game>("use", std::bind(&Game::use, &g_game, _1));
g_lua.bindClassStaticFunction<Game>("useWith", std::bind(&Game::useWith, &g_game, _1, _2));
g_lua.bindClassStaticFunction<Game>("useHotkey", std::bind(&Game::useHotkey, &g_game, _1, _2));
g_lua.bindClassStaticFunction<Game>("useOnCreature", std::bind(&Game::useOnCreature, &g_game, _1, _2));
g_lua.bindClassStaticFunction<Game>("walk", std::bind(&Game::walk, &g_game, _1));
g_lua.bindClassStaticFunction<Game>("forceWalk", std::bind(&Game::forceWalk, &g_game, _1));
g_lua.bindClassStaticFunction<Game>("attack", std::bind(&Game::attack, &g_game, _1));

@ -66,7 +66,7 @@ public:
void sendRejectTrade();
void sendUseItem(const Position& position, int itemId, int stackpos, int index);
void sendUseItemEx(const Position& fromPos, int fromThingId, int fromStackpos, const Position& toPos, int toThingId, int toStackpos);
void sendUseItemCreature(const Position& pos, int thingId, int stackpos, uint creatureId);
void sendUseOnCreature(const Position& pos, int thingId, int stackpos, uint creatureId);
void sendRotateItem(const Position& pos, int thingId, int stackpos);
void sendCloseContainer(int containerId);
void sendUpContainer(int containerId);

@ -275,7 +275,7 @@ void ProtocolGame::sendUseItemEx(const Position& fromPos, int fromThingId, int f
send(oMsg);
}
void ProtocolGame::sendUseItemCreature(const Position& pos, int thingId, int stackpos, uint creatureId)
void ProtocolGame::sendUseOnCreature(const Position& pos, int thingId, int stackpos, uint creatureId)
{
OutputMessage oMsg;
oMsg.addU8(Proto::ClientUseOnCreature);

Loading…
Cancel
Save