Postado Abril 30, 2011 14 anos Créditos no script. Explicação: A talkaction de alguns otservers você não escolhe quantos dias de premium você deseja. E sim é algo pré-configurado no server. Então aqui neste script você escolhe quantos dias de premium você quer pagando 1k por cada dia dizendo !addpremium DIAS. Exemplo: !addpremium 50 -- comprará 50 dias de p.a Você não pode possuir mais que 360 dias de p.a então coloquei algumas checagens. Tal como adicionar mais de 360 dias de uma vez e também somando seus dias atuais com o tanto desejado assim se o resultado for maior que 360 aparecerá uma mensagem falando que não é possível junto ao número de dias que você poderá comprar calculado por 360 menos dias atuais. • Crie um arquivo LUA com o nome addpremium.lua em data/talkactions/scripts e ponha: -- Author: Renato Ribeiro -- Thanks for help: thalia, mkalo -- Url: www.tibiaking.com function onSay(cid, words, param, channel) local prm = tonumber(param) local maxdays = 360 local precopordia = 1000 if (prm == nil) then doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendCancel(cid, "Diga quantos dias deseja comprar.") elseif (prm == 0) then doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendCancel(cid, "Você não pode comprar 0 dias de premium.") elseif (prm > maxdays) then doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendCancel(cid, "Você não pode comprar mais que "..maxdays.." dias de premium de uma só vez.") else if getPlayerPremiumDays(cid)+prm > maxdays then doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendCancel(cid, "Você só pode ter "..maxdays.." dias de premium, no entanto você só poderá comprar no máximo "..maxdays-getPlayerPremiumDays(cid).." dias.") else if getPlayerMoney(cid) >= prm*precopordia then doSendMagicEffect(getPlayerPosition(cid), 12) doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você comprou "..prm.." dias de premium account por "..prm*precopordia.." gold coins.") doPlayerAddPremiumDays(cid, prm) doPlayerRemoveMoney(cid, prm*precopordia) return TRUE else doSendMagicEffect(getPlayerPosition(cid), 2) return doPlayerSendCancel(cid, "Você precisa de "..prm*precopordia .." gold coins para comprar "..prm.." dia(s) de premium.") end end end end[/code] [b]• Depois em data/talkactions/talkactions.xml ponha a tag em qualquer lugar:[/b] [code]<talkaction log="yes" words="!addpremium" access="0" event="script" value="addpremium.lua"> Testado e funcionando!</talkaction>
Postado Abril 30, 2011 14 anos perfeito n testei mas achei mt loka a ideia e pelo ki li no script axu ke ta tudo certinhu
Postado Abril 30, 2011 14 anos Autor Valeu kaio :} Depois acho que vou fazer outros pra treinar mais :s
Postado Abril 30, 2011 14 anos Administrador Ficou boa Renato, mas substitua o true por TRUE, porque senão me engano servidores mais antigos não reconhecem o TRUE minúsculo. Está querendo aprender mesmo heim...
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.