Jump to content

Preciso de Ajuda com este código!!


Recommended Posts

Estou tentando criar um sistema de marker onde após o player sair do marker ele receba dano, porém não estou conseguindo fazer com que o player receba o dano, alguem poderia me ajudar? e se tiver que fazer outro script para o lado client me ajudem por favor, sou iniciante.

local function onGa:~(element, samedim)

    if getElementType(element) == "player" then
        local marker = source
        local isPlayerInsideMarker = isElementWithinMarker(element, marker)
        if not isPlayerInsideMarker then
            local currentHealth = getElementHealth(element)
            setElementHealth(element, currentHealth - 25)
        end
    end
end
 
local function setupGasMarker()
    local gas = createMarker(
        2495,
        -1666,
        5,
        "cylinder",
        30,
        255, 255, 0, 100
    )
 
    addEventHandler("onMarkerLeave", gas, onGa:~)
end
 
addEventHandler("onResourceStart", resourceRoot, setupGasMarker)
Edited by Lord Henry
Código convertido de texto para Lua.
Link to comment
  • Other Languages Moderators

Não exatamente. Você precisa deixar assim:

Observação: Percebi que no código existe um "~:" no nome da função. Se realmente for o caso, remova e deixe apenas com letras.

local function onGas(element, samedim)
    if getElementType(element) == "player" then
        local currentHealth = getElementHealth(element)
        setElementHealth(element, currentHealth - 25)
    end
end
Edited by androksi
Link to comment
19 minutes ago, androksi said:

Não exatamente. Você precisa deixar assim:

Observação: Percebi que no código existe um "~:" no nome da função. Se realmente for o caso, remova e deixe apenas com letras.

local function onGas(element, samedim)
    if getElementType(element) == "player" then
        local currentHealth = getElementHealth(element)
        setElementHealth(element, currentHealth - 25)
    end
end

Fiz e continua sem funcionar, se eu mudo o EventHandler para onMarkerHit o personagem recebe o dando dentro e fora do marker quando eu inicio a resource, mas se eu coloco o onMarkerLeave nada ocorre, nem dentro nem fora do marker. Sobre o "~" foi algum erro ao passar o código para o forum, o nome da função está onGa:~.

Link to comment
7 hours ago, Klehber said:

Fiz e continua sem funcionar, se eu mudo o EventHandler para onMarkerHit o personagem recebe o dando dentro e fora do marker quando eu inicio a resource, mas se eu coloco o onMarkerLeave nada ocorre, nem dentro nem fora do marker. Sobre o "~" foi algum erro ao passar o código para o forum, o nome da função está onGa:~.

local gas = createMarker(
    -2422.31567,
    -608.72510,
    130,
    "cylinder",
    30,
    255, 255, 0, 100
)

function setupGasMarker(elementLeave)
    if getElementType(elementLeave) == "player" then
        local currentHealth = getElementHealth(elementLeave)
        setElementHealth(elementLeave, currentHealth - 25)
    end
end

addEventHandler("onMarkerLeave", getRootElement(), setupGasMarker)



Agora deu certo, a questão é que o range do marker é muito grande, teria alguma outra forma de fazer uma area circular para causar dano em vez do marker ou até mesmo diminuir o range do marker para o mais proximo possivel da borda.

Link to comment
  • Other Languages Moderators

A colisão do marker cylinder é bugada mesmo. O que você pode fazer é criar um marker do tipo "corona" invisível e deixar o marker do tipo cylinder apenas como visual.

Edited by Lord Henry
  • Thanks 1
Link to comment
Guest
This topic is now closed to further replies.
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...