Ir para conteúdo
  • Cadastre-se

Posts Recomendados

To criando um script pra criar tiles em determinado local quando o player passar por 1 outro tile,

Eu determinei a "pos1 = {x=1152, y=659, z=9}"

Queria saber como eu faço pra na "pos2" eu usar a pos1 e mandar diminuir 1 dá posição Y.

 

Tipo assim:

pos1 = {x=1152, y=659, z=9}

pos2 = pos1 (E retirar 1 do Y aqui)

 

Sem ter que escrever as coordenadas xyz.

 

Desde já obrigado .-.

 

Link para o post
Compartilhar em outros sites
3 horas atrás, MaTTch disse:

local pos2 = {x=pos1.x, y=pos1.y - 1, z=pos1.z}

ou

local pos2 = pos
pos2.y = pos2.y - 1

 

Vou testar aqui e te dou o REP+ :D

Link para o post
Compartilhar em outros sites
Em 23/04/2016 at 16:41, MaTTch disse:

local pos2 = {x=pos1.x, y=pos1.y - 1, z=pos1.z}

ou

local pos2 = pos
pos2.y = pos2.y - 1

 

Então cara, eu consegui aprender a usar, mais da forma que eu consegui eu teria que criar varias "local", não da pra eu fazer assim dessa forma abaixo ?

 

Assim não da certo; Ele dá erro "attempt to index global 'pos1' (a nil value)";

	local config = {
		pos1 = {x=1152,y=643,z=9},
		pos2 = {x=pos1.x+1, y =pos1.y, z=pos1.z},
		pos3 = {x=1154,y=643,z=9},
		}

 

Assim da certo;

		local pos1 = {x=1152,y=643,z=9}
		local pos2 = {x=pos1.x+1, y =pos1.y, z=pos1.z}
		local pos3 = {x=1154,y=643,z=9}

 

Link para o post
Compartilhar em outros sites

Estranho, só pra confirmar, você está botando no código config.pos1 invés de apenas pos1, certo?

Não dou suporte via PM, crie um tópico caso tenha dúvidas.

Isso previne que outras pessoas com a mesma dúvida criem tópicos desnecessários.

Link para o post
Compartilhar em outros sites
local config = {
	pos1 = {x = 1152, y = 643, z = 9},
	pos3 = {x = 1154, y = 643, z = 9}
}

config.pos2 = {x = config.pos1.x - 1, y = config.pos1.y, z = config.pos1.z}

 

Link para o post
Compartilhar em outros sites
10 horas atrás, Talesigorvr disse:

Estranho, só pra confirmar, você está botando no código config.pos1 invés de apenas pos1, certo?

Sim, eu já testei com (config.pos2) & sem (apenas o pos2).

 

10 horas atrás, MaTTch disse:

local config = {
	pos1 = {x = 1152, y = 643, z = 9},
	pos3 = {x = 1154, y = 643, z = 9}
}

config.pos2 = {x = config.pos1.x - 1, y = config.pos1.y, z = config.pos1.z}

 

Olha eu fiz assim, pelo que testei vi que ele consegue pegar a pos1 na parte doCreateItem, por que se eu tirar as partes referentes ao pos2/3 ele cria o SQM do pos1, mas quando eu crio a pos2, mandando ele pegar pela posição do pos1 ele da o erro, "attempt to global index "config" (a nil value).

 

function onUse(cid, item, frompos, item2, topos)
   
		local config = {
		pos1 = {x=1152,y=643,z=9},
		pos2 = {x=config.pos1.x+1, y=config.pos1.y, z=config.pos1.z},
		pos3 = {x=config.pos1.x+2, y=config.pos1.y, z=config.pos1.z}
		}
  
	if item.itemid == 1945 then
		doTransformItem(item.uid,1946) -- Puxar alavanca
		doCreateItem(17669, 1, config.pos1)
		doCreateItem(17669, 1, config.pos2)
		doCreateItem(17669, 1, config.pos3)

		   addEvent(alavanca,2 * 1000) -- Retornar alavanca
		   addEvent(removeponte,2 * 1000) -- Remover ponte
		else
			doCreatureSay(cid, "Não é possivel.", TALKTYPE_ORANGE_1, false, 0, topos)
		end
end

Eu já testei assim tambem, "pos2 = {x=pos1.x+1, y=pos1.y, z=pos1.z}", da o mesmo erro "attempt ... "pos1" (a nil value).

Link para o post
Compartilhar em outros sites

Até onde eu sei, só é possível puxar um valor da própria tabela se usar metatable, mas posso estar errado.

 

local p = {x = 1152, y = 643, z = 9}

function onUse(cid, item, frompos, item2, topos)
	if(item.itemid == 1945) then
		doTransformItem(item.uid, 1946) -- Puxar alavanca
		doCreateItem(17669, 1, p)
		doCreateItem(17669, 1, {x = p.x + 1, y = p.y, z = p.z})
		doCreateItem(17669, 1, {x = p.x + 2, y = p.y, z = p.z})
		addEvent(alavanca, 2 * 1000) -- Retornar alavanca
		addEvent(removeponte, 2 * 1000) -- Remover ponte
	else
		doCreatureSay(cid, "Não é possivel.", TALKTYPE_ORANGE_1, false, 0, topos)
	end
	return true
end

 

Link para o post
Compartilhar em outros sites
5 horas atrás, MaTTch disse:

Até onde eu sei, só é possível puxar um valor da própria tabela se usar metatable, mas posso estar errado.

 


local p = {x = 1152, y = 643, z = 9}

function onUse(cid, item, frompos, item2, topos)
	if(item.itemid == 1945) then
		doTransformItem(item.uid, 1946) -- Puxar alavanca
		doCreateItem(17669, 1, p)
		doCreateItem(17669, 1, {x = p.x + 1, y = p.y, z = p.z})
		doCreateItem(17669, 1, {x = p.x + 2, y = p.y, z = p.z})
		addEvent(alavanca, 2 * 1000) -- Retornar alavanca
		addEvent(removeponte, 2 * 1000) -- Remover ponte
	else
		doCreatureSay(cid, "Não é possivel.", TALKTYPE_ORANGE_1, false, 0, topos)
	end
	return true
end

 

Dessa forma já vai ajudar bastante, é por que a quest não ta no lugar certo ainda, e se eu criasse colocando xyz em todos, depois teria que alterar todos, dessa forma só mudar o "p" que o resto vai junto, muito obrigado. ^^

 

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