Ir para conteúdo
  • Cadastre-se

(Resolvido)Item que teleporta player para determinada area


Ir para solução Resolvido por Wakon,

Posts Recomendados

Gente queria um sistema que realizasse as seguintes funções, vamos supor que um player tem um item "555" na sua bag,  e ele use esse item "555" em um item qualquer que esteja pelo mapa e caso ele esteja usando o item "555" no canto errado do mapa, aparecesse uma mensagem no cliente dele "você está usando o enigma no lugar errado" e caso seja no lugar certo ele fosse teleportado para tal posição.

Uso o pokexcyan e ficaria muito agradecido se alguém me arrumasse esse script

Rep+ pra quem conseguir me ajudar 

Link para o post
Compartilhar em outros sites
  • Solução
local cfg = {
    area = {{x = 1018, y = 1015, z = 7}, {x = 1022, y = 1019, z = 7}}, -- canto superior esquerdo, canto inferior direito
    toPos = {x = 1020, y = 1017, z = 7}, -- posição caso dê certo
    battle = false, -- permitir uso em batalha
    remove = true, -- remover após uso
}

function onUse(cid, item, fromPos, itemEx, toPos)
    if isInArea({x = toPos.x, y = toPos.y, z = toPos.z}, cfg.area[1], cfg.area[2]) then
            if not cfg.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't teleport in battle.")
            end
        doTeleportThing(cid, cfg.toPos)
        doSendMagicEffect(cfg.toPos, CONST_ME_TELEPORT)
        if cfg.remove then
            doRemoveItem(item.uid, 1)
        end
    else
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wrong position.")
    end
   return true
end

TAG:
 

<action itemid="555" event="script" value="script.lua"/>

Coloquei comentários explicando a configuração, mas caso você tenha problemas, é só perguntar.

Link para o post
Compartilhar em outros sites
10 horas atrás, Wakon disse:

local cfg = {
    area = {{x = 1018, y = 1015, z = 7}, {x = 1022, y = 1019, z = 7}}, -- canto superior esquerdo, canto inferior direito
    toPos = {x = 1020, y = 1017, z = 7}, -- posição caso dê certo
    battle = false, -- permitir uso em batalha
    remove = true, -- remover após uso
}

function onUse(cid, item, fromPos, itemEx, toPos)
    if isInArea({x = toPos.x, y = toPos.y, z = toPos.z}, cfg.area[1], cfg.area[2]) then
            if not cfg.battle and getCreatureCondition(cid, CONDITION_INFIGHT) then
                doSendMagicEffect(getPlayerPosition(cid), CONST_ME_MAGIC_RED)
                return doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "You can't teleport in battle.")
            end
        doTeleportThing(cid, cfg.toPos)
        doSendMagicEffect(cfg.toPos, CONST_ME_TELEPORT)
        if cfg.remove then
            doRemoveItem(item.uid, 1)
        end
    else
        doSendMagicEffect(getPlayerPosition(cid), CONST_ME_POFF)
        doPlayerSendTextMessage(cid, MESSAGE_STATUS_CONSOLE_ORANGE, "Wrong position.")
    end
   return true
end

TAG:
 


<action itemid="555" event="script" value="script.lua"/>

Coloquei comentários explicando a configuração, mas caso você tenha problemas, é só perguntar.

- Oque tenho que colocar nessas 2 posições?

area = {{x = 1018, y = 1015, z = 7}, {x = 1022, y = 1019, z = 7}},

- Tenho que adicionar isso na pasta actions ne?

 

Link para o post
Compartilhar em outros sites

@Loouis

Essa é a área que o jogador terá que usar o item, um exemplo:

http://imgur.com/a/IivYO

 

A primeira posição é a flecha vermelha e a segunda é a flecha amarela, então o item pode ser usado dentro dessa área laranja.

 

E sim, você deve colocar na pasta actions.

Link para o post
Compartilhar em outros sites
Agora, Wakon disse:

@Loouis

Essa é a área que o jogador terá que usar o item, um exemplo:

http://imgur.com/a/IivYO

 

A primeira posição é a flecha vermelha e a segunda é a flecha amarela, então o item pode ser usado dentro dessa área laranja.

 

E sim, você deve colocar na pasta actions.

Obrigado amigo, funcionou perfeitamente.

s22222222222222

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.

×
×
  • Criar Novo...

Informação Importante

Confirmação de Termo