Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Bom Dia galerinha do TK, estava procurando uns sistemas aqui no fórum e achei um sistema bem antigo na area de Mods e Sistemas chamado de sistema rent vou explicar melhor

 

Sistema rent é um sistema de aluguel de items quando o comando falado foi !rent nome do item, o player recebe um item por um devivo tempo.

 

só que achei um erro nesse sistema, quando o player aluga o item, e ele loga e reloga seu character o item perde o tempo que ele alugou alguem poderia estar me ajudando?

o script é este

 

 

<?xml version="1.0" encoding="UTF-8"?>
<mod name="Rent System" version="1.0" author="Kimoszin" contact="tibiaking.com" enabled="yes">
        <config name="rent_config"><![CDATA[
                messages = {
                        sucess = MESSAGE_INFO_DESCR,
                        fail = MESSAGE_STATUS_WARNING,
                }
 
                warningStorage = 45768
 
                items = {
                        ["knight armor"] = {id=2476, time=1, price=3000, premium=true, cap=false},
                        ["demon legs"] = {id=2495, time=3, price=3000, premium=true, cap=true},
                        ["blue legs"] = {id=7730, time=2, price=3000, premium=true, cap=true},
                        ["demon shield"] = {id=2520, time=1, price=3000, premium=true, cap=true},
                }
 
                function doWarningItemWasRemoved(cid)
                        if (getCreatureStorage(cid, warningStorage) > -1) then
                                        local item = items[getItemNameById(getCreatureStorage(cid, warningStorage))]
                                        doPlayerSendTextMessage(cid, messages.sucess, "Ok, "..item.time..(item.time > 1 and " minutos" or " minuto").." ja se passaram, o aluguel do item "..getItemNameById(item.id).." terminou.")
                                doCreatureSetStorage(cid, warningStorage, -1)
                        end
                end
        ]]></config>
 
        <talkaction words="!rent" event="buffer"><![CDATA[
                domodlib('rent_config')
                local item, itemuid = items[param:lower()], math.random(1000, 65535)
 
                if (param == "") then
                        return doPlayerSendTextMessage(cid, messages.fail, "Sorry, you need to inform parameters.")
                end
 
                if (param == "list") then
                        local str = "~* Aluguel De Itens No-Delay *~\n\n"
                        for name, iten in pairs(items) do
                                str = str..string.sub(name, 0, 1):upper()..string.sub(name, 2):lower().."  -  "..iten.price.."gps \n"
                        end
                        str = str .."\n No-Delay"
                        return doPlayerPopupFYI(cid, str)
                end
 
                if not(item) then
                        return doPlayerSendTextMessage(cid, messages.fail, "Sorry, but it is not possible to rent this item.")
                end
 
                if (item.premium and not(isPremium(cid))) then
                        return doPlayerSendTextMessage(cid, messages.fail, "Voce nao e Premium Account, para comprar digite !buypremium.")      
                end
 
                if (item.cap and not(getPlayerFreeCap(cid) >= getItemWeightById(item.id, 1, 1))) then
                        return doPlayerSendTextMessage(cid, messages.fail, "You don't have capacity.")
                end
 
                if not(doPlayerRemoveMoney(cid, item.price)) then
                        return doPlayerSendTextMessage(cid, messages.fail, "Desculpa, mas voce nao tem dinheiro.")
                end
 
                doItemSetAttribute(doPlayerAddItem(cid, item.id, 1), "uid", itemuid)
                doPlayerSendTextMessage(cid, messages.sucess, "Voce alugou o item "..getItemNameById(item.id).." por "..item.time.. (item.time > 1 and " minutos" or " minute")..".")
                doCreatureSetStorage(cid, warningStorage, item.id)
 
                local player_id = getPlayerGUID(cid)
                addEvent(function()
                                        local player = getPlayerByGUID(player_id)
                                        if not(isPlayer(player)) then
                                                db.executeQuery("DELETE FROM `player_items` WHERE `player_items`.`player_id` = "..player_id.." AND `itemtype` = "..item.id..";")
                                        else
                                                doPlayerSendTextMessage(cid, messages.sucess, "Ok o tempo de, "..item.time..(item.time > 1 and " minutos" or " minuto").." acabou , o aluguel do "..getItemNameById(item.id).." terminou.")
                                                doCreatureSetStorage(cid, warningStorage, -1)
                                                doRemoveItem(itemuid, 1)
                                        end
                                end, item.time * 60 * 1000)
        ]]></talkaction>
 
        <creatureevent name="rentLogin" type="login" event="buffer"><![CDATA[
                domodlib('rent_config')
                doWarningItemWasRemoved(cid)
        ]]></creatureevent>
</mod>

 

Queria estar arrumando o seguinte para ficar mais facil a explicação.

no momento que o player loga o item some de sua backpack.

Skype: Leozinho_firmeza

 

Link para o post
Compartilhar em outros sites
  • 1 month later...

O tópico foi movido para a área correta, preste mais atenção da próxima vez!

Leia as regras do fórum: http://tibiaking.com/forum/topic/1281-regras-gerais/?p=7680

Este tópico foi movido:

De: "OTServSuporte OTServSuporte de Spriting"

Para: "OTServSuporte OTServSuporte de Scripts"

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