Ir para conteúdo
  • Cadastre-se

(Resolvido)Editar portal pelo item.xml


Ir para solução Resolvido por MaXwEllDeN,

Posts Recomendados

tem como por para esse item quem pisar nele ir para posiçao 1150 848 7

 

 

esse é o script

 

 

<item id="1387" article="a" name="magic forcefield">
<attribute key="description" value="You can see the other side through it." />
<attribute key="type" value="teleport" />
 
Link para o post
Compartilhar em outros sites

No caso eu tenho 1 pequena solução 1 script que quando vc fala determinado comando vc e teleportado pra cidade natal do player

Meus Trabalhos
 
Tudo em Desenvolvimento mais att em breve
Estou parado
 
Tudo Removido
Link para o post
Compartilhar em outros sites

Não precisa modificar assim, você pode usar o seguinte método no seu script:

 

 


doCreateTeleport(1387, topos, createpos)

 

Onde

 

topos - Posição à onde o teleport vai levar.

createpos - Posição onde o teleport irá aparecer.

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

não, isso vc põe no script da spell embaixo de function onCastSpell, ele vai criar um teleport com essas posições.
e no caso seria assim:
 

doCreateTeleport(1387, {x = 1150, y = 848, z = 7} , getCreaturePosition(cid))

Todos os meus trabalhos importantes estão na seção "Sobre mim" no meu perfil; Dá uma passada lá!

"Há três caminhos para o fracasso: não ensinar o que se sabe, não praticar o que se ensina, e não perguntar o que se ignora." - São Beda

I7Pm6ih.png

(obg ao @Beeny por fazer essa linda sign <3)

Link para o post
Compartilhar em outros sites

tem como por para esse item quem pisar nele ir para posiçao 1150 848 7

pq quero criar 1 skill q cria esse portal embaixo de min entende ?

Criar um skill? Como assim? Você quer que o portal seja criado por spell, talkaction ou action?

Detalhes, precisamos de detalhes pra poder te ajudar.

The corrupt fear us.

The honest support us.

The heroic join us.

Link para o post
Compartilhar em outros sites

 

não, isso vc põe no script da spell embaixo de function onCastSpell, ele vai criar um teleport com essas posições.

e no caso seria assim:

 

doCreateTeleport(1387, {x = 1150, y = 848, z = 7} , getCreaturePosition(cid))

Deu certo mas ocorreu 2 problemas 1 n é grande coisa mas o outro se fosse possivel tem como resolver para min ? :x

 

o primeiro problema q n é tao ruim assim é quando eu uso a spell eu n entro no portal na hora eu tenho q caminhar para poder entrar(mas isso n faz mal algum para min mas eu gostaria de arrumar se fosse possivel)

 

o segundo problema é que o portal fica ali para sempre eu gostaria q ele saisse depois de 5 segundos vc poderia arrumar para min ?

 

Obrigado  Já dei REP++ ;3

Link para o post
Compartilhar em outros sites

Na primeira linha do seu script coloque isso:

local config = {
	time = 5, -- Tempo, em segundos, que o teleport existir
	pos = {x = 1150, y = 848, z = 7}, -- Posição a onde o teleport vai levar
}

local function teleportRemove(pos)
	local tp = getTileItemById(pos, 1387).uid
	
	if tp > 100 then
		doRemoveItem(tp)
		return true
	end
	
	return false
end

E, onde está usando

doCreateTeleport(1387, {x = 1150, y = 848, z = 7} , getCreaturePosition(cid))

Use

doCreateTeleport(1387, config.pos , getCreaturePosition(cid))
doTeleportThing(cid, config.pos)
addEvent(teleportRemove, config.time * 1000, getCreaturePosition(cid))
Editado por MaXwEllDeN (veja o histórico de edições)

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

Link para o post
Compartilhar em outros sites

 

Na primeira linha do seu script coloque isso:

local config = {
	time = 5, -- Tempo, em segundos, que o teleport existir
	pos = {x = 1150, y = 848, z = 7}, -- Posição a onde o teleport vai levar
}

local function teleportRemove(pos)
	local tp = getTileItemById(pos, 1387).uid
	
	if tp > 100 then
		doRemoveItem(tp)
		return true
	end
	
	return false
end

E, onde está usando

doCreateTeleport(1387, {x = 1150, y = 848, z = 7} , getCreaturePosition(cid))

Use

doCreateTeleport(1387, config.pos , getCreaturePosition(cid))
doTeleportThing(cid, config.pos)
addEvent(teleportRemove, config.time * 1000, getCreaturePosition(cid))

 

Vlw arrumou 1 coisa q eu queria mas o portal continua a ficar ali pra sempre ;x

esse aki é o script da spell n sei se é eu q coloquei errado entao vo deichar aki VV 

 

 

local config = {
time = 5, -- Tempo, em segundos, que o teleport existir
pos = {x = 1150, y = 848, z = 7}, -- Posição a onde o teleport vai levar
}
 
local function teleportRemove(pos)
local tp = getTileItemById(pos, 1387).uid
 
if tp > 100 then
doRemoveItem(tp)
return true
end
 
return false
end
 
local storage = 987123 -- storage
local time = 5 -- tempo em segundos que o item vai ficar na posição.
 
local pos = {}
 
function terminus(cid)
if isPlayer(cid) then
for index, pid in pairs(pos) do
if index == getCreatureName(cid) then
local a = getTileItemById(pos[index], item)
if a.uid > 0 then
doRemoveItem(a.uid)
end
end
end
doPlayerSendTextMessage(cid, 22, "O item sumiu.")
end
end
 
function onCastSpell(cid, var)
 
doCreateTeleport(1387, config.pos , getCreaturePosition(cid))
doTeleportThing(cid, config.pos)
addEvent(teleportRemove, config.time * 1000, getCreaturePosition(cid))
if getPlayerStorageValue(cid, storage) - os.time() <= 0 then
pos[getCreatureName(cid)] = getCreaturePosition(cid)
setPlayerStorageValue(cid, storage, os.time()+time)
doCreateItem(item, getCreaturePosition(cid))
doSendMagicEffect(getCreaturePosition(cid), 3)
addEvent(terminus, time*1000, cid)
elseif getPlayerStorageValue (cid, storage) - os.time() >= 1 then
for index, pid in pairs(pos) do
if index == getCreatureName(cid) then
doTeleportThing(cid, pid)
doSendMagicEffect(getCreaturePosition(cid), 10)
end
end
end
 
return true
end
Link para o post
Compartilhar em outros sites
  • Solução
local config = {
	time = 5, -- Tempo, em segundos, que o teleport existir
	pos = {x = 1150, y = 848, z = 7}, -- Posição a onde o teleport vai levar
}
 
local function teleportRemove(pos)
	local tp = getTileItemById(pos, 1387).uid
 
	if tp > 100 then
		doRemoveItem(tp)
		return true
	end
 
	return false
end
 
local storage = 987123 -- storage
local time = 5 -- tempo em segundos que o item vai ficar na posição.
 
local pos = {}
 
function terminus(cid)
	if isPlayer(cid) then
		for index, pid in pairs(pos) do
			if index == getCreatureName(cid) then
				local a = getTileItemById(pos[index], item)
				if a.uid > 0 then
					doRemoveItem(a.uid)
				end
			end
		end
		
		doPlayerSendTextMessage(cid, 22, "O item sumiu.")
	end
end
 
function onCastSpell(cid, var)
	local c_pos = getCreaturePosition(cid)

	doCreateTeleport(1387, config.pos , c_pos)
	doTeleportThing(cid, config.pos)
	addEvent(teleportRemove, config.time * 1000, c_pos)
	
	if getPlayerStorageValue(cid, storage) - os.time() <= 0 then
		pos[getCreatureName(cid)] = getCreaturePosition(cid)
		setPlayerStorageValue(cid, storage, os.time()+time)
		doCreateItem(item, getCreaturePosition(cid))
		doSendMagicEffect(getCreaturePosition(cid), 3)
		addEvent(terminus, time*1000, cid)
	elseif getPlayerStorageValue (cid, storage) - os.time() >= 1 then
		for index, pid in pairs(pos) do
			if index == getCreatureName(cid) then
				doTeleportThing(cid, pid)
				doSendMagicEffect(getCreaturePosition(cid), 10)
			end	
		end
	end
 
	return true
end

-"Supra Omnes Lux Lucis"

- Acima de todos brilha a Luz -

5VGnDyBz.png

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