Ir para conteúdo
  • Cadastre-se

Posts Recomendados

Olá pessoal, preciso de um grande favor, o pedido é o seguinte: Existem 6 teleports, os quais preciso que dão uma Storage para o player, cada um da uma exemplo: teleport1 = storage 1001.. teleport6 = storage 1006

Quando o player passar por cima dos 6 teleports, ele irá acumular as 6 storages, com elas ele poderá passar em um outro, lembrando que o player só poderá passar neste outro se tiver as 6 storages dos 6 teleports, não sei se isto é impossível de fazer, sei que é possível.. se alguem ajudar ai ficarei muito agradecido e vai um repzão! :D

Obrigado!

Link para o post
Compartilhar em outros sites

sim é possível, mas porque não usar uma só storage e mudar o valor)quantidade) delas?

 

por exemplo:

 

storage 1001(+1)

storage 1001(+2)

storage 1001(+3)

 

 

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
17 minutos atrás, Vodkart disse:

sim é possível, mas porque não usar uma só storage e mudar o valor)quantidade) delas?

 

por exemplo:

 

storage 1001(+1)

storage 1001(+2)

storage 1001(+3)

 

 

etc...

 

 

É tipo assim, existem 6 salas, e um teleport em determinado local, apos entrar nas 6 salas e passar pelos teleports, ele poderá passar pelo teleport no determinado local, eu nao faço nem ideia como poderá ser feito isto, mas deve ser adicionando algumas actions ou creaturescripts.. xD

Link para o post
Compartilhar em outros sites

Seria interessante parar para pensar em fazer como o @Vodkart mencionou, mas, caso seja do interesse do 'player' o 'script' que utiliza mais 'storages' poderá indicar qual ainda não foi passado.

 

Embora eu não tenha pensado no que ele mencionou, fiz um rascunho aqui.

 

Coloque isto no 'actions.xml':

<action actionid="18181" event="script" value="portais.lua"/>

E cria um arquivo 'portais.lua' na pasta 'data > actions > scripts' e coloque isto aí dentro:

	local PLACA = {
	-- Portal 1
	[10001] = {storage = 11222, unique = 10001},
	
	-- Portal 2
	[10002] = {storage = 11223, unique = 10002},
	
	-- Portal 3
	[10003] = {storage = 11224, unique = 10003},
	
	-- Portal 4
	[10004] = {storage = 11225, unique = 10004},
	
	-- Portal 5 
	[10005] = {storage = 11226, unique = 10005},
	
	-- Portal 6
	[10006] = {storage = 11227, unique = 10006},
	
	-- Portal 7 (precisa dos outros storage)
	[10007] = {storage = 11228, unique = 10007},

}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
		local placas = PLACAS[item.uid]
		local sto1 = getPlayerStorageValue(cid, 11222)
		local sto2 = getPlayerStorageValue(cid, 11223)
		local sto3 = getPlayerStorageValue(cid, 11224)
		local sto4 = getPlayerStorageValue(cid, 11225)
		local sto5 = getPlayerStorageValue(cid, 11226)
		local sto6 = getPlayerStorageValue(cid, 11227)
		local novaPos = {x = 123, y = 123, z = 7} -- Esta é a coordenada para onde o último portal enviará o player					
								
		if (placas.unique == 10007) then
			if (sto1 == 1 and sto2 == 1 and sto3 == 1 and sto4 == 1 and sto5 == 1 and sto6 == 1) then
				doTeleportThing(cid, novaPos)
			else
				doTeleportThing(cid, fromPosition)
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você ainda não passou por todos os portais.")
				doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
				return true
			end	
		else
			doPlayerSetStorageValue(cid, placas.storage,1)
			doPlayerSendCancel(cid, "Você não pode entrar com nenhuma "..getItemNameById(itemNecessario)..".")
		return true
		end	
end

Depois, em cada portal, coloque (utilizando o ReMere Map Editor - duplo clique no portal) o 'actionId' 18181, e os Unique Id´s de 10001 até 10006.

 

O 10007 deverá ser para o último portal.

 

Além disto, olha no 'script' para colocar a posição para onde o último portal iráenviar.

 

Teste aí e veja o que deu.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
26 minutos atrás, Xagah disse:

Seria interessante parar para pensar em fazer como o @Vodkart mencionou, mas, caso seja do interesse do 'player' o 'script' que utiliza mais 'storages' poderá indicar qual ainda não foi passado.

 

Embora eu não tenha pensado no que ele mencionou, fiz um rascunho aqui.

 

Coloque isto no 'actions.xml':


<action actionid="18181" event="script" value="portais.lua"/>

E cria um arquivo 'portais.lua' na pasta 'data > actions > scripts' e coloque isto aí dentro:


	local PLACA = {
	-- Portal 1
	[10001] = {storage = 11222, unique = 10001},
	
	-- Portal 2
	[10002] = {storage = 11223, unique = 10002},
	
	-- Portal 3
	[10003] = {storage = 11224, unique = 10003},
	
	-- Portal 4
	[10004] = {storage = 11225, unique = 10004},
	
	-- Portal 5 
	[10005] = {storage = 11226, unique = 10005},
	
	-- Portal 6
	[10006] = {storage = 11227, unique = 10006},
	
	-- Portal 7 (precisa dos outros storage)
	[10007] = {storage = 11228, unique = 10007},

}

function onStepIn(cid, item, position, lastPosition, fromPosition, toPosition, actor)
		local placas = PLACAS[item.uid]
		local sto1 = getPlayerStorageValue(cid, 11222)
		local sto2 = getPlayerStorageValue(cid, 11223)
		local sto3 = getPlayerStorageValue(cid, 11224)
		local sto4 = getPlayerStorageValue(cid, 11225)
		local sto5 = getPlayerStorageValue(cid, 11226)
		local sto6 = getPlayerStorageValue(cid, 11227)
		local novaPos = {x = 123, y = 123, z = 7} -- Esta é a coordenada para onde o último portal enviará o player					
								
		if (placas.unique == 10007) then
			if (sto1 == 1 and sto2 == 1 and sto3 == 1 and sto4 == 1 and sto5 == 1 and sto6 == 1) then
				doTeleportThing(cid, novaPos)
			else
				doTeleportThing(cid, fromPosition)
				doPlayerSendTextMessage(cid, MESSAGE_EVENT_DEFAULT, "Você ainda não passou por todos os portais.")
				doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
				return true
			end	
		else
			doPlayerSetStorageValue(cid, placas.storage,1)
			doPlayerSendCancel(cid, "Você não pode entrar com nenhuma "..getItemNameById(itemNecessario)..".")
		return true
		end	
end

Depois, em cada portal, coloque (utilizando o ReMere Map Editor - duplo clique no portal) o 'actionId' 18181, e os Unique Id´s de 10001 até 10006.

 

O 10007 deverá ser para o último portal.

 

Além disto, olha no 'script' para colocar a posição para onde o último portal iráenviar.

 

Teste aí e veja o que deu.

Deu isto na distro: [Warning - Event::loadScript] Event onUse not found (data/actions/scripts/portais.lua)

Link para o post
Compartilhar em outros sites
Link para o post
Compartilhar em outros sites

@Sekk, é isto mesmo.

 

@victorat, faz o que eu diz, mas com a modificação que o Sekk indicou.

5YkRF3w.gif

 

 

 

 

 

 

CzysZUR.gifytaam6k.png

 

 

Link para o post
Compartilhar em outros sites
Em 29/01/2016 07:15:45, Xagah disse:

@Sekk, é isto mesmo.

 

@victorat, faz o que eu diz, mas com a modificação que o Sekk indicou.

Quando passo por cima de um TP da este erro agora:

[21:24:21.625] [Error - MoveEvents Interface]
[21:24:21.626] data/movements/scripts/portais.lua:onStepIn
[21:24:21.628] Description:
[21:24:21.628] data/movements/scripts/portais.lua:26: attempt to index global 'PLACAS' (a nil value)
[21:24:21.629] stack traceback:
[21:24:21.630]  data/movements/scripts/portais.lua:26: in function <data/movements/scripts/portais.lua:25>

 

Link para o post
Compartilhar em outros sites

@Xagah

Seus scripts me dão dor de cabeça.

 

local config = {
	[2001] = {pos={x=1000, y=1000, z=1}, storage=1001}, -- [actionid], pos= aonde que leva, storage
	[2002] = {pos={x=1000, y=1000, z=2}, storage=1002},
	[2003] = {pos={x=1000, y=1000, z=3}, storage=1003},
	[2004] = {pos={x=1000, y=1000, z=4}, storage=1004},
	[2005] = {pos={x=1000, y=1000, z=5}, storage=1005},
	[2006] = {pos={x=1000, y=1000, z=6}, storage=1006}
}

local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva

function onStepIn(cid, item, position, fromPosition)
	local t = config[item.actionid]
	if getPlayerStoragestorage(cid, t.storage) < 1 then
		setPlayerStoragestorage(cid, t.storage, 1)
	end
	doTeleportThing(cid, t.pos)
	doSendMagicEffect(getCreaturePosition(cid), 10)
	if (item.actionid == 2007) then
		for i = 1001, 1006 do
			if getPlayerStoragestorage(cid, i) < 1 then
				doPlayerSendCancel(cid, "Você precisa passar por cima de todos os teleports.")
				doTeleportThing(cid, fromPosition)
			end
			doTeleportThing(cid, ultimoTeleport)
			doSendMagicEffect(getCreaturePosition(cid), 10)
		end
	end
end

 

<movevent type="StepIn" fromaid="2001" toaid="2007" event="script" value="script.lua"/>

 

Alguém testa ai, não é certeza de que vá funcionar.

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

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
19 minutos atrás, vankk disse:

@Xagah

Seus scripts me dão dor de cabeça.

 


local config = {
	[2001] = {pos={x=1000, y=1000, z=1}, storage=1001}, -- [actionid], pos= aonde que leva, storage
	[2002] = {pos={x=1000, y=1000, z=2}, storage=1002},
	[2003] = {pos={x=1000, y=1000, z=3}, storage=1003},
	[2004] = {pos={x=1000, y=1000, z=4}, storage=1004},
	[2005] = {pos={x=1000, y=1000, z=5}, storage=1005},
	[2006] = {pos={x=1000, y=1000, z=6}, storage=1006}
}

local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva

function onStepIn(cid, item, position, fromPosition)
	local t = config[item.actionid]
	if getPlayerStoragestorage(cid, t.storage) < 1 then
		setPlayerStoragestorage(cid, t.storage, 1)
	end
	doTeleportThing(cid, t.pos)
	doSendMagicEffect(getCreaturePosition(cid), 10)
	if (item.actionid == 2007) then
		for i = 1001, 1006 do
			if getPlayerStoragestorage(cid, i) < 1 then
				doPlayerSendCancel(cid, "Você precisa passar por cima de todos os teleports.")
				doTeleportThing(cid, fromPosition)
			end
			doTeleportThing(cid, ultimoTeleport)
			doSendMagicEffect(getCreaturePosition(cid), 10)
		end
	end
end

 


<movevent type="StepIn" fromaid="2001" toaid="2007" event="script" value="script.lua"/>

 

Alguém testa ai, não é certeza de que vá funcionar.

 

 

 

Não funcionou :( não acontece nada e nem avisa nada quando passa por cima de um tp

Link para o post
Compartilhar em outros sites

Qual TFS você está usando?

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
11 minutos atrás, vankk disse:

Qual TFS você está usando?

0.4

[2001] = {pos={x=1089, y=1550, z=13}, storage=1001}, -- [actionid], pos= aonde que leva, storage

Action do teleporte 2001, posição para onde levará o player, e a storage 1001, isto?

Link para o post
Compartilhar em outros sites

Adiciona um , no final da linha 7, e sim.

discord.pngDiscord: vankk #7765

Precisando de ajuda? Entre em contato comigo via Discord.

 

Muitos vêm seus muitos dias de glória, mas poucos vêm seus muitos dias de luta.

Link para o post
Compartilhar em outros sites
local config = {
	[2001] = {pos = {x=1000, y=1000, z=1}, storage = 1001}, -- [actionid], pos= aonde que leva, storage
	[2002] = {pos = {x=1000, y=1000, z=2}, storage = 1002},
	[2003] = {pos = {x=1000, y=1000, z=3}, storage = 1003},
	[2004] = {pos = {x=1000, y=1000, z=4}, storage = 1004},
	[2005] = {pos = {x=1000, y=1000, z=5}, storage = 1005},
	[2006] = {pos = {x=1000, y=1000, z=6}, storage = 1006}
}

local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva

function onStepIn(cid, item, position, fromPosition)
	local t = config[item.actionid]
	if(t) then
		if(getPlayerStorageValue(cid, t.storage) < 1) then
			setPlayerStorageValue(cid, t.storage, 1)
		end
		doTeleportThing(cid, t.pos)
		doSendMagicEffect(getThingPos(cid), 10)
	elseif(item.actionid == 2007) then
		for i = 1001, 1006 do
			if(getPlayerStorageValue(cid, i) < 1) then
				doPlayerSendCancel(cid, "Você precisa passar por cima de todos os teleports.")
				doTeleportThing(cid, fromPosition)
				return true
			end
		end
		doTeleportThing(cid, ultimoTeleport)
		doSendMagicEffect(getThingPos(cid), 10)
	end
	return true
end

 

Link para o post
Compartilhar em outros sites

Sobre o Unique ID no teleport, mantenho 0?

EDIT: Coloquei 0 mesmo no UNIQUE ID

Deu certo o post do cara ali @MaTTch

Mas de qualquer forma, rep pra todos que tentaram ajudar..

Mais uma coisa.. quero adicionar outro TP, assim ficando com o teleport que levará para ultima sala no caso seria 2008?

Quero adicionar apenas um teleport comum

Editado por victorat (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
14 horas atrás, vankk disse:

@Xagah

Seus scripts me dão dor de cabeça.

 


local config = {
	[2001] = {pos={x=1000, y=1000, z=1}, storage=1001}, -- [actionid], pos= aonde que leva, storage
	[2002] = {pos={x=1000, y=1000, z=2}, storage=1002},
	[2003] = {pos={x=1000, y=1000, z=3}, storage=1003},
	[2004] = {pos={x=1000, y=1000, z=4}, storage=1004},
	[2005] = {pos={x=1000, y=1000, z=5}, storage=1005},
	[2006] = {pos={x=1000, y=1000, z=6}, storage=1006}
}

local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva

function onStepIn(cid, item, position, fromPosition)
	local t = config[item.actionid]
	if getPlayerStoragestorage(cid, t.storage) < 1 then
		setPlayerStoragestorage(cid, t.storage, 1)
	end
	doTeleportThing(cid, t.pos)
	doSendMagicEffect(getCreaturePosition(cid), 10)
	if (item.actionid == 2007) then
		for i = 1001, 1006 do
			if getPlayerStoragestorage(cid, i) < 1 then
				doPlayerSendCancel(cid, "Você precisa passar por cima de todos os teleports.")
				doTeleportThing(cid, fromPosition)
			end
			doTeleportThing(cid, ultimoTeleport)
			doSendMagicEffect(getCreaturePosition(cid), 10)
		end
	end
end

 


<movevent type="StepIn" fromaid="2001" toaid="2007" event="script" value="script.lua"/>

 

Alguém testa ai, não é certeza de que vá funcionar.

 

 

 

 

Seu script me dá mais dor de cabeça ainda!

Deixa o garoto quieto. Ele tem a boa intenção de ajudar.

 

local C = {

--[aid do tp] = posição onde sera enviado o jogador ao passar pelo tp.

--esse aqui é exclusivo do último tp.

[0000] = {x=000, y=000, z=000},

}

 

function onStepIn(cid, item, pos,fp)

local store = getPlayerStorageValue(cid, 1000) <= 1 and getPlayerStorageValue(cid, 1000) or 1

 

if C[item.actionid] and store == 7  then

doTeleportThing(cid, C[item.actionid])

elseif store < 7 then

setPlayerStorageValue(cid, 1000, store+1)

elseif store <= 7 then

doTeleportThing(cid, fp)

end

return true

end

 

 

É só adicionar as aids nos portais com suas respectivas coordenadas, menos no último portal que requer às marcações dos outros.

 

Creio que você saiba adicionar as aids e as tags no script movements.xml

Qualquer dúvida nos reporte.

Link para o post
Compartilhar em outros sites
  • 10 months later...
29 minutos atrás, Liane Maria disse:

alguem consegui fazer esse scripter em tfs 1.2? ajuda ai do rep++

 

testa isso aqui, não testei..

 

local config = {
	[2001] = {pos = {x=1000, y=1000, z=1}, storage = 1001}, -- [actionid], pos= aonde que leva, storage
	[2002] = {pos = {x=1000, y=1000, z=2}, storage = 1002},
	[2003] = {pos = {x=1000, y=1000, z=3}, storage = 1003},
	[2004] = {pos = {x=1000, y=1000, z=4}, storage = 1004},
	[2005] = {pos = {x=1000, y=1000, z=5}, storage = 1005},
	[2006] = {pos = {x=1000, y=1000, z=6}, storage = 1006},
}

local ultimoTeleport = {x=1000, y=1000, z=7} -- ultimo teleport para aonde que leva

function onStepIn(player, item, position, fromPosition)
	local t = config[item.actionid]
	if(t) then
		if player:getStorageValue(t.storage) < 1 then
			player:setStorageValue(t.storage, 1)
		end
		player:teleportTo(t.pos)
		player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
	elseif(item.actionid == 2007) then
		for i = 1001, 1006 do
			if player:getStorageValue(i) < 1 then
				player:sendTextMessage(MESSAGE_STATUS_CONSOLE_BLUE, "Você precisa passar por cima de todos os teleports.")
				player:teleportTo(fromPosition)
				return true
			end
		end
		player:teleportTo(ultimoTeleport)
		player:getPosition():sendMagicEffect(CONST_ME_TELEPORT)
	end
	return true
end

 

download.jpg

Link para o post
Compartilhar em outros sites
5 minutos atrás, Liane Maria disse:

boto aonde essescripter?

 

em movements/scripts..

adiciona aa tags, e coloca o actionid nos teleportes.

 

Em 28/01/2016 ás 22:35, Sekk disse:

Creio que o correto seria colocar esse script dentro de movements/scripts e a tag do movements.xml seria:

 


<movevent type="StepIn" actionid="18181" event="script" value="portais.lua"/>

 

Posso estar errado, mas creio que seja isso.

 

Editado por Ed.Specter (veja o histórico de edições)

download.jpg

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.

  • Conteúdo Similar

    • Por Jaurez
      .
    • Por Cat
      Em alguns casos, o tibia 8.60 comum não abre de jeito nenhum no map editor, mesmo desmarcando check file signatures e configurando o path corretamente.
       
      Este é o client 8.60 adaptado para o Remere's Map Editor. Resolvi postar já que ele foi removido do site oficial do RME. (ficou apenas a versão para linux lá)
      Se estiver tendo problemas para abrir a versão 8.60, tente utilizar este.
                                                                                                                     
      Baixar o Tibia Client 8.60 que funciona no Remere’s Map Editor
      Essa versão do Tibia 8.60 client resolve o erro unsupported client version ou Could not locate tibia.dat and/or tibia.spr, please navigate to your tibia 8.60 installation folder.
       
      Downloads
      https://tibiaking.com/applications/core/interface/file/attachment.php?id=47333

      Scan: https://www.virustotal.com/gui/file/333e172ac49ba2028db9eb5889994509e7d2de28ebccfa428c04e86defbe15cc
       
    • Por danilo belato
      Fala Galera To Com um problema aki 
       
      quero exporta umas sprites de um server para colocar em outro 
       
      eu clico na sprites ai aparece tds a forma delas do lado de la >>
       
      ai eu clico nela e ponho a opiçao de export mais quando salvo a sprite ela n abri 
       
      aparece isso quando tento vê-la 
       
      visualização não disponível ( no formatos png e bitmap)
       
      Agora no formato idc fala que o paint n pode ler 
       
      me ajudem ae...
    • Por Vitor Bicaleto
      Galera to com o script do addon doll aqui, quando eu digito apenas "!addon" ele aparece assim: Digite novamente, algo está errado!"
      quando digito por exemplo: "!addon citizen" ele não funciona e não da nenhum erro
       
      mesma coisa acontece com o mount doll.. 
    • Por Ayron5
      Substitui uma stone no serve, deu tudo certo fora  esse  erro ajudem  Valendo  Rep+  Grato  

      Erro: data/actions/scripts/boost.lua:557: table index is nil
       [Warning - Event::loadScript] Cannot load script (data/actions/scripts/boost.lua)

      Script:
×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo