Ir para conteúdo
  • Cadastre-se

(Resolvido)[PEDIDO]


Ir para solução Resolvido por Bodak Reborn,

Posts Recomendados

Gostaria de um script que caso o jogador tenha X item consiga entrar no teleport, caso contrario não seria possivel.

 

Obrigado desde já!

Link para o post
Compartilhar em outros sites

 

@GuuhMaster

 

Aqui, vê se funciona:

em data\movements\scripts crie um arquivo .lua
Ex: itemtile.lua e coloque isso dentro:

Spoiler

function onStepIn(cid, item, position, fromPosition)

local config = {
hnitem = "Bla bla bla", --Mensagem que o player receberá caso não tenha o item.
hitem = "Bla bla bla2" --Mensagem que o player receberá caso tenha o item.
}

	if getPlayerItemCount (cid, xx) >= 1 then --xx = id do item
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.hitem) -- Caso não queira que receba mensagem, apague essa linha.
	else
		doTeleportThing(cid, fromPosition, true)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.hnitem) -- Caso não queira que receba mensagem, apague essa linha.
		doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
	end
return true
end

 

 

Em movements.xml:

 

Spoiler

<movevent type="StepIn" actionid="--actionid do tile no seu mapa--" event="script" value="itemtile.lua" />

 

 

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

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

Não consegui, mesmo o jogar nao tendo item ele consegue entrar.

 

OBS: Tem que remover o item tbm... no caso seriam 10 gold ingot [9971]

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

@GuuhMaster

Qual seu tfs?

Você tá colocando o action id certo? Eu testei aqui e funcionou.

Testei com dinheiro, caso eu tivesse mais de 10k na bag, deixava eu passar e dizia "Bla bla bla2", se eu jogasse no chão, eu não conseguia passar e aparecia "Bla bla bla".

Confira se o actionid e o id do item estão certos.

Para remover o Gold Ingot:

 

Spoiler

function onStepIn(cid, item, position, fromPosition)

local config = {
hnitem = "Bla bla bla", --Mensagem que o player receberá caso não tenha o item.
hitem = "Bla bla bla2", --Mensagem que o player receberá caso tenha o item.
item = 9971,
qnt = 10,
}

	if getPlayerItemCount (cid, config.item) >= config.qnt then
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.hitem) -- Caso não queira que receba mensagem, apague essa linha.
		doPlayerRemoveItem(cid, config.item, config.qnt)
	else
		doTeleportThing(cid, fromPosition, true)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.hnitem) -- Caso não queira que receba mensagem, apague essa linha.
		doSendMagicEffect(getThingPos(cid), CONST_ME_MAGIC_BLUE)
	end
return true
end

 

 

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

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

Tales, agora funciona, porem em partes.. o jogador quem tem os ingot remove e consegue entrar (OK).

Agora, o jogador que não tem os ingots, consegue entrar mesmo assim.

Link para o post
Compartilhar em outros sites

Testei em 0.1 e 0.4

 

OBS: se der para coloca-lo caso nao tenha o item.. voltar pra X position?

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

Ah, perdão.

Esse script só funciona para sqms normais, não para TPs. Total desatenção minha.

Vou fazer aqui e te mando.

 

Pensei em um jeito mais fácil. 

Tenta assim, @GuuhMaster:

Crie um portal sem coordenadas, sendo apenas a sprite.

Depois, pegue as coordenadas de onde você quer que o player seja teleportado e coloque onde é indicado.

 

Spoiler

local config = {
hnitem = "Bla bla bla", --Mensagem que o player receberá caso não tenha o item.
hitem = "Bla bla bla 2", --Mensagem que o player receberá caso tenha o item.
item = 9971, --ID do item.
qnt = 10, --Quantidade.
pos = {x = 1051, y = 1044, z = 7}, --Coordenada para onde o jogador será teleportado caso o player tenha o item.
pos2 = {x = 1020, y = 1030, z = 7}, --Coordenada para onde o jogador será teleportado caso player não tenha o item.
}

function onStepIn(cid, item, position, fromPosition)
	if getPlayerItemCount (cid, config.item) >= config.qnt then
		doPlayerRemoveItem(cid, config.item, config.qnt)
		doSendMagicEffect(fromPosition, CONST_ME_TELEPORT)
		doSendMagicEffect(getThingPos(cid), CONST_ME_TELEPORT)
		doTeleportThing(cid, config.pos)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.hitem) -- Caso não queira que receba mensagem, apague essa linha.
	else
		doTeleportThing(cid, config.pos2)
		doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_BLUE, config.hnitem) -- Caso não queira que receba mensagem, apague essa linha.
	end
return true
end

 

 

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

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

Você está usando um teleport vazio (sem coordenadas)?

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

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

HAHA.. estava usando com position.. desculpa a besteira.

Obrigado.
REP+
 

Duvida sanada, mover topico.

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