Minor fixes

* Fix auto openning channels with id 0 (guild chats)
* Minor fix in print
* Fix use of items behind creatures with classic control
* Fix teleports of 1sqm
This commit is contained in:
Eduardo Bart 2012-12-08 16:08:54 -02:00
parent 5de031fb8b
commit 7c48a98b67
6 changed files with 9 additions and 8 deletions

View File

@ -3,7 +3,7 @@
function print(...)
local msg = ""
for i,v in ipairs({...}) do
msg = msg .. tostring(v) .. "\t"
msg = msg .. tostring(v) .. " "
end
g_logger.log(LogInfo, msg)
end

View File

@ -388,7 +388,7 @@ function popupMenu(mousePos, mouseButton, creatureName, text)
if creatureName then
if creatureName ~= g_game.getCharacterName() then
menu:addOption(tr('Message to ' .. creatureName), function () g_game.openPrivateChannel(creatureName) end)
if (not Player:hasVip(creatureName)) then
if not g_game.getLocalPlayer():hasVip(creatureName) then
menu:addOption(tr('Add to VIP list'), function () g_game.addVip(creatureName) end)
end
-- TODO ignore creatureName
@ -599,7 +599,7 @@ function onTalk(name, level, mode, message, channelId, creaturePos)
if channel then
addText(composedMessage, speaktype, channel, name)
elseif channelId ~= 0 then
else
-- server sent a message on a channel that is not open
pwarning('message in channel id ' .. channelId .. ' which is unknown, this is a server bug, relogin if you want to see messages in this channel')
end
@ -685,7 +685,7 @@ function onGameStart()
if savedChannels then
for channelName, channelId in pairs(savedChannels) do
channelId = tonumber(channelId)
if channelId ~= 0 and channelId < 100 then
if channelId ~= -1 and channelId < 100 then
if not table.find(channels, channelId) then
g_game.joinChannel(channelId)
end

View File

@ -339,6 +339,7 @@ void Creature::onAppear()
callLuaField("onAppear");
// walk
} else if(m_oldPosition != m_position && m_oldPosition.isInRange(m_position,1,1) && m_allowAppearWalk) {
m_allowAppearWalk = false;
walk(m_oldPosition, m_position);
callLuaField("onWalk", m_oldPosition, m_position);
// teleport

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2010-2012 OTClient <https://github.com/edubart/client>
* Copyright (c) 2010-2012 OTClient <https://github.com/edubart/otclient>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal

View File

@ -1,5 +1,5 @@
/*
* Copyright (c) 2010-2012 OTClient <https://github.com/edubart/client>
* Copyright (c) 2010-2012 OTClient <https://github.com/edubart/otclient>
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal

View File

@ -441,7 +441,7 @@ ThingPtr Tile::getTopMultiUseThing()
for(uint i = 0; i < m_things.size(); ++i) {
ThingPtr thing = m_things[i];
if(thing->isForceUse() || (!thing->isGround() && !thing->isGroundBorder() && !thing->isOnBottom() && !thing->isOnTop())) {
if(thing->isForceUse() || (!thing->isGround() && !thing->isGroundBorder() && !thing->isOnBottom() && !thing->isOnTop() && !thing->isCreature())) {
if(i > 0 && thing->isSplash())
return m_things[i-1];
return thing;
@ -450,7 +450,7 @@ ThingPtr Tile::getTopMultiUseThing()
for(uint i = 0; i < m_things.size(); ++i) {
ThingPtr thing = m_things[i];
if(!thing->isGround() && !thing->isGroundBorder() && !thing->isOnTop())
if(!thing->isGround() && !thing->isGroundBorder() && !thing->isOnTop() && !thing->isCreature())
return thing;
}