Ir para conteúdo
  • Cadastre-se

(Resolvido)[moveevent] Adicionar 'delay' em TELEPORT


Ir para solução Resolvido por Vodkart,

Posts Recomendados

oi pessoal

peço a ajuda de vocêis para reformular 1 script que tenho,

 

o script funciona da seguinte forma:

eu adicionei uma determinada uniqueid no 'tile',

quando eu piso no 'tile' que tem a uniqueid ele me transporta para 3 diferentes positions,

o nome disso é "Teleport Tile", peguei em 1 topico poraqui.

porém, ele me transporta tão rápido para essas 3 positions, que eu vou parar na ultima posição em 1 piscar de olhos..

queria que 1 pessoa super gentil adicionasse um delay em cada position.

 

quero dizer -> o script me transporta para 3 lugares diferentes, 3 positions diferentes, 3 coordenadas diferentes.

i eu quero ficar 0.5 segundo parado em cada position antes dele me mandar para a próxima position até chegar na ultima!

deu pra entender?

vou postar o script para ser mais claro.

 

 



local pos1 = {x = 1290, y = 975, z = 7}
local pos2 = {x = 1290, y = 974, z = 7}
local pos3 = {x = 1290, y = 973, z = 7}


function onStepIn(cid, item, position, fromPosition)
if getPlayerAccess(cid) then
doSendMagicEffect(getThingPos(cid), 2)
doTeleportThing(cid, pos1)
doSendMagicEffect(getThingPos(cid), 2)
doTeleportThing(cid, pos2)
doSendMagicEffect(getThingPos(cid), 2)
doTeleportThing(cid, pos3)
doSendMagicEffect(getThingPos(cid), 2)
end
return true
end

 

como podem ver, o script me manda para 3 posiçao diferente, mais eu passo tão rápido pela position 1 e 2,

que nem da para perceber que passei por lá,

eu passo tão rápido que até parece que fui teletransportado direto para a ultima posição! kk-

tem como algum herói resolver isso para mim?

o que to querendo é que o player passe devagar em cada 1 das posições, que de tempo para observar a paisagem ao seu redor,

que de tempo até mesmo de ler uma placa. (acho que já deu pra entender o que eu quero neh? kk)

 

REP++ com certeza para quem ajudar.

 

(desculpa o duplo spoiler, nao consegui tirar o que tava por cima do outro.. relaxa sou academy ainda)

 

Editado por liteon9y
~.~' (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

sinceramente, não sei se funciona

 

local pos1 = {x = 1290, y = 975, z = 7}
local pos2 = {x = 1290, y = 974, z = 7}
local pos3 = {x = 1290, y = 973, z = 7}
local c = {
	s = 121223,
	t = 121224,
	p = 2
}

function onStepIn(cid, item, position, fromPosition)
if isPlayer(cid) then
	doSendMagicEffect(getThingPos(cid), 2)
		doTeleportThing(cid, pos1)
			setPlayerStorageValue(cid, c.s, os.time() + c.p)
end

if getPlayerStorageValue(cid, c.s) > 0 then
	doSendPlayerCancel(cid, "Wait 2 seconds.")
else
		doSendMagicEffect(getThingPos(cid), 2)
			doTeleportThing(cid, pos2)
				setPlayerStorageValue(cid, c.t, os.time() + c.p)
end

if getPlayerStorageValue(cid, c.t) > 0 then
	doSendPlayerCancel(cid, "Wait 2 seconds.")
else
		doSendMagicEffect(getThingPos(cid), 2)
			doTeleportThing(cid, pos3)
				doSendMagicEffect(getThingPos(cid), 2)
end
return true
end

 

Link para o post
Compartilhar em outros sites
local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}}
function doTpWithDelay(cid, delay)
	if delay ~= 0 then
		doTeleportThing(cid, positions[delay])
		doSendMagicEffect(getThingPos(cid), 2)
	end
	addEvent(doTpWithDelay, 500, cid, delay-1)
end
function onStepIn(cid, item, position, fromPosition)
if not isPlayer(cid) then return true end
doTpWithDelay(cid, #positions)
return true
end

 

 

ou assim tbm daria

 

local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}}
function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) then return true end
	for i = 1, #positions do
		addEvent(doSendMagicEffect, 500*i, positions[i], 2)
		addEvent(doTeleportThing, 500*i, cid, positions[i])
	end
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

Script bem legal, se colocar algumas mensagens da pra fazer um esquema de apresentação de "hunts" para jogadores iniciantes. ;D

Editado por Saymon Kopolsky (veja o histórico de edições)

https://www.youtube.com/SaymonKopolsky

 

589f09a9e1af9_SemTtulo-1.png.ddf1b437984d72bd5d4124b7e90762fa.png

https://www.youtube.com/SaymonKopolsky

 

 

 

Easy Mapper Map Editor 8.60: Clique aqui

[8.60] BeastXHunter: Clique aqui

 

5494899_orig.gif

Link para o post
Compartilhar em outros sites

@Saymon Kopolsky nossa cara, vc tirou as palavras de minha boca hehe, eu tava aqui digitando, e atualizei o topico para ver se alguem tinha dito algo, e vc falou quase a mesma coisa..

 

@Vodkart puxa vida! funfo certinho o script ! você se encomoda se eu te chamar de fada madrinha?

ou meu heroi? ou de Chuck Norris Scripter? [..] kk-

de verdade, muuuito obrigado cara! 

para não ficar só em minhas palavras vou te dar REP++ !

 

          - > mais agora, se não for pedir muito, continue lendo mais abaixo

 
33 minutos atrás, Vodkart disse:


local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}}
function doTpWithDelay(cid, delay)
	if delay ~= 0 then
		doTeleportThing(cid, positions[delay])
		doSendMagicEffect(getThingPos(cid), 2)
	end
	addEvent(doTpWithDelay, 500, cid, delay-1)
end
function onStepIn(cid, item, position, fromPosition)
if not isPlayer(cid) then return true end
doTpWithDelay(cid, #positions)
return true
end

 

 

ou assim tbm daria

 

local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}} function onStepIn(cid, item, position, fromPosition) if not isPlayer(cid) then return true end for i = 1, #positions do addEvent(doSendMagicEffect, 500*i, positions[i], 2) addEvent(doTeleportThing, 500*i, cid, positions[i]) end return true end

 

 

 

tem como vc adicionar 1 função, para mandar mensagens quando o player passa em cada position?

no caso seria 1 mensagem diferente para cada position. tem como? se nao for abusar do seu tempo, e se vc nao achar que for bobagem neh, porque eu posso simplesmente por algumas placas para o player ler!

(to usando o primeiro script, que contem essa linha: addEvent(doTpWithDelay, 300, cid, delay-1

                                    - > porque achei mais facil editar o delay por ela)

REP++ é claro,

 

Editado por liteon9y (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}}
local text = {"E por último, o incrivel mundo de garden", "aqui vemos o mapa de althera", "Aqui damos inicio a jornada pelo mapa"}
function doTpWithDelay(cid, delay)
	if delay ~= 0 then
		doTeleportThing(cid, positions[delay])
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,text[delay])
		doSendMagicEffect(getThingPos(cid), 2)
	end
	addEvent(doTpWithDelay, 2000, cid, delay-1)
end
function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) then return true end
	doTpWithDelay(cid, #positions)
	return true
end

 

 

aumentei o delay para 2 segundo... pro pessoal ler a msg

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart <3<3<3<3meu heroi *-* <3<3<3<3

SIM SIM ! era isso mesmo! perfect! <3

mais eu não podia deixar você ir embora sem pedir uma ultima coisa, e mais nada! *juro*<3

> tem como passar isso para 'action' ?? ! ? <3

- o que to querendo dizer é que agora: preciso que para ser teleportado, <3

em vez do player ter que pisar ou passar em cima de 1 tile, .. <3

ele agora tenha que clickar em 1 estátua, ou numa pedra.. ou seja, <3

eu creio que agora não seja moveevents, (me corrija se estiver errado) <3

porque vai precisar colocar uma actionid, ou uniqueid nas propriedades de 1 estátua ou pedra.. algo do tipo! <3

exemplo: eu clicko numa statua ai eu sou teleportado para as positions configuradas no script .. etc.. etc.. <3

 

eu to fazendo um frankstain bem dahora mano!!! até você vai usar ele tenho certeza!! <3

prometo que se fizer isso vou trazer esse conteúdo para a comunidade, como agradecimento pela ajuda recebida! <3

1 minuto atrás, Vodkart disse:

local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}}
local text = {"E por último, o incrivel mundo de garden", "aqui vemos o mapa de althera", "Aqui damos inicio a jornada pelo mapa"}
function doTpWithDelay(cid, delay)
	if delay ~= 0 then
		doTeleportThing(cid, positions[delay])
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,text[delay])
		doSendMagicEffect(getThingPos(cid), 2)
	end
	addEvent(doTpWithDelay, 2000, cid, delay-1)
end
function onStepIn(cid, item, position, fromPosition)
	if not isPlayer(cid) then return true end
	doTpWithDelay(cid, #positions)
	return true
end

 

 

aumentei o delay para 2 segundo... pro pessoal ler a msg

Link para o post
Compartilhar em outros sites

só mudar a função main... kkk 

 

local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}}
local text = {"E por último, o incrivel mundo de garden", "aqui vemos o mapa de althera", "Aqui damos inicio a jornada pelo mapa"}
function doTpWithDelay(cid, delay)
	if delay ~= 0 then
		doTeleportThing(cid, positions[delay])
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,text[delay])
		doSendMagicEffect(getThingPos(cid), 2)
	end
	addEvent(doTpWithDelay, 2000, cid, delay-1)
end
function onUse(cid, item, frompos, item2, topos)
	doTpWithDelay(cid, #positions)
	return true
end

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart <3<3<3

KK- caramba, era só mudar 1 linha, KK- <3

as coisas ficam mais complicadas na cabeça de uma pessoa dramática como eu '.~ <3

brigado vey, jájá vo postar o sistema que criei com essa tua ajuda! <3

 

20 minutos atrás, Vodkart disse:

só mudar a função main... kkk 

 

local positions = {{x = 1290, y = 973, z = 7}, {x = 1290, y = 974, z = 7}, {x = 1290, y = 975, z = 7}} local text = {"E por último, o incrivel mundo de garden", "aqui vemos o mapa de althera", "Aqui damos inicio a jornada pelo mapa"} function doTpWithDelay(cid, delay) if delay ~= 0 then doTeleportThing(cid, positions[delay]) doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,text[delay]) doSendMagicEffect(getThingPos(cid), 2) end addEvent(doTpWithDelay, 2000, cid, delay-1) end function onUse(cid, item, frompos, item2, topos) doTpWithDelay(cid, #positions) return true end

 

Link para o post
Compartilhar em outros sites

Se eu fosse fazer um sistema como o saymon falou, eu faria diferente... O jogador iria conhecer todas as hunts, e ele iria para o meio da hunt mesmo, junto com os monstros e tudo mais.

 

Só que os monstros não poderiam atacar ele e nem ele os monstros... Ai iria mostrando o nome da área(como vc fez), o jogador n poderia se mexer ou deslogar, etc...

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart

poxa vida mano, que trágico.

eu tava aqui usando o sistema,

e raparei que no final quando teleporta para a ultima position, aparece um erro no console. :|

da uma olhada na print, (o script funfa normal, porem acontece este erro máledito)

 

vou te dar REP++ com certeza, assim que liberar, (ja usei todos os 5) rsrs.

error0.thumb.JPG.0752bc4fa365c762cfa4f7993aa29ce7.JPG

 
40 minutos atrás, Vodkart disse:

Se eu fosse fazer um sistema como o saymon falou, eu faria diferente... O jogador iria conhecer todas as hunts, e ele iria para o meio da hunt mesmo, junto com os monstros e tudo mais.

 

Só que os monstros não poderiam atacar ele e nem ele os monstros... Ai iria mostrando o nome da área(como vc fez), o jogador n poderia se mexer ou deslogar, etc...

Editado por liteon9y
~.~' (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

si, deu esse erro porque a configuração da pos está errada... Confira novamente xD

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart

cara, eu verifiquei todas as positions, elas estão indo corretamente para um lugar valido,

e conferi se tinha escrito algo errado, ja que adicionei mais positions, e o erro continua no console,

esse script é o que to usando;



local positions = {{x = 1292, y = 969, z = 4}, {x = 1292, y = 972, z = 3}, {x = 1293, y = 974, z = 2}, {x = 1293, y = 976, z = 2},  {x = 1292, y = 976, z = 3}}
local text = {"Feehhc", "Wwoooww", "Wwoooww", "Wwoooww", "Puuffh"}
function doTpWithDelay(cid, delay)
    if delay ~= 0 then
        doTeleportThing(cid, positions[delay])
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,text[delay])
        doSendMagicEffect(getThingPos(cid), 2)
    end
    addEvent(doTpWithDelay, 180, cid, delay-1)
end
function onUse(cid, item, frompos, item2, topos)
    doTpWithDelay(cid, #positions)
    return true
end

 

... citar ...

8 minutos atrás, Vodkart disse:

si, deu esse erro porque a configuração da pos está errada... Confira novamente xD

 

Link para o post
Compartilhar em outros sites
  • Solução

@liteon9y

 

local positions = {{x = 1292, y = 969, z = 4}, {x = 1292, y = 972, z = 3}, {x = 1293, y = 974, z = 2}, {x = 1293, y = 976, z = 2},  {x = 1292, y = 976, z = 3}}
local text = {"Feehhc", "Wwoooww", "Wwoooww", "Wwoooww", "Puuffh"}
function doTpWithDelay(cid, delay)
    if delay > 0 then
        doTeleportThing(cid, positions[delay])
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE,text[delay])
        doSendMagicEffect(getThingPos(cid), 2)
    end
    addEvent(doTpWithDelay, 180, cid, delay-1)
end
function onUse(cid, item, frompos, item2, topos)
    doTpWithDelay(cid, #positions)
    return true
end 

 

vodkart_logo.png

[*Ninguém será digno do sucesso se não usar suas derrotas para conquistá-lo.*]

 

DISCORDvodkart#6090

 

Link para o post
Compartilhar em outros sites

@Vodkart<3<3

simplesmente perfeito !:wow: <3 

REP+ assim que possível !:grin:  <3 

pronto agora voce se livrou de mim .. :v<3

HSHAUH ! +1vez brigado cara! <3  <3  <3 

 

@edit

nossa, acredita que só hoje descobri que dava para marcar algum post como 'melhor resposta?' kk, passei aqui para marcar como melhor resposta.. >novamente obrigado por te ajudado :DD

Editado por liteon9y (veja o histórico de edições)
Link para o post
Compartilhar em outros sites

Participe da conversa

Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.

Visitante
Responder

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emojis são permitidos.

×   Seu link foi automaticamente incorporado.   Mostrar como link

×   Seu conteúdo anterior foi restaurado.   Limpar o editor

×   Não é possível colar imagens diretamente. Carregar ou inserir imagens do URL.

  • Quem Está Navegando   0 membros estão online

    Nenhum usuário registrado visualizando esta página.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo