Postado Abril 25, 2016 9 anos Gostaria de um script que caso o jogador tenha X item consiga entrar no teleport, caso contrario não seria possivel. Obrigado desde já!
Postado Abril 25, 2016 9 anos @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 Abril 26, 2016 9 anos 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.
Postado Abril 26, 2016 9 anos Autor 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 Abril 26, 2016 9 anos por GuuhMaster (veja o histórico de edições)
Postado Abril 26, 2016 9 anos @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 Abril 27, 2016 9 anos 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.
Postado Abril 26, 2016 9 anos Autor 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.
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.