o spoiler não abrindo aqui tem como você por em "code"?
- Fórum
- OTServ
- Recursos
- Scripting
- Actions e Talkactions
- [Action] Novo Sistema Reset E Troca De Vocação Por Quest!
[Action] Novo Sistema Reset E Troca De Vocação Por Quest!
Por JeanCristian, 19 de abr. de 2012 em Actions e Talkactions
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

Editado Abril 19 por Subwat
info
Grupo: Banidos
Registrado: 21/01/12
Posts: 842
Reputação: +234
Char no Tibia: Stephan

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
info
Grupo: Infante
Registrado: 27/07/09
Posts: 1.5k
Reputação: +405
Char no Tibia: Gean Riot

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
info
Grupo: Visconde
Registrado: 11/04/12
Posts: 328
Reputação: +7
Char no Tibia: ADM MiHawk

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
info
Grupo: Campones
Registrado: 02/05/12
Posts: 53
Reputação: +18
Char no Tibia: Absolut Power

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 ![]()
info
Grupo: Campones
Registrado: 26/05/08
Posts: 7
Reputação: 0
Char no Tibia: Master Rulexz

mais tem como por pra resetar skill so quando o cara decidir trocar de vocação ?
Opa, bom conteúdo, rep+
info
Grupo: Campones
Registrado: 25/11/12
Posts: 1
Reputação: 0
Char no Tibia: caranbola

velho pela amor de deus eu preciso de um ot com reset quem acha pra mim faz pf
info
Grupo: Campones
Registrado: 17/12/12
Posts: 34
Reputação: 0
Char no Tibia: Speed

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




info
Grupo: Visconde
Registrado: 11/04/12
Posts: 328
Reputação: +7
Char no Tibia: ADM MiHawk
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
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
Xtibiano: Só falto a tag né? ¬¬
Eu : tai manim malz
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.
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