Ir para conteúdo

Reset System


gorz

Posts Recomendados

Gente,quando eu uso o reset aparece na tela escrito: you now was reset, you have 1 reset.you now was reset, you have 2 reset.you now was reset, you have 3 reset e assim por diante,sendo que o cara tinha que voltar pro templo,ficar lvl 8 denovo e mudar a vocation,so q nada disso aconteceu.Me ajudem ae plz.

 

 

function onSay(cid, words, param)

config = {

level= 1000, -- level para resetar

RemainingLvl=8, -- level que ficara depois do reset

exper=4200, -- Experiência que ficara depois do Reset

pid=getPlayerGUID(cid), -- Não Mecha

skull="yes", -- Players com Skull podem resetar "yes" para sim e "no" para não

redskull="yes",-- Players com Red Skull podem resetar "yes" para sim e "no" para não

prot="yes", -- precisa estar em area pz para resetar "yes" para sim e "no" para não

bat="yes", -- player com fight pode resetar "yes para sim e "no" para não

voc = getPlayerVocation(cid), -- Não mecha

mana = 35, -- mana que ficara após o reset

health = 185 -- Health que ficara após o reset

}

 

function getResets(cid)

reset = getPlayerStorageValue(cid,1020)

if reset < 0 then

reset = 0

end

return reset

end

 

if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then

doPlayerSendTextMessage(cid, 24, "apenas players sem white skull podem resetar.")

return TRUE

end

 

if(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"apenas player sem red skull podem resetar.")

return TRUE

end

 

if(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder resetar.")

return TRUE

end

 

if(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then

doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder resetar.")

return TRUE

end

 

if getPlayerLevel(cid) >= config.level then

setPlayerStorageValue(cid,1020,getResets(cid)+1)

doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid)+(1).." reset\'s.")

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter

doPlayerSetVocation(cid, 6) -- Vocação que o player ficara após o reset

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana.." WHERE `id` = "..config.pid)

else

doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

return TRUE

end

end

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

quer ensinar padre a rezar missa agora?

vo te explicar então sabidão

 

if getPlayerLevel(cid) >= config.level then

setPlayerStorageValue(cid,1020,getResets(cid)+1)

doPlayerPopupFYI(cid,"you now was reset, you have "..getResets(cid)+(1).." reset\'s.")

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

 

se o jogador tiver o level e não tiver a vocação será executado só até ai.

 

if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter

doPlayerSetVocation(cid, 6) -- Vocação que o player ficara após o reset

doRemoveCreature(cid)

db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana.." WHERE `id` = "..config.pid)

else

doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.")

doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)

end

 

agora presta bem a atenção

 

se o jogador tiver a vocação 2 o script vai ser executado

caso ele não tiver olha a mensagem que vai mandar

 

"Você precisa do level "..config.level.." ou mais para resetar."

 

agora me diz... oque tem a ver a vocation do player com o level para resetar?

 

 

me diz oque você quer que seu script faça que eu poderei te ajudar,por exemplo

 

a vocation 1 vai pra 5 a vocation 2 vai pra 6 e assim por diante... é isso?

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

function onSay(cid, words, param)
config = {
level= 1000, -- level para resetar
RemainingLvl=8, -- level que ficara depois do reset
exper=4200, -- Experiência que ficara depois do Reset
pid=getPlayerGUID(cid), -- Não Mecha
skull="yes", -- Players com Skull podem resetar "yes" para sim e "no" para não
redskull="yes",-- Players com Red Skull podem resetar "yes" para sim e "no" para não
prot="yes", -- precisa estar em area pz para resetar "yes" para sim e "no" para não
bat="yes", -- player com fight pode resetar "yes para sim e "no" para não
mana = 35, -- mana que ficara após o reset
health = 185 -- Health que ficara após o reset
}

function getResets(cid)
reset = getPlayerStorageValue(cid,1020)
if reset < 0 then
reset = 0
end
return reset
end

if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then
doPlayerSendTextMessage(cid, 24, "apenas players sem white skull podem resetar.")
return TRUE
elseif(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"apenas player sem red skull podem resetar.")
return TRUE
elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder resetar.")
return TRUE
elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder resetar.")
return TRUE
end

if getPlayerLevel(cid) >= config.level then
if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter
setPlayerStorageValue(cid,1020,getResets(cid)+1)
doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))
setPlayerPromotionLevel(cid, 1)
doRemoveCreature(cid, true)
db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana.." WHERE `id` = "..config.pid)
else
doPlayerSendCancel(cid, "Você precisa ser druid para resetar.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
else
doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

Ae,parece ta funcionando esse,so deu esse probleminha aki:

 

[21/02/2011 21:43:52] Lua Script Error: [TalkAction Interface]

[21/02/2011 21:43:52] data/talkactions/scripts/reset.lua:onSay

[21/02/2011 21:43:52] data/talkactions/scripts/reset.lua:40: attempt to call global 'getTownTemplePosition' (a nil value)

[21/02/2011 21:43:52] stack traceback:

[21/02/2011 21:43:52] [C]: in function 'getTownTemplePosition'

[21/02/2011 21:43:52] data/talkactions/scripts/reset.lua:40: in function <data/talkactions/scripts/reset.lua:1>

Link para o comentário
Compartilhar em outros sites

está dizendo que não possui essa função

 

coloca então de vez de:

doTeleportThing(cid, getTownTemplePosition(getPlayerTown(cid)))

 

põe:

 

doTeleportThing(cid, {x = 157, y = 50, z = 7})   

 

ai vc coloca a coordenada certa do seu templo.

Link para o comentário
Compartilhar em outros sites

O player esta indo para o templo,porem ainda nao esta sendo resetado e aparece o seguinte erro:

Sera que e porque o ot e vercao 8.7 ou sera q da pra resolve isso?

[21/02/2011 22:24:51] Lua Script Error: [TalkAction Interface]

[21/02/2011 22:24:51] data/talkactions/scripts/reset.lua:onSay

[21/02/2011 22:24:51] data/talkactions/scripts/reset.lua:41: attempt to call global 'setPlayerPromotionLevel' (a nil value)

[21/02/2011 22:24:51] stack traceback:

[21/02/2011 22:24:51] [C]: in function 'setPlayerPromotionLevel'

[21/02/2011 22:24:51] data/talkactions/scripts/reset.lua:41: in function <data/talkactions/scripts/reset.lua:1>

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

Faz tudo pela database então,ve se da certo.

 

function onSay(cid, words, param)
config = {
level= 1000, -- level para resetar
RemainingLvl=8, -- level que ficara depois do reset
exper=4200, -- Experiência que ficara depois do Reset
pid=getPlayerGUID(cid), -- Não Mecha
skull="yes", -- Players com Skull podem resetar "yes" para sim e "no" para não
redskull="yes",-- Players com Red Skull podem resetar "yes" para sim e "no" para não
prot="yes", -- precisa estar em area pz para resetar "yes" para sim e "no" para não
bat="yes", -- player com fight pode resetar "yes para sim e "no" para não
mana = 35, -- mana que ficara após o reset
health = 185, -- Health que ficara após o reset
new_voc = 6
}
function getResets(cid)
reset = getPlayerStorageValue(cid,1020)
if reset < 0 then
reset = 0
end
return reset
end

if(config.skull == "no") and (getCreatureSkullType(cid) == 3) then
doPlayerSendTextMessage(cid, 24, "apenas players sem white skull podem resetar.")
return TRUE
elseif(config.redskull == "no") and (getCreatureSkullType(cid) == 4) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"apenas player sem red skull podem resetar.")
return TRUE
elseif(config.prot == "yes") and (getTilePzInfo(getCreaturePosition(cid)) == FALSE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT,"você precisa estar em protection zone pra poder resetar.")
return TRUE
elseif(config.bat == "yes") and (getCreatureCondition(cid, CONDITION_INFIGHT) == TRUE) then
doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você precisa estar sem battler pra poder resetar.")
return TRUE
end

if getPlayerLevel(cid) >= config.level then
if getPlayerVocation(cid) == 2 then -- Vocação que o player precisa ter
setPlayerStorageValue(cid,1020,getResets(cid)+1)
doTeleportThing(cid, {x = 160, y = 54, z = 7}) -- pos do seu templo
doRemoveCreature(cid, true)
db.executeQuery("UPDATE `players` SET `level` = "..config.RemainingLvl..", `experience` = "..config.exper..",`manamax` = "..config.mana..",`healthmax` = "..config.health..",`health` = "..config.health..",`mana` = "..config.mana..",`vocation` = ".. new_voc .." WHERE `id` = "..config.pid)
else
doPlayerSendCancel(cid, "Você precisa ser druid para resetar.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
else
doPlayerSendCancel(cid, "Você precisa do level "..config.level.." ou mais para resetar.")
doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
end
return TRUE
end

Link para o comentário
Compartilhar em outros sites

Aff,apareceu erro denovo.Se esse erro for dificil de corrigi sera q da pra faze em npc sem ser talkaction?

 

[22/02/2011 13:10:56] Lua Script Error: [TalkAction Interface]

[22/02/2011 13:10:56] data/talkactions/scripts/reset.lua:onSay

[22/02/2011 13:10:56] data/talkactions/scripts/reset.lua:42: attempt to index global 'db' (a nil value)

[22/02/2011 13:10:56] stack traceback:

[22/02/2011 13:10:56] [C]: in function '__index'

[22/02/2011 13:10:57] data/talkactions/scripts/reset.lua:42: in function <data/talkactions/scripts/reset.lua:1>

Link para o comentário
Compartilhar em outros sites

rairairairai

 

falei cara,deixa pra próxima,os distros tão um lixo mesmo.

 

e não adianta fazer pelo npc,porque se usa as mesmas funções.

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

ixi,ok intao =/

ow mais se pode edita um npc pramim que faz o cara ir evoluido tipo,comeca na vocation 1,dps no lvl 1000 vai pra a vocation 2,no lvl 3000 vai pra a 3,no lvl 6000 vai pra a 4,no lvl 12000 vai pra a 5,no lvl 24000 vai pra a 6,no lvl 48000 vai para a 7 e no lvl 960000 vai pra a vocation numero 8?

Link para o comentário
Compartilhar em outros sites

  • Quem Está Navegando   0 membros estão online

    • Nenhum usuário registrado visualizando esta página.
×
×
  • Criar Novo...