Jump to content

[Ayuda] Script


Grove-MTA

Recommended Posts

estoy aprendiendo a scriptear y pues tengo un script que es para bases para protejer una zona, pero para que no se mueran los usuarios hay que agregarlos al ACL pero quiero que sea por Team o por Clan esto es lo que tengo del script:

RestricLocation = {} 
TeleportLocation = {} 
EnabledAlarm = true 
TimesToKick = {} 
TimeSireneEnabled = true 
ColCuboid = false 
  
--------------------------------------- CONFIGS -------------------------------------------- 
  
  
RestricLocation["location1"] = {2517.1000976563, 1945.0999755859, 68.099998474121}  --Local 1 
RestricLocation["location2"] = {2678.3999023438, 1621.8000488281, 3.7999999523163}  --LOCAL 2 
TeleportLocation = {-2382.44140625, -1920.5615234375, 518.60784912109} --LOCAL TO TELEPORT PLAYER 
GroupName = "C.B" -- name of the acl/gang group !!! 
GroupNameBy = 1 -- 1 for gang name, 2 for ACL group ! 
cmdTurnON = "turnONcmd" -- Command to enable alarm / 
cmdTurnOFF = "TurnOFFcmd" -- Command to disable alarm / 
MsgtoKICK = "#22c1ed[[Clan M.P]] #FF0000Alejate de la base, si no perteneces al clan seras expulsado o kikeado" 
MsgCantCreateCollision = "Can't be created the Collision, check your location1 and location2" 
EnableVehicleGodMode = true -- true enabled, false disabled. 
KickORBAN = 1 -- 1 for kick player, 2 for BAN 
BanTime = 900000 -- time in seconds of ban, 900000 sec = 15 min 
MsgBAN = "Invadir base M.P" -- Reason of BAN ! 
  
  
--------------------------------------- CONFIGS -------------------------------------------- 
  
  
function sendMsg(iplayer,msg) 
    outputChatBox ( msg, iplayer, 255, 255, 255, true ) 
end 
  
function EnterPlace ( theElement ) 
    if (getElementType ( theElement ) == "player") and (PlayerHaveLevel (theElement) == false) and (EnabledAlarm == true ) then 
        if(TimesToKick[theElement] > 0) then 
            sendMsg(theElement,MsgtoKICK ..TimesToKick[theElement]) 
            TimesToKick[theElement] = TimesToKick[theElement] -1 
            setElementPosition( theElement, TeleportLocation[1], TeleportLocation[2], TeleportLocation[3]) 
            if TimeSireneEnabled == true then 
                triggerClientEvent ( "ActiveAlarm", getRootElement() ) 
            end 
            sendMsgOwners(theElement) 
        else 
            if (KickORBAN == 1) then 
                kickPlayer(theElement) 
            else 
                banPlayer ( theElement , false, false, true, "Alarme system Base", MsgBAN, BanTime ) 
            end 
  
        end 
    elseif getElementType ( theElement ) == "vehicle" then 
        SetVehicleGodMode(theElement,true) 
    end 
end 
  
function ExitPlace ( theElement ) 
    if getElementType ( theElement ) == "vehicle" then 
        SetVehicleGodMode(theElement,false) 
    end 
end 
  
function ASBenable1 ( source ) 
    if(PlayerHaveLevel (source) == true) then 
        EnabledAlarm = true 
    end 
end 
  
function ASBdisable1 ( source ) 
    if(PlayerHaveLevel (source) == true) then 
        EnabledAlarm = false 
    end 
end 
  
function ResetStats ( ) 
  
    local connectedPlayers = getElementsByType ( "player" ) 
  
    for i, aPlayer in ipairs(connectedPlayers) do 
        if TimesToKick[aPlayer] == nil then 
            TimesToKick[aPlayer] = 5 
        end 
        if(TimesToKick[aPlayer] < 5) then 
            TimesToKick[aPlayer] = TimesToKick[aPlayer] + 1 
        end 
    end 
end 
  
function playerConnect ( playerNick ) 
    local iPlayer = getPlayerFromName ( playerNick ) 
    TimesToKick[iPlayer] = 5 
end 
  
function PlayerHaveLevel( PlayerID ) 
    if GroupNameBy == 1 then 
        if ( getElementData ( PlayerID , "gang" ) == GroupName ) then 
            return true 
        else 
            return false 
        end 
    else 
        local accName = getAccountName ( getPlayerAccount ( PlayerID ) ) 
        if ( isObjectInACLGroup ("user."..accName, aclGetGroup ( GroupName ) ) ) then 
            return true 
        else 
            return false 
        end 
    end 
end 
  
function ResourceStart( ) 
    LoadLocations() 
    CreateCollision() 
    local connectedPlayers = getElementsByType ( "player" ) 
    for i, aPlayer in ipairs(connectedPlayers) do 
        TimesToKick[aPlayer] = 5 
    end 
end 
addEventHandler( "onResourceStart", getResourceRootElement( getThisResource() ),ResourceStart) 
  
function LoadLocations() 
    local RX, RY, RZ, WRX, WRX, WRX 
    if(RestricLocation["location1"][1] > RestricLocation["location2"][1]) then 
        RestricLocation["maxx"] = RestricLocation["location1"][1] 
        RestricLocation["minx"] = RestricLocation["location2"][1] 
    else 
        RestricLocation["maxx"] = RestricLocation["location2"][1] 
        RestricLocation["minx"] = RestricLocation["location1"][1] 
    end 
    if(RestricLocation["location1"][2] > RestricLocation["location2"][2]) then 
        RestricLocation["maxy"] = RestricLocation["location1"][2] 
        RestricLocation["miny"] = RestricLocation["location2"][2] 
    else 
        RestricLocation["maxy"] = RestricLocation["location2"][2] 
        RestricLocation["miny"] = RestricLocation["location1"][2] 
    end 
    if(RestricLocation["location1"][3] > RestricLocation["location2"][3]) then 
        RestricLocation["maxz"] = RestricLocation["location1"][3] 
        RestricLocation["minz"] = RestricLocation["location2"][3] 
    else 
        RestricLocation["maxz"] = RestricLocation["location2"][3] 
        RestricLocation["minz"] = RestricLocation["location1"][3] 
    end 
end 
  
function CreateCollision() 
    RX = RestricLocation["minx"] 
    WRX = RestricLocation["maxx"] - RestricLocation["minx"] 
    RY = RestricLocation["miny"] 
    WRY = RestricLocation["maxy"] - RestricLocation["miny"] 
    RZ = RestricLocation["minz"] 
    WRZ = RestricLocation["maxz"] - RestricLocation["minz"] 
    ColCuboid = createColCuboid ( RX, RY, RZ, WRX, WRY, WRZ ) 
    if ColCuboid then 
        addEventHandler ( "onColShapeHit", ColCuboid, EnterPlace ) 
        addEventHandler ( "onColShapeLeave", ColCuboid, ExitPlace ) 
    else 
        outputDebugString(MsgCantCreateCollision) 
    end 
end 
  
function ResourceStop( ) 
    destroyElement ( ColCuboid ) 
end 
addEventHandler( "onResourceStop", getResourceRootElement( getThisResource() ),ResourceStop) 
  
function SireneEnabled() 
    TimeSireneEnabled = true 
end 
  
function sendMsgOwners( PlayerID ) 
    local connectedPlayers = getElementsByType ( "player" ) 
    for i, aPlayer in ipairs(connectedPlayers) do 
        if(PlayerHaveLevel (aPlayer) == true) then 
            sendMsg(aPlayer," O Jogador " ..getPlayerName ( PlayerID ) .." esta tentando invadir a sua BASE !") 
        end 
    end 
end 
  
function SetVehicleGodMode( VehicleID, godEoD ) 
    if EnableVehicleGodMode == true then 
        setElementData(VehicleID, "godmode", godEoD) 
        setVehicleDamageProof (VehicleID, godEoD ) 
    end 
end 
  
setTimer ( SireneEnabled , 20000, 0, "" ) 
setTimer ( ResetStats , 15000, 0, "" ) 
addCommandHandler(cmdTurnON, ASBenable1 ) 
addCommandHandler(cmdTurnOFF, ASBdisable1 ) 
addEventHandler ("onPlayerConnect", getRootElement(), playerConnect) 
  
  
  

Edited by Guest
Link to comment
  • Recently Browsing   0 members

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