Jump to content

Not even sure why this doesnt work?


Xeno

Recommended Posts

Posted

Im making a gate, that will only open for a certain team, the gate opens but it seems to open for all teams, here is the code,

function gateOpen() 
if getTeamFromName("Subway Clan(2)") and getTeamFromName("Beginners(1)") then 
moveObject ( gate, 1000, 808, -1342, 7 ) 
  
setTimer( moveObject,3000,1,gate, 1000,808,-1342,15.-- s8) -->
else 
end 
end 
addEventHandler("onMarkerHit", marker1, gateOpen) 
addEventHandler("onMarkerHit", marker2, gateOpen) 

I would appreciate it if someone help me, thanks.

Posted
eh ok you put that he had to be in 2 teams and where ois the markers defined ?

Wich team you want it for ?

I had them already, but didn't put them in the script,

local marker1 = createMarker(810, -1341, 13, 'cylinder', 3.0, 0, 0, 0, 0) 
local marker2 = createMarker(806, -1341, 13, 'cylinder', 3.0, 0, 0, 0, 0) 
  
  

Posted

You are just checking if these teams exists, not if the player team is one of these.

function gateOpen(hitElement) 
if (getElementType(hitElement) == "player") then 
    hitPlayer = hitElement 
elseif (getElementType(hitElement) == "vehicle") then 
    hitPlayer = getVehicleController(hitElement) 
end 
local playerTeam = getPlayerTeam(hitPlayer) 
if (not playerTeam) then return end 
local teamName = getTeamName(playerTeam) 
if (teamName == "Subway Clan(2)" or teamName == "Beginners(1)") then 
moveObject ( gate, 1000, 808, -1342, 7 ) 
setTimer( moveObject, 3000, 1, gate, 1000, 808, -1342, 15) 
    end 
end 
addEventHandler("onMarkerHit", marker1, gateOpen) 
addEventHandler("onMarkerHit", marker2, gateOpen) 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted
You are just checking if these teams exists, not if the player team is one of these.
function gateOpen(hitElement) 
if (getElementType(hitElement) == "player") then 
    hitPlayer = hitElement 
elseif (getElementType(hitElement) == "vehicle") then 
    hitPlayer = getVehicleController(hitElement) 
end 
local playerTeam = getPlayerTeam(hitPlayer) 
if (not playerTeam) then return end 
local teamName = getTeamName(playerTeam) 
if (teamName == "Subway Clan(2)" or teamName == "Beginners(1)") then 
moveObject ( gate, 1000, 808, -1342, 7 ) 
setTimer( moveObject, 3000, 1, gate, 1000, 808, -1342, 15) 
    end 
end 
addEventHandler("onMarkerHit", marker1, gateOpen) 
addEventHandler("onMarkerHit", marker2, gateOpen) 

Thats fantastic and it works great. Would this also work?

function setposOnLogin() 
local teamName = getTeamName(playerTeam) 
if (teamName == "Subway Clan(2)") then 
spawnPlayer(...ect) 
end 
addEventHandler("onPlayerLogin", getRootElement(), setposOnLogin) 
  

Posted
function setposOnLogin() 
local playerTeam = getPlayerTeam(source) -- This was missing. 
if (not playerTeam) then return end 
local teamName = getTeamName(playerTeam) 
if (teamName == "Subway Clan(2)") then 
       spawnPlayer(...ect) 
    end -- this was missing. 
end 
addEventHandler("onPlayerLogin", getRootElement(), setposOnLogin) 

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

Posted
function setposOnLogin() 
local playerTeam = getPlayerTeam(source) -- This was missing. 
if (not playerTeam) then return end 
local teamName = getTeamName(playerTeam) 
if (teamName == "Subway Clan(2)") then 
       spawnPlayer(...ect) 
    end -- this was missing. 
end 
addEventHandler("onPlayerLogin", getRootElement(), setposOnLogin) 

Thanks mate. I owe you one.

Posted

You're welcome.

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

  • MTA Team
Posted (edited)
function gateOpen(hitElement) 
   local hitPlayer = (getElementType(hitElement) == "player" and hitElement ) or (getElementType(hitElement) == "vehicle" and getVehicleController(hitElement)) 
   local playerTeam = getPlayerTeam(hitPlayer) 
   if (not playerTeam) then return end 
   local teamName = getTeamName(playerTeam) 
   if (teamName == "Subway Clan(2)" or teamName == "Beginners(1)") then 
       moveObject ( gate, 1000, 808, -1342, 7 ) 
       setTimer( moveObject, 3000, 1, gate, 1000, 808, -1342, 15) 
   end 
end 
addEventHandler("onMarkerHit", marker1, gateOpen) 
addEventHandler("onMarkerHit", marker2, gateOpen) 

Optimised code, it should work. Not tested.

Edited by Guest
Posted
function gateOpen(hitElement) 
   local hitPlayer = (getElementType(hitElement) == "player" and hitElement ) or (getElementType(hitElement) == "vehicle" and getVehicleController(hitElement)) 
   local playerTeam = getPlayerTeam(hitPlayer) 
   if (not playerTeam) then return end 
   local teamName = getTeamName(playerTeam) 
   if (teamName == "Subway Clan(2)" or teamName == "Beginners(1)") then 
       moveObject ( gate, 1000, 808, -1342, 7 ) 
       setTimer( moveObject, 3000, 1, gate, 1000, 808, -1342, 15) 
   end 
end 
addEventHandler("onMarkerHit", marker1, gateOpen) 
addEventHandler("onMarkerHit", marker2, gateOpen) 

Optimised code, it should work. Not tested.

Thanks muchly :D

Posted

Remi-X, at least the script himself works fine, wrong indentation doesn't kill people, does it?

San Andreas Utopia RPG (SAUR) Owner & Developer.

560x95_FFFFFF_FF9900_000000_000000.png

Education is the most powerful weapon which you can use to change the world.

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