Advertisement
Guest User

Untitled

a guest
Nov 5th, 2015
141
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 38.22 KB | None | 0 0
  1. fraktionMembers = {}
  2. for i = 0, 99 do
  3.     fraktionMembers[i] = {}
  4. end
  5.  
  6. fraktionMembersOffOn = {}
  7. for i = 0, 99 do
  8.     fraktionMembersOffOn[i] = {}
  9. end
  10.  
  11. zeitTable = {}
  12. local frespawnTimer = {}
  13. local zaehlerFrespawnTimer = {}
  14.  
  15. factionVehicles = {}
  16. factionVehicles[1] = {}
  17. factionVehicles[2] = {}
  18. factionVehicles[3] = {}
  19. factionVehicles[4] = {}
  20. factionVehicles[5] = {}
  21. factionVehicles[6] = {}
  22. factionVehicles[7] = {}
  23. factionVehicles[8] = {}
  24. factionVehicles[9] = {}
  25. factionVehicles[10] = {}
  26. factionVehicles[11] = {}
  27.  
  28. factionSkins = {}
  29. factionSkins[1] = { [1]=280, [2]=281, [3]=282, [4]=283, [5]=284, [6]=285, [7]=288, [8]=265, [9]=266, [10]=267 }
  30. factionSkins[2] = { [1]=111, [2]=112, [3]=113, [4]=124, [5]=125, [6]=126, [7]=127, [8]=237, [9]=272 }
  31. factionSkins[3] = { [1]=49, [2]=117, [3]=118, [4]=120, [5]=122, [6]=123, [7]=141, [8]=169, [9]=186, [10]=294 }
  32. factionSkins[4] = { [1]=221, [2]=222, [3]=220, [4]=143, [5]=142, [6]=307 }
  33. factionSkins[5] = { [1]=59, [2]=141, [3]=187, [4]=188, [5]=189, [6]=296 }
  34. factionSkins[6] = { [1]=285, [2]=286, [3]=165, [4]=164, [5]=163, [6]=295 }
  35. factionSkins[7] = { [1]=173, [2]=174, [3]=175, [4]=115, [5]=114, [6]=116, [7]=293, [8]=292, [9]=108, [10]=109, [11]=110 }
  36. factionSkins[8] = { [1]=287, [2]=312, [3]=191 }
  37. factionSkins[9] = { [1]=100, [2]=247, [3]=248, [4]=298, [5]=181, [6]=299, [7]=291 }
  38. factionSkins[10] = { [1]=274, [2]=275, [3]=276, [4]=70 }
  39. factionSkins[11] = { [1]=305, [2]=268, [3]=201, [4]=128, [5]=50, [6]=42 }
  40.  
  41. fraktionNames = {}
  42. 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" }
  43.  
  44. aktionlaeuft = false
  45. ---------------------------------------------------------------------------------------------------------------
  46.  
  47. function isPDCar ( car )
  48.     if factionVehicles[1][car] then return true else return false end
  49. end
  50.  
  51. function isMafiaCar ( car )
  52.     if factionVehicles[2][car] then return true else return false end
  53. end
  54.  
  55. function isTriadenCar ( car )
  56.     if factionVehicles[3][car] then return true else return false end
  57. end
  58.  
  59. function isTerrorCar ( car )
  60.     if factionVehicles[4][car] then return true else return false end
  61. end
  62.  
  63. function isNewsCar ( car )
  64.     if factionVehicles[5][car] then return true else return false end
  65. end
  66.  
  67. function isFBICar ( car )
  68.     if factionVehicles[6][car] then return true else return false end
  69. end
  70.  
  71. function isAztecasCar ( car )
  72.     if factionVehicles[7][car] then return true else return false end
  73. end
  74.  
  75. function isArmyCar ( car )
  76.     if factionVehicles[8][car] then return true else return false end
  77. end
  78.  
  79. function isBikerCar ( car )
  80.     if factionVehicles[9][car] then return true else return false end
  81. end
  82.  
  83. function isMedicCar ( car )
  84.     if factionVehicles[10][car] then return true else return false end
  85. end
  86.  
  87. function isMechanikerCar ( car )
  88.     if factionVehicles[11][car] then return true else return false end
  89. end
  90.  
  91.  
  92. function isFederalCar ( car )
  93.     if isArmyCar( car ) or isFBICar( car ) or isPDCar ( car ) then
  94.         return true
  95.     else
  96.         return false
  97.     end
  98. end
  99.  
  100. function isEvilCar ( car )
  101.     if isMafiaCar( car ) or isTriadenCar( car ) or isTerrorCar ( car ) or isAztecasCar ( car ) or isBikerCar ( car ) then
  102.         return true
  103.     else
  104.         return false
  105.     end
  106. end
  107.  
  108. function getPlayerFaction ( player )
  109.  
  110.     local fac = vioGetElementData ( player, "fraktion" )
  111.    
  112.     if fac then
  113.    
  114.         return tonumber(fac)
  115.    
  116.     else
  117.  
  118.         return false
  119.    
  120.     end
  121.  
  122. end
  123.  
  124. function getPlayerRank ( player )
  125.  
  126.     local ran = vioGetElementData ( player, "rang" )
  127.    
  128.     if ran then
  129.    
  130.         return tonumber(ran)
  131.    
  132.     else
  133.    
  134.         return false
  135.    
  136.     end
  137.  
  138. end
  139.  
  140. function getPlayerRankName ( player )
  141.  
  142.     local ran = getPlayerRank ( player )
  143.     local fac = getPlayerFaction ( player )
  144.    
  145.     if ran then
  146.    
  147.         return factionRankNames[fac][ran]
  148.    
  149.     else
  150.    
  151.         return false
  152.    
  153.     end
  154.  
  155. end
  156.  
  157. -----------------------------------------------------------------------------------------------------
  158.  
  159. function isReporter(player)
  160.     if tonumber(vioGetElementData ( player, "fraktion" )) == 5 then return true else return false end
  161. end
  162.  
  163. function isTerror(player)
  164.     if tonumber(vioGetElementData ( player, "fraktion" )) == 4 then return true else return false end
  165. end
  166.  
  167. function isTriad(player)
  168.     if tonumber(vioGetElementData ( player, "fraktion" )) == 3 then return true else return false end
  169. end
  170.  
  171. function isMafia(player)
  172.     if tonumber(vioGetElementData ( player, "fraktion" )) == 2 then return true else return false end
  173. end
  174.  
  175. function isCop(player)
  176.     if tonumber(vioGetElementData ( player, "fraktion" )) == 1 then return true else return false end
  177. end
  178.  
  179. function isFBI(player)
  180.     if tonumber(vioGetElementData ( player, "fraktion" )) == 6 then return true else return false end
  181. end
  182.  
  183. function isAztecas(player)
  184.     if tonumber(vioGetElementData ( player, "fraktion" )) == 7 then return true else return false end
  185. end
  186.  
  187. function isArmy(player)
  188.     if tonumber(vioGetElementData ( player, "fraktion" )) == 8 then return true else return false end
  189. end
  190.  
  191. function isBiker(player)
  192.     if tonumber(vioGetElementData ( player, "fraktion" )) == 9 then return true else return false end
  193. end
  194.  
  195. function isMedic(player)
  196.     if tonumber(vioGetElementData ( player, "fraktion" )) == 10 then return true else return false end
  197. end
  198.  
  199. function isMechaniker(player)
  200.     if tonumber(vioGetElementData ( player, "fraktion" )) == 11 then return true else return false end
  201. end
  202.  
  203. ------------------------------------------------------------------------------------------------------
  204.  
  205. function isStateFaction(player)
  206.     if isArmy(player) or isCop(player) or isFBI(player) then return true else return false end
  207. end
  208.  
  209. function isOnStateDuty(player)
  210.     return isOnDuty(player)
  211. end
  212.  
  213. function isOnDuty(player)
  214.  
  215.     local model = getElementModel(player)
  216.    
  217.     if isCop (player) then
  218.         for i, skin in pairs ( factionSkins[1] ) do
  219.             if skin == model then      
  220.                 return true    
  221.             end
  222.         end
  223.    
  224.    
  225.     elseif isFBI (player) then
  226.         for i, skin in pairs ( factionSkins[6] ) do
  227.             if skin == model then  
  228.                 return true    
  229.             end
  230.         end
  231.    
  232.    
  233.     elseif isArmy (player) then
  234.         for i, skin in pairs ( factionSkins[8] ) do
  235.             if skin == model then      
  236.                 return true    
  237.             end
  238.         end
  239.     end
  240.    
  241.     return false
  242.    
  243. end
  244.  
  245. function isEmergencyOnDuty(player)
  246.  
  247.     local model = getElementModel(player)
  248.    
  249.     if isMedic (player) then
  250.         for i, skin in pairs ( factionSkins[10] ) do   
  251.             if skin == model then      
  252.                 return true    
  253.             end
  254.         end
  255.        
  256.     elseif isMechaniker (player) then
  257.         for i, skin in pairs ( factionSkins[11] ) do   
  258.             if skin == model then      
  259.                 return true    
  260.             end
  261.         end
  262.     end
  263.    
  264.     return false
  265. end
  266.  
  267.  
  268. function isAbleOffduty ( player )
  269.  
  270.     local model = getElementModel(player)
  271.    
  272.     for i, skin in pairs ( factionSkins[1] ) do
  273.    
  274.         if skin == model then
  275.        
  276.             return true
  277.        
  278.         end
  279.    
  280.     end
  281.    
  282.     for i, skin in pairs ( factionSkins[6] ) do
  283.    
  284.         if skin == model then
  285.        
  286.             return true
  287.        
  288.         end
  289.    
  290.     end
  291.    
  292.     return false
  293.  
  294. end
  295.  
  296. function isEvil(player)
  297.     if isMafia(player) or isTriad(player) or isTerror(player) or isAztecas(player) or isBiker(player) then return true else return false end
  298. end
  299.  
  300. function isEmergency(player)
  301.     if isMedic(player) or isMechaniker(player) then return true else return false end
  302. end
  303.  
  304. function isInDepotFaction(player)
  305.     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
  306. end
  307.  
  308. ---------------------------------------------------------------------------------------------------
  309.  
  310. --[[function fuelleTabelleFuerMitgliederAus ()
  311.  
  312. end
  313. addEventHandler ("onResourceStart",  getResourceRootElement(getThisResource()), fuelleTabelleFuerMitgliederAus)]]
  314.  
  315. function sendMSGForFaction ( msg, faction, r, g, b )
  316.  
  317.     if not r then
  318.         local r, g, b = 200, 200, 100
  319.     end
  320.    
  321.     for playeritem, key in pairs ( fraktionMembers[faction] ) do
  322.         outputChatBox ( msg, playeritem, r, g, b )
  323.     end
  324.    
  325. end
  326.  
  327. function getFactionMembersOnline ( faction )
  328.  
  329.     if faction then
  330.         counter = 0
  331.         for playeritem, index in pairs ( fraktionMembers[faction] ) do
  332.             counter = counter + 1
  333.         end
  334.         return counter
  335.     else
  336.         return false
  337.     end
  338.    
  339. end
  340. function policeComputer ( presser, key, state )
  341.  
  342.     if state == "down" and isOnDuty(presser) and isFederalCar ( getPedOccupiedVehicle ( presser ) ) and getElementModel ( getPedOccupiedVehicle ( presser ) ) ~= 520 then
  343.         triggerClientEvent ( presser,"showPDComputer", getRootElement() )
  344.     end
  345.    
  346. end
  347. function createTeleportMarker ( x1, y1, z1, int1, dim1, x2, y2, z2, int2, dim2, rot, needetFaction )
  348.  
  349.     if not needetFaction then
  350.         needetFaction = 0
  351.     end
  352.    
  353.     local marker1 = createMarker ( x1, y1, z1 + 0.5, "corona", 1, 0, 0, 0, 0 )
  354.     local marker2 = createMarker ( x1, y1, z1, "cylinder", 1, 255, 0, 0, 150 )
  355.     setElementDimension ( marker1, dim1 )
  356.     setElementDimension ( marker2, dim1 )
  357.     setElementInterior ( marker1, int1 )
  358.     setElementInterior ( marker2, int1 )
  359.    
  360.     addEventHandler ( "onMarkerHit", marker1,
  361.         function ( hit, dim )
  362.             if dim then
  363.                 if getElementType ( hit ) == "player" then
  364.                     if not getPedOccupiedVehicle ( hit ) then
  365.                         if needetFaction == 0 or getElementData ( hit, "fraktion" ) == needetFaction then
  366.                             fadeElementInterior ( hit, int2, x2, y2, z2, rot, dim2 )
  367.                         else
  368.                             infobox ( hit, "Du bist nicht\nbefugt!", 5000, 125, 0, 0 )
  369.                         end
  370.                     end
  371.                 end
  372.             end
  373.         end
  374.     )
  375.    
  376. end
  377.  
  378. function createFactionVehicle ( model, x, y, z, rx, ry, rz, faction, c1, c2, c3, c4, numberplate )
  379.  
  380.     if not c3 then
  381.         c3 = 0
  382.     end
  383.    
  384.     if not c4 then
  385.         c4 = 0
  386.     end
  387.    
  388.     if not numberplate then
  389.         numberplate = fraktionNames[faction]
  390.     end
  391.    
  392.     local veh = createVehicle ( model, x, y, z, rx, ry, rz, numberplate )
  393.    
  394.     setVehicleColor ( veh, c1, c2, c3, c4 )
  395.     setElementHealth ( veh, 1700 )
  396.     setVehicleHandling(veh, "engineAcceleration", (getVehicleHandling(veh)['engineAcceleration']/100*120))
  397.     setVehicleHandling(veh, "maxVelocity", (getVehicleHandling(veh)['maxVelocity']/100*120))
  398.     setVehiclePaintjob ( veh, 3 )
  399.     toggleVehicleRespawn ( veh, true )
  400.     setVehicleRespawnDelay ( veh, FCarDestroyRespawn * 1000 * 60 )
  401.     setVehicleIdleRespawnDelay ( veh, FCarIdleRespawn * 1000 * 60 )
  402.     factionVehicles[faction][veh] = true
  403.    
  404.     vioSetElementData ( veh, "owner", fraktionNames[faction] )
  405.     vioSetElementData ( veh, "ownerfraktion", faction )
  406.    
  407.     if faction == 1 then
  408.    
  409.         addEventHandler ( "onVehicleEnter", veh,
  410.             function ( player, seat )
  411.                 local veh = source
  412.                 if not isKeyBound ( player, "sub_mission", "down", policeComputer ) then
  413.                     bindKey ( player, "sub_mission", "down", policeComputer )
  414.                 end
  415.             end )
  416.            
  417.     elseif faction == 6 then
  418.    
  419.         addEventHandler ( "onVehicleEnter", veh,
  420.             function ( player, seat )
  421.                 local veh = source
  422.                 if not isKeyBound ( player, "sub_mission", "down", policeComputer ) then
  423.                     bindKey ( player, "sub_mission", "down", policeComputer )
  424.                 end
  425.             end )
  426.            
  427.     elseif faction == 8 then
  428.        
  429.         addEventHandler ( "onVehicleEnter", veh,
  430.             function ( player, seat )
  431.                 local veh = source
  432.                 if getPedOccupiedVehicleSeat ( player ) == 0 then
  433.                     if not isKeyBound ( player, "sub_mission", "down", policeComputer ) and getElementModel ( veh ) ~= 520 then
  434.                         bindKey ( player, "sub_mission", "down", policeComputer )
  435.                     end
  436.                    
  437.                     if getElementModel ( veh ) == 433 then
  438.                        
  439.                         setElementHealth ( player, 100 )
  440.                         triggerClientEvent ( player, "sec_health_give", getRootElement(), 999 )
  441.                         setPedArmor ( player, 100 )
  442.                         triggerClientEvent ( player, "sec_armor_give", getRootElement(), 100 )
  443.                         triggerClientEvent ( player, "eatSomething", getRootElement() )
  444.                            
  445.                     elseif getElementModel ( veh ) == 432 then
  446.                        
  447.                         if vioGetElementData ( player, "job" ) ~= "tankcommander" then
  448.                             opticExitVehicle ( player )
  449.                             outputChatBox ( "Du hast nicht die erforderliche Klasse!", player, 125, 0, 0 )
  450.                         end
  451.                            
  452.                     elseif getElementModel ( veh ) == 425 or getElementModel ( veh ) == 520 then
  453.                        
  454.                         if vioGetElementData ( player, "job" ) ~= "air" then
  455.                             opticExitVehicle ( player )
  456.                             outputChatBox ( "Du hast nicht die erforderliche Klasse!", player, 125, 0, 0 )
  457.                         end
  458.                            
  459.                     elseif getElementModel ( veh ) == 563 or getElementModel ( veh ) == 595 then
  460.                            
  461.                         if vioGetElementData ( player, "job" ) ~= "marine" and seat == 0 then
  462.                             opticExitVehicle ( player )
  463.                             outputChatBox ( "Du hast nicht die erforderliche Klasse!", player, 125, 0, 0 )
  464.                         else
  465.                             giveWeapon ( player, 46, 3, true )
  466.                             triggerClientEvent ( player, "sec_gun_give", getRootElement(), 46, 3 )
  467.                         end
  468.                            
  469.                    
  470.                     end
  471.                    
  472.                 else
  473.  
  474.                     if not isKeyBound ( player, "sub_mission", "down", policeComputer ) and isOnDuty( player ) then
  475.                         bindKey ( player, "sub_mission", "down", policeComputer )
  476.                     end
  477.                    
  478.                     if getElementModel ( veh ) == 433 then
  479.                    
  480.                         setElementHealth ( player, 100 )
  481.                         triggerClientEvent ( player, "sec_health_give", getRootElement(), 999 )
  482.                         setPedArmor ( player, 100 )
  483.                         triggerClientEvent ( player, "sec_armor_give", getRootElement(), 100 )
  484.                         triggerClientEvent ( player, "eatSomething", getRootElement() )
  485.                    
  486.                     end
  487.                    
  488.                 end
  489.             end )
  490.        
  491.     end
  492.        
  493.     return veh
  494.    
  495. end
  496.  
  497. function block_tie_cmds ( cmd )
  498.     cancelEvent()
  499. end
  500.  
  501. function tie_func ( player, cmd, target )
  502.  
  503.     local target = findPlayerByName( target )
  504.    
  505.     if target and target ~= player and getPedOccupiedVehicle ( target ) then
  506.    
  507.         if isEvil(player) or isOnDuty(player) then
  508.        
  509.             if getVehicleOccupant( getPedOccupiedVehicle ( player ) ) ~= target and getPedOccupiedVehicleSeat ( target ) > 0 then
  510.            
  511.                 local x1, y1, z1 = getElementPosition ( player )
  512.                 local x2, y2, z2 = getElementPosition ( target )
  513.                
  514.                 if getDistanceBetweenPoints3D ( x1, y1, z1, x2, y2, z2 ) <= 5 then
  515.                
  516.                     local boolean = not vioGetElementData ( target, "tied" )
  517.                     vioSetElementData ( target, "tied", boolean )
  518.                     toggleAllControls ( target, boolean )
  519.                     if boolean then fix = "ent" else fix = "ge" end
  520.                    
  521.                     if fix == "ge" then
  522.                    
  523.                         addEventHandler( "onPlayerCommand", target, block_tie_cmds )
  524.                            
  525.                     elseif fix == "ent" then
  526.                    
  527.                         removeEventHandler ( "onPlayerCommand", target, block_tie_cmds )
  528.                    
  529.                     end
  530.                    
  531.                     if fix == "ent" then
  532.                    
  533.                         fadeCamera ( target, true, 0.5, 0, 0, 0 )
  534.                        
  535.                     elseif isEvil ( player ) then
  536.                    
  537.                         fadeCamera ( target, false, 0.5, 0, 0, 0 )
  538.                        
  539.                     end
  540.                    
  541.                     outputChatBox ( "Du hast "..getPlayerName(target).." "..fix.."fesselt!", player, 0, 125, 0 )
  542.                     outputChatBox ( "Du wurdest von "..getPlayerName(player).." "..fix.."fesselt!", target, 200, 200, 0 )
  543.                    
  544.                 else
  545.                
  546.                     outputChatBox ( "Du bist zu weit weg!", player, 125, 0, 0 )
  547.                    
  548.                 end
  549.                
  550.             else
  551.            
  552.                 outputChatBox ( "Ungueltiges Ziel!", player, 125, 0, 0 )
  553.                
  554.             end
  555.            
  556.         else
  557.        
  558.             outputChatBox ( "Du bist in einer ungueltigen Fraktion!", player, 125, 0, 0 )
  559.            
  560.         end
  561.        
  562.     else
  563.    
  564.         outputChatBox ( "Ungueltiges Ziel!", player, 125, 0, 0 )
  565.        
  566.     end
  567.    
  568. end
  569.  
  570. addCommandHandler ( "tie", tie_func )
  571.  
  572. function fstate_func(player)
  573.  
  574.     if isMafia ( player ) then
  575.         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 )
  576.     elseif isTriad ( player ) then
  577.         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 )
  578.     elseif isAztecas ( player ) then
  579.         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 )
  580.     elseif isBiker(player) then
  581.         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 )
  582.     elseif isCop ( player ) or isFBI ( player ) or isArmy ( player ) then
  583.         outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '1'").."$ und "..MySQL_GetString("fraktionen", "DepotMaterials", "ID LIKE '1'").." Materialien", player, 200, 200, 0 )
  584.     elseif isReporter ( player ) then
  585.         outputChatBox ( MySQL_GetString("fraktionen", "DepotGeld", "ID LIKE '5'").."$", player, 200, 200, 0 )
  586.     end
  587. end
  588.  
  589. addCommandHandler ( "fstate", fstate_func )
  590.  
  591. function fskin_func ( player )
  592.    
  593.     local curskin = getElementModel ( player )
  594.     local faction = getPlayerFaction ( player )
  595.     local val = false
  596.    
  597.     if getPedOccupiedVehicle ( player ) then
  598.    
  599.         outputChatBox ( "Bitte nutze diesen Befehl nur ausserhalb von Fahrzeugen!", player, 125, 0, 0 )
  600.            
  601.     elseif faction == 6 and isOnDuty(player) and getElementModel ( player ) ~= 285 then
  602.    
  603.         for i, skin in pairs (factionSkins[6]) do
  604.        
  605.             if skin == getElementModel(player) then
  606.            
  607.                 val = i
  608.                 break
  609.                
  610.             end
  611.        
  612.         end
  613.        
  614.         if val == false or val == #factionSkins[6] then
  615.        
  616.             setElementModel ( player, factionSkins[6][2] )
  617.             return
  618.                
  619.         else
  620.        
  621.             setElementModel ( player, factionSkins[6][val+1] )
  622.             return
  623.        
  624.         end
  625.        
  626.     elseif faction >= 1 and faction ~= 1 and faction ~= 6 and faction ~= 10 and faction ~= 11 then
  627.    
  628.         for i, skin in pairs (factionSkins[faction]) do
  629.        
  630.             if skin == getElementModel(player) then
  631.            
  632.                 val = i
  633.                 break
  634.                
  635.             end
  636.        
  637.         end
  638.        
  639.         if val == false or val == #factionSkins[faction] then
  640.        
  641.             setElementModel ( player, factionSkins[faction][1] )
  642.             vioSetElementData ( player, "skinid", factionSkins[faction][1] )
  643.             return
  644.                
  645.         else
  646.        
  647.             setElementModel ( player, factionSkins[faction][val+1] )
  648.             vioSetElementData ( player, "skinid", factionSkins[faction][val+1] )
  649.             return
  650.        
  651.         end
  652.  
  653.     else
  654.    
  655.         outputChatBox ( "Du darfst diesen Befehl nicht benutzen!", player, 125, 0, 0 )
  656.        
  657.     end
  658. end
  659.  
  660. addCommandHandler ( "fskin", fskin_func )
  661.  
  662.  
  663. function invite_func ( player, cmd, target )
  664.  
  665.     local faction = getPlayerFaction ( player )
  666.     local rank = getPlayerRank ( player )
  667.  
  668.     if faction ~= 0 and rank >= 5 then
  669.    
  670.         local target = findPlayerByName( target )
  671.        
  672.         if target ~= false then
  673.        
  674.             if getPlayerFaction( target ) == 0 then
  675.            
  676.                 if not isInGang ( getPlayerName ( target ) ) then
  677.                
  678.                     vioSetElementData ( target, "fraktion", faction )
  679.                     vioSetElementData ( target, "rang", 0 )
  680.                     fraktionMembers[faction][target] = faction
  681.                     if faction > 0 and faction < 10 then
  682.                         fraktionMembersOffOn[faction][getPlayerName(target)] = 0
  683.                     elseif faction == 10 or faction == 11 then
  684.                         fraktionMembersOffOn[10][getPlayerName(target)] = rang
  685.                     end    
  686.                     zeitTable[getPlayerName(target)] = timestampOptical ()
  687.                     triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  688.                     MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..getPlayerName(target).."'")
  689.                     outputChatBox ( "Du wurdest soeben in eine Fraktion aufgenommen! Tippe /t [Text] fuer den Chat und F1, um mehr zu erfahren!", target, 0, 125, 0 )
  690.                     outputChatBox ( "Du hast den Spieler "..getPlayerName(target).." in deine Fraktion aufgenommen!", player, 0, 125, 0 )
  691.                     if faction == 1 or faction == 6 or faction == 8 then
  692.                         bindKey ( target, "y", "down", "chatbox", "t" )
  693.                     end
  694.                 else
  695.                
  696.                     infobox ( player, "\n\n\nDer Spieler ist\nin einer Gang!", 5000, 125, 0, 0 )
  697.                    
  698.                 end
  699.                
  700.             else
  701.            
  702.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler ist\nbereits in\neiner Fraktion!", 5000, 125, 0, 0 )
  703.                
  704.             end
  705.            
  706.         else
  707.        
  708.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
  709.            
  710.         end
  711.        
  712.     else
  713.    
  714.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
  715.        
  716.     end
  717.    
  718. end
  719. addCommandHandler ( "invite", invite_func )
  720.  
  721. function inviteFraktion_func ( player, cmd, target )
  722.     local faction = getPlayerFaction ( player )
  723.     local rank = getPlayerRank ( player )
  724.     if faction ~= 0 and rank >= 5 then
  725.         local targetpl = findPlayerByName( target )
  726.         if targetpl ~= false and vioGetElementData (targetpl, "loggedin") == 1 then
  727.             if getPlayerFaction( targetpl ) == 0 then      
  728.                 if not isInGang ( getPlayerName ( targetpl ) ) then        
  729.                     vioSetElementData ( targetpl, "fraktion", faction )
  730.                     vioSetElementData ( targetpl, "rang", 0 )
  731.                     if faction == 1 or faction == 6 or faction == 8 then
  732.                         bindKey ( targetpl, "y", "down", "chatbox", "t" )
  733.                     end
  734.                     fraktionMembers[faction][targetpl] = faction
  735.                     if faction > 0 and faction < 10 then
  736.                         fraktionMembersOffOn[faction][getPlayerName(targetpl)] = 0
  737.                     elseif faction == 10 or faction == 11 then
  738.                         fraktionMembersOffOn[10][getPlayerName(targetpl)] = 0
  739.                     end    
  740.                     zeitTable[getPlayerName(targetpl)] = timestampOptical ()
  741.                     triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  742.                     MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
  743.                     outputChatBox ( "Du wurdest soeben in eine Fraktion aufgenommen! Tippe /t [Text] fuer den Chat und F1, um mehr zu erfahren!", targetpl, 0, 125, 0 )
  744.                     outputChatBox ( "Du hast den Spieler "..getPlayerName(targetpl).." in deine Fraktion aufgenommen!", player, 0, 125, 0 )
  745.                 else
  746.                     infobox ( player, "\n\n\nDer Spieler ist\nin einer Gang!", 5000, 125, 0, 0 )
  747.                 end
  748.             else
  749.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler ist\nbereits in\neiner Fraktion!", 5000, 125, 0, 0 )
  750.             end
  751.         else
  752.             if faction > 0 and faction < 10 then
  753.                 fraktionMembersOffOn[faction][target] = 0
  754.             elseif faction == 10 or faction == 11 then
  755.                 fraktionMembersOffOn[10][target] = 0
  756.             end    
  757.             zeitTable[target] = timestampOptical ()
  758.             MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
  759.             triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  760.             MySQL_SetString ( "userdata", "Fraktion", faction, "Name LIKE '"..target.."'")
  761.             outputChatBox ( "Du hast den Spieler "..target.." in deine Fraktion aufgenommen!", player, 0, 125, 0 )
  762.         end
  763.     else
  764.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
  765.     end
  766. end
  767. addEvent ( "fraktion_invite", true )
  768. addEventHandler ( "fraktion_invite", getRootElement(), inviteFraktion_func )
  769.  
  770. function uninvite_func ( player, cmd, target )
  771.  
  772.     local faction = getPlayerFaction ( player )
  773.     local rank = getPlayerRank ( player )
  774.  
  775.     if faction > 0 and rank >= 5 then
  776.    
  777.         local target = findPlayerByName( target )
  778.        
  779.         if target ~= false then
  780.        
  781.             if (faction == getPlayerFaction( target ) or ( getPlayerFaction( target ) == 10 and faction == 11 ) or ( getPlayerFaction( target ) == 11 and faction == 10 ) ) and getPlayerRank ( target ) <= 4 then
  782.            
  783.                 local model = malehomeless[math.random ( 1, 5 )]
  784.                 setElementModel ( target, model )
  785.                 vioSetElementData ( target, "skinid", model )
  786.                 if faction == 1 or faction == 6 or faction == 8 then
  787.                     unbindKey ( target, "y", "down", "chatbox" )
  788.                 end
  789.                 vioSetElementData ( target, "rang", 0 )
  790.                 fraktionMembers[faction][target] = nil
  791.                 if faction > 0 and faction < 10 then
  792.                     fraktionMembersOffOn[faction][getPlayerName(target)] = nil
  793.                 elseif faction == 10 or faction == 11 then
  794.                     fraktionMembersOffOn[10][getPlayerName(target)] = nil
  795.                 end    
  796.                 zeitTable[getPlayerName(target)] = nil
  797.                 triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  798.                 vioSetElementData ( target, "fraktion", 0 )
  799.                 outputChatBox ( "Du wurdest soeben aus deiner Fraktion geworfen!", target, 0, 125, 0 )
  800.                 MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..getPlayerName(target).."'")
  801.                 outputChatBox ( "Du hast den Spieler "..getPlayerName(target).." aus deiner Fraktion entfernt!", player, 0, 125, 0 )
  802.                
  803.             else
  804.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Du kannst den\nSpieler nicht aus\nder Fraktion\nentfernen!", 5000, 125, 0, 0 )
  805.             end
  806.            
  807.         else
  808.        
  809.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
  810.            
  811.         end
  812.        
  813.     else
  814.    
  815.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
  816.        
  817.     end
  818.    
  819. end
  820. addCommandHandler ( "uninvite", uninvite_func )
  821.  
  822. function uninviteFraktion_func ( player, cmd, target )
  823.     local faction = getPlayerFaction ( player )
  824.     local rank = getPlayerRank ( player )
  825.     if faction > 0 and rank >= 5 then
  826.         local targetpl = findPlayerByName( target )
  827.         if targetpl ~= false and vioGetElementData (targetpl, "loggedin") == 1 then
  828.             if (faction == getPlayerFaction( targetpl ) or ( getPlayerFaction( targetpl ) == 10 and faction == 11 ) or ( getPlayerFaction( targetpl ) == 11 and faction == 10 ) ) and getPlayerRank ( targetpl ) <= 4 then
  829.                 local model = malehomeless[math.random ( 1, 5 )]
  830.                 setElementModel ( targetpl, model )
  831.                 vioSetElementData ( targetpl, "skinid", model )
  832.                 vioSetElementData ( targetpl, "rang", 0 )
  833.                 if faction == 1 or faction == 6 or faction == 8 then
  834.                     unbindKey ( targetpl, "y", "down", "chatbox" )
  835.                 end
  836.                 fraktionMembers[faction][targetpl] = nil
  837.                 if faction > 0 and faction < 10 then
  838.                     fraktionMembersOffOn[faction][getPlayerName(targetpl)] = nil
  839.                 elseif faction == 10 or faction == 11 then
  840.                     fraktionMembersOffOn[10][getPlayerName(targetpl)] = nil
  841.                 end    
  842.                 zeitTable[getPlayerName(targetpl)] = nil
  843.                 triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  844.                 vioSetElementData ( targetpl, "fraktion", 0 )
  845.                 outputChatBox ( "Du wurdest soeben aus deiner Fraktion geworfen!", targetpl, 0, 125, 0 )
  846.                 MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
  847.                 outputChatBox ( "Du hast den Spieler "..getPlayerName(targetpl).." aus deiner Fraktion entfernt!", player, 0, 125, 0 )
  848.             else
  849.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Du kannst den\nSpieler nicht aus\nder Fraktion\nentfernen!", 5000, 125, 0, 0 )
  850.             end
  851.         else
  852.             fraktionMembersOffOn[faction][target] = nil
  853.             zeitTable[target] = nil
  854.             MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..target.."'")
  855.             triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  856.             MySQL_SetString ( "userdata", "Fraktion", 0, "Name LIKE '"..target.."'")
  857.             outputChatBox ( "Du hast den Spieler "..target.." aus deiner Fraktion entfernt!", player, 0, 125, 0 )
  858.         end
  859.     else
  860.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
  861.     end
  862. end
  863. addEvent ( "fraktion_uninvite", true )
  864. addEventHandler ( "fraktion_uninvite", getRootElement(), uninviteFraktion_func )
  865.  
  866. function getchangestate_func ( player, cmd, target )
  867.  
  868.     local target = findPlayerByName( target )
  869.    
  870.     if isElement ( target ) then
  871.    
  872.         if vioGetElementData ( player, "adminlvl" ) >= 1 or vioGetElementData ( player, "rang" ) >= 4 then
  873.        
  874.             outputChatBox ( "Letzter Fraktions-Uninvite: "..tostring ( MySQL_GetString ( "userdata", "LastFactionChange", "Name LIKE '"..getPlayerName(target).."'") ), player, 200, 200, 0 )
  875.            
  876.         else
  877.        
  878.             outputChatBox ( "Du bist kein Admin/Leader/Coleader!", player, 125, 0, 0 )
  879.            
  880.         end
  881.        
  882.     else
  883.    
  884.         outputChatBox ( "Der Spieler ist nicht online!", player, 125, 0, 0 )
  885.        
  886.     end
  887.    
  888. end
  889.  
  890. addCommandHandler ( "getchangestate", getchangestate_func )
  891.  
  892. function giverank_func ( player, cmd, target, newrank )
  893.  
  894.     local newrank = math.abs ( math.floor ( tonumber ( newrank ) ) )
  895.     local target = findPlayerByName( target )
  896.     local faction = getPlayerFaction ( player )
  897.     local rank = getPlayerRank ( player )
  898.    
  899.     if target then
  900.    
  901.         local targetfaction = getPlayerFaction ( target )
  902.         local targetrank = getPlayerRank ( target )
  903.    
  904.         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
  905.        
  906.             if newrank < 5 and newrank >= 0 then
  907.            
  908.                 if newrank > targetrank then
  909.                
  910.                     outputChatBox ( "Glueckwunsch, du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." befoerdert!", target, 0, 125, 0 )
  911.                    
  912.                 else
  913.                
  914.                     outputChatBox ( "Du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." degradiert!", target, 125, 0, 0 )
  915.                    
  916.                 end
  917.                
  918.                 vioSetElementData ( target, "rang", newrank )
  919.                 if faction < 10 then
  920.                     fraktionMembersOffOn[faction][getPlayerName(target)] = newrank
  921.                 elseif faction == 10 or faction == 11 then
  922.                     fraktionMembersOffOn[10][getPlayerName(target)] = newrank
  923.                 end
  924.                 triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  925.                 outputChatBox ( "Du hast "..getPlayerName(target).." soeben Rang "..factionRankNames[faction][newrank].." ( "..newrank.." ) gegeben!", player, 0, 125, 0 )
  926.                
  927.             end
  928.            
  929.         else
  930.        
  931.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
  932.            
  933.         end
  934.    
  935.     else
  936.    
  937.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltiger\nSpieler!", 5000, 125, 0, 0 )
  938.        
  939.     end
  940.    
  941. end
  942. addCommandHandler ( "giverank", giverank_func )
  943.  
  944. function giverankFraktion_func ( player, cmd, target, newrank )
  945.     local newrank = math.abs ( math.floor ( tonumber ( newrank ) ) )
  946.     local targetpl = findPlayerByName( target )
  947.     local faction = getPlayerFaction ( player )
  948.     local rank = getPlayerRank ( player )
  949.     if targetpl and vioGetElementData (targetpl, "loggedin") == 1 then
  950.         local targetfaction = getPlayerFaction ( targetpl )
  951.         local targetrank = getPlayerRank ( targetpl )
  952.         if faction >= 1 and rank >= 4 and faction == targetfaction and rank > newrank and targetrank ~= newrank then
  953.             if newrank < 5 and newrank >= 0 then
  954.                 if newrank > targetrank then
  955.                     outputChatBox ( "Glueckwunsch, du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." befoerdert!", targetpl, 0, 125, 0 )
  956.                 else
  957.                     outputChatBox ( "Du wurdest soeben von "..getPlayerName ( player ).." zum "..factionRankNames[faction][newrank].." degradiert!", targetpl, 125, 0, 0 )
  958.                 end
  959.                 vioSetElementData ( targetpl, "rang", newrank )
  960.                 fraktionMembersOffOn[faction][target] = newrank
  961.                 triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  962.                 outputChatBox ( "Du hast "..target.." soeben Rang "..factionRankNames[faction][newrank].." ( "..newrank.." ) gegeben!", player, 0, 125, 0 )
  963.             end
  964.         else
  965.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht\nbefugt!", 5000, 125, 0, 0 )
  966.         end
  967.     else
  968.         MySQL_SetString ( "userdata", "FraktionsRang", newrank, "Name LIKE '"..target.."'")
  969.         fraktionMembersOffOn[faction][target] = newrank
  970.         triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  971.         outputChatBox ( "Du hast "..target.." soeben Rang "..factionRankNames[faction][newrank].." ( "..newrank.." ) gegeben!", player, 0, 125, 0 )
  972.     end
  973. end
  974. addEvent ( "fraktion_befoerdern", true )
  975. addEventHandler ( "fraktion_befoerdern", getRootElement(), giverankFraktion_func )
  976. addEvent ( "fraktion_degradieren", true )
  977. addEventHandler ( "fraktion_degradieren", getRootElement(), giverankFraktion_func )
  978.  
  979.  
  980.  
  981. function fraktionsMenueOeffnen ( player )
  982.     if getPlayerFaction ( player ) and getPlayerFaction ( player ) > 0 then
  983.         triggerClientEvent (player, "fraktion_gui_open", player)
  984.     end
  985. end
  986. addCommandHandler ("fraktion", fraktionsMenueOeffnen)
  987.  
  988.  
  989. function selbstUninvite ( player )
  990.     local faction = getPlayerFaction ( player )
  991.     local rank = getPlayerRank ( player )
  992.     if faction > 0 and rank < 5 then
  993.         local model = malehomeless[math.random ( 1, 5 )]
  994.         setElementModel ( player, model )
  995.         vioSetElementData ( player, "skinid", model )
  996.         vioSetElementData ( player, "rang", 0 )
  997.         fraktionMembers[faction][player] = nil
  998.         fraktionMembersOffOn[faction][getPlayerName(player)] = nil
  999.         zeitTable[getPlayerName(player)] = nil
  1000.         triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)
  1001.         vioSetElementData ( player, "fraktion", 0 )
  1002.         outputChatBox ( "Du hast dich soeben aus der Fraktion uninvitet!", player, 0, 125, 0 )
  1003.         MySQL_SetString ( "userdata", "LastFactionChange", timestampOptical (), "Name LIKE '"..getPlayerName(player).."'")
  1004.         for member, bool in pairs (fraktionMembersOffOn[faction]) do
  1005.             if tonumber(MySQL_GetString( "userdata", "FraktionsRang", "Name LIKE '"..member.."'" )) >= 4 then
  1006.                 offlinemsg ( "Der Spieler "..getPlayerName(player).." hat sich selbst uninvitet!", "Fraktion", member )
  1007.             end
  1008.         end
  1009.     else
  1010.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist\nals Leader nicht\nbefugt!", 5000, 125, 0, 0 )
  1011.     end
  1012. end
  1013. addCommandHandler ("selfuninvite", selbstUninvite)
  1014.  
  1015.  
  1016. function listAllFractionMember (res)
  1017.     local result = mysql_query ( handler, "SELECT Name,Fraktion,FraktionsRang FROM userdata WHERE Fraktion > '0'" )
  1018.     if result then
  1019.         while true do
  1020.             local row = mysql_fetch_assoc ( result )
  1021.             if not row then break end
  1022.             fraktionMembersOffOn[tonumber(row["Fraktion"])][row["Name"]] = row["FraktionsRang"]
  1023.             zeitTable[row["Name"]] = MySQL_GetString ( "userdata", "LastFactionChange", "Name LIKE '"..row["Name"].."'")
  1024.         end
  1025.     end
  1026.     if not res then
  1027.         triggerClientEvent ( "aktualisiereMemberTabelle", getRootElement(), fraktionMembersOffOn, zeitTable)
  1028.     end
  1029.     mysql_free_result ( result )
  1030. end
  1031. addEventHandler ( "onResourceStart", getResourceRootElement(getThisResource()), listAllFractionMember )
  1032. addEvent ( "fraktion_refresh", true )
  1033. addEventHandler ( "fraktion_refresh", getRootElement(), listAllFractionMember )
  1034.  
  1035.  
  1036. function frespawn ( player )
  1037.     local frac = getPlayerFaction ( player )
  1038.     local rank = getPlayerRank ( player )
  1039.     if frac then
  1040.         if frac > 0 then
  1041.             if rank >= 3 then
  1042.                 if not frespawnTimer[frac] then
  1043.                     zaehlerFrespawnTimer[frac] = 0
  1044.                     sendMSGForFaction ("Countdown zum Fraktionsrespawn wurde von "..getPlayerName(player).. " gestartet. Benutze /stopfrespawn zum Stoppen!", frac, 0, 0, 155)
  1045.                     frespawnTimer[frac] = setTimer (frespawnCountdown, 1000, 10, player)
  1046.                     addCommandHandler ("stopfrespawn", stopFrespawnCountdown)
  1047.                 else
  1048.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\nEs läuft schon\nein Frespawn\n-Countdown!", 5000, 125, 0, 0 )
  1049.                 end
  1050.             else
  1051.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nErst ab\nRang 3!", 5000, 125, 0, 0 )
  1052.             end
  1053.         else
  1054.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist in\nkeiner Fraktion!", 5000, 125, 0, 0 )
  1055.         end
  1056.     else   
  1057.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist in\nkeiner Fraktion!", 5000, 125, 0, 0 )
  1058.     end
  1059. end
  1060. addCommandHandler ( "frespawn", frespawn )
  1061.  
  1062.  
  1063. function frespawnCountdown ( player )
  1064.     local frac = getPlayerFaction ( player )
  1065.     zaehlerFrespawnTimer[frac] = zaehlerFrespawnTimer[frac] + 1
  1066.     if zaehlerFrespawnTimer[frac] == 10 then
  1067.         sendMSGForFaction ("Wird durchgeführt ..", frac, 0, 155, 0)
  1068.         startFrespawn ( player )
  1069.     elseif zaehlerFrespawnTimer[frac] == 5 then
  1070.         sendMSGForFaction ("Noch 5 Sekunden!", frac, 0, 155, 0)
  1071.     elseif zaehlerFrespawnTimer[frac] >= 7 then
  1072.         sendMSGForFaction (10-zaehlerFrespawnTimer[frac].." ..", frac, 0, 155, 0)
  1073.     end    
  1074. end
  1075.  
  1076. function startFrespawn ( player )
  1077.     frespawnTimer[getPlayerFaction ( player )] = nil
  1078.     if isCop ( player ) then
  1079.         for index, veh in pairs (copCars) do
  1080.             if not getVehicleOccupant ( veh ) then
  1081.                 respawnVehicle ( veh )
  1082.                 setElementFrozen ( veh, true )
  1083.             end
  1084.         end
  1085.     elseif isMafia ( player ) then
  1086.         for index, veh in pairs (mafiaCars) do
  1087.             if not getVehicleOccupant ( veh ) then
  1088.                 respawnVehicle ( veh )
  1089.                 setElementFrozen ( veh, true )
  1090.             end
  1091.         end
  1092.     elseif isReporter ( player ) then
  1093.         for index, veh in pairs (reporterCars) do
  1094.             if not getVehicleOccupant ( veh ) then
  1095.                 respawnVehicle ( veh )
  1096.                 setElementFrozen ( veh, true )
  1097.             end
  1098.         end
  1099.     elseif isFBI ( player ) then
  1100.         for index, veh in pairs (fbiCars) do
  1101.             if not getVehicleOccupant ( veh ) then
  1102.                 respawnVehicle ( veh )
  1103.                 setElementFrozen ( veh, true )
  1104.             end
  1105.         end
  1106.     elseif isAztecas ( player ) then
  1107.         for index, veh in pairs (aztecasCars) do
  1108.             if not getVehicleOccupant ( veh ) then
  1109.                 respawnVehicle ( veh )
  1110.                 setElementFrozen ( veh, true )
  1111.             end
  1112.         end
  1113.     elseif isTriad ( player ) then
  1114.         for index, veh in pairs (triadCars) do
  1115.             if not getVehicleOccupant ( veh ) then
  1116.                 respawnVehicle ( veh )
  1117.                 setElementFrozen ( veh, true )
  1118.             end
  1119.         end
  1120.     elseif isBiker ( player ) then
  1121.         for index, veh in pairs (bikerCars) do
  1122.             if not getVehicleOccupant ( veh ) then
  1123.                 respawnVehicle ( veh )
  1124.                 setElementFrozen ( veh, true )
  1125.             end
  1126.         end
  1127.         for index, veh in pairs (biker_freeways) do
  1128.             if not getVehicleOccupant ( veh ) then
  1129.                 respawnVehicle ( veh )
  1130.                 setElementFrozen ( veh, true )
  1131.             end
  1132.         end
  1133.     elseif isArmy ( player ) then
  1134.         for index, veh in pairs (armyCars) do
  1135.             if not getVehicleOccupant ( veh ) then
  1136.                 respawnVehicle ( veh )
  1137.                 setElementFrozen ( veh, true )
  1138.             end
  1139.         end
  1140.     elseif isTerror ( player )
  1141.         for index, veh in pairs (terrorCars) do
  1142.             respawnVeh_func ( veh )
  1143.         end
  1144.     end
  1145. end
  1146.  
  1147.  
  1148. function stopFrespawnCountdown ( player )
  1149.     local frac = getPlayerFaction ( player )
  1150.     if frac then
  1151.         if frac > 0 then
  1152.             if frespawnTimer[frac] then
  1153.                 if isTimer(frespawnTimer[frac]) then
  1154.                     killTimer(frespawnTimer[frac])
  1155.                     frespawnTimer[frac] = nil
  1156.                     sendMSGForFaction ("Fraktions-Respawn abgebrochen durch "..getPlayerName(player), frac, 155, 0, 0)
  1157.                 end
  1158.             end
  1159.         end
  1160.     end
  1161. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement