Jump to content

[help]getElementTeam


xXMADEXx

Recommended Posts

Posted

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 

Guest Guest4401
Posted
setVehicleAsMagnetHelicopter 

This function does not exist.

He has made it, see line 14.

Posted

If your team named 'Staff' has an ACL group then its more safe to use something like :

if ( isObjectInACLGroup( "user." .. getAccountName( getPlayerAccount( player ) ), aclGetGroup( "Staff" ) ) ) then    

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...