Postado Novembro 15, 2018 6 anos bom galera queria um script que o player só poderia entra em uma x area se estiver a storage 43352. Queria que quando o player sair dessa x area remova essa storage 43352. Exemplo: o player compra um item ou arrumar nos boss, quando ele dê use no item ativará a storage 43352. assim dando a permisão de entra na x area. caso o player esteja nessa x area e invente de sair, queria que remove-se a storage 43352. Assim o player terá que arruma o item novamente para entra na x area. tfs 0.4 versao 8.60 Editado Novembro 15, 2018 6 anos por BangxD (veja o histórico de edições)
Postado Novembro 15, 2018 6 anos Ele irá entrar por uma porta, portal, piso? E quais são as formas dele sair? Da mesma forma? Feliz daquele que ensina o que sabe, e aprende o que ensina.
Postado Novembro 15, 2018 6 anos Autor 8 horas atrás, lordzetros disse: Ele irá entrar por uma porta, portal, piso? E quais são as formas dele sair? Da mesma forma? Será tudo piso, ao entrar e ao sair Editado Novembro 15, 2018 6 anos por BangxD (veja o histórico de edições)
Postado Novembro 15, 2018 6 anos Solução Em data/actions/scripts/ crie um arquivo chamado setStoragePiso.lua e cole o código abaixo dentro dele: local storage = 43352 -- Storage, coloquei o mesmo do post, caso queira mudar, faça isso nos dois scripts. local msg_sucesso = "Opa, parece que voce pode entrar na area sagrada." -- Mensagem quando o usuário usar o item local msg_falha = "Voce ja tem permissao para entrar na area sagrada!" -- Caso o usuário ja tenha usado o item antes e nao saiu da área. local efeito = CONST_ME_HOLYDAMAGE -- Efeito quando player usar o item function onUse(cid, item, fromPos, item2, toPos) if (isPlayer(cid)) then if (getPlayerStorageValue(cid, storage) == -1) then setPlayerStorageValue(cid, storage, 1) doRemoveItem(item.uid, 1) doPlayerSendCancel(cid, msg_sucesso) doSendMagicEffect(getCreaturePosition(cid), efeito) else doPlayerSendCancel(cid, msg_falha) doSendMagicEffect(getCreaturePosition(cid), CONST_ME_POFF) end end return true end Em data/actions/actions.xml adicione este código abaixo de um semelhante: <action itemid="id_do_item" event="script" value="setStoragePiso.lua"/> OBS.: MUDE ACIMA O ID DO ITEM PARA O QUAL VOCÊ QUER QUE O PLAYER USE PARA SETAR O STORAGE Em data/movements/scripts/ crie um arquivo chamado pisoStorage.lua e adicione o código abaixo: local storage = 43352 -- Storage, coloquei o mesmo do post, caso queira mudar, faça isso nos dois scripts. local msg_entrar = "Voce entrou na area sagrada." -- Mensagem quando o player entrar na área. local msg_sem_permissao = "Voce nao esta autorizado a passar por aqui!" -- Caso player não tenha o storage ainda local telePosition = {x = 155, y = 54, z = 7} -- Posicao do local que o player será teleportado quando ele pisar na saída local msg_saida = "Voce saiu da area sagrada, agora esta sem permissao para andar por lá." -- Mensagem de quando o player sair da area function onStepIn(cid, item, pos, fromPos) if not (isPlayer(cid)) then return false end if (item.actionid == 45560) then if (getPlayerStorageValue(cid, storage) ~= -1) then doPlayerSendCancel(cid, msg_entrar) doSendMagicEffect(pos, CONST_ME_MAGIC_BLUE) else doPlayerSendCancel(cid, msg_sem_permissao) doTeleportThing(cid, fromPos, true) end elseif (item.actionid == 45561) then setPlayerStorageValue(cid, storage, -1) doTeleportThing(cid, telePosition) doPlayerSendCancel(cid, msg_saida) end return true end Em data/movements/movements.xml adicione este código abaixo de um semelhante: <movevent type="StepIn" actionid="45560;45561" event="script" value="pisoStorage.lua"/> 1 - Configure no seu editor de mapa no piso de entrada coloque o actionID = 45560 2 - Ainda no editor de mapa, no piso de saída coloque o actionID = 45561 Não fiz o teste, mas qualquer erro, pode postar aqui novamente que tentarei lhe ajudar. Editado Novembro 16, 2018 6 anos por lordzetros (veja o histórico de edições) Feliz daquele que ensina o que sabe, e aprende o que ensina.
Postado Novembro 15, 2018 6 anos Autor era isso msm amigo muito obriado. apareceu só um erro aqui: doTeleportThing(cid, fromPosition, true) mudei doTeleportThing(cid, fromPos, true) Editado Novembro 15, 2018 6 anos por BangxD (veja o histórico de edições)
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.