Ir para conteúdo

Sistema Reset (Reseta Mana E Life )


davialves

Posts Recomendados

Olá Xtibianos

 

Estou aqui mais uma vez para postar outro Script - Sistema reset com vocation - .. Vi que Muita gente queria ele, eu consegui fazer e resolvi postar aqui..

 

Função : É o seguinte O player fala !promovoc, feito isso o player voltara para o level 8 com Health máxima 185, e mana máxima 35, e ainda vai para uma vocação superior

 

CRÉDITOS : Marcryzius - pelo sistema

Davi (eu) - pela modificação

 

Vá em data/talkactions/talkactions.xml e bote:

 

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

 

Em data/talkactions/scripts crie uma pasta chamada promovoc.lua e bote isso dentro dela:

 

function onSay(cid, words, param)
config = {
level= 10000, -- 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) == 8 then -- Vocação que o player precisa ter
doPlayerSetVocation(cid, 9) -- 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

 

Até mais..

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

ae

ótimo,nãi tinhamos um sistema de reset ainda aqui nesse area,os que tinham foi retirados

e o seu reseta mana,hp e ainda recebe uma voc nova bem legal

 

obrigado por trazes o conteudo

abraços cara

Link para o comentário
Compartilhar em outros sites

ae

ótimo,nãi tinhamos um sistema de reset ainda aqui nesse area,os que tinham foi retirados

e o seu reseta mana,hp e ainda recebe uma voc nova bem legal

 

obrigado por trazes o conteudo

abraços cara

 

Sim percebi Isso.. então eu pensei : já que tenho aqui vou postar.

 

Precisando , só falar.

Link para o comentário
Compartilhar em outros sites

mano davialves aki deu erro nao sei pq olha

 

 

Error - LuaScriptInterface::loadFile] data/talkactions/scripts/promovoc.lua:57: 'end' expected (to close 'function' at line 1) near '<eof>'

[25/06/2010 22:26:23] [Warning - Event::loadScript] Cannot load script (data/talkactions/scripts/promovoc.lua)

[25/06/2010 22:26:23] data/talkactions/scripts/promovoc.lua:57: 'end' expected (to close 'function' at line 1) near '<eof>'

 

ae o erro tem como me ajudar a tira esse erro?

Link para o comentário
Compartilhar em outros sites

@Churupetinha

 

só falto o end...

 

ta ai:

 

 

 

function onSay(cid, words, param)

config = {
level= 10000, -- 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) == 8 then -- Vocação que o player precisa ter
doPlayerSetVocation(cid, 9) -- Vocação que o player ficara após o reset
end
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

 

 

Link para o comentário
Compartilhar em outros sites

@UP

Tira essa parte:

if getPlayerVocation(cid) == 8 then -- Vocação que o player precisa ter
doPlayerSetVocation(cid, 9) -- Vocação que o player ficara após o reset
end

Link para o comentário
Compartilhar em outros sites

Mãn ta de parabéns pelo Script mais tem uma Coisa

quando eu reseto pro Level 8 a vocação não Mudou

eu coloquei la o ID da vocação que precisa ser e a que vai ser quando resetar

que é 4 knight e 8 Elit Knight

 

que é onde fica

 

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

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

 

será que preciso mudar o storage ???

reset = getPlayerStorageValue(cid,1020)

 

 

e se preciso mudar pra por igual o Do meu OT que arquivo eu procuro o storage pra por no lugar do 1020 ?

 

 

Ajudando agradeço Muito

 

 

:thumbsupsmiley:

Link para o comentário
Compartilhar em outros sites

Mãn ta de parabéns pelo Script mais tem uma Coisa

quando eu reseto pro Level 8 a vocação não Mudou

eu coloquei la o ID da vocação que precisa ser e a que vai ser quando resetar

que é 4 knight e 8 Elit Knight

 

que é onde fica

 

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

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

 

será que preciso mudar o storage ???

reset = getPlayerStorageValue(cid,1020)

 

 

e se preciso mudar pra por igual o Do meu OT que arquivo eu procuro o storage pra por no lugar do 1020 ?

 

 

Ajudando agradeço Muito

 

 

:thumbsupsmiley:

 

Olha, acho que é por isso :

 

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

doPlayerSetVocation(cid, 9) -- Vocação que o player

 

essa função serve apenas da vocation 9 para 10; da 10 pra 11; da 11 pra 12, e assim por diante.. tente usar essa função : setPlayerPromotionLevel(cid, 2) no lugar de : if getPlayerVocation(cid) == 8 then -- Vocação que o player precisa ter

doPlayerSetVocation(cid, 9) -- Vocação que o player

 

Caso não funfe, me mande uma pm.

 

 

@UP

Obrigado cara,qualquer duvida venha ao Xtibia

 

Abraços

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...