Ir para conteúdo
  • Cadastre-se

(Resolvido)[Pedido] Como colocar X item pra aparecer em Y sqm?


Ir para solução Resolvido por Jamison Collins,

Posts Recomendados

Gostaria de saber como faço pra aparecer determinado Item quando eu pisar em determinado SQM.

 

Para explicar, nada melhor que imagens.

 

Evento Dice

 

1 -

 

e35z.jpg

 

 

 

 

2 - yzey.jpg

 

 

Ou seja, quando eu pisar no SQM da foto 2, ele iria aparecer UM DICE(neste caso) encima daquela mesa.

 

 

 

OUTRA DUVIDA: Se eu colocar um StepIn no SQM atrás do Ownedzyn na segunda foto, e ele tentar voltar, vai ficar aparecendo vários dices?

 

 

Quem puder ajudar, Obrigado e Rep+

Link para o post
Compartilhar em outros sites

Bem, acabei de gerar o script para você, porém não testei...

Aqui está :

 

Movements>Scripts, crie um arquivo .lua chamado : dices.lua* e cole isso dentro :

function onStepIn(cid, item, position, fromPosition)

local config = {
	actionID = 7580,
	dices_table = {x=322, y=1026, z=7, stackpos = 255}, -- Posição da mesa do dado.
	effect = 30, -- Efeito.
	ID_do_dice = 0000, -- Aqui você altere para o Id do dice (dado).
	}

	if isPlayer(cid) == true then
		if item.actionid == config.actionID and getThingfromPos(config.dices_table).itemid ~= config.ID_do_dice then
			doCreateItem(config.ID_do_dice, 1, config.dices_table)
			doSendMagicEffect(config.dices_table, config.effect)
		end
	end
	return true
end

function onStepOut(cid, item, position, fromPosition)
	if isPlayer(cid) == true then
		if item.actionid == config.actionID and getThingfromPos(config.dices_table).itemid == config.ID_do_dice then
			doRemoveItem(getThingfromPos(config.dices_table).uid,1)
			doSendMagicEffect(config.dices_table, CONST_ME_POFF)
		end
	end
	return true
end

Depois, abra o movements.xml, e adicione essas tags :

<movement type="StepIn" actionid="7580" event="script" value="dices.lua" />
<movement type="StepOut" actionid="7580" event="script" value="dices.lua" />

Lembrando que o actionID da tag tem de ser igual a do script, e não se esqueça de por o ID do dice no script, apenas mudando aqui :

ID_do_dice = 0000

e a posição da mesa do dado, aqui :

dices_table = {x=322, y=1026, z=7, stackpos = 255}

 

Espero ter ajudado :)

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites

Obrigado Jamison, funcionou *-*

 

Mas teve um probleminha, quando eu faço step out, ele da erro na distro e o player está conseguindo voltar 1 sqm.

 

y3mn.jpg

 

Mas de resto ta perfeito cara *-*

 

Ja ganhou REP+, Jamison o mito.

Link para o post
Compartilhar em outros sites

Me mostra como você deixou o seu local config do script por favor ? 

 

Ou melhor, tente fazer o seguinte...

Copie o seu : local config todo que você configurou dentro do script, e coloque-o fora da function onStepIn...

 

Por exemplo... está assim :

function onStepIn(cid, item, position, fromPosition)

local config = {
	actionID = 7580,
	dices_table = {x=322, y=1026, z=7, stackpos = 255}, -- Posição da mesa do dado.
	effect = 30, -- Efeito.
	ID_do_dice = 0000, -- Aqui você altere para o Id do dice (dado).
	}

Você vai por assim : 

local config = {
	actionID = 7580,
	dices_table = {x=322, y=1026, z=7, stackpos = 255}, -- Posição da mesa do dado.
	effect = 30, -- Efeito.
	ID_do_dice = 0000, -- Aqui você altere para o Id do dice (dado).
	}

function onStepIn(cid, item, position, fromPosition)

Só que com suas configurações e teste...

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites

Bom, agora nao aparece o erro na distro, mas olha o que acontece:

 

Vou no SQM pro Dice aparecer (OK)

 

55rl.jpg

 

 

Eu volto pro SQM de trás (O que nao pode acontecer) e ele some.

 

7ktw.jpg

 

 

Eu volto novamente e o Dice aparece novamente

 

cmoa.jpg

 

 

A config ta assim:

local config = {
	actionID = 7580,
	dices_table = {x=34, y=28, z=7, stackpos = 255}, -- Posição da mesa do dado.
	effect = 30, -- Efeito.
	ID_do_dice = 5792, -- Aqui você altere para o Id do dice (dado)
	}
function onStepIn(cid, item, position, fromPosition)

	if isPlayer(cid) == true then
		if item.actionid == config.actionID and getThingfromPos(config.dices_table).itemid ~= config.ID_do_dice then
			doCreateItem(config.ID_do_dice, 1, config.dices_table)
			doSendMagicEffect(config.dices_table, config.effect)
		end
	end
	return true
end

function onStepOut(cid, item, position, fromPosition)
	if isPlayer(cid) == true then
		if item.actionid == config.actionID and getThingfromPos(config.dices_table).itemid == config.ID_do_dice then
			doRemoveItem(getThingfromPos(config.dices_table).uid,1)
			doSendMagicEffect(config.dices_table, CONST_ME_POFF)
		end
	end
	return true
end

@edit

 

tentei fazer uma gambiarra pra ver se dava certo, mas nao funcionou :/

 

oycy.jpg

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

Não entendi... o que você quer realmente (o que falta ?) ?

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites

Não entendi... o que você quer realmente (o que falta ?) ?

 

O cara vai naquele sqm, aparece o dice, ele roda o dice que está encima da mesa, e ele é  OBRIGADO  a entrar no teleport.

 

Ele  NÃO  PODERÁ voltar o  sqm, senão ele vai rodar o dice quantas vezes quiser.

Link para o post
Compartilhar em outros sites

Mas se você quiser tirar... é só você apagar todo o function StepOut até o último end, e tirar a tag StepOut do movements.xml...

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites
  • Solução

Aqui está : 

local config = {
	actionID = 7580,
	dices_table = {x=34, y=28, z=7, stackpos = 2}, -- Posição da mesa do dado.
	coal_basin = {x=32, y=28, z=7, stackpos = 2}, -- Posição do coal basin.
	effect = 30, -- Efeito.
	ID_do_dice = 5792, -- Aqui você altere para o Id do dice (dado)
	coal_basin_ID = 9772,
	teleport = {x=34, y=21, z=7}, -- Posição que o player será teleportado após sair do tile.
	}

function onStepIn(cid, item, position, fromPosition)
	if isPlayer(cid) == true then
		if item.actionid == config.actionID and getThingfromPos(config.dices_table).itemid ~= config.ID_do_dice then
			doCreateItem(config.ID_do_dice, 1, config.dices_table)
			doCreateItem(config.coal_basin_ID, 1, fromPosition)
			doSendMagicEffect(config.dices_table, config.effect)
		end
	end
	return true
end

function onStepOut(cid, item, position, fromPosition)
	if isPlayer(cid) == true then
		if item.actionid == config.actionID then
			doRemoveThing(getTileItemById(config.coal_basin, config.coal_basin_ID).uid, 1)
			doSendMagicEffect(config.dices_table, CONST_ME_POFF)
			doSendMagicEffect(config.coal_basin, CONST_ME_POFF)
			doTeleportThing(cid, config.teleport)
		end
	end
	return true
end

"A alma permanece em suas criações" V89E5aN.png


142c9d3439.jpg
(Não dou suporte por mensagem privada.)

Link para o post
Compartilhar em outros sites

O NOME DELE É JA JA JAAJAAJAJAJAAAAAAAAAAAAAAAAAAAAAMISONNNNNN!!!!!

tutututut tchan tchanranrnanran tchan tchaaaaaaannn

 

funcionou <3

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