Ir para conteúdo

Tepete Voador By Guizo3


guizo3

Posts Recomendados

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!

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

Arruma sua ortografia aí...

Vou testar e responder-lhe se há erros...

 

Arrume no script aquela parte :

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

 

Coloque hífens antes da explicação...Ficando correto :

local speed = 250 --Velocidade em milesimos de segundo para o tapete andar um sqm
Editado por GM Volcano
Link para o comentário
Compartilhar em outros sites

Valeu Ae Volcano :D

agora sim gente..

Script foi loaded!

além daquela linha..

meu script tinha 5 "ENDs" oO

era só 2

xD

nenhum erro no load!

mais eu to na Inglaterra (sou rox neh? xD) e aqui é muito puxado...

curso o dia inteiro.. mal fico em casa...

intervalo de períodos das aulas (aqui é integral =/) eu venho aqui na LAN, digito as scripts que eu escrevo no caderno

e posto aqui para vocês testarem para mim

sem tempo..

alguem pode me dizer se funciona plz?

agora sim tá 100%

esceto pelos ids do tapete!

vocês coloquem a cor que vocês quiserem

 

valeu Volcano!

Link para o comentário
Compartilhar em outros sites

Bom cara, fiz tudo certo, IDs, posições do mapa e tudo mais, mas não acontece nada quando vou subir no tapete.

Ocorre esse erro:

Lua Script Error: [MoveEvents Interface]
data/movements/scripts/MeuTapete.lua:onStepIn

attempt to index a nil value

Estou usando Aries 4.0a.

 

 

Ajuda por favor, obrigado.

Link para o comentário
Compartilhar em outros sites

Cara sinceramente poderia organizar o topico tudo bem organizar no tipo explicar melhor aqui deu esse mesmo erro todos os tapetes voadores do forum nao funfa o do andrew nao loada o do jovial nem ensina como fazer para funcionar e o seu tambem esta dando erro se poder aruma agradeço vlw pela intençao de fazer o script de novo e tira o erro do loader que estava...........

Link para o comentário
Compartilhar em outros sites

Bom gente

eu tinha certeza que isso ia dar pau =/

arrumei uma tag meio estranha no site da LUA

resolvi testar

não deu certo =/

tentem deletar esse comando

 

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

 

parte que está em verde!

 

provavelmente seja esse o erro.. mesmo sem o local speed talvez ocorra um bug de o tapate não ter velocidade oO

você vai dum lado no outro num piscar de olhos...

vou arrumar uma tag de spawn delay ou alguma coisa assim...

aqui não testei ainda.. testo hj e dou respostas ^^"

Esperem pela minha nova script pessoal.. sistema nunk visto.. semelhante ao do tapete..

mais vai ser viagem por trem :p

mais só vou postar quando arrumar esse BUG!

 

t+

tentem apagar o comando e me deem respostas plx

Link para o comentário
Compartilhar em outros sites

Cara sinceramente poderia organizar o topico tudo bem organizar no tipo explicar melhor aqui deu esse mesmo erro todos os tapetes voadores do forum nao funfa o do andrew nao loada o do jovial nem ensina como fazer para funcionar e o seu tambem esta dando erro se poder aruma agradeço vlw pela intençao de fazer o script de novo e tira o erro do loader que estava...........

 

Esse tutorial funcionou 100% pra mim -> http://www.xtibia.com/forum/index.php?showtopic=68754

 

Uso Aries 4.0a :smile_positivo:

Link para o comentário
Compartilhar em outros sites

×
×
  • Criar Novo...