[Moveevent] Perfect Treiner System

leleos
Por leleos
em Actions e Talkactions
  • 1
  • 2

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Perfect Treiner System

 

Utilidade: Voce pisa no tile e o treiner aparece, diferente dos outros sistemas esse e muito mais pratico.

 

Bom esse e meu primeiro script, eu tava dando uma olhada aqui so que nao achei nenhum script igual os que eu achei erao muito complicados, por isso resolvi postar o meu.

 

Bom chega de conversa, Mao na massa.

 

Fassa uma area igual essa e ponha as mesmas ActionsId:

 

imagemnf.png

 

Explicando:

ActionsIds.

9000 = Norte

9001 = Sul

9002 = Esquerda

9003 = Direita

 

Bom removi as 2 outras verções que tinha pq não havia necessidade, pois essa vai ser a melhor.

Agradeço ao kydrai por me da a luz de como faser o script.

 

Versão Fixa:

 

Bom script totalmente pequeno ele tem 2 kb pronto, comparado ao outro que tinha 5 kb.

 

Bom vamos la.

 

Abra o MoveEvents.XML e adicione:

<movevent type="StepIn" actionid="9000" event="script" value="treiners.lua"/>

<movevent type="StepOut" actionid="9000" event="script" value="treiners.lua"/>

<movevent type="StepIn" actionid="9001" event="script" value="treiners.lua"/>

<movevent type="StepOut" actionid="9001" event="script" value="treiners.lua"/>

<movevent type="StepIn" actionid="9002" event="script" value="treiners.lua"/>

<movevent type="StepOut" actionid="9002" event="script" value="treiners.lua"/>

<movevent type="StepIn" actionid="9003" event="script" value="treiners.lua"/>

<movevent type="StepOut" actionid="9003" event="script" value="treiners.lua"/>

 

Depois disso abra a pasta data\movements\scripts, e copie qualquer arquivo de la, e renomeie para treiners.lua, apague tudo oque estiver dentro e ponha isso:

function onStepIn(cid, item, pos)

local charPos = getCreaturePosition(cid)

local monkOne

local monkTwo

 

if(item.actionid == 9000) then

monkOne = {x = charPos.x - 1, y = charPos.y - 2, z = charPos.z}

monkTwo = {x = charPos.x + 1, y = charPos.y - 2, z = charPos.z}

 

elseif(item.actionid == 9001) then

monkOne = {x = charPos.x - 1, y = charPos.y + 2, z = charPos.z}

monkTwo = {x = charPos.x + 1, y = charPos.y + 2, z = charPos.z}

 

elseif(item.actionid == 9002) then

monkOne = {x = charPos.x - 2, y = charPos.y - 1, z = charPos.z}

monkTwo = {x = charPos.x -2, y = charPos.y + 1, z = charPos.z}

 

elseif(item.actionid == 9003) then

monkOne = {x = charPos.x + 2, y = charPos.y - 1, z = charPos.z}

monkTwo = {x = charPos.x + 2, y = charPos.y + 1, z = charPos.z}

 

else

return true

end

 

doSummonCreature("Training Monk", monkOne)

doSummonCreature("Training Monk", monkTwo)

return true

end

 

function onStepOut(cid, item, pos)

local charPos = getCreaturePosition(cid)

local monkOne

local monkTwo

 

if(item.actionid == 9000) then

monkOne = {x = charPos.x - 1, y = charPos.y - 2, z = charPos.z}

monkTwo = {x = charPos.x + 1, y = charPos.y - 2, z = charPos.z}

 

elseif(item.actionid == 9001) then

monkOne = {x = charPos.x - 1, y = charPos.y + 2, z = charPos.z}

monkTwo = {x = charPos.x + 1, y = charPos.y + 2, z = charPos.z}

 

elseif(item.actionid == 9002) then

monkOne = {x = charPos.x - 2, y = charPos.y - 1, z = charPos.z}

monkTwo = {x = charPos.x -2, y = charPos.y + 1, z = charPos.z}

 

elseif(item.actionid == 9003) then

monkOne = {x = charPos.x + 2, y = charPos.y - 1, z = charPos.z}

monkTwo = {x = charPos.x + 2, y = charPos.y + 1, z = charPos.z}

 

else

return true

end

 

doRemoveCreature(getThingfromPos({x = monkOne.x, y = monkOne.y, z = monkOne.z, stackpos = 253}).uid)

doRemoveCreature(getThingfromPos({x = monkTwo.x, y = monkTwo.y, z = monkTwo.z, stackpos = 253}).uid)

doSendMagicEffect(monkOne, 2)

doSendMagicEffect(monkTwo, 2)

return true

end

Bom ta ai a Atualizaçao, tentei diminuir o maximo que pude, juntando tudo em 1 Script so.</div></div>

 

 

Explicando:



 

Vermelho = Sao as ActionsIds dos tiles que no caso no meu e 9000,9001,9002 e 9003.

 

Laranja = Nome dos Treiners, que no caso o meu chama Training Monk, se o seu for outro nome mude-o.

 

Bom ta ai, desculpem os erros de portugues e que eu to com um pouco com sono amanha eu dou uma editada, qualquer duvida e so posta.

 

Ah so pra falar os acentos do meu teclado nao estao funcionado por isso a falta de acentuaçao.

Script testado em TFS 3.4 mas deve funcionar no 3.5 tambem.

 

Por favor peço a todos que usarem os scripts para nao retirarem os creditos que sao 100% meus.

 

Comenta ae!!

 

Att,Leleo.

Vilden

Loading. . .
avatar
Infante
Infante

INFOS

Grupo: InfanteRegistrado: 09/05/08Posts: 1597

~~Tópico~~

 

Tipo assim fica mais facio, mais acho que dava pra faze uma script unica e menor :x

(mais ta muito bom, vlw D:)

 

~Outro~

 

Agora só falta saber por o trainer com a outfit de item :D

 

Também queria saber ;O, tentei botar no looktype e da debug =/

Atenciosamente, Vilden.

polar

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/05/07Posts: 18Char no Tibia: Zuropov

fico muito bom mais dava pra ter simplificado como o vilden disse

 

a respeito da duvida pra por o mosnto com outfit de item eh simples so colocar look typeex no lugar de looktype e na frente por o item q vc qr q ele se pareça.








Você é meu fan?
Entao use:


genoma

genoma
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 19/08/07Posts: 59Char no Tibia: Diabeda

@Polar está certo...

 

@Vilden, se quiser faça igual tá no meu OT, apague seu treiner e deixe assim:

 

<?xml version="1.0" encoding="UTF-8"?>
<monster name="Training" species="human" nameDescription="a Training" race="undead" experience="0" speed="0" manacost="0">
<health now="50000" max="50000"/>
<look typeex="5787" />
<targetchange interval="60000" chance="0"/>
<strategy attack="100" defense="0"/>
<flags>
  <flag summonable="0"/>
  <flag attackable="1"/>
  <flag hostile="1"/>
  <flag illusionable="0"/>
  <flag convinceable="0"/>
  <flag pushable="0"/>
  <flag canpushitems="1"/>
  <flag staticattack="80"/>
  <flag lightlevel="0"/>
  <flag lightcolor="0"/>
  <flag targetdistance="1"/>
  <flag runonhealth="0"/>
</flags>
<attacks>
  <attack name="melee" interval="2000" min="-0" max="-1"/>
</attacks>
<defenses armor="0" defense="0">
<defense name="healing" interval="1000" chance="60" min="5000" max="15000">
<attribute key="areaEffect" value="blueshimmer"/>
</defense>
</defenses>
<immunities>
  <immunity physical="0"/>
  <immunity energy="0"/>
  <immunity fire="0"/>
  <immunity holy="0"/>
  <immunity death="0"/>
  <immunity poison="0"/>
  <immunity lifedrain="0"/>
  <immunity paralyze="0"/>
  <immunity outfit="0"/>
  <immunity drunk="0"/>
  <immunity invisible="0"/>
</immunities>
 </monster>

 

 

@leleos, quanto ao que disseram é verdade, dava pra diminuir o script mas enfim...tá show de bola, idéia muito boa mesmo, Parabéns!

 

 

Sem mais~

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

além de diminuir daria pra fazer em um script só.

mas como ele disse no topico é o primeiro script dele então não vamos pedir demais de um novato.

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

Sugirokifuja

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 07/09/09Posts: 2Char no Tibia: Sugirokifuja KINA

Aqui funcionou perfeitamente, muito obrigado cara =) ótimo trabalho =D

fuckyouuuuuuuuuuuuu

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 29/08/08Posts: 12

da pra faze tipo num script so n?

ta muito complicado esse pra eu por no my ot

 

vlw migoo tyy

Emotion Cool
Miguxo Tool
Ominho Yool

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

Bom desculpem pela ausencia, e que o modem do meu pc queimou.

 

Obrigado a todos que gostarao do script, vou tenta diminuir ele, e se eu consegui eu posto aqui pra vcs.

 

Ta ai qualquer duvida postem.

 

Abraços!

 

@All!!

 

Script Atualizado!

Kydrai

"Keep Your Mind Wide Open"
avatar
Visconde
Visconde

INFOS

Grupo: ViscondeRegistrado: 21/08/06Posts: 250

Sua atualização ficou totalmente sem sentido. E oq seria aquele doorPos?

Repare uma parte do seu script modificado:

function onStepIn(cid, item, pos)

local charPos = getCreaturePosition(cid)

local monkOne

local monkTwo

 

if(item.actionid == 9000) then

monkOne = {x = charPos.x - 1, y = charPos.y - 2, z = charPos.z}

monkTwo = {x = charPos.x + 1, y = charPos.y - 2, z = charPos.z}

 

elseif(item.actionid == 9001) then

monkOne = {x = charPos.x - 1, y = charPos.y + 2, z = charPos.z}

monkTwo = {x = charPos.x + 1, y = charPos.y + 2, z = charPos.z}

 

elseif(item.actionid == 9002) then

monkOne = {x = charPos.x - 2, y = charPos.y - 1, z = charPos.z}

monkTwo = {x = charPos.x -2, y = charPos.y + 1, z = charPos.z}

 

elseif(item.actionid == 9003) then

monkOne = {x = charPos.x + 2, y = charPos.y - 1, z = charPos.z}

monkTwo = {x = charPos.x + 2, y = charPos.y + 1, z = charPos.z}

 

else

return true

end

 

doSummonCreature("Training Monk", monkOne)

doSummonCreature("Training Monk", monkTwo)

return true

end

Coloquei só pra vc dar uma olhada e comparar com o seu, nem testei pra ver se errei algo.

~ Kydrai
Programador / Scripter

 

sign.png

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina
Sua atualização ficou totalmente sem sentido. E oq seria aquele doorPos?

Repare uma parte do seu script modificado:

 

Coloquei só pra vc dar uma olhada e comparar com o seu, nem testei pra ver se errei algo.

 

 

Bom cara e que tipo esse e meu primeiro script nao manjo muito, por isso fico meio inrrolado la, mais o script funciono perfeitamente.

 

O doorPos, era de um outro script que eu usei como base para faser esse por isso esqueci de remove mais agora ja tirei ele e obrigado por comenta.

 

Sobre ter ficado sem sentido é que eu não sei muita coisa de script ainda, por isso vou estudar algumas funções, para simplificar ao maximo o script.

 

Bom é isso, abraços!

 

@Edit~~

 

Bom ta ai a utima atualização do script só usar e abusa do script agora.

 

Abraços!

Califa

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 02/06/07Posts: 12Char no Tibia: Zignela

Ai lek, eu testei no meu ot.. mas deu um problema.

 

Por exemplo, meus trainers ficam em uma ilha, quando eu subo no tile especial, o trainer aparece em diversos lugares.

 

Tipo: Em cima do Coal Basin, fora do lugar (na água)

 

E quando eu saio, só alguns somem.

 

E também os trainers bugados só aparecem no tile com ACTID 9.000 (Norte)

 

Nos outros nem aparecer aparecem...

 

Qual o problema?

 

Eu fiz tudo direitinho..

Em breve... Lightning BR!

Lançamento sem previsão

Servidor 24hrs Dedicado

Rates:

xp : Stage lvl 8 ~ 80 : 30x
lvl 80 ~ 200 : 20x
lvl 200 ~ 320 : 10x
lvl 320 ~ ... : 7x
Skills : 25x
MagicLev : 15x

leleos

::.Voltei.::
avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 23/01/08Posts: 41Char no Tibia: Gripi Suina

/\ UP!

 

Bom amigo poste uma SS pra mim ver como que ta, e outra qual a versão do seu Ot?

satan666

Antichrist Superstar
avatar
Conde
Conde

INFOS

Grupo: CondeRegistrado: 07/05/08Posts: 612Char no Tibia: leviana luciferiana

daria pra diminuir e simplificar o script mais ainda usando array.

creationb.jpg

"Um Deus que usasse seu poder para criar seres humanos que de antemão sabia que seriam atormentados eternamente, e que os predestinasse a isso,



não poderia ser sábio, nem justo e tampouco amoroso.

Além de nos submeter a isso vim a nos julgar e condenar por nossos atos aos tormentos do inferno.

pra minha pessoa isso não é um Deus Pai amoroso e bondoso como o chaman, seu padrão seria muito mais inferior do que o de muitos homens."

kubos2010

avatar
Campones
Campones

INFOS

Grupo: CamponesRegistrado: 18/01/09Posts: 15

Opa, estou tentando usar o script, ele funciona mas tem um problema.

 

O problema é que se for uma área de training aberta dos lados, tipo a sua é totalmente fechada por uma montanha, criei uma área rapida para testar aqui alguns scripts, o seu mesmo estando com todas as posições corretas acontece isso como pode ver na imagem.

 

96460046.png

 

Script é muito bom, faz o que promote, mas falha nessa parte para sumonar, ele esta sumonando primeiro fora da área que deveria sumorar e depois sumona dentro da área correta. De uma olhadinha, no sul fiz para sumonar 3, como não tem nada de terra para sul, somente água ele sumona corretamente.

 

Se puder me ajudar ou arruma o script para que ele sumone somente dentro da área vai ajudar muito =D

  • 1
  • 2