Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Estou querendo saber onde altero pra o player poder comprar house apenas em x level e queria uma script que se o player ficar x dias sem logar ele perde a house, e que quando ele perdesse a house os items fossem pro inbox dele.

 

TFS 1.0

Editado por arthur122222 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Fire, o meu config.lua não  tem isso, onde eu adiciono?


Flames, acho melhor você ter certeza antes de comentar, pois eu estou com várias dúvidas e não mando 10 posts sobre o mesmo assunto. É um post por dúvida, isto é normal pra alguém que está começando.

Link para o post
Compartilhar em outros sites

Fire, o meu config.lua não  tem isso, onde eu adiciono?

Flames, acho melhor você ter certeza antes de comentar, pois eu estou com várias dúvidas e não mando 10 posts sobre o mesmo assunto. É um post por dúvida, isto é normal pra alguém que está começando.

Não tinha visto que era TFS 1.0

talkactions/scripts/buyhouse.lua, apaga e coloca isso:

function onSay(player, words, param)
    local housePrice = configManager.getNumber(configKeys.HOUSE_PRICE)
    if housePrice == -1 then
        return true
    end

    local levelToBuyHouse = 30
    if player:getLevel() < levelToBuyHouse then
        player:sendCancelMessage("You have to be at least Level " .. levelToBuyHouse .. " to purchase a house.")
        return false
    end

    if player:getPremiumDays() <= 0 then
        player:sendCancelMessage("You need a premium account.")
        return false
    end

    local position = player:getPosition()
    position:getNextPosition(player:getDirection())

    local house = House(getTileHouseInfo(position))
    if house == nil then
        player:sendCancelMessage("You have to be looking at the door of the house you would like to buy.")
        return false
    end

    if house:getOwnerGuid() > 0 then
        player:sendCancelMessage("This house already has an owner.")
        return false
    end

    if player:getHouse() then
        player:sendCancelMessage("You are already the owner of a house.")
        return false
    end

    local price = house:getTileCount() * housePrice
    if not player:removeMoney(price) then
        player:sendCancelMessage("You do not have enough money.")
        return false
    end

    house:setOwnerGuid(player:getGuid())
    player:sendTextMessage(MESSAGE_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in the bank.")
    return false
end
Link para o post
Compartilhar em outros sites

Fire, irei testar..

Editado por arthur122222 (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Lek, eu tenho certeza, eu estive olhando muitos posts antigos e acabei encontrando, basta procurar que tem esse script perdido aqui no fórum.

http://www.tibiaking.com/forum/topic/36529-clean-house-remover-casas-de-quem-n%C3%A3o-loga/

 

Mas não funciona no TFS 1.x =/

Link para o post
Compartilhar em outros sites

Tu pode tentar essa query:

SELECT houses.owner, houses.id as hid, houses.name as house_name, players.name FROM houses
LEFT JOIN players ON players.id = houses.owner
LEFT JOIN accounts ON players.account_id = accounts.id
WHERE players.lastlogin < (UNIX_TIMESTAMP() - (30*24*60*60))
AND players.world_id = 0
Link para o post
Compartilhar em outros sites

function onSay(cid, words, param)
    local housePrice = configManager.getNumber(configKeys.HOUSE_PRICE)
    if housePrice == -1 then
        return true
    end

    local player = Player(cid)
    local levelToBuyHouse = 30
    if player:getLevel() < levelToBuyHouse then
        player:sendCancelMessage("You have to be at least Level " .. levelToBuyHouse .. " to purchase a house.")
        return false
    end

    if player:getPremiumDays() <= 0 then
        player:sendCancelMessage("You need a premium account.")
        return false
    end

    local position = player:getPosition()
    position:getNextPosition(player:getDirection())

    local house = House(getTileHouseInfo(position))
    if house == nil then
        player:sendCancelMessage("You have to be looking at the door of the house you would like to buy.")
        return false
    end

    if house:getOwnerGuid() > 0 then
        player:sendCancelMessage("This house already has an owner.")
        return false
    end

    if player:getHouse() then
        player:sendCancelMessage("You are already the owner of a house.")
        return false
    end

    local price = house:getTileCount() * housePrice
    if not player:removeMoney(price) then
        player:sendCancelMessage("You do not have enough money.")
        return false
    end

    house:setOwnerGuid(player:getGuid())
    player:sendTextMessage(MESSAGE_INFO_DESCR, "You have successfully bought this house, be sure to have the money for the rent in the bank.")
    return false
end
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo