Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fraktionMembers = {}
- for i = 0, 99 do
- fraktionMembers[i] = {}
- end
- fraktionMembersOffOn = {}
- for i = 0, 99 do
- fraktionMembersOffOn[i] = {}
- end
- zeitTable = {}
- local frespawnTimer = {}
- local zaehlerFrespawnTimer = {}
- factionVehicles = {}
- factionVehicles[1] = {}
- factionVehicles[2] = {}
- factionVehicles[3] = {}
- factionVehicles[4] = {}
- factionVehicles[5] = {}
- factionVehicles[6] = {}
- factionVehicles[7] = {}
- factionVehicles[8] = {}
- factionVehicles[9] = {}
- factionVehicles[10] = {}
- factionVehicles[11] = {}
- factionSkins = {}
- factionSkins[1] = { [1]=280, [2]=281, [3]=282, [4]=283, [5]=284, [6]=285, [7]=288, [8]=265, [9]=266, [10]=267 }
- factionSkins[2] = { [1]=111, [2]=112, [3]=113, [4]=124, [5]=125, [6]=126, [7]=127, [8]=237, [9]=272 }
- factionSkins[3] = { [1]=49, [2]=117, [3]=118, [4]=120, [5]=122, [6]=123, [7]=141, [8]=169, [9]=186, [10]=294 }
- factionSkins[4] = { [1]=221, [2]=222, [3]=220, [4]=143, [5]=142, [6]=307 }
- factionSkins[5] = { [1]=59, [2]=141, [3]=187, [4]=188, [5]=189, [6]=296 }
- factionSkins[6] = { [1]=285, [2]=286, [3]=165, [4]=164, [5]=163, [6]=295 }
- factionSkins[7] = { [1]=173, [2]=174, [3]=175, [4]=115, [5]=114, [6]=116, [7]=293, [8]=292, [9]=108, [10]=109, [11]=110 }
- factionSkins[8] = { [1]=287, [2]=312, [3]=191 }
- factionSkins[9] = { [1]=100, [2]=247, [3]=248, [4]=298, [5]=181, [6]=299, [7]=291 }
- factionSkins[10] = { [1]=274, [2]=275, [3]=276, [4]=70 }
- factionSkins[11] = { [1]=305, [2]=268, [3]=201, [4]=128, [5]=50, [6]=42 }
- fraktionNames = {}
- fraktionNames = { [1]="SFPD", [2]="Cosa Nostra", [3]="Triaden", [4]="Terroristen", [5]="SAN News", [6]="FBI", [7]="Los Aztecas", [8]="Army", [9]="Angels of Death", [10]="Sanitäter", [11]="Mechaniker" }
- aktionlaeuft = false
- ---------------------------------------------------------------------------------------------------------------
- function isPDCar ( car )
- if factionVehicles[1][car] then return true else return false end
- end
- function isMafiaCar ( car )
- if factionVehicles[2][car] then return true else return false end
- end
- function isTriadenCar ( car )
- if factionVehicles[3][car] then return true else return false end
- end
- function isTerrorCar ( car )
- if factionVehicles[4][car] then return true else return false end
- end
- function isNewsCar ( car )
- if factionVehicles[5][car] then return true else return false end
- end
- function isFBICar ( car )
- if factionVehicles[6][car] then return true else return false end
- end
- function isAztecasCar ( car )
- if factionVehicles[7][car] then return true else return false end
- end
- function isArmyCar ( car )
- if factionVehicles[8][car] then return true else return false end
- end
- function isBikerCar ( car )
- if factionVehicles[9][car] then return true else return false end
- end
- function isMedicCar ( car )
- if factionVehicles[10][car] then return true else return false end
- end
- function isMechanikerCar ( car )
- if factionVehicles[11][car] then return true else return false end
- end
- function isFederalCar ( car )
- if isArmyCar( car ) or isFBICar( car ) or isPDCar ( car ) then
- return true
- else
- return false
- end
- end
- function isEvilCar ( car )
- if isMafiaCar( car ) or isTriadenCar( car ) or isTerrorCar ( car ) or isAztecasCar ( car ) or isBikerCar ( car ) then
- return true
- else
- return false
- end
- end
- function getPlayerFaction ( player )
- local fac = vioGetElementData ( player, "fraktion" )
- if fac then
- return tonumber(fac)
- else
- return false
- end
- end
- function getPlayerRank ( player )
- local ran = vioGetElementData ( player, "rang" )
- if ran then
- return tonumber(ran)
- else
- return false
- end
- end
- function getPlayerRankName ( player )
- local ran = getPlayerRank ( player )
- local fac = getPlayerFaction ( player )
- if ran then
- return factionRankNames[fac][ran]
- else
- return false
- end
- end
- -----------------------------------------------------------------------------------------------------
- function isReporter(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 5 then return true else return false end
- end
- function isTerror(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 4 then return true else return false end
- end
- function isTriad(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 3 then return true else return false end
- end
- function isMafia(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 2 then return true else return false end
- end
- function isCop(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 1 then return true else return false end
- end
- function isFBI(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 6 then return true else return false end
- end
- function isAztecas(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 7 then return true else return false end
- end
- function isArmy(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 8 then return true else return false end
- end
- function isBiker(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 9 then return true else return false end
- end
- function isMedic(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 10 then return true else return false end
- end
- function isMechaniker(player)
- if tonumber(vioGetElementData ( player, "fraktion" )) == 11 then return true else return false end
- end
- ------------------------------------------------------------------------------------------------------
- function isStateFaction(player)
- if isArmy(player) or isCop(player) or isFBI(player) then return true else return false end
- end
- function isOnStateDuty(player)
- return isOnDuty(player)
- end
- function isOnDuty(player)
- local model = getElementModel(player)
- if isCop (player) then
- for i, skin in pairs ( factionSkins[1] ) do
- if skin == model then
- return true
- end
- end
- elseif isFBI (player) then
- for i, skin in pairs ( factionSkins[6] ) do
- if skin == model then
- return true
- end
- end
- elseif isArmy (player) then
- for i, skin in pairs ( factionSkins[8] ) do
- if skin == model then
- return true
- end
- end
- end
- return false
- end
- function isEmergencyOnDuty(player)
- local model = getElementModel(player)
- if isMedic (player) then
- for i, skin in pairs ( factionSkins[10] ) do
- if skin == model then
- return true
- end
- end
- elseif isMechaniker (player) then
- for i, skin in pairs ( factionSkins[11] ) do
- if skin == model then
- return true
- end
- end
- end
- return false
- end
- function isAbleOffduty ( player )
- local model = getElementModel(player)
- for i, skin in pairs ( factionSkins[1] ) do
- if skin == model then
- return true
- end
- end
- for i, skin in pairs ( factionSkins[6] ) do
- if skin == model then
- return true
- end
- end
- return false
- end
- function isEvil(player)
- if isMafia(player) or isTriad(player) or isTerror(player) or isAztecas(player) or isBiker(player) then return true else return false end
- end
- function isEmergency(player)
- if isMedic(player) or isMechaniker(player) then return true else return false end
- end
- function isInDepotFaction(player)
- if isMafia(player) or isTriad(player) or isTerror(player) or isReporter(player) or isAztecas(player) or isBiker(player) then return true else return false end
- end
- ---------------------------------------------------------------------------------------------------
- --[[function fuelleTabelleFuerMitgliederAus ()
- end
- addEventHandler ("onResourceStart", getResourceRootElement(getThisResource()), fuelleTabelleFuerMitgliederAus)]]
- function sendMSGForFaction ( msg, faction, r, g, b )
- if not r then
- local r, g, b = 200, 200, 100
- end
- for playeritem, key in pairs ( fraktionMembers[faction] ) do
- outputChatBox ( msg, playeritem, r, g, b )
- end
- end
- function getFactionMembersOnline ( faction )
- if faction then
- counter = 0
- for playeritem, index in pairs ( fraktionMembers[faction] ) do
- counter = counter + 1
- end
- return counter
- else
- return false
- end
- end
- function policeComputer ( presser, key, state )
- if state == "down" and isOnDuty(presser) and isFederalCar ( getPedOccupiedVehicle ( presser ) ) and getElementModel ( getPedOccupiedVehicle ( presser ) ) ~= 520 then
- triggerClientEvent ( presser,"showPDComputer", getRootElement() )
- end
- end
- function createTeleportMarker ( x1, y1, z1, int1, dim1, x2, y2, z2, int2, dim2, rot, needetFaction )
- if not needetFaction then
- needetFaction = 0
- end
- local marker1 = createMarker ( x1, y1, z1 + 0.5, "corona", 1, 0, 0, 0, 0 )
- local marker2 = createMarker ( x1, y1, z1, "cylinder", 1, 255, 0, 0, 150 )
- setElementDimension ( marker1, dim1 )
- setElementDimension ( marker2, dim1 )
- setElementInterior ( marker1, int1 )
- setElementInterior ( marker2, int1 )
- addEventHandler ( "onMarkerHit", marker1,
- function ( hit, dim )
- if dim then
- if getElementType ( hit ) == "player" then
- if not getPedOccupiedVehicle ( hit ) then
- if needetFaction == 0 or getElementData ( hit, "fraktion" ) == needetFaction then
- fadeElementInterior ( hit, int2, x2, y2, z2, rot, dim2 )
- else
- infobox ( hit, "Du bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- end
- end
- end
- end
- )
- end
- function createFactionVehicle ( model, x, y, z, rx, ry, rz, faction, c1, c2, c3, c4, numberplate )
- if not c3 then
- c3 = 0
- end
- if not c4 then
- c4 = 0
- end
- if not numberplate then
- numberplate = fraktionNames[faction]
- end
- local veh = createVehicle ( model, x, y, z, rx, ry, rz, numberplate )
- setVehicleColor ( veh, c1, c2, c3, c4 )
- setElementHealth ( veh, 1700 )
- setVehicleHandling(veh, "engineAcceleration", (getVehicleHandling(veh)['engineAcceleration']/100*120))
- setVehicleHandling(veh, "maxVelocity", (getVehicleHandling(veh)['maxVelocity']/100*120))
- setVehiclePaintjob ( veh, 3 )
- toggleVehicleRespawn ( veh, true )
- setVehicleRespawnDelay ( veh, FCarDestroyRespawn * 1000 * 60 )
- setVehicleIdleRespawnDelay ( veh, FCarIdleRespawn * 1000 * 60 )
- factionVehicles[faction][veh] = true
- vioSetElementData ( veh, "owner", fraktionNames[faction] )
- vioSetElementData ( veh, "ownerfraktion", faction )
- if faction == 1 then
- addEventHandler ( "onVehicleEnter", veh,
- function ( player, seat )
- local veh = source
- if not isKeyBound ( player, "sub_mission", "down", policeComputer ) then
- bindKey ( player, "sub_mission", "down", policeComputer )
- end
- end )
- elseif faction == 6 then
- addEventHandler ( "onVehicleEnter", veh,
- function ( player, seat )
- local veh = source
- if not isKeyBound ( player, "sub_mission", "down", policeComputer ) then
- bindKey ( player, "sub_mission", "down", policeComputer )
- end
- end )
- elseif faction == 8 then
- addEventHandler ( "onVehicleEnter", veh,
- function ( player, seat )
- local veh = source
- if getPedOccupiedVehicleSeat ( player ) == 0 then
- if not isKeyBound ( player, "sub_mission", "down", policeComputer ) and getElementModel ( veh ) ~= 520 then
- bindKey ( player, "sub_mission", "down", policeComputer )
- end
- if getElementModel ( veh ) == 433 then
- setElementHealth ( player, 100 )
- triggerClientEvent ( player, "sec_health_give", getRootElement(), 999 )
- setPedArmor ( player, 100 )
- triggerClientEvent ( player, "sec_armor_give", getRootElement(), 100 )
- triggerClientEvent ( player, "eatSomething", getRootElement() )
- elseif getElementModel ( veh ) == 432 then
- if vioGetElementData ( player, "job" ) ~= "tankcommander" then
- opticExitVehicle ( player )
- outputChatBox ( "Du hast nicht die erforderliche Klasse!", player, 125, 0, 0 )
- end
- elseif getElementModel ( veh ) == 425 or getElementModel ( veh ) == 520 then
- if vioGetElementData ( player, "job" ) ~= "air" then
- opticExitVehicle ( player )
- outputChatBox ( "Du hast nicht die erforderliche Klasse!", player, 125, 0, 0 )
- end
- elseif getElementModel ( veh ) == 563 or getElementModel ( veh ) == 595 then
- if vioGetElementData ( player, "job" ) ~= "marine" and seat == 0 then
- opticExitVehicle ( player )
- outputChatBox ( "Du hast nicht die erforderliche Klasse!", player, 125, 0, 0 )
- else
- giveWeapon ( player, 46, 3, true )
- triggerClientEvent ( player, "sec_gun_give", getRootElement(), 46, 3 )
- end
- end
- else
- if not isKeyBound ( player, "sub_mission", "down", policeComputer ) and isOnDuty( player ) then
- bindKey ( player, "sub_mission", "down", policeComputer )
- end
- if getElementModel ( veh ) == 433 then
- setElementHealth ( player, 100 )
- triggerClientEvent ( player, "sec_health_give", getRootElement(), 999 )
- setPedArmor ( player, 100 )
- triggerClientEvent ( player, "sec_armor_give", getRootElement(), 100 )
- triggerClientEvent ( player, "eatSomething", getRootElement() )
- end
- end
- end )
- end
- return veh
- end
- function block_tie_cmds ( cmd )
- cancelEvent()
- end
- function tie_func ( player, cmd, target )
- local target = findPlayerByName( target )
- if target and target ~= player and getPedOccupiedVehicle ( target ) then
- if isEvil(player) or isOnDuty(player) then
- if getVehicleOccupant( getPedOccupiedVehicle ( player ) ) ~= target and getPedOccupiedVehicleSeat ( target ) > 0 then
- local x1, y1, z1 = getElementPosition ( player )
- local x2, y2, z2 = getElementPosition ( target )
- if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 5 then
- local boolean = not vioGetElementData ( target, "tied" )
- vioSetElementData ( target, "tied", boolean )
- toggleAllControls ( target, boolean )
- if boolean then fix = "ent" else fix = "ge" end
- if fix == "ge" then
- addEventHandler( "onPlayerCommand", target, block_tie_cmds )
- elseif fix == "ent" then
- removeEventHandler ( "onPlayerCommand", target, block_tie_cmds )
- end
- if fix == "ent" then
- fadeCamera ( target, true, 0.5, 0, 0, 0 )
- elseif isEvil ( player ) then
- fadeCamera ( target, false, 0.5, 0, 0, 0 )
- end
- outputChatBox ( "Du hast "..getPlayerName(target).." "..fix.."fesselt!", player, 0, 125, 0 )
- outputChatBox ( "Du wurdest von "..getPlayerName(player).." "..fix.."fesselt!", target, 200, 200, 0 )
- else
- outputChatBox ( "Du bist zu weit weg!", player, 125, 0, 0 )
- end
- else
- outputChatBox ( "Ungueltiges Ziel!", player, 125, 0, 0 )
- end
- else
- outputChatBox ( "Du bist in einer ungueltigen Fraktion!", player, 125, 0, 0 )
- end
- else
- outputChatBox ( "Ungueltiges Ziel!", player, 125, 0, 0 )
- end
- end
- addCommandHandler ( "tie", tie_func )
- function fstate_func(player)
- if isMafia ( player ) then
- outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '2'").."$ | "..MySQL_GetString("fraktionen", "DepotDrogen", "ID LIKE '2'").."g Drogen | "..MySQL_GetString("fraktionen", "DepotMaterials", "ID LIKE '2'").." Materialien", player, 200, 200, 0 )
- elseif isTriad ( player ) then
- outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '3'").."$ | "..MySQL_GetString("fraktionen", "DepotDrogen", "ID LIKE '3'").."g Drogen | "..MySQL_GetString("fraktionen", "DepotMaterials", "ID LIKE '3'").." Materialien", player, 200, 200, 0 )
- elseif isAztecas ( player ) then
- outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '7'").."$ | "..MySQL_GetString("fraktionen", "DepotDrogen", "ID LIKE '7'").."g Drogen | "..MySQL_GetString("fraktionen", "DepotMaterials", "ID LIKE '7'").." Materialien", player, 200, 200, 0 )
- elseif isBiker(player) then
- outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '9'").."$ | "..MySQL_GetString("fraktionen", "DepotDrogen", "ID LIKE '9'").."g Drogen | "..MySQL_GetString("fraktionen", "DepotMaterials", "ID LIKE '9'").." Materialien", player, 200, 200, 0 )
- elseif isCop ( player ) or isFBI ( player ) or isArmy ( player ) then
- outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '1'").."$ und "..MySQL_GetString("fraktionen", "DepotMaterials", "ID LIKE '1'").." Materialien", player, 200, 200, 0 )
- elseif isReporter ( player ) then
- outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '5'").."$", player, 200, 200, 0 )
- end
- end
- addCommandHandler ( "fstate", fstate_func )
- function fskin_func ( player )
- local curskin = getElementModel ( player )
- local faction = getPlayerFaction ( player )
- local val = false
- if getPedOccupiedVehicle ( player ) then
- outputChatBox ( "Bitte nutze diesen Befehl nur ausserhalb von Fahrzeugen!", player, 125, 0, 0 )
- elseif faction == 6 and isOnDuty(player) and getElementModel ( player ) ~= 285 then
- for i, skin in pairs (factionSkins[6]) do
- if skin == getElementModel(player) then
- val = i
- break
- end
- end
- if val == false or val == #factionSkins[6] then
- setElementModel ( player, factionSkins[6][2] )
- return
- else
- setElementModel ( player, factionSkins[6][val+1] )
- return
- end
- elseif faction >= 1 and faction ~= 1 and faction ~= 6 and faction ~= 10 and faction ~= 11 then
- for i, skin in pairs (factionSkins[faction]) do
- if skin == getElementModel(player) then
- val = i
- break
- end
- end
- if val == false or val == #factionSkins[faction] then
- setElementModel ( player, factionSkins[faction][1] )
- vioSetElementData ( player, "skinid", factionSkins[faction][1] )
- return
- else
- setElementModel ( player, factionSkins[faction][val+1] )
- vioSetElementData ( player, "skinid", factionSkins[faction][val+1] )
- return
- end
- else
- outputChatBox ( "Du darfst diesen Befehl nicht benutzen!", player, 125, 0, 0 )
- end
- end
- addCommandHandler ( "fskin", fskin_func )
- function invite_func ( player, cmd, target )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if faction ~= 0 and rank >= 5 then
- local target = findPlayerByName( target )
- if target ~= false then
- if getPlayerFaction( target ) == 0 then
- if not isInGang ( getPlayerName ( target ) ) then
- vioSetElementData ( target, "fraktion", faction )
- vioSetElementData ( target, "rang", 0 )
- fraktionMembers[faction][target] = faction
- if faction > 0 and faction < 10 then
- fraktionMembersOffOn[faction][getPlayerName(target)] = 0
- elseif faction == 10 or faction == 11 then
- fraktionMembersOffOn[10][getPlayerName(target)] = rang
- end
- zeitTable[getPlayerName(target)] = timestampOptical ()
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..getPlayerName(target).."'")
- outputChatBox ( "Du wurdest soeben in eine Fraktion aufgenommen! Tippe /t [Text] fuer den Chat und F1, um mehr zu erfahren!", target, 0, 125, 0 )
- outputChatBox ( "Du hast den Spieler "..getPlayerName(target).." in deine Fraktion aufgenommen!", player, 0, 125, 0 )
- if faction == 1 or faction == 6 or faction == 8 then
- bindKey ( target, "y", "down", "chatbox", "t" )
- end
- else
- infobox ( player, "\n\n\nDer Spieler ist\nin einer Gang!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler ist\nbereits in\neiner Fraktion!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- end
- addCommandHandler ( "invite", invite_func )
- function inviteFraktion_func ( player, cmd, target )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if faction ~= 0 and rank >= 5 then
- local targetpl = findPlayerByName( target )
- if targetpl ~= false and vioGetElementData (targetpl, "loggedin") == 1 then
- if getPlayerFaction( targetpl ) == 0 then
- if not isInGang ( getPlayerName ( targetpl ) ) then
- vioSetElementData ( targetpl, "fraktion", faction )
- vioSetElementData ( targetpl, "rang", 0 )
- if faction == 1 or faction == 6 or faction == 8 then
- bindKey ( targetpl, "y", "down", "chatbox", "t" )
- end
- fraktionMembers[faction][targetpl] = faction
- if faction > 0 and faction < 10 then
- fraktionMembersOffOn[faction][getPlayerName(targetpl)] = 0
- elseif faction == 10 or faction == 11 then
- fraktionMembersOffOn[10][getPlayerName(targetpl)] = 0
- end
- zeitTable[getPlayerName(targetpl)] = timestampOptical ()
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
- outputChatBox ( "Du wurdest soeben in eine Fraktion aufgenommen! Tippe /t [Text] fuer den Chat und F1, um mehr zu erfahren!", targetpl, 0, 125, 0 )
- outputChatBox ( "Du hast den Spieler "..getPlayerName(targetpl).." in deine Fraktion aufgenommen!", player, 0, 125, 0 )
- else
- infobox ( player, "\n\n\nDer Spieler ist\nin einer Gang!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler ist\nbereits in\neiner Fraktion!", 5000, 125, 0, 0 )
- end
- else
- if faction > 0 and faction < 10 then
- fraktionMembersOffOn[faction][target] = 0
- elseif faction == 10 or faction == 11 then
- fraktionMembersOffOn[10][target] = 0
- end
- zeitTable[target] = timestampOptical ()
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- MySQL_SetString ( "userdata", "Fraktion", faction, "Name LIKE '"..target.."'")
- outputChatBox ( "Du hast den Spieler "..target.." in deine Fraktion aufgenommen!", player, 0, 125, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- end
- addEvent ( "fraktion_invite", true )
- addEventHandler ( "fraktion_invite", getRootElement(), inviteFraktion_func )
- function uninvite_func ( player, cmd, target )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if faction > 0 and rank >= 5 then
- local target = findPlayerByName( target )
- if target ~= false then
- if (faction == getPlayerFaction( target ) or ( getPlayerFaction( target ) == 10 and faction == 11 ) or ( getPlayerFaction( target ) == 11 and faction == 10 ) ) and getPlayerRank ( target ) <= 4 then
- local model = malehomeless[math.random ( 1, 5 )]
- setElementModel ( target, model )
- vioSetElementData ( target, "skinid", model )
- if faction == 1 or faction == 6 or faction == 8 then
- unbindKey ( target, "y", "down", "chatbox" )
- end
- vioSetElementData ( target, "rang", 0 )
- fraktionMembers[faction][target] = nil
- if faction > 0 and faction < 10 then
- fraktionMembersOffOn[faction][getPlayerName(target)] = nil
- elseif faction == 10 or faction == 11 then
- fraktionMembersOffOn[10][getPlayerName(target)] = nil
- end
- zeitTable[getPlayerName(target)] = nil
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- vioSetElementData ( target, "fraktion", 0 )
- outputChatBox ( "Du wurdest soeben aus deiner Fraktion geworfen!", target, 0, 125, 0 )
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..getPlayerName(target).."'")
- outputChatBox ( "Du hast den Spieler "..getPlayerName(target).." aus deiner Fraktion entfernt!", player, 0, 125, 0 )
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "Du kannst den\nSpieler nicht aus\nder Fraktion\nentfernen!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- end
- addCommandHandler ( "uninvite", uninvite_func )
- function uninviteFraktion_func ( player, cmd, target )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if faction > 0 and rank >= 5 then
- local targetpl = findPlayerByName( target )
- if targetpl ~= false and vioGetElementData (targetpl, "loggedin") == 1 then
- if (faction == getPlayerFaction( targetpl ) or ( getPlayerFaction( targetpl ) == 10 and faction == 11 ) or ( getPlayerFaction( targetpl ) == 11 and faction == 10 ) ) and getPlayerRank ( targetpl ) <= 4 then
- local model = malehomeless[math.random ( 1, 5 )]
- setElementModel ( targetpl, model )
- vioSetElementData ( targetpl, "skinid", model )
- vioSetElementData ( targetpl, "rang", 0 )
- if faction == 1 or faction == 6 or faction == 8 then
- unbindKey ( targetpl, "y", "down", "chatbox" )
- end
- fraktionMembers[faction][targetpl] = nil
- if faction > 0 and faction < 10 then
- fraktionMembersOffOn[faction][getPlayerName(targetpl)] = nil
- elseif faction == 10 or faction == 11 then
- fraktionMembersOffOn[10][getPlayerName(targetpl)] = nil
- end
- zeitTable[getPlayerName(targetpl)] = nil
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- vioSetElementData ( targetpl, "fraktion", 0 )
- outputChatBox ( "Du wurdest soeben aus deiner Fraktion geworfen!", targetpl, 0, 125, 0 )
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
- outputChatBox ( "Du hast den Spieler "..getPlayerName(targetpl).." aus deiner Fraktion entfernt!", player, 0, 125, 0 )
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "Du kannst den\nSpieler nicht aus\nder Fraktion\nentfernen!", 5000, 125, 0, 0 )
- end
- else
- fraktionMembersOffOn[faction][target] = nil
- zeitTable[target] = nil
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- MySQL_SetString ( "userdata", "Fraktion", 0, "Name LIKE '"..target.."'")
- outputChatBox ( "Du hast den Spieler "..target.." aus deiner Fraktion entfernt!", player, 0, 125, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- end
- addEvent ( "fraktion_uninvite", true )
- addEventHandler ( "fraktion_uninvite", getRootElement(), uninviteFraktion_func )
- function getchangestate_func ( player, cmd, target )
- local target = findPlayerByName( target )
- if isElement ( target ) then
- if vioGetElementData ( player, "adminlvl" ) >= 1 or vioGetElementData ( player, "rang" ) >= 4 then
- outputChatBox ( "Letzter Fraktions-Uninvite: "..tostring ( MySQL_GetString ( "userdata", "LastFactionChange", "Name LIKE '"..getPlayerName(target).."'") ), player, 200, 200, 0 )
- else
- outputChatBox ( "Du bist kein Admin/Leader/Coleader!", player, 125, 0, 0 )
- end
- else
- outputChatBox ( "Der Spieler ist nicht online!", player, 125, 0, 0 )
- end
- end
- addCommandHandler ( "getchangestate", getchangestate_func )
- function giverank_func ( player, cmd, target, newrank )
- local newrank = math.abs ( math.floor ( tonumber ( newrank ) ) )
- local target = findPlayerByName( target )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if target then
- local targetfaction = getPlayerFaction ( target )
- local targetrank = getPlayerRank ( target )
- if faction >= 1 and rank >= 4 and (faction == targetfaction or (faction == 10 and targetfaction == 11) or (faction == 11 and targetfaction == 10)) and rank > newrank and targetrank ~= newrank then
- if newrank < 5 and newrank >= 0 then
- if newrank > targetrank then
- outputChatBox ( "Glueckwunsch, du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." befoerdert!", target, 0, 125, 0 )
- else
- outputChatBox ( "Du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." degradiert!", target, 125, 0, 0 )
- end
- vioSetElementData ( target, "rang", newrank )
- if faction < 10 then
- fraktionMembersOffOn[faction][getPlayerName(target)] = newrank
- elseif faction == 10 or faction == 11 then
- fraktionMembersOffOn[10][getPlayerName(target)] = newrank
- end
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- outputChatBox ( "Du hast "..getPlayerName(target).." soeben Rang "..factionRankNames[faction][newrank].." ( "..newrank.." ) gegeben!", player, 0, 125, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
- end
- end
- addCommandHandler ( "giverank", giverank_func )
- function giverankFraktion_func ( player, cmd, target, newrank )
- local newrank = math.abs ( math.floor ( tonumber ( newrank ) ) )
- local targetpl = findPlayerByName( target )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if targetpl and vioGetElementData (targetpl, "loggedin") == 1 then
- local targetfaction = getPlayerFaction ( targetpl )
- local targetrank = getPlayerRank ( targetpl )
- if faction >= 1 and rank >= 4 and faction == targetfaction and rank > newrank and targetrank ~= newrank then
- if newrank < 5 and newrank >= 0 then
- if newrank > targetrank then
- outputChatBox ( "Glueckwunsch, du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." befoerdert!", targetpl, 0, 125, 0 )
- else
- outputChatBox ( "Du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." degradiert!", targetpl, 125, 0, 0 )
- end
- vioSetElementData ( targetpl, "rang", newrank )
- fraktionMembersOffOn[faction][target] = newrank
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- outputChatBox ( "Du hast "..target.." soeben Rang "..factionRankNames[faction][newrank].." ( "..newrank.." ) gegeben!", player, 0, 125, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- else
- MySQL_SetString ( "userdata", "FraktionsRang", newrank, "Name LIKE '"..target.."'")
- fraktionMembersOffOn[faction][target] = newrank
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- outputChatBox ( "Du hast "..target.." soeben Rang "..factionRankNames[faction][newrank].." ( "..newrank.." ) gegeben!", player, 0, 125, 0 )
- end
- end
- addEvent ( "fraktion_befoerdern", true )
- addEventHandler ( "fraktion_befoerdern", getRootElement(), giverankFraktion_func )
- addEvent ( "fraktion_degradieren", true )
- addEventHandler ( "fraktion_degradieren", getRootElement(), giverankFraktion_func )
- function fraktionsMenueOeffnen ( player )
- if getPlayerFaction ( player ) and getPlayerFaction ( player ) > 0 then
- triggerClientEvent (player, "fraktion_gui_open", player)
- end
- end
- addCommandHandler ("fraktion", fraktionsMenueOeffnen)
- function selbstUninvite ( player )
- local faction = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if faction > 0 and rank < 5 then
- local model = malehomeless[math.random ( 1, 5 )]
- setElementModel ( player, model )
- vioSetElementData ( player, "skinid", model )
- vioSetElementData ( player, "rang", 0 )
- fraktionMembers[faction][player] = nil
- fraktionMembersOffOn[faction][getPlayerName(player)] = nil
- zeitTable[getPlayerName(player)] = nil
- triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
- vioSetElementData ( player, "fraktion", 0 )
- outputChatBox ( "Du hast dich soeben aus der Fraktion uninvitet!", player, 0, 125, 0 )
- MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..getPlayerName(player).."'")
- for member, bool in pairs (fraktionMembersOffOn[faction]) do
- if tonumber(MySQL_GetString( "userdata", "FraktionsRang", "Name LIKE '"..member.."'" )) >= 4 then
- offlinemsg ( "Der Spieler "..getPlayerName(player).." hat sich selbst uninvitet!", "Fraktion", member )
- end
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist\nals Leader nicht\nbefugt!", 5000, 125, 0, 0 )
- end
- end
- addCommandHandler ("selfuninvite", selbstUninvite)
- function listAllFractionMember (res)
- local result = mysql_query ( handler, "SELECT Name,Fraktion,FraktionsRang FROM userdata WHERE Fraktion > '0'" )
- if result then
- while true do
- local row = mysql_fetch_assoc ( result )
- if not row then break end
- fraktionMembersOffOn[tonumber(row["Fraktion"])][row["Name"]] = row["FraktionsRang"]
- zeitTable[row["Name"]] = MySQL_GetString ( "userdata", "LastFactionChange", "Name LIKE '"..row["Name"].."'")
- end
- end
- if not res then
- triggerClientEvent ( "aktualisiereMemberTabelle", getRootElement(), fraktionMembersOffOn, zeitTable)
- end
- mysql_free_result ( result )
- end
- addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), listAllFractionMember )
- addEvent ( "fraktion_refresh", true )
- addEventHandler ( "fraktion_refresh", getRootElement(), listAllFractionMember )
- function frespawn ( player )
- local frac = getPlayerFaction ( player )
- local rank = getPlayerRank ( player )
- if frac then
- if frac > 0 then
- if rank >= 3 then
- if not frespawnTimer[frac] then
- zaehlerFrespawnTimer[frac] = 0
- sendMSGForFaction ("Countdown zum Fraktionsrespawn wurde von "..getPlayerName(player).. " gestartet. Benutze /stopfrespawn zum Stoppen!", frac, 0, 0, 155)
- frespawnTimer[frac] = setTimer (frespawnCountdown, 1000, 10, player)
- addCommandHandler ("stopfrespawn", stopFrespawnCountdown)
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nEs läuft schon\nein Frespawn\n-Countdown!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nErst ab\nRang 3!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist in\nkeiner Fraktion!", 5000, 125, 0, 0 )
- end
- else
- triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist in\nkeiner Fraktion!", 5000, 125, 0, 0 )
- end
- end
- addCommandHandler ( "frespawn", frespawn )
- function frespawnCountdown ( player )
- local frac = getPlayerFaction ( player )
- zaehlerFrespawnTimer[frac] = zaehlerFrespawnTimer[frac] + 1
- if zaehlerFrespawnTimer[frac] == 10 then
- sendMSGForFaction ("Wird durchgeführt ..", frac, 0, 155, 0)
- startFrespawn ( player )
- elseif zaehlerFrespawnTimer[frac] == 5 then
- sendMSGForFaction ("Noch 5 Sekunden!", frac, 0, 155, 0)
- elseif zaehlerFrespawnTimer[frac] >= 7 then
- sendMSGForFaction (10-zaehlerFrespawnTimer[frac].." ..", frac, 0, 155, 0)
- end
- end
- function startFrespawn ( player )
- frespawnTimer[getPlayerFaction ( player )] = nil
- if isCop ( player ) then
- for index, veh in pairs (copCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isMafia ( player ) then
- for index, veh in pairs (mafiaCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isReporter ( player ) then
- for index, veh in pairs (reporterCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isFBI ( player ) then
- for index, veh in pairs (fbiCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isAztecas ( player ) then
- for index, veh in pairs (aztecasCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isTriad ( player ) then
- for index, veh in pairs (triadCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isBiker ( player ) then
- for index, veh in pairs (bikerCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- for index, veh in pairs (biker_freeways) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isArmy ( player ) then
- for index, veh in pairs (armyCars) do
- if not getVehicleOccupant ( veh ) then
- respawnVehicle ( veh )
- setElementFrozen ( veh, true )
- end
- end
- elseif isTerror ( player )
- for index, veh in pairs (terrorCars) do
- respawnVeh_func ( veh )
- end
- end
- end
- function stopFrespawnCountdown ( player )
- local frac = getPlayerFaction ( player )
- if frac then
- if frac > 0 then
- if frespawnTimer[frac] then
- if isTimer(frespawnTimer[frac]) then
- killTimer(frespawnTimer[frac])
- frespawnTimer[frac] = nil
- sendMSGForFaction ("Fraktions-Respawn abgebrochen durch "..getPlayerName(player), frac, 155, 0, 0)
- end
- end
- end
- end
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement