Ir para conteúdo

Featured Replies

Postado

Talkaction de comprar premmy account de 30 dias, só que diferente, em vez de dinheiro precise de 20 itens do id 6527, se tiver menos n consegue, se tiver mais remove os 20, deve ser simples

v860

Resolvido por nookia

Ir para solução
Postado
<?xml version="1.0" encoding="UTF-8"?>
<mod name="Buy premium command" version="1.0" author="The Forgotten Server" contact="otland.net" enabled="no">
<config name="buypremium_config"><![CDATA[
config = {
days = 7,  ------- QUANTIDADE DE DIAS QUE SERAO COMPRADOS
item = 2500, ------ ID DO ITEM
cost = 150,  ------ QUANTIDADE NECESSARIA DO ITEM
maxDays = 360 ----- MAXIMO DE DIAS QUE PODE COMPRAR DE PA
}
]]></config>
<talkaction words="!buypremium; !pacc" event="buffer"><![CDATA[
domodlib('buypremium_config')
if(getPlayerPremiumDays(cid) > config.maxDays) then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You can not buy more than " .. config.days + config.maxDays .. " days of Premium Account.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return
end

if(not doPlayerRemoveItem(cid, config.item, config.cost)) then
doPlayerSendCancel(cid, "You don't have enough money, " .. config.days .. " days premium account costs " .. config.cost .. " gold coins.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
return
end

doPlayerAddPremiumDays(cid, config.days)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "You have bought " .. config.days .. " days of premium account.")
]]></talkaction>
</mod>

Está explicado no script.

Postado
  • Solução

Troca seu buypremium.lua por esse:

local days = {
    [30] = 20,     --[dias] = item,
    [60] = 40,
    [90] = 60,          
}
local id = 6527    --ID do item.
function onSay(cid, words, param)
    if param == "" then
        return doPlayerSendCancel(cid, "Especify a parameter.")
    elseif not tonumber(param) then
        return doPlayerSendCancel(cid, "Say a valid number of premium days.")
    elseif not days[tonumber(param)] then
        return doPlayerSendCancel(cid, "You can't buy this quantity of premium days.")
    end
    local p_days = days[tonumber(param)]
    if getPlayerItemCount(cid, id) >= p_days then
        doPlayerAddPremiumDays(cid, tonumber(param))
        doPlayerRemoveItem(cid, id, p_days)
        doPlayerSendTextMessage(cid, 27, "You bought "..param.." premium days.")
    else
        return doPlayerSendCancel(cid, "You do not have enough "..getItemNameById(id).." ["..p_days.."].")
    end
    return true
end

The medieval RpG Server

espada-barbara.jpg

[RpG] OLDWORLD OPEN TIBIA

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

Quem Está Navegando 0

  • Nenhum usuário registrado visualizando esta página.

Estatísticas dos Fóruns

  • Tópicos 96.9k
  • Posts 519.6k

Informação Importante

Confirmação de Termo