Jump to content

Super Golpe


Narutimmy

Recommended Posts

Otra manera alternativa a lo que ha dicho Solid, trigeas una función que obtenga las coordenadas de la cámara con getCameraMatrix, después de ello obtienes el PED que ha sido golpeado, con ello obtienes su coordenada actual después de lo cual puedes emplear un interpolateBetweencon easing function Linear para llevar a cabo el cambio de las coordenadas del PED dañado a la coordenada enfocada con la cámara. Después de ello un setElementPosition para emplear las coordenadas generadas por InterpolateBetween así moviendo al ped. La velocidad con la que quieres que pase todo esto depende de ti :P

Link to comment
Podrias intentar usar las funciones de velocidad ( getElementVelocity/setElementVelocity ).

Probe al hacer esto, pero no me funciono, en ocaciones si desaparece el objetivo osea si lo habienta, pero no siempre, ademas la idea es que sea lanzado asia el lado contrario de la direccion de donde obtuvo el disparo como puedo hacerlo?

-----EPIC DEATH HAMMER! 
function MegaHammer(attacker, weapon, bodypart, loss) 
local speedx, speedy, speedz = getElementVelocity (getLocalPlayer()) 
 if getElementData(getLocalPlayer(),"ZonaSegura") == false then   
   if weapon == 34 then 
    if getElementData(attacker,"currentweapon_1") == "AWP Asiimov" then     
        setElementVelocity(getLocalPlayer(), speedx, speedy+100, speedz) 
    end  
  end 
end 
end 
addEventHandler("onClientPlayerDamage", getLocalPlayer(), MegaHammer) 
addEventHandler("onClientPedDamage", getLocalPlayer(), MegaHammer) 

Link to comment

No leí el post, pero te dejo un enlace a un topic que supongo que es similar:

https://forum.mtasa.com/viewtopic.php?f ... 4&p=425741

local power = 1 
local powerUp = 0.5 
  
addEventHandler("onClientPedDamage", getRootElement(), 
function(attacker) 
    -- attacker == getLocalPlayer() because setElementVelocity is synced with server 
    if(attacker and attacked ~= source and attacker == getLocalPlayer())then 
        local aPosX, aPosY, aPosZ = getElementPosition(attacker) 
        local sPosX, sPosY, sPosZ = getElementPosition(source) 
        local angle = math.atan2(aPosX - sPosX, aPosY - sPosY) - math.rad(90) 
        local velX, velY, velZ = getElementVelocity(source) 
        setElementVelocity(source, velX + power*-math.cos(angle), velY + power*math.sin(angle), velZ + powerUp) 
    end 
end) 
  
-- use this to test power 
addCommandHandler("fuu", 
function() 
    local posX, posY, posZ = getElementPosition(getLocalPlayer()) 
    local ped = createPed(16, posX, posY + 10, posZ) 
end) 

Link to comment
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...