JE
action

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

Por JeanCristian, 19 de abr. de 2012 em Actions e Talkactions

otserv
tibia
script
10
3.5k
JeanCristianJ
19 de abril de 2012 às 16:25

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 Abril 20 por JeanCristian

SubwatS
19 de abril de 2012 às 16:37

o spoiler não abrindo aqui tem como você por em "code"?

Editado Abril 19 por Subwat

AnneMottaA
19 de abril de 2012 às 16:38
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 Abril 19 por AnneMotta

SubwatS
19 de abril de 2012 às 16:42

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

JeanCristianJ
19 de abril de 2012 às 17:24

eu estou a cada 1 hora tentando atualizar o script ja deixei mais simples com as mesmas funçoes ,vou tentar colokar para resetar skill agora

1 mês depois...
HannibalsOTsH
06 de maio de 2012 às 17:18

eu estou a cada 1 hora tentando atualizar o script ja deixei mais simples com as mesmas funçoes ,vou tentar colokar para resetar skill agora

 

Blz, parece ser muito bom :p

1 mês depois...
inrocckI
05 de junho de 2012 às 19:23

mais tem como por pra resetar skill so quando o cara decidir trocar de vocação ?

VildenV
05 de junho de 2012 às 19:51

Opa, bom conteúdo, rep+

5 meses depois...
25 de novembro de 2012 às 17:11

velho pela amor de deus eu preciso de um ot com reset quem acha pra mim faz pf

8 meses depois...
29 de julho de 2013 às 01:51

Alguuem tem aquele Sistema de Reset Igual ao do Rozin ?? que fala !mixedpromo ai vc se transforma pow se alguém tiver manda PM pra mim ou posta aqui no Xtibia