Jump to content

[help]getElementTeam


xXMADEXx

Recommended Posts

Hey guys, im trying to make my command linked to the staff team, but it will not work. Please help.

-- server

  
-- Spawns a Leviathan and makes it a magnet helicopter 
function magnet_func ( player ) 
    local team = getElementTeam ( player) 
    if ( team == "staff" ) then 
        local x, y, z = getElementPosition ( player ) 
        local veh = createVehicle ( 520, x + 5, y, z ) 
        setVehicleAsMagnetHelicopter (  veh ) 
    end 
end 
addCommandHandler ( "magnet", magnet_func ) 
  
-- Attaches a magnet to it if its a Leviathan 
function setVehicleAsMagnetHelicopter ( veh, player ) 
    if getElementModel ( veh ) == 520 then 
        local team = getElementTeam ( player) 
        if ( team == "staff" ) then 
            local x, y, z = getElementPosition ( veh ) 
            local magnet = createObject ( 1301, x, y, z-1.5) --1301 
            attachElements ( magnet, veh, 0, 0, -1.8 ) 
            setElementData ( veh, "magpos", -1.5 ) 
            setElementData ( veh, "magnet", magnet ) 
            setElementData ( veh, "magnetic", true ) 
            setElementData ( veh, "hasmagnetactivated", false ) 
        end 
    end 
end 
  
-- When the helicopter is destroyed, kill the magnet 
function destroyMagnet ( veh ) 
  
    if veh then 
        source = veh 
    end 
    if getElementData ( source, "magnetic" ) then 
        local magnet = getElementData ( veh, "magnet" ) 
        destroyElement ( magnet ) 
    end 
end 
addEventHandler ( "onVehicleExplode", getRootElement(), destroyMagnet ) 
  
-- Moves the magnet up/down 
function magnetUp ( player ) 
  
    local veh = getPedOccupiedVehicle ( player ) 
    if veh then 
        local magpos = getElementData ( veh, "magpos" ) 
        if magpos < -1.5 then 
            local magnet = getElementData ( veh, "magnet" ) 
            detachElements ( magnet ) 
            local magpos = magpos+0.1 
            attachElements ( magnet, veh, 0, 0, magpos, 0, 0, 0 ) 
            setElementData ( veh, "magpos", magpos ) 
        end 
    end 
end 
function magnetDown ( player ) 
  
    local veh = getPedOccupiedVehicle ( player ) 
    if veh then 
        local magpos = getElementData ( veh, "magpos" ) 
        if magpos > -15 then 
            local magnet = getElementData ( veh, "magnet" ) 
            detachElements ( magnet ) 
            local magpos = magpos-0.1 
            attachElements ( magnet, veh, 0, 0, magpos, 0, 0, 0 ) 
            setElementData ( veh, "magpos", magpos ) 
        end 
    end 
end 
  
-- (un)Bind the keys 
function bindTrigger () 
  
    if not isKeyBound ( source, "lctrl", "down", magnetVehicleCheck ) then 
        bindKey ( source, "lctrl", "down", magnetVehicleCheck ) 
        bindKey ( source, "rctrl", "down", magnetVehicleCheck ) 
        bindKey ( source, "pgdn", "down", magnetUp ) 
        bindKey ( source, "pgup", "down", magnetDown ) 
    end 
end 
function unbindTrigger () 
  
    if isKeyBound ( source, "lctrl", "down", magnetVehicleCheck ) then 
        unbindKey ( source, "lctrl", "down", magnetVehicleCheck ) 
        unbindKey ( source, "rctrl", "down", magnetVehicleCheck ) 
        unbindKey ( source, "pgup", "down", magnetUp ) 
        unbindKey ( source, "pgdn", "down", magnetDown ) 
    end 
end 
addEventHandler ( "onPlayerVehicleEnter", getRootElement(), bindTrigger ) 
addEventHandler ( "onPlayerVehicleExit", getRootElement(), unbindTrigger ) 
addEventHandler ( "onPlayerWasted", getRootElement(), unbindTrigger ) 
  
-- When Ctrl is pressed, attach / detatch the helicopter 
function magnetVehicleCheck ( player ) 
  
    local veh = getPedOccupiedVehicle ( player ) 
    if veh then 
        if getElementData ( veh, "magnetic" ) then 
            if getElementData ( veh, "hasmagnetactivated" ) then 
                setElementData ( veh, "hasmagnetactivated", false ) 
                detachElements ( getElementData ( veh, "magneticVeh" ) ) 
            else 
                local magnet = getElementData ( veh, "magnet" ) 
                local x, y, z = getElementPosition ( magnet ) 
                local magpos = getElementData ( veh, "magpos" ) 
                local marker = createColSphere ( x , y , z, 2 ) 
                local vehs = getElementsWithinColShape ( marker, "vehicle" ) 
                destroyElement ( marker ) 
                grabveh = false 
                for key, vehitem in ipairs(vehs) do 
                    if vehitem ~= veh then 
                        local grabveh = vehitem 
                        attachElements ( grabveh, magnet, 0, 0, -1, 0, 0, getVehicleRotation(grabveh) ) 
                        setElementData ( veh, "hasmagnetactivated", true ) 
                        setElementData ( veh, "magneticVeh", grabveh ) 
                        break 
                    end 
                end 
            end 
        end 
    end 
end 

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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