Ir para conteúdo

[Action] Novo Sistema Reset E Troca De Vocação Por Quest!


Posts Recomendados

Ola Galerinha da Xtibia ,Venho trazer meu primeiro post.

 

Xtibiano: Oque esse script fáz?

 

Eu: Ele troca de vocação para a vocação que você colocar volta ao level 8 e reseta sua mana e life.

 

Xtibiano:Como eu coloco ele?

 

Eu: Vai na pasta do seu servidor e entre nessa pasta ( data/action/scripts ) Copie qualquer arquivo que esta em notpad e cole denovo ,troca o nome para resetquest clica com o botão direito do mouse vai em editar ... vai abrir uma janela para escrever vc apaga tudo oque há dentro dela e cole oque eu vou te mandar agora.

 

Xtibiano:Manda!!!

 

Eu:

 

 

function setPropriets(cid)

doPlayerSetVocation(cid, 9)

doPlayerAddExp(cid,

 

-(getPlayerExperience(cid)-getExperienceForLevel(8)))

doPlayerSetMaxCapacity(cid, 435)

doSendMagicEffect(getCreaturePosition(cid), 27)

setCreatureMaxHealth(cid, 2000)

setCreatureMaxMana(cid, 2000)

 

end

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

pid = getPlayerGUID(cid)

 

if getPlayerVocation(cid) == 1 and getPlayerLevel(cid) >= 250 then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

end

return TRUE

elseif getPlayerVocation(cid) == 2 and getPlayerLevel(cid) >= 250

 

then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

 

end

return TRUE

elseif getPlayerVocation(cid) == 3 and getPlayerLevel(cid) >= 250

 

then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

end

return TRUE

elseif getPlayerVocation(cid) == 4 and getPlayerLevel(cid) >= 250

 

then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

end

return TRUE

else

doPlayerSendCancel(cid, "Voce ja resetou ou nao tem level

 

suficiente!")

end

return TRUE

end

 

 

Xtibiano:Ahhh mais aconteceu um bug porque desse bug?

 

Eu: Vou te falar os Prés Requisitos para usar esse sistema 100% funcionando.....Em sua vocation.xml precisa estar o mesmo tanto de mana e vida para a vocaçao exemplo knight ganha 10 de vida e 10 de mana dai ele vai resetar e ficar com 185 de life e 35 de mana , mais se estiver 15 de life e 5 de mana a quest buga vc nao via ficar com 185 de life e 35 de mana vc vai voltar level 8 com a nova vocaçao e com um pouco amenos de life e mana doque ele ja tinha. entao para funcionar vc deve ir na pasta XML e procurar o vocation.xml e editar o gainhp="15" gainmana="15" para ficar igual dai o script pega

 

Xtibiano: Mais porque desse bug se eu nao mecher no xml?

 

Eu: Sou Mapper Não sei nada de Scripts mais sou muito curioso.

 

Eu estava com um script que peguei aqui na xtibia no meu OtServer.

 

Só que o Script não pegava, Mais fazia a função que eu queria e nao tem outro ingual a ele.

 

Chamei o Jhon ele ajuda todo mundo em script e pedi ele para me ajudar no meu.

 

Eu e ele ficamos umas 2 horas tentando fazer o script funcionar e o script nao funcionava.

 

Até que uma hora ele desistiu ,Porque como eu disse sou Mapper e nao Scripter.

 

Eu só ia testando oque ele fazia quem estava sofrendo era ele.

 

Mais indo direto ao assunto ,Eu (Curioso) fui fuçando no script e uma hora eu consegui foi com 1 vocaçao só mais consegui depois de colokar uma coisa tirar outra colokar denovo copiar cola muita locura eu Finalmente consegui deixar quase bom.

 

Eu nao sou scripter por isso nao arrumei esse requisito mais sei doque precisa.

 

o erro que ele da é o seguinte se vc nao fazer o pré requisito ,a primeira funçao do script é trokar de vocaçao ,entao se vc e kina e tem 1500 de life e 500 a 3 função é fazer o char perder o level que ganho e decer a vida e mana de cada level que no caso se fosse a 2 funçao ia sair perfeitamente oque estrago o script foi a 2 funçao que troka de vocação ,voce vira a nova vocaçao esta com 1500 de life e 500 de mana dai ativa a 3 funçao vc perde o a mana e a vida que conseguiu ,que no caso vc é a outra vocaçao vai sair diferente a mana e a vida que ia sair se fosse kina dai ai que a merda ta feita no negocio da health...

 

postei esse script aki porque da para usar se mecher na xml e porque vi varios player pedindo e nunca acharam ,se alguem puder arrumar essa coisa minima para eu vai ajudar muita gente happy.png

Se estiver area errada MOVE por favor Mas pelas regras esta tudo certo.

Creditos 100% ao Jhon o Estagiario, se nao fosse ele eu nao conseguiria fazer nenhuma cagada :D

Xtibiano: Só falto a tag né? ¬¬

Eu : tai manim malz :D ponha no action.xml

<action actionid="3253" event="script" value="other/resetquest.lua"/>

Obs: Ele não reseta as skill . Por Enquanto vou tentar arrumar

Se nao abrir o spoliers eu vou postar por code.

function setPropriets(cid)

doPlayerSetVocation(cid, 9)

doPlayerAddExp(cid,

 

-(getPlayerExperience(cid)-getExperienceForLevel(8)))

doPlayerSetMaxCapacity(cid, 435)

doSendMagicEffect(getCreaturePosition(cid), 27)

setCreatureMaxHealth(cid, 2000)

setCreatureMaxMana(cid, 2000)

 

end

 

function onUse(cid, item, fromPosition, itemEx, toPosition)

 

pid = getPlayerGUID(cid)

 

if getPlayerVocation(cid) == 1 and getPlayerLevel(cid) >= 250 then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

end

return TRUE

elseif getPlayerVocation(cid) == 2 and getPlayerLevel(cid) >= 250

 

then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

 

end

return TRUE

elseif getPlayerVocation(cid) == 3 and getPlayerLevel(cid) >= 250

 

then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

end

return TRUE

elseif getPlayerVocation(cid) == 4 and getPlayerLevel(cid) >= 250

 

then

setPropriets(cid)

doRemoveCreature(cid)

for id=0, 8 do

 

end

return TRUE

else

doPlayerSendCancel(cid, "Voce ja resetou ou nao tem level

 

suficiente!")

end

return TRUE

end

ae arrumei todos erros e bugs esta facil de configurar e só nao colokei para resetar skills ainda

todos erros arrumados só nao colokei para resetar skills

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

function onUse(cid, item, fromPosition, itemEx, toPosition)
pid = getPlayerGUID(cid)
if getPlayerVocation(cid) == 1 and getPlayerLevel(cid) ~= 250 then
							doPlayerSetVocation(cid, 9)
							doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8)))
							doPlayerAddHealth(cid, -getplayerHealth(cid)-185)
							doPlayerAddMana(cid, -getPlayerMana(cid)+35)
							setCreatureMaxHealth(cid,  -setCreatureMaxHealth(cid)+185)
							setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35)
							doPlayerSetMaxCapacity(cid, 435)
							doSendMagicEffect(getCreaturePosition(cid), 13)
							doRemoveCreature(cid)
							db.executeQuery("UPDATE `players` SET `level` = ".. 20 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 1850 ..",`health` = ".. 1850 ..",`mana` = ".. 35 .." WHERE `id` = "..pid)
							for id=1, 8 do
							db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";")
							end
							return TRUE
elseif getPlayerVocation(cid) == 2 and getPlayerLevel(cid) ~= 250 then
							doPlayerSetVocation(cid, 9)
							doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8)))
							doPlayerAddHealth(cid, -getplayerHealth(cid)+100)
							doPlayerAddMana(cid, -getPlayerMana(cid)+35)
							setCreatureMaxHealth(cid,  -setCreatureMaxHealth(cid)+185)
							setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35)
							doPlayerSetMaxCapacity(cid, 435)
							doSendMagicEffect(getCreaturePosition(cid), 13)
							doRemoveCreature(cid)
							db.executeQuery("UPDATE `players` SET `level` = ".. 20 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 1850 ..",`health` = ".. 1850 ..",`mana` = ".. 35 .." WHERE `id` = "..pid)
							for id=2, 8 do
							db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";")
							end
							return TRUE
elseif getPlayerVocation(cid) == 3 and getPlayerLevel(cid) ~= 250 then
							doPlayerSetVocation(cid, 9)
							doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8)))
							doPlayerAddHealth(cid, -getplayerHealth(cid)+185)
							doPlayerAddMana(cid, -getPlayerMana(cid)+35)
							setCreatureMaxHealth(cid,  -setCreatureMaxHealth(cid)+185)
							setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35)
							doPlayerSetMaxCapacity(cid, 435)
							doSendMagicEffect(getCreaturePosition(cid), 13)
							doRemoveCreature(cid)
							db.executeQuery("UPDATE `players` SET `level` = ".. 20 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 1850 ..",`health` = ".. 1850 ..",`mana` = ".. 35 .." WHERE `id` = "..pid)
							for id=3, 8 do
							db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";")
							end
							return TRUE
elseif getPlayerVocation(cid) == 4 and getPlayerLevel(cid) ~= 250 then
							doPlayerSetVocation(cid, 9)
							doPlayerAddExp(cid, -(getPlayerExperience(cid)-getExperienceForLevel(8)))
							doPlayerAddHealth(cid, -getplayerHealth(cid)-1850)
							doPlayerAddMana(cid, -getPlayerMana(cid)+35)
							setCreatureMaxHealth(cid,  -setCreatureMaxHealth(cid)-1850)
							setCreatureMaxMana(cid, -setCreatureMaxMana(cid)+35)
							doPlayerSetMaxCapacity(cid, 35)
							doSendMagicEffect(getCreaturePosition(cid), 13)
							doRemoveCreature(cid)
							db.executeQuery("UPDATE `players` SET `level` = ".. 8 ..", `experience` = ".. 4200 ..",`manamax` = ".. 35 ..",`healthmax` = ".. 1850 ..",`health` = ".. 1850 ..",`mana` = ".. 35 .." WHERE `id` = "..pid)
							for id=4, 8 do
							db.executeQuery("UPDATE `player_skills` SET `value` = ".. 10 .." WHERE `player_id` = ".. getPlayerGUID(cid) .. " and `skillid` = ".. id ..";")
							end
							return TRUE
else
doPlayerSendCancel(cid, "Você não pode mais Resetar!")
end
return TRUE
end

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

valeu, vou testar aqui pra ver se funciona^^

e ele tira os skills dos players tmbm? por que se o cara for uma certa vocação e mudar de voc e continuar os skills da outra voc ele irá bugar o servidor

Link para o comentário
Compartilhar em outros sites

  • 3 weeks later...
  • 5 weeks later...
  • 5 months later...
  • 8 months later...
×
×
  • Criar Novo...