Ir para conteúdo
  • 0

Ganhar 1 dia de P.A


gahgah

Pergunta

Posts Recomendados

  • 0

Vá em data/creaturescripts/scripts, crie um arquivo chamado advance_1k.lua e adicione dentro:

 

 

function onLogin(cid)
registerCreatureEvent(cid, "AdvancePa")
return true
end


function onAdvance(cid, skill, oldlevel, newlevel)

if skill == 8 and newlevel == 1000 then
doPlayerAddPremiumDays(cid, 1)
end
return true
end

 

 

Agora em creaturescripts.xml adicione essa tag:

 

<event type="login" name="Advance1k" event="script" value="advance_1k.lua"/> 
<event type="advance" name="AdvancePa" event="script" value="advance_1k.lua"/>

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

  • 0

opa.. fiz tudo aqui.. peguei 1k na mao mesmo.. e nao add a p.a, nao deu nehum erro no console, nem nada, apenas nao add o dia premium.

 

oq pode ser? vou testar melhor quando chegar em casa.

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

  • 0

boa.. deu certo. agora vi com mais tempo.

 

agora teria como colocar o texto quando upar o lvl para lvl 1000? -> "parabens pelo lvl 1000 voce ganhou 1 dia de premium"

 

ou quando ele relogar, quando ele voltar ja mandar uma msg para ele avisando que foi add 1 dia de premium por conquistar o lvl 1000? assim fica mais organizado.

 

espero.

Link para o comentário
Compartilhar em outros sites

  • 0

Testa isso ae:

function onLogin(cid)
registerCreatureEvent(cid, "AdvancePa")
return true
end


function onAdvance(cid, skill, oldlevel, newlevel)

if skill == 8 and newlevel == 1000 then
doPlayerAddPremiumDays(cid, 1)
doPlayerSendTextMessage(cid, 21, "Parabéns pelo level 1000. Você ganhou 1 dia de premium pelo seu feito. Relogue a conta para tanto!")
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

com esse script com msg, ele parou de funcionar, assim, nao add o dia de premium.. quando retirei o texto e o doPlayerSendTextMessage ai o script voltou ao normal..

 

 

oq sera que falto?

 

aguardo

Link para o comentário
Compartilhar em outros sites

  • 0
function onLogin(cid)

if getPlayerLevel(cid) == 1000 then
doPlayerSendTextMessage(cid, 20, "Por conquistar o level 1000 você recebeu 1 dia de premium account.") return true end
registerCreatureEvent(cid, "AdvancePa")
return true
end


function onAdvance(cid, skill, oldlevel, newlevel)

if getPlayerStorageValue(cid, 12400) >= 1 then return true end

if skill == 8 and newlevel == 1000 then
doPlayerAddPremiumDays(cid, 1)
doPlayerSendTextMessage(cid, 20, "Por conquistar o level 1000 você ganhou 1 dia de Premium Account grátis.")
setPlayerStorageValue(cid, 12400, 1)
end
return true
end

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

  • 0

testei aqui, com texto nao esta funcionando.. e percebi que quando ultrapassa o lvl 1k de uma vez só, nao add o dia premium.. so quando pega o lvl 1k redondo e exato.. meu ot é exp alta, é quase impossivel o player pegar lvl 1k exato.. sempre ultrapassa, exemplo: 13:45 You advanced from Level 998 to Level 1017.

 

testei varias vezes e só add o dia premium se pegar lvl 1k exato, se passar nao nao adciona.. oq pode ser?

 

 

espero.

Link para o comentário
Compartilhar em outros sites

  • 0
function onLogin(cid)
registerCreatureEvent(cid, "AdvancePa")
return true
end


function onAdvance(cid, skill, oldlevel, newlevel)
if getPlayerStorageValue(cid, 12400) >= 1 then return true end

if skill == 8 and newlevel >= 1000 then
  doPlayerAddPremiumDays(cid, 1)
  doPlayerSendTextMessage(cid, 20, "Por conquistar o level 1000 você ganhou 1 dia de Premium Account grátis.")
  setPlayerStorageValue(cid, 12400, 1)
end
return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

esta funcionando e add o dia premium.. so que nao tem como add só 1 dia por ACCOUNT? se o player fizer 90 chars na mesma acc e pegar lvl 1k em cada char, ele vai add 1 dia de premium com cada char.. e acabar burlando o sistema donate vip.. n tem como?

 

testei aqui com 2 char na mesma acc, peguei lvl 1k em cada char, e fico 2 days de premium na acc.

Link para o comentário
Compartilhar em outros sites

  • 0

Troca ai

 

function onLogin(cid)
registerCreatureEvent(cid, "AdvancePa")
return true
end


function onAdvance(cid, skill, oldlevel, newlevel)
if getAccountStorageValue(getPlayerAccountId(cid), 12400) >= 1 then return true end

if skill == 8 and newlevel >= 1000 then
   doPlayerAddPremiumDays(cid, 1)
   doPlayerSendTextMessage(cid, 20, "Por conquistar o level 1000 você ganhou 1 dia de Premium Account grátis.")
   setAccountStorageValue(getPlayerAccountId(cid), 12400, 1)
end
return true
end

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

  • 0

deu esse erro:

 

 

[17/05/2013 18:29:41] [Error - CreatureScript Interface]
[17/05/2013 18:29:41] data/creaturescripts/scripts/advance_1k.lua:onAdvance
[17/05/2013 18:29:41] Description:
[17/05/2013 18:29:41] data/creaturescripts/scripts/advance_1k.lua:8: attempt to call global 'getAccountStorageValue' (a nil value)
[17/05/2013 18:29:41] stack traceback:
[17/05/2013 18:29:42]  data/creaturescripts/scripts/advance_1k.lua:8: in function <data/creaturescripts/scripts/advance_1k.lua:7>

Link para o comentário
Compartilhar em outros sites

  • 0
function onLogin(cid)

   registerCreatureEvent(cid, "AdvancePa")
   return true
end


function onAdvance(cid, skill, oldlevel, newlevel)

   if getGlobalStorageValue(getPlayerAccountId(cid)) > 0 then return true end

   if ((skill == 8) and (newLevel >= 1000)) then
       doPlayerAddPremiumDays(cid, 1)
       doPlayerSendTextMessage(cid, 20, "Por conquistar o level 1000 você ganhou 1 dia de Premium Account grátis.")
       setGlobalStorageValue(getPlayerAccountId(cid), 1)
   end

   return true
end

Link para o comentário
Compartilhar em outros sites

  • 0

/\ isso ae n eh uma boa pratica n heim o.O bem capaz do cara tentar reutilizar uma storage q ja esteja sendo usada por esse seu codigo... ;x

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novos posts.
×
×
  • Criar Novo...