Jump to content

[Faction Gates]


Portside

Recommended Posts

Posted

Wow... I've a lot of gate problems. I got this off a friend, I just done what it told me;

local objectID = 980 --Place the object ID here 
local originalX,originalY,originalZ = 1579, 713.599609375, 12.5 --Place the coords of the gate here 
local rotationX,rotationY,rotationZ = 0,0,90 --Place the rotations of the gate here 
  
local factionName = "The Montana Family" --Put the EXACT faction name here, including capitals and special features 
  
local moveX,moveY,moveZ = 2000, 1579, 713.599609375, 7 --Place the coords to move the gate to here 
local moveRotX,moveRotY,moveRotZ = 0,0,0 --Place the rotations for the gate here (if you do not want it to rotate, put: 0,0,0) 
  
local timeToMoveGate = 3000 --Put the time it takes to open/close the gate here (in milliseconds) 
local timeToStayOpen = 4000 --Put the time that the gate stays open until it closes (in milliseconds) 
  
local command = "gate" --Put the command name you want to use here 
local distanceFromGate = 15 --Put the minimal distance from the gate to open it here 
  
--####################################################### 
--####   DO NOT EDIT ANYTHING BELOW HERE (BITCH)     #### 
--####################################################### 
local gateState = false --Leave this at false, you don't need to edit this 
  
thisGate = createObject(objectID,originalX,originalY,originalZ,rotationX,rotationY,rotationZ) --Creates the object and names it 'thisGate' 
  
exports.pool:allocateElement(thisGate) --Let's just leave this here, okay? 
  
local function resetGateState() --Function to reset the state of the gate 
    gateState = false --Sets the gate state to closed 
end 
  
local function closeThisGate() --Function to close the gate 
    moveObject(thisGate,timeToMoveGate,originalX,originalY,originalZ,0 - moveRotX,0 - moveRotY,0 - moveRotZ) --Moves the gate back to the original position 
    setTimer(resetGateState,timeToMoveGate) --Resets the state of the gate after the gate has moved back to it's original position 
end 
  
local function useGate(thePlayer, commandName) --Function that triggers the gate 
    local posX,posY,posZ = getElementPosition(thePlayer) --Gets the position of the gate 
    local distance = getDistanceBetweenPoints3D(originalX,originalY,originalZ,posX,posY,posZ) --Gets the distance between the player and the original position of the gate 
    local team = getPlayerTeam(thePlayer) --Gets the team from the player 
     
    if(distance <= distanceFromGate and gateState == false and team == getTeamFromName(factionName)) then --Checks if the player is near enough and if the gate is not open/opening/closing and checks the faction name 
        gateState = true --Sets the gate to open/opening/closing 
        moveObject(thisGate,timeToMoveGate,moveX,moveY,moveZ,moveRotX,moveRotY,moveRotZ) --Moves the object to the location that is wanted 
        setTimer(closeThisGate,timeToMoveGate + timeToStayOpen,1) --Sets the times to close the gate again 
    end 
end 
addCommandHandler(command, useGate) 

The gate disappears once I type in the command; /gate. Not quite sure what's wrong with it.

Posted

Fill in your requirements

gate= createObject() -- Fill in ModelID, x,y,z, rx, ry, rz 
nottrue = false 
  
addCommandHandler("gate", 
function (thePlayer) 
    team = getPlayerTeam (thePlayer) 
    if ( getTeamName ( team ) == "EDIT" ) then -- change the EDIT to your Faction name 
        local x, y, z = getElementPosition(thePlayer) 
        local distance = getDistanceBetweenPoints3D (x, y, z, gx, gy, gz) -- change the gx, gy, gz to your Gate coordinates, stay off of the x, y, z 
    if distance < 35 then 
        if (nottrue == false) then 
            moveObject( insideDoor, 2000, x, y, z, 0, 0, 0 ) 
            nottrue = true 
        elseif (nottrue == true) then 
            moveObject( insideDoor, 2000, x, y, z, 0, 0, 0 ) 
            nottrue = false 
        end 
    end 
        else 
            outputChatBox("Access Denied!", thePlayer, 255, 100, 0) 
        end 
end) 

This is what I use

"If debugging is the process of removing software bugs, then programming must be the process of putting them in."

Posted
gate= createObject(980, 1579, 713.6, 12.5, 0, 0, 0) -- Not quite sure if the rotation should be 0 else edit it 
nottrue = false 
  
addCommandHandler("gate", 
function (thePlayer) 
    team = getPlayerTeam (thePlayer) 
    if ( getTeamName ( team ) == "The Montana Family" ) then 
        local x, y, z = getElementPosition(thePlayer) 
        local distance = getDistanceBetweenPoints3D (x, y, z, 1579, 713.6, 12.5) 
    if distance < 35 then 
        if (nottrue == false) then 
            moveObject( insideDoor, 2000, 1579, 713.6, 12.5, 0, 0, 0 ) 
            nottrue = true 
        elseif (nottrue == true) then 
            moveObject( insideDoor, 2000, 1579, 713.6, 7, 0, 0, 0 ) 
            nottrue = false 
        end 
    end 
        else 
            outputChatBox("Access Denied!", thePlayer, 255, 100, 0) 
        end 
end) 

Here you go!

"If debugging is the process of removing software bugs, then programming must be the process of putting them in."

Posted
gate = createObject(980, 1579, 713.6, 12.5, 0, 0, 90) -- Not quite sure if the rotation should be 0 else edit it 
nottrue = false 
  
addCommandHandler("gate", 
function (thePlayer) 
    local team = getPlayerTeam (thePlayer) 
    if ( team and getTeamName ( team ) == "The Montana Family" ) then 
        local x, y, z = getElementPosition(thePlayer) 
        local distance = getDistanceBetweenPoints3D (x, y, z, 1579, 713.6, 12.5) 
        if distance < 35 then 
            if (nottrue == true) then 
                moveObject( gate, 2000, 1579, 713.6, 12.5 ) 
                nottrue = false 
            elseif (nottrue == false) then 
                moveObject( gate, 2000, 1579, 713.6, 7 ) 
                nottrue = true 
            end 
        end 
    else 
        outputChatBox("Access Denied!", thePlayer, 255, 100, 0) 
    end 
end) 

CiTLh.png

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