LE

[Talkactions] Preciso De !promotion Personalizado

Por Leandrinhow, 17 de mar. de 2012 em Archived

urgente
7
750
LeandrinhowL
17 de março de 2012 às 15:36

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. !

jhon992J
17 de março de 2012 às 17:25

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 Março 18 por Jhon992

LeandrinhowL
18 de março de 2012 às 10:31

LOL agora o BUG é outro, o cara vai e vira a segunda promote, ae blz,

mais quando ele loga, a promote some. Oo'

Editado Março 18 por Leandrinhow

jhon992J
18 de março de 2012 às 10:52

Adiciona promotion depois usa o comando "!promotion days" e me diz oque aparece.

LeandrinhowL
18 de março de 2012 às 11:30

aparece isso : 11:30 Parabéns, você foi promovido!

SubwatS
24 de março de 2012 às 00:38

Tópico criado em area errada.

Reportado.

HisashiitYamagutiH
24 de março de 2012 às 10:49

Tópico postado na área errada.

Tópico movido para a área correta.

 

 

Leandrinhow alertado e se cometer de novo poderá ocorrer coisas piores.