Ir para conteúdo

[Pedido] Tapete Voador By Jovial


pc98

Posts Recomendados

obs: Não é do Jovial mas achei outros 2

 

 

retirado do post:

Tepete Voador By Guizo3

 

Gente..

oi :p

em primeiro lugar gostaria de avisar que essa action foi desenvolvida por mim, Guizo3, eu sozinho

e que não permito cópia para nenhum outro fórum, é uma exclusividade XTibia!

 

essa noite, 2 horas da manhã, acordei agonizado com um script na cabeça

script de um tapete voador,

levantei, peguei um caderno, uma caneta e montei esse script...

passei para o computador e tudo..

ele parecia estar perfeito.. mais teve um erro

"=" expected near "em" bug fixed <-- agora está 100%

mesmo assim resolvi postar meu trabalho mais significativo até hoje

 

o script é o seguinte:

--Tapete Voador By Guizo3! --guizo3@hotmail.com

--Venha conhcer nosso server: hellempire.servegame.com , muitas actions novas!

--Esclusividade XTibia!

 

function onStepIn(cid, item, pos)

 

local speed = 250 --Velocidade em milesimos de segundo para o tapete andar um sqm

 

POSICAO_INICIAL_MEIO = {x=252, y=52, z=7} --posição inicial meio

POSICAO_INICIAL_BD = {x=252, y=52, z=7} --posição inicial Borda Direita

POSICAO_INICIAL_BE = {x=252, y=52, z=7} --posição inicial Borda Esquerda

POSICAO_INICIAL_BI = {x=252, y=52, z=7} --posição inicial Borda Inferior

POSICAO_INICIAL_BS = {x=252, y=52, z=7} --posição inicial Borda Superior

POSICAO_INICIAL_DCD = {x=252, y=52, z=7} --posição inicial Borda Diagonal Direita Superior

POSICAO_INICIAL_DCE = {x=252, y=52, z=7} --posição inicial Borda Diagonal Esquerda Superior

POSICAO_INICIAL_DBE = {x=252, y=52, z=7} --posição inicial Borda Diagonal Esquerda Inferior

POSICAO_INICIAL_DBD = {x=252, y=52, z=7} --posição inicial Borda Diagonal Direita Inferior

 

MEIO = 4398 --id Meio

BD = 4399 --id Borda Direita

BE = 4397 --id Borda Esquerda

BI = 4401 --id Borda Inferior

BS = 4395 --id Borda Superior

DCD = 4396 --id Borda Diagonal Direita Superior

DCE = 4394 --id Borda Diagonal Esquerda Superior

DBE = 4400 --id Borda Diagonal Esquerda Inferior

DBD = 4402 --id Borda Diagonal Direita Inferior

 

 

-------------------------------------------------------Não Edite Nada Se Não Souber Oque Está FAzendo!

 

 

item1 = getThingfromPos(pos1)

item2 = getThingfromPos(pos2)

item3 = getThingfromPos(pos3)

item4 = getThingfromPos(pos4)

item5 = getThingfromPos(pos5)

item6 = getThingfromPos(pos6)

item7 = getThingfromPos(pos7)

item8 = getThingfromPos(pos8)

item9 = getThingfromPos(pos9)

 

pos1 = {x=pos.x, y=pos.y, z=pos.z, stackpos=1} ---meio

pos2 = {x=pos.x-1, y=pos.y-1, z=pos.z, stackpos=1} ---Borda Diagonal Esquerda Superior

pos3 = {x=pos.x, y=pos.y-1, z=pos.z, stackpos=1} ---Borda Superior

pos4 = {x=pos.x+1, y=pos.y-1, z=pos.z, stackpos=1} ---Borda Diagonal Direita Superior

pos5 = {x=pos.x-1, y=pos.y, z=pos.z, stackpos=1} ---Borda Esquerda

pos6 = {x=pos.x+1, y=pos.y, z=pos.z, stackpos=1} ---Borda Direita

pos7 = {x=pos.x-1, y=pos.y+1, z=pos.z, stackpos=1} ---Borda Diagonal Esquerda Inferior

pos8 = {x=pos.x, y=pos.y+1, z=pos.z, stackpos=1} ---Borda Inferior

pos9 = {x=pos.x+1, y=pos.y+1, z=pos.z, stackpos=1} ---Borda Diagonal Direita Inferior

 

BAIXO_POS = {x=pos.x, y=pos.y+1, z=pos.z}

CIMA_POS = {x=pos.x, y=pos.y-1, z=pos.z}

DIREITA_POS = {x=pos.x+1, y=pos.y, z=pos.z}

ESQUERDA_POS = {x=pos.x-1, y=pos.y, z=pos.z}

 

 

 

 

 

if item.actionid == 2134 then

 

doRemoveItem(item1.uid,1)

doRemoveItem(item2.uid,1)

doRemoveItem(item3.uid,1)

doRemoveItem(item4.uid,1)

doRemoveItem(item5.uid,1)

doRemoveItem(item6.uid,1)

doRemoveItem(item7.uid,1)

doRemoveItem(item8.uid,1)

doRemoveItem(item9.uid,1)

 

doCreateItem(MEIO,1,DIREITA_POS)

doCreateItem(BD,1,DIREITA_POS)

doCreateItem(BE,1,DIREITA_POS)

doCreateItem(BI,1,DIREITA_POS)

doCreateItem(BS,1,DIREITA_POS)

doCreateItem(DCD,1,DIREITA_POS)

doCreateItem(DCE,1,DIREITA_POS)

doCreateItem(DBE,1,DIREITA_POS)

doCreateItem(DBD,1,DIREITA_POS)

 

doTeleportThing(cid,DIREITA_POS)

 

 

elseif item.actionid == 2135 then

 

doRemoveItem(item1.uid,1)

doRemoveItem(item2.uid,1)

doRemoveItem(item3.uid,1)

doRemoveItem(item4.uid,1)

doRemoveItem(item5.uid,1)

doRemoveItem(item6.uid,1)

doRemoveItem(item7.uid,1)

doRemoveItem(item8.uid,1)

doRemoveItem(item9.uid,1)

 

doCreateItem(MEIO,1,ESQUERDA_POS)

doCreateItem(BD,1,ESQUERDA_POS)

doCreateItem(BE,1,ESQUERDA_POS)

doCreateItem(BI,1,ESQUERDA_POS)

doCreateItem(BS,1,ESQUERDA_POS)

doCreateItem(DCD,1,ESQUERDA_POS)

doCreateItem(DCE,1,ESQUERDA_POS)

doCreateItem(DBE,1,ESQUERDA_POS)

doCreateItem(DBD,1,ESQUERDA_POS)

 

doTeleportThing(cid,ESQUERDA_POS)

 

 

elseif item.actionid == 2136 then

 

doRemoveItem(item1.uid,1)

doRemoveItem(item2.uid,1)

doRemoveItem(item3.uid,1)

doRemoveItem(item4.uid,1)

doRemoveItem(item5.uid,1)

doRemoveItem(item6.uid,1)

doRemoveItem(item7.uid,1)

doRemoveItem(item8.uid,1)

doRemoveItem(item9.uid,1)

 

doCreateItem(MEIO,1,CIMA_POS)

doCreateItem(BD,1,CIMA_POS)

doCreateItem(BE,1,CIMA_POS)

doCreateItem(BI,1,CIMA_POS)

doCreateItem(BS,1,CIMA_POS)

doCreateItem(DCD,1,CIMA_POS)

doCreateItem(DCE,1,CIMA_POS)

doCreateItem(DBE,1,CIMA_POS)

doCreateItem(DBD,1,CIMA_POS)

 

doTeleportThing(cid,CIMA_POS)

 

 

elseif item.actionid == 2137 then

 

doRemoveItem(item1.uid,1)

doRemoveItem(item2.uid,1)

doRemoveItem(item3.uid,1)

doRemoveItem(item4.uid,1)

doRemoveItem(item5.uid,1)

doRemoveItem(item6.uid,1)

doRemoveItem(item7.uid,1)

doRemoveItem(item8.uid,1)

doRemoveItem(item9.uid,1)

 

doCreateItem(MEIO,1,BAIXO_POS)

doCreateItem(BD,1,BAIXO_POS)

doCreateItem(BE,1,BAIXO_POS)

doCreateItem(BI,1,BAIXO_POS)

doCreateItem(BS,1,BAIXO_POS)

doCreateItem(DCD,1,BAIXO_POS)

doCreateItem(DCE,1,BAIXO_POS)

doCreateItem(DBE,1,BAIXO_POS)

doCreateItem(DBD,1,BAIXO_POS)

 

doTeleportThing(cid,BAIXO_POS)

 

 

elseif item.actionid == 2138 then

 

doRemoveItem(item1.uid,1)

doRemoveItem(item2.uid,1)

doRemoveItem(item3.uid,1)

doRemoveItem(item4.uid,1)

doRemoveItem(item5.uid,1)

doRemoveItem(item6.uid,1)

doRemoveItem(item7.uid,1)

doRemoveItem(item8.uid,1)

doRemoveItem(item9.uid,1)

 

doCreateItem(MEIO,1,POSICAO_INICIAL_MEIO)

doCreateItem(BD,1,POSICAO_INICIAL_BD)

doCreateItem(BE,1,POSICAO_INICIAL_BE)

doCreateItem(BI,1,POSICAO_INICIAL_BI)

doCreateItem(BS,1,POSICAO_INICIAL_BS)

doCreateItem(DCD,1,POSICAO_INICIAL_DCD)

doCreateItem(DCE,1,POSICAO_INICIAL_DCE)

doCreateItem(DBE,1,POSICAO_INICIAL_DBE)

doCreateItem(DBD,1,POSICAO_INICIAL_DBD)

 

end

end

 

só edite a parte antes do "não edite mais" (partes Coloridas), as explicações estão abaixo:

 

A Parte Em Vermelho São Configurações Do Tapete! Está Configurado Como Tapete Vermelho! Edite De Seu Gosto

A Parte Azul São As Coordenadas Iniciais Do Tapete! Modifique-a Conforme As Coordenadas Do SEU Tapete!

A Parte Verde É O Tempo Em Milisegundos Que O Tapete Vai Avançar 1 SQM, Lembrando Que Quanto Menor, Mais Rapido

 

Explicando:

você tem que fazer uma rota, com tiles invisiveis , acho que é ID 460

mosifique os action ID desse modo:

2134: direita

2135: esquerda

2136: cima

2137: baixo

2138: voltar o tapete para o lugar de partida sem o player

embaixo do meio do tapete tem que ter um tile com action id modificado e embaixo do meio de onde ele irá parar também.

o tapete deve ser 3x3 e o caminho deve ser apenas onde o meio irá passar.

acho que é só ^^

 

para quem for adicionar no server, em movemente.xml deve estar assim:

 

--Tapete Voador By Me Guizo3

<movevent event="StepIn" actionid="2134" script="MeuTapete.lua"/>

<movevent event="StepIn" actionid="2135" script="MeuTapete.lua"/>

<movevent event="StepIn" actionid="2136" script="MeuTapete.lua"/>

<movevent event="StepIn" actionid="2137" script="MeuTapete.lua"/>

<movevent event="StepIn" actionid="2138" script="MeuTapete.lua"/>

 

se alguem achar o erro e concertar, me avisem plz.. me interessei muito por esse meu script

 

Guizo3!

Comentem PLX!

cYa~~

 

--------------------------------------------------------------------------------------------------------------->

EDITED

razão: concertar erros de ortografia e update do script!

 

retirado do post:

[ideia]-tapete Voador By Sky

 

Primeiramente olá a quem esta lendo ^^

 

Fas uns 4~5 dias eu tava procurando actions para adicionar no meu ot dai vi o tal "tapete voador" (jovial) ai tentei faze ele funfa... sem sucesso...

 

Ai comecei a mexer adaptar ao ot e foi surgindo.... ai resolvi postar a v6....

 

Explicaçao

 

É o seguinte....como eu nao sabia como era o tapete do jovial eu tentei fazer com movements.....pra qndo vc anda 1 sqm pra > o tapete "voa" pra la >

e assim por diante....nao quis bater a cabeça pra ele subir um andar, é só usar a criatividade e uma noçao basica de scripts ele sobe facin...

 

 

A action em geral envolve

 

- movements (pisa na aba do tapete e ele "voa")

- talkactions (ativar e desativar o tapete, pra nao haver erros com a decoraçao do ot)

 

Adicionando em seu ot...

 

Va em talkactions/talkactions.xml e adicione a seguinte linha

 

<talkaction words="/use" script="tapet.lua" />

 

e crie um arquivo .lua e adicione isso

function onSay(cid, words, param)

centerpos = getPlayerPosition(cid)

	tilepos1 = {x=centerpos.x-1, y=centerpos.y-1, z=centerpos.z, stackpos=1}
	tilepos2 = {x=centerpos.x, y=centerpos.y-1, z=centerpos.z, stackpos=1}
	tilepos3 = {x=centerpos.x+1, y=centerpos.y-1, z=centerpos.z, stackpos=1}
	tilepos4 = {x=centerpos.x-1, y=centerpos.y, z=centerpos.z, stackpos=1}
	tilepos5 = {x=centerpos.x, y=centerpos.y, z=centerpos.z, stackpos=1}
	tilepos6 = {x=centerpos.x+1, y=centerpos.y, z=centerpos.z, stackpos=1}
	tilepos7 = {x=centerpos.x-1, y=centerpos.y+1, z=centerpos.z, stackpos=1}
	tilepos8 = {x=centerpos.x, y=centerpos.y+1, z=centerpos.z, stackpos=1}
	tilepos9 = {x=centerpos.x+1, y=centerpos.y+1, z=centerpos.z, stackpos=1}

wall1 = getThingfromPos(tilepos1)
wall2 = getThingfromPos(tilepos2)
wall3 = getThingfromPos(tilepos3)
wall4 = getThingfromPos(tilepos4)
wall5 = getThingfromPos(tilepos5)
wall6 = getThingfromPos(tilepos6)
wall7 = getThingfromPos(tilepos7)
wall8 = getThingfromPos(tilepos8)
wall9 = getThingfromPos(tilepos9)



storageplayer = getPlayerStorageValue(cid,1234)
acess = 3 --  1 pra players 3 pra gm 5 pra god 


if storageplayer == -1 or storageplayer == 0 and getPlayerAccess(cid) >= acess then


setPlayerStorageValue(cid,1234,1)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Tapete Ativado.")
doSendAnimatedText(centerpos, 'Activaded', TEXTCOLOR_RED)

doCreateItem(1794, 1, tilepos1)
doCreateItem(1795, 1, tilepos2)
doCreateItem(1796, 1, tilepos3)
doCreateItem(1797, 1, tilepos4)
doCreateItem(1798, 1, tilepos5)
doCreateItem(1799, 1, tilepos6)
doCreateItem(1800, 1, tilepos7)
doCreateItem(1801, 1, tilepos8)
doCreateItem(1802, 1, tilepos9)


elseif storageplayer == 1 and getPlayerAccess(cid) >= acess then

setPlayerStorageValue(cid,1234,0)
doPlayerSendTextMessage(cid, MESSAGE_INFO_DESCR, "Tapete Desativado.")
doSendAnimatedText(centerpos, 'Deactivade', TEXTCOLOR_RED)

doRemoveItem(wall1.uid,1)
doRemoveItem(wall2.uid,1)
doRemoveItem(wall3.uid,1)
doRemoveItem(wall4.uid,1)
doRemoveItem(wall5.uid,1)
doRemoveItem(wall6.uid,1)
doRemoveItem(wall7.uid,1)
doRemoveItem(wall8.uid,1)
doRemoveItem(wall9.uid,1)

end

end

 

agora va em movements/movements.xml e adicione a linha

 

<movevent event="StepIn" itemid="1801" script="south.lua"/>
<movevent event="StepIn" itemid="1795" script="north.lua"/>
<movevent event="StepIn" itemid="1797" script="west.lua"/>
<movevent event="StepIn" itemid="1799" script="east.lua"/>
<movevent event="StepIn" itemid="1796" script="northeast.lua"/>
<movevent event="StepIn" itemid="1802" script="southeast.lua"/>
<movevent event="StepIn" itemid="1794" script="northwest.lua"/>
<movevent event="StepIn" itemid="1800" script="southwest.lua"/>

 

depois baixe os arquivos seguintes que contem os scripts a serem colocados dentro da pasta movements

Arquivo --> scripts.rar

 

NOTE: o arquivo em 5 kb.....nao axei necessario postar scan =x

 

Como Fazer funcionar

 

- entre com o GM e ache um lugar "limpo" e digite "/use" que ira aparecer um tapete em baixo de vc... ai eh soh sair andando

- para que voce possa dar carona para algum player somente funcionara se o mesmo estiver na diagonal.

- se quiser ver como funcionam o tal tapete e tiver um tibia 8.1 entre em kaeot.servegame.com e fale comigo q eu mostrarei com muito prazer

 

 

Para os Reclamoes de Plantão

..... :withstupidsmiley: ......

 

Eu nao sei mexer muito bem por isso aparecera erros no console mas no cliente nao aparecera defeito nenhum ^^

 

 

Creditos pra mim por ter arrumado o script e para Jovial por ter dado a ideia e a base no script

 

Be Happy!! :smile_positivo:

 

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

×
×
  • Criar Novo...