Renato Ribeiro 87 Postado Maio 1, 2011 Share Postado Maio 1, 2011 (editado) 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 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 Você pode trocar o maxdays pra o máximo de dias que se pode comprar e também pode trocar o precopordia pelo preço que ele vai pagar por cada dia de premy comprada. • Depois em data/talkactions/talkactions.xml ponha a tag em qualquer lugar: Testado e funcionando! Editado Maio 1, 2012 por Lordfire Link para o comentário https://xtibia.com/forum/topic/155901-talk-comprar-premium-por-dias/ Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 1, 2011 Share Postado Maio 1, 2011 Bom script, embora tenha uma comparação inútil no inicio rsrs. Continue fazendo alguns scripts. Link para o comentário https://xtibia.com/forum/topic/155901-talk-comprar-premium-por-dias/#findComment-1029755 Compartilhar em outros sites More sharing options...
Renato Ribeiro 87 Postado Maio 1, 2011 Autor Share Postado Maio 1, 2011 Comparação inútil? Não entendi Link para o comentário https://xtibia.com/forum/topic/155901-talk-comprar-premium-por-dias/#findComment-1029829 Compartilhar em outros sites More sharing options...
Demonbholder 420 Postado Maio 1, 2011 Share Postado Maio 1, 2011 (editado) É, aqui olha: ... elseif (prm > maxdays) then 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 return doPlayerSendCancel(cid, "Você só pode ter maxdays dias de premium, no entanto você só poderá comprar no máximo "..maxdays-getPlayerPremiumDays(cid).." dias.") Poderiam ser substituídas por if getPlayerPremiumDays(cid)+prm > maxdays then return doPlayerSendCancel(cid, "Você só pode ter maxdays dias de premium, no entanto você só poderá comprar no máximo "..maxdays-getPlayerPremiumDays(cid).." dias.") Mas deixa assim, não faz diferença. Editado Maio 1, 2011 por Demonbholder Link para o comentário https://xtibia.com/forum/topic/155901-talk-comprar-premium-por-dias/#findComment-1029844 Compartilhar em outros sites More sharing options...
Renato Ribeiro 87 Postado Maio 1, 2011 Autor Share Postado Maio 1, 2011 Script atualizado! • Efeito 'uh' ao comprar premium • Mensagem ao comprar premium • Efeito 'fumaça' ao dar erro Link para o comentário https://xtibia.com/forum/topic/155901-talk-comprar-premium-por-dias/#findComment-1029987 Compartilhar em outros sites More sharing options...
Posts Recomendados