SK
moveevent

[moveevent] Treiners Sem Treiners

Por Skyblade, 28 de nov. de 2009 em Actions e Talkactions

otserv
tibia
script
8
2.4k
SkybladeS
28 de novembro de 2009 às 18:47

eu pedi pra reabrirem ele mas ngm me ouviu... isso é uma falta de consideração ¬¬

 

só estou querendo ajudar.. mas se n derem ouvidos.. exclui...

 

Olá! :party:

 

Eu novamente trazendo novidades pro xtibia!

Queria logo avisar.. q essa action ja deve ter sido inventada, pois eu vi ela em outro servidor, gostei e tudo, n consegui falar com o host que criou nem nada (isso faz um ano mais ou menos), ai eu tive a ideia de montar ela pra ve se conseguia =D, e deu certo...

Começando:

Primeiramente vá em movements/scripts, copie qualquer arquivo e renomeie para treino.lua

abra ele e add..

 

--Script by Skyblade

function onStepIn(cid, item, position, fromPosition)





local parametro = {cid=cid}

voc = getPlayerVocation(cid)

p = getPlayerPosition(cid)

doTransformItem(item.uid,item.itemid-1)

if voc == 0 then

doPlayerSendTextMessage(cid,25,"Somente players com vocação podem treinar!")

elseif voc == 1 or voc == 2 or voc == 5 or voc == 6 then  --pode ser editada

mageevent = addEvent(mage,3000,parametro)

doSendMagicEffect(p,3)

doPlayerSendTextMessage(cid,25,"Seu Treinamento começa em instantes!")

elseif voc == 3 or voc == 7 then --pode ser editada

archerevent = addEvent(arch,3000,parametro)

doPlayerSendTextMessage(cid,25,"Seu Treinamento começa em instantes!")

doSendMagicEffect(p,3)

elseif voc == 4 or voc == 8 then --pode ser editada

knightevent = addEvent(kina,3000,parametro)

doPlayerSendTextMessage(cid,25,"Seu Treinamento começa em instantes!")

doSendMagicEffect(p,3)

end



setPlayerStorageValue(cid,1881,p.x)

setPlayerStorageValue(cid,1882,p.y)





return TRUE

end







function mage(parametro)

cid = parametro.cid

parametro = {cid=cid}





p = getPlayerPosition(cid)

xiz = getPlayerStorageValue(cid,1881)

yps = getPlayerStorageValue(cid,1882)

inip = {x=xiz,y=yps,z=7,stackpos=253}

ini = getThingfromPos(inip)

if ini.uid == cid then

doPlayerAddSkillTry(cid,5,5)

doPlayerAddSpentMana(cid,100)

mageevent = addEvent(mage,1000,parametro)

doSendMagicEffect(p,12)

ip = getPlayerIp(cid)

if ip == 0 then

stopEvent(mageevent)

end

end









end







function kina(parametro)

cid = parametro.cid

parametro = {cid=cid}

p = getPlayerPosition(cid)

ip = getPlayerIp(cid)

if ip == 0 then



stopEvent(knightevent)

end

xiz = getPlayerStorageValue(cid,1881)

yps = getPlayerStorageValue(cid,1882)

inip = {x=xiz,y=yps,z=7,stackpos=253}

ini = getThingfromPos(inip)

if ini.uid == cid then

knightevent = addEvent(kina,1000,parametro)

doSendMagicEffect(p,12)

club = getPlayerSkill(cid,1)

sword = getPlayerSkill(cid,2)

axe = getPlayerSkill(cid,3)

doPlayerAddSkillTry(cid,3,5)





if (club > axe) and (club > sword) then

doPlayerAddSkillTry(cid,1,5)

elseif (axe > club) and (axe > sword) then

doPlayerAddSkillTry(cid,3,5)

elseif (sword > axe) and (sword > club) then

doPlayerAddSkillTry(cid,2,5)

end



doPlayerAddSkillTry(cid,5,5)

doPlayerAddSpentMana(cid,100)

end





end



function arch(parametro)

cid = parametro.cid

parametro = {cid=cid}

p = getPlayerPosition(cid)

ip = getPlayerIp(cid)

if ip == 0 then



stopEvent(archevent)

end

xiz = getPlayerStorageValue(cid,1881)

yps = getPlayerStorageValue(cid,1882)

inip = {x=xiz,y=yps,z=7,stackpos=253}

ini = getThingfromPos(inip)

if ini.uid == cid then

archerevent = addEvent(arch,1000,parametro)

doSendMagicEffect(p,12)

doPlayerAddSkillTry(cid,4,5)

doPlayerAddSkillTry(cid,5,5)

doPlayerAddSpentMana(cid,100)

 end
end


function onStepOut(cid, item, position, fromPosition)

doTransformItem(item.uid,item.itemid+1)

local parametro = {cid=cid}

voc = getPlayerVocation(cid)

p = getPlayerPosition(cid)

setPlayerStorageValue(cid,9444, 0)



if voc == 1 then

stopEvent(mageevent)

elseif voc == 2 then

stopEvent(archerevent)

elseif voc == 3 then

stopEvent(knightevent)

end

end

 

Vá em movements.xml e add essa tag:

   

<movevent type="StepIn" actionid="5555" event="script" value="treino.lua"/>

<movevent type="StepOut" actionid="5555" event="script" value="treino.lua"/>

 

Agora em seu ot crie uma area tipo treiners... só que sem eles =D... bote um tile "diferenciado" (sugiro o ID 426) e bote a actionid 5555..

Pronto =)

Como Funciona:

Seguinte.. quando o player pisa o script verifica a vocaçao e começa o treino (arch,mage,kina) ai ele fica "adicionando" skills (poucas) no player... até ele sair.

Créditos:

Não posso colocar créditos para a pessoa q inventou mais posso agradecer pela ótima idéia.

e Créditos a mim que consegui colocar funfa uma coisa q eu só tinha visto =D

desculpe pela má formatação do texto é q to com um poco de preguiça :D

Cyaa!

Editado Novembro 29 por SkyBlade

KydraiK
28 de novembro de 2009 às 22:25

Ainda acho que deveria ter reportado mais vezes, não precisava de tanta pressa.

Os spoilers não estavam abrindo aqui no Chrome, mas no IE abriu perfeitamente, provavelmente algum bug do fórum.

 

Quanto ao script, prefiro treinar atacando, mas esse método parece bom também.

 

E no título não deveria ser MoveEvent?

SkybladeS
29 de novembro de 2009 às 00:13

@kydrai

 

arrrumado =D

GregoriusG
04 de dezembro de 2009 às 03:28

#Kydrai: Aqui eu uso o Chrome e abriu perfeitamente... :hehe:

Indicando que não é mesmo problema do site! :na:

DobolD
08 de dezembro de 2009 às 19:13

Cara, tenta explicar melhor, a ideia foi boa, mais o tutorial ficou mal explicado, ensina a modificar, tipo, tem como eu adicionar mais skill? ou se eu mudar o SKILL e ML em config.lua vai aumentar o skill do "Piso" também?

2 semanas depois...
viniciusturkoV
22 de dezembro de 2009 às 16:55

Testei em muitos servidores 8.50 e em dois servidores 8.54 em nenhum deu certo , o player sobe no tile a aparece :

 

Seu treino começará em instantes , após isso nada acontece...

 

Mas obrigadão , se puder arrumar , arrume , é um otimo script , eu tava doido pra coloca eli no meu servidor.

7 meses depois...
marcelo1025M
26 de julho de 2010 às 18:07

topico legal para inicianter en hoster

mappernetoM
01 de agosto de 2010 às 20:53

Cara Não Funciona Testado Em 8.54 Ele Da A Msg Que O Treinamento Ira Começar A Qualquer Instante Mais Não Acontece Nada :icon2: eu ja vi esse sistema em um serve americano mais numca achei e esse que você postou não funciona tenta arruma ae a ideia é legal so falta funciona :excl: