Ir para conteúdo

Premium Por Param


SkyLigh

Posts Recomendados

Ola galerinha do xtibia , hoje to aki com um script simples e basico feita através de um pedido de um amigo . então vamos la.

 

Versão testada : 860

Créditos : Skyligh Pela Criação , Luquinha Bross Pelo Pedido .

 

Em data / talkactions / talkactions.xml adicione .

 

<talkaction words="!premium" event="script" value="premium.lua"/>

 

dps em data / talkactions / scripts / renome algum arquivo para premium.lua e adicione .

 

function onSay(cid, words, param)
local premium = {
["10"] = {days = 10, preco = 1000,},
["20"] = {days = 20, preco = 2000,},
["30"] = {days = 30, preco = 3000,}
}
local a = premium[param]
if doPlayerRemoveMoney(cid, a.preco) == TRUE then
doPlayerAddPremiumDays(cid, a.days)
doPlayerSendTextMessage(cid,22,"Parabéns Você Compro premium")
else
doPlayerSendTextMessage(cid,22,"Você não tem dinheiro suficiente")
return true
end
end

 

Dps So reinicia o ot ou da /reload talkactions

 

e falar !premium 10 que ira comprar 10 dias e assim vai .

Link para o comentário
Compartilhar em outros sites

No script da tabela e o seguinte

 

["10"] e o param eu botei no talkactions.xml

 

!premium .

 

ai esse "10" ali na tabela e o param no lado "days=10" significa quantos dias vai da .

Link para o comentário
Compartilhar em outros sites

sim mais tu podia usar o proprio param.. n precisava disso ^^

e se fosse tu colocaria..

if a then

pq o player pode flar !premium 89 e dai vai da erro..

Link para o comentário
Compartilhar em outros sites

Nossa cara, nem dá vontade de ler esse script. Já leu o tutorial do Skyen sobre elegância nos códigos?

 

Além do que pra dar erro é fácil. Aconselharia até fazer o player escolher quantos dias quer, e não ficar essa coisa já programada.

 

function onSay(cid, words, param)
local day_price = 10000 -- Quantos gold coins vão custar 1 dia de premium

if not param then
	doPlayerSendCancel(cid, "Escolha quantos dias de premium você quer.") return true
elseif not doPlayerRemoveMoney(cid, day_price*param) then
	doPlayerSendCancel(cid, "Você não possui dinheiro suficiente.") return true
end

	doPlayerAddPremiumDays(cid, param)
	doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você comprou "..param.." dias de premium por "..(day_price*param).." gold coins.")
return true
end

Editado por LuckOake
Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...