Ir para conteúdo
  • Cadastre-se

(Resolvido)Porta


Ir para solução Resolvido por Caronte,

Posts Recomendados

Tem como coloca pra criar um item quando aperta na porta e depois de 1 minuto ele desaparecer ?

 

 

function onUse(cid, item, fromPosition, item2, toPosition)



local teleport = {x=936, y=1189, z=8} -- Coordenadas para onde o player irá ser teleportado.
local item_id = 2160 -- ID do item que o player precisa para ser teleportado.

if getPlayerItemCount(cid,item_id) >= 1 then
doTeleportThing(cid, teleport)
doSendMagicEffect(getPlayerPosition(cid), 10)
else
end
end

Link para o post
Compartilhar em outros sites

Você quer que ao clicar gere um teleporte para a posição e seja deletado depois de 1 minuto ?  

 

 

Caso seja, aqui está:

local createpos = { x = 123, y = 456, z = 7} -- Posição do teleport que será criado
local topos = { x = 936, y = 1189, z = 8} -- Coordenadas para onde o player irá ser teleportado.
local item_id = 2160 -- ID do item que o player precisa para criar o teleport
local tpid = 1387
local t = 1 -- minutos para sumir o tp

function onUse(cid, item, fromPosition, item2, toPosition)

	if getPlayerItemCount(cid,item_id) >= 1 then
	doCreateTeleport(tpid, topos, createpos)
		addEvent(doRemoveItem, 1000*60*t, getTileItemById(createpos, tpid).uid)

	end
return true 
end

O item que o player usa, não some.

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites
local createpos = { x = 123, y = 456, z = 7} -- Posição do teleport que será criado
local topos = { x = 936, y = 1189, z = 8} -- Coordenadas para onde o player irá ser teleportado.
local item_id = 2160 -- ID do item que o player precisa para criar o teleport
local tpid = 1387
local t = 1 -- minutos para sumir o tp
 
function onUse(cid, item, fromPosition, item2, toPosition)
 
	if getPlayerItemCount(cid,item_id) >= 1 then
		doTeleportThing(cid, topos)
		doCreateTeleport(tpid, topos, createpos)
		addEvent(function()
				doRemoveItem(getTileItemById(createpos, tpid).uid, 1)
		end, 1000*60*t)
	end
	return true 
end
Editado por Summ (veja o histórico de edições)

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Claro que sim

 

 

local createpos = { x = 1082, y = 1083, z = 9} -- Posição do teleport que será criado


local topos = { x = 1082, y = 1084, z = 9} -- Coordenadas para onde o player irá ser teleportado.
local item_id = 2160 -- ID do item que o player precisa para criar o teleport
local tpid = 1484
local t = 1 -- minutos para sumir o tp

function onUse(cid, item, fromPosition, item2, toPosition)

if getPlayerItemCount(cid,item_id) >= 1 then
doTeleportThing(cid, topos)
doCreateTeleport(tpid, createpos)
addEvent(function()
if isPlayer(cid) then
doRemoveItem(getTileItemById(createpos, tpid).uid, 1)
end
end, 1000*60*t)
end
return true
end

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

Tenta agora :

local createpos = {x = 123, y = 456, z = 7, stackpos = 1} -- Posição do teleport que será criado
local topos = {x = 936, y = 1189, z = 8} -- Coordenadas para onde o player irá ser teleportado.
local Newtopos = {x= , y= , z= } -- Coordenadas pra aonde o teleporte que vai surgir vai levar ...
local item_id = 2160 -- ID do item que o player precisa para criar o teleport
local tpid = 1387
local t = 1 -- minutos para sumir o tp
 
function onUse(cid, item, fromPosition, item2, toPosition)
 
	if getPlayerItemCount(cid,item_id) >= 1 then
		doTeleportThing(cid, topos)
		for i = 1, 255 do
			createpos.stackpos = i
			doCreateTeleport(tpid, Newtopos, createpos)
			addEvent(function()
				doRemoveItem(getTileItemById(createpos, tpid).uid, 1)
		end, 1000*60*t)
		end
	end
	return true 
end

Nao esqueça de configurar o Newtopos.

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

EQD4Qy4.gif

Link para o post
Compartilhar em outros sites

Vou explicar com foto,Quando ele clickar na porta vai criar um item onde tá circulado de Vermelho e vai ser teletransportado para onde tá circulado de azul. Só isso

 

 

Link para o post
Compartilhar em outros sites

Ahhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh...........................

 

Mudou completamente...

local t = {  
           newpos = { x = 123, y = 456, z = 7 }, -- posição onde enviará o player 
           itemid = 1484,  -- ID do item que irá ser criado
           position = { x = 123, y = 456, z = 7 }, -- posição onde criará o item
           time = 60 -- tempo em segundos para remover item
           }
           
function onUse(cid, item)

         doTeleportThing(cid,t.newpos, TRUE)
         doCreateItem(t.itemid,1,t.position)
     addEvent(function() 
               doRemoveItem(getTileItemById(t.position, t.itemid).uid)
              end,1000*t.time)    
return true
end

Dá um feedback, se tiver erro...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Tem sim,

adicionei umas coisinhas no script , 

 

Tipo, se você não pôs "no logout tile", se o player der logout, iria ficar dentro da sala, pois o logout muda o cid do player.

mas aí eu adicionei um negocinho para teleportar o player caso ele ainda esteja dentro e dê logout...

 

 

Se você usar o "no logout tile" ou não, o script funcionará do mesmo jeito, a diferença é que com o tile você não deixa o player ficar off, e sem o tile, o player pode sair dando logout ...se o objetivo é prender o player, eu recomendo colocar o piso.

 

 

Enfim:

 

O seu script

local t = {  
           newpos = { x = 165, y = 387, z = 7 }, -- posição onde enviará o player 
           itemid = 1484,  -- ID do item que irá ser criado
           position = { x = 164, y = 387, z = 7 }, -- posição onde criará o item
           time = 6, -- tempo em segundos para remover item
	   exitpos = { x = 162, y = 387, z = 7 },
           }

function onUse(cid, item)
 
         doTeleportThing(cid,t.newpos)
         doCreateItem(t.itemid,1,t.position)
		 doCreatureSetStorage(cid, 6757, 1)
     addEvent(function() 
               doRemoveItem(getTileItemById(t.position, t.itemid).uid)
                doTeleportThing(cid,t.exitpos)
				doCreatureSetStorage(cid, 6757, -1)
              end,1000*t.time)    
return true
end

(Opcional) Se você não pôs o tile:

 

Em creaturescripts//scripts/arquivo.lua

function onLogout(cid) 
	if(not isCreature(cid)) then
		return
	end
	if getCreatureStorage(cid, 6757) == 1 then
	 doTeleportThing(cid,{ x = 162, y = 387, z = 7 })  -- Posição da saida da sala ou templo, qual você preferir.
	 doCreatureSetStorage(cid, 6757, -1)
	end 
return true
end

TAG creaturescripts.xml:

<event type="logout" name="Editpos" event="script" value="arquivo.lua"/>

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

ow tava testando aqui até ai deu tudo certo,mais tem como coloca o tempo na porta e fica contando em cima da porta? pra não bugar pq 2 player entra no mesmo sqm e fica bugando

Editado por damiaotorres (veja o histórico de edições)
Link para o post
Compartilhar em outros sites
  • Solução
local t = {  
           newpos = { x = 165, y = 387, z = 7 }, -- posição onde enviará o player 
           itemid = 1484,  -- ID do item que irá ser criado
           position = { x = 164, y = 387, z = 7 }, -- posição onde criará o item
           time = 6, -- tempo em segundos para remover item
	   exitpos = { x = 162, y = 387, z = 7 },
           }

function onUse(cid, item)
	if getStorage(6757) == -1 then 
         doTeleportThing(cid,t.newpos)
         doCreateItem(t.itemid,1,t.position)
		 doCreatureSetStorage(cid, 6757, 1)
		 doSetStorage(6757, 1)
	else 
	doPlayerSendCancel(cid, "Please wait for a while")
	end
     addEvent(function() 
				doSetStorage(6757, -1)
				doRemoveItem(getTileItemById(t.position, t.itemid).uid)
                doTeleportThing(cid,t.exitpos)
				doCreatureSetStorage(cid, 6757, -1)
              end,1000*t.time)    
return true
end

function onLogout(cid) 
	if(not isCreature(cid)) then
		return
	end
	if getCreatureStorage(cid, 6757) == 1 and getStorage(6757) == 1 then
	 doTeleportThing(cid,{ x = 162, y = 387, z = 7 })  -- Posição da saida da sala ou templo, qual você preferir.
	 doCreatureSetStorage(cid, 6757, -1)
	 doSetStorage(6757, -1)
	end 
return true
end

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

O que é essa parte?

function onLogout(cid)


if(not isCreature(cid)) then
return
end
if getCreatureStorage(cid, 6757) == 1 and getStorage(6757) == 1 then
doTeleportThing(cid,{ x = 162, y = 387, z = 7 }) -- Posição da saida da sala ou templo, qual você preferir.
doCreatureSetStorage(cid, 6757, -1)
doSetStorage(6757, -1)
end
return true
end

Link para o post
Compartilhar em outros sites

É para, caso você não ponha "no logout tile" se o player dar logout, ele ser enviado para fora...

Se quiser sua dúvida tirada, mande PM com os links, e não com a dúvida (outros podem ter a mesma dúvida, e o fórum serve para ser usado).

 

Tópicos:


 

yNlhRVC.png

 

55px-Judo_yellow_belt.svg.png

Link para o post
Compartilhar em outros sites

Aí como boto isso? tipo o actionid eu boto onde? tipo isso ou bota igual o outro? boto como uniqid? e depois na porta?

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

Coloca o script onLogout em "Data/creaturescripts/scripts", nomedoarquivo.lua.

Abra o creaturescripts.xml em "Data/creaturescripts" e adicione:

<event type="logout" name="DoorLogout" event="script" value="nomedoarquivo.lua"/>
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