Ir para conteúdo

[Talkactions] Preciso De !promotion Personalizado


Leandrinhow

Posts Recomendados

o título ja diz tudo, o que muda? o !promotion só fala quem tem certa storage,

e essa !promotion dura 30 dias, e depois de 30 dias acaba,

ae a pessoa pode renová-la custando 500k,

para que a pessoa possa saber quantos dias de promote ainda restam ele digita !promodays e enquanto os 30 dias não acabarem a pessoa nao poderá digitar !promotion dnovo,

e irá aparecer uma mensagem dizendo, "Sua promote VIP ainda não acabou".

 

Obs: Druid, vira ELDER DRUID

NADA DE TROCAR A VOCAÇÃO.

1 vira 5

2 vira 6

3 vira 7

4 vira 8

 

só isso.

Quem ajudar ganha +REP :).

 

Thaanks. !

Link para o comentário
Compartilhar em outros sites

Vai em data/talkactions/scritps e duplica um arquivo, e renomeia para "newpromotion" sem as aspas e nele cole:

 

function onSay(cid, words, param, channel)

if (getPlayerPromotionLevel(cid) > 0 and param == "days") then
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Você tem ".. math.floor((getPlayerStorageValue(cid, 403010) - os.time())/(24 * 60 * 60)) .." dias de VIP restantes.")
return TRUE
end

local storageNeed = 1234 -- storage que precisa para executar o script.
local money = 500000 -- dinheiro em gps
local days = 30 -- dias que serão adicionados
time = getPlayerStorageValue(cid, 403010) + (days * 24 * 60 * 60)

if (getPlayerPromotionLevel(cid) > 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Sua promote vip ainda não acabou!")
return TRUE
elseif (getPlayerStorageValue(cid, storageNeed) <= 0) then
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Você presica ser vip!")
return TRUE
elseif (doPlayerRemoveMoney(cid, money)) then
doPlayerSetVocation(cid,getPlayerVocation(cid)+4)
doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, "Parabéns, você foi promovido!")
setPlayerStorageValue(cid, 403010, time)
doSendMagicEffect(getPlayerPosition(cid), math.random(28,30))
end

return TRUE
end

 

Agora em talkactions.xml cole a tag:

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

 

Vamos fazer a parte para voltar a vocação sem promotion quando acabar os dias agora.

Vai em data/creaturescripts/scripts, duplica um arquivo e nomeia para "promotioncheck" sem as aspas e nele cole:

 

function onLogin(cid)
if (math.floor((getPlayerStorageValue(cid, 403010) - os.time())/(24 * 60 * 60)) <= 0 and getPlayerPromotionLevel(cid) > 0) then
doPlayerSetVocation(cid,getPlayerVocation(cid)-4)
end
return TRUE
end

 

Por fim, em creaturescripts.xml cole a tag:

<event type="login" name="CheckPromo" event="script" value="promotioncheck.lua"/>

 

----------------------------------------------------------

Não esquece de configurar o newpromotion como você desejar, e os comandos são:

!promotion -- para adiquirir

!promotion days -- para ver dias restantes

 

Obs: nem testei, caso não funcione me diga.

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

×
×
  • Criar Novo...