Guest User

Untitled

a guest
Jun 25th, 2017
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 83.30 KB | None | 0 0
  1. -- Table
  2. adminsIngame = {}
  3. local player_admin = {}
  4. local frozen_players = {}
  5. local veh_frozen_players = {}
  6. local veh_frozen_vehs = {}
  7. local muted_players = {}
  8. local adminLevels = {
  9.     ["VIP"] = 1,
  10.     ["Ticketsupporter"] = 2,
  11.     ["Supporter"] = 3,
  12.     ["Moderator"] = 4,
  13.     ["Administrator"] = 5,
  14.     ["Serverleiter"] = 6,
  15.     ["Server Inhaber"] = 7
  16. }
  17. donatorMute = {}
  18. local adminmarks = {}
  19.  
  20. -- Funktionen
  21.  
  22. local pack_cmds = {}
  23. pack_cmds["msg"] = true
  24. pack_cmds["pm"] = true
  25.  
  26. function blockParticularCmds ( cmd )
  27.     if pack_cmds[cmd] and vioGetElementData ( source, "adminlvl" ) < 3 then
  28.         cancelEvent()
  29.         outputChatBox ( "Benutzung von /msg und /pm ist verboten", source, 255, 0, 0 )
  30.     end
  31.    
  32. end
  33.  
  34. --
  35.  
  36. function blockParticularCmdsJoin ( )
  37.     addEventHandler( "onPlayerCommand", source, blockParticularCmds )  
  38. end
  39. addEventHandler ( "onPlayerJoin", getRootElement(), blockParticularCmdsJoin )
  40.  
  41.  
  42. function executeAdminServerCMD_func ( cmd, arguments )
  43.     executeCommandHandler ( cmd, client, arguments )   
  44. end
  45.  
  46.  
  47. function doesAnyPlayerOccupieTheVeh ( car )
  48.     local bool = false
  49.     for i = 0, 5, 1 do 
  50.         local test = getVehicleOccupant ( car, i ) 
  51.         if test ~= false then
  52.             bool = true
  53.         end
  54.     end
  55.     if bool == false then
  56.         return false
  57.     else
  58.         return true
  59.     end
  60. end
  61.  
  62.  
  63. function getAdminLevel ( player )
  64.     local plevel = vioGetElementData ( player, "adminlvl" )
  65.     if not plevel or plevel == nil then
  66.         return 0
  67.     end
  68.     return tonumber(plevel)
  69. end
  70.  
  71.  
  72. function isAdminLevel ( player, level )
  73.     local plevel = vioGetElementData ( player, "adminlvl" )
  74.     if not plevel or plevel == nil then
  75.         return false
  76.     end
  77.     if plevel >= level then
  78.         return true
  79.     else
  80.         return false
  81.     end
  82. end
  83.  
  84.  
  85. function adminMenueTrigger_func ( )
  86.     if source == client then
  87.         if vioGetElementData ( source, "adminlvl" ) >= 2 then
  88.             triggerClientEvent ( source, "PListFill", getRootElement() )
  89.         else
  90.             triggerClientEvent ( source, "infobox_start", getRootElement(), "\nDu bist kein\nAdmin!", 5000, 255, 0, 0 )
  91.         end
  92.     end
  93. end
  94.  
  95.  
  96.  
  97.  
  98. function nickchange_func ( player, cmd, alterName, neuerName )
  99.     if alterName and neuerName then
  100.         if isAdminLevel ( player, adminLevels["Administrator"] ) then
  101.             if not getPlayerName ( alterName ) then
  102.                 if playerUID[alterName] then
  103.                     local UID = playerUID[alterName]
  104.                     local result2 = dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ?? LIKE ?", "Name", "players", "Name", neuerName ), -1 )
  105.                     if not result2 or not result2[1] then                  
  106.                         -- Data --
  107.                         dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "players", "Name", neuerName, "UID", UID )              
  108.                         playerUID[neuerName] = playerUID[alterName]
  109.                         playerUID[alterName] = nil
  110.                         outputAdminLog ( getPlayerName ( player ).." hat "..alterName.." in "..neuerName.." umbenannt." )                  
  111.                         outputChatBox ( "Du hast den Spieler "..alterName.." in "..neuerName.." umbenannt!", player, 0, 125, 0 )                       
  112.                     else   
  113.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer neue Name\nist bereits\nvergeben!", 7500, 125, 0, 0 )                   
  114.                     end    
  115.                 else   
  116.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer Spieler\nexistiert nicht!", 7500, 125, 0, 0 )
  117.                 end            
  118.             else
  119.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer Spieler ist\nnoch eingeloggt!", 7500, 125, 0, 0 )
  120.             end
  121.         else
  122.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist\nkein Admin!", 7500, 125, 0, 0 )
  123.         end
  124.     else
  125.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/nickchange aName nName", 7500, 125, 0, 0 )
  126.     end
  127. end
  128.  
  129.  
  130. function move_func ( player, cmd, direction )
  131.     if direction then
  132.         if ( not client or client == player ) then
  133.             if isAdminLevel ( player, adminLevels["Supporter"] ) then  
  134.                 local veh = getPedOccupiedVehicle ( player )
  135.                 local element = player     
  136.                 if isElement ( veh ) then          
  137.                     element = veh              
  138.                 end        
  139.                 local x, y, z = getElementPosition ( element )         
  140.                 if direction == "up" then
  141.                     y = y + 2
  142.                 elseif direction == "down" then
  143.                     y = y - 2
  144.                 elseif direction == "left" then
  145.                     x = x - 2
  146.                 elseif direction == "right" then
  147.                     x = x + 2
  148.                 elseif direction == "higher" then
  149.                     z = z + 2
  150.                 elseif direction == "lower" then
  151.                     z = z - 2
  152.                 end        
  153.                 setElementPosition ( element, x, y, z )            
  154.             else       
  155.                 infobox ( player, "Du bist kein Admin", 5000, 125, 0, 0 )          
  156.             end
  157.         else
  158.             outputChatBox ( player, "Richtungen: up, down, left, right, higher, lower", player, 255, 0, 0 )
  159.             infobox ( player, "Bitte Richtung angeben!", 5000, 125, 0, 0 )
  160.         end
  161.     end
  162. end
  163.  
  164.  
  165. function moveVehicleAway_func ( veh )
  166.     if veh and getElementType (veh) == "vehicle" then
  167.         if isAdminLevel ( client, adminLevels["Supporter"] ) then
  168.             setElementPosition ( veh, 999999, 999999, 999999 )
  169.             setElementInterior ( veh, 999999 )
  170.             setElementDimension ( veh, 999999 )
  171.         end
  172.     end
  173. end
  174.  
  175.  
  176. function pwchange_func ( player, cmd, target, newPW )
  177.     if getElementType ( player ) == "console" or isAdminLevel ( player, adminLevels["Administrator"] ) then
  178.         if newPW and target then   
  179.             dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "players", "Passwort", hash("sha512", hash( "sha512", newPW)), "UID", playerUID[target] )
  180.             outputChatBox ( "Passwort geändert!", player, 0, 125, 0 )     
  181.             outputAdminLog ( getPlayerName ( player ).." hat das Passwort von "..target.." geändert!" )           
  182.         else   
  183.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/pwchange Name PW", 7500, 125, 0, 0 )    
  184.         end    
  185.     else   
  186.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist\nnicht befugt!", 7500, 125, 0, 0 )      
  187.     end
  188. end
  189.  
  190.  
  191. function shut_func ( player )
  192.     if isAdminLevel ( player, adminLevels["Administrator"] ) then
  193.         outputAdminLog ( getPlayerName ( player ).." hat die Notabschaltung benutzt." )
  194.         shutdown ( "Abgeschaltet von: "..getPlayerName ( player ) )
  195.         setServerPassword ( "sdfsadgsdahsa" )
  196.         local players = getElementsByType("player")
  197.         for i=1, #players do
  198.             kickPlayer ( players[i], player, "Notabschaltung!" )
  199.         end
  200.     end
  201. end
  202.  
  203.  
  204. function rebind_func ( player )
  205.     if isKeyBound ( player, "r", "down", reload ) then
  206.         unbindKey ( player, "r", "down", reload )
  207.     end
  208.     bindKey ( player, "r", "down", reload )
  209.     outputChatBox ( "Hotkeys wurden neu gelegt!", player, 0, 125, 0 )
  210. end
  211.  
  212.  
  213. function adminlist ( player )
  214.     outputChatBox ( "Momentan online:", player, 0, 100, 255 )
  215.     local dev = {}
  216.     local pl = {}
  217.     local adm = {}
  218.     local mode = {}
  219.     local sup = {}
  220.     local ticke = {}
  221.  
  222.     for playeritem, rang in pairs (adminsIngame) do
  223.         if rang == 7 then
  224.             dev[playeritem] = true
  225.         elseif rang == 6 then
  226.             pl[playeritem] = true
  227.         elseif rang == 5 then
  228.             adm[playeritem] = true
  229.         elseif rang == 4 then
  230.             mode[playeritem] = true
  231.         elseif rang == 3 then
  232.             sup[playeritem] = true
  233.         elseif rang == 2 then
  234.             ticke[playeritem] = true
  235.         end
  236.     end
  237.     for playeritem,_ in pairs ( dev ) do
  238.         outputChatBox ( getPlayerName(playeritem)..", Server Inhaber", player, 180, 0, 0 )
  239.     end
  240.     for playeritem,_ in pairs ( pl ) do
  241.         outputChatBox ( getPlayerName(playeritem)..", Serverleiter", player, 180, 0, 0 )
  242.     end
  243.     for playeritem,_ in pairs ( adm ) do
  244.         outputChatBox ( getPlayerName(playeritem)..", Administrator", player, 232, 174, 0 )
  245.     end
  246.     for playeritem,_ in pairs ( mode ) do
  247.         outputChatBox ( getPlayerName(playeritem)..", Moderator", player, 0, 51, 255 )
  248.     end
  249.     for playeritem,_ in pairs ( sup ) do
  250.         outputChatBox ( getPlayerName(playeritem)..", Supporter", player, 0, 102, 0 )
  251.     end
  252.     for playeritem,_ in pairs ( ticke ) do
  253.         outputChatBox ( getPlayerName(playeritem)..", Ticketsupporter", player, 200, 0, 200 )
  254.     end
  255. end
  256.  
  257.  
  258. function check_func ( admin, cmd, target )
  259.     if isAdminLevel ( admin, adminLevels["Administrator"] ) then
  260.         if target then
  261.             local player = findPlayerByName( target )
  262.             if player then
  263.                 local playtime = vioGetElementData ( player, "playingtime" )
  264.                 local playtimehours = math.floor(playtime/60)
  265.                 local playtimeminutes = playtime-playtimehours*60
  266.                 local playtime = playtimehours..":"..playtimeminutes
  267.                 outputChatBox ( "Name: "..getPlayerName(player).." ( ID: "..vioGetElementData(player,"playerid").." ), Geld ( Bar/Bank ): "..vioGetElementData ( player, "money" ).."/"..vioGetElementData ( player, "bankmoney" )..", Spielzeit: "..playtime.." Minuten", admin, 200, 200, 0 )
  268.                 --local job = jobNames [ vioGetElementData ( player, "job" ) ]
  269.                 outputChatBox ( --[["Job: "..job..",]]" Warns: "..getPlayerWarnCount ( getPlayerName ( player ) )..", Telefonnr: "..vioGetElementData ( player, "telenr" ), admin, 200, 200, 0 )
  270.                 outputChatBox ( "Tode: "..vioGetElementData ( player, "GangwarTode" )..", Kills: "..vioGetElementData ( player, "GangwarKills" )..", Drogen: "..vioGetElementData ( player, "drugs" )..", Materials: "..vioGetElementData ( player, "mats" ), admin, 200, 200, 0 )
  271.                 local fraktion = tonumber ( vioGetElementData ( player, "fraktion" ) )
  272.                 fraktion = fraktionNames[fraktion]
  273.                 outputChatBox ( "Gefundene Paeckchen: "..vioGetElementData ( player, "foundpackages" ).."/25", admin, 200, 200, 0 )
  274.                 outputChatBox ( "Fraktion: "..fraktion..", AdminLVL: "..vioGetElementData ( player, "adminlvl" )..", Bonuspunkte: "..vioGetElementData ( player, "bonuspoints" ), admin, 200, 200, 0 )
  275.                 local pname = getPlayerName ( player )
  276.                 local licenses = ""
  277.                 if vioGetElementData ( player, "carlicense" ) == 1 then licenses = licenses.."Fuehrerschein " end
  278.                 if vioGetElementData ( player, "bikelicense" ) == 1 then licenses = licenses.."Motorradschein " end
  279.                 if vioGetElementData ( player, "fishinglicense" ) == 1 then licenses = licenses.."Angelschein " end
  280.                 if vioGetElementData ( player, "lkwlicense" ) == 1 then licenses = licenses.."LKW-Fuehrerschein " end
  281.                 if vioGetElementData ( player, "gunlicense" ) == 1 then licenses = licenses.."Waffenschein " end
  282.                 if vioGetElementData ( player, "motorbootlicense" ) == 1 then licenses = licenses.."Bootsfuehrerschein " end
  283.                 if vioGetElementData ( player, "segellicense" ) == 1 then licenses = licenses.."Segelschein " end
  284.                 if vioGetElementData ( player, "planelicenseb" ) == 1 then licenses = licenses.."Flugschein A " end
  285.                 if vioGetElementData ( player, "planelicensea" ) == 1 then licenses = licenses.."Flugschein B " end
  286.                 if vioGetElementData ( player, "helilicense" ) == 1 then licenses = licenses.."Flugschein C " end
  287.                 outputChatBox ( "Vorhandene Lizensen: ", admin, 200, 0, 200 )
  288.                 outputChatBox ( licenses, admin, 200, 50, 200 )
  289.                 executeCommandHandler ( "getchangestate", admin, getPlayerName(player) )
  290.                 outputChatBox ( "IP: "..getPlayerIP(player), admin, 200, 200, 0 )
  291.                 outputChatBox ( "Aktuelle Waffe: "..getPedWeapon(player), admin, 125, 125, 125 )
  292.             else
  293.                 triggerClientEvent ( admin, "infobox_start", getRootElement(), "\n\nUngueltiger Name!", 7500, 125, 0, 0 )
  294.             end
  295.         else
  296.             triggerClientEvent ( admin, "infobox_start", getRootElement(), "\nGebrauch:\n/check Name!", 7500, 125, 0, 0 )
  297.         end
  298.     else
  299.         triggerClientEvent ( admin, "infobox_start", getRootElement(), "\n\nDu bist kein\n Admin!", 7500, 125, 0, 0 )  
  300.     end
  301. end
  302.  
  303.  
  304.  
  305. function mark_func ( player, cmd, count )
  306.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  307.         if not count or tonumber(count) == nil then
  308.             count = 1      
  309.         end
  310.         count = tonumber(count)        
  311.         if count ~= 1 and count ~= 2 and count ~= 3 then           
  312.             outputChatBox ( "Es sind nur Marker 1, 2 und 3 möglich!", player, 0, 0, 0 )
  313.             return         
  314.         end
  315.         local x, y, z = getElementPosition ( player )
  316.         local int = getElementInterior ( player )
  317.         local dim = getElementDimension ( player )
  318.         if not adminmarks[player] then
  319.             adminmarks[player] = {}
  320.         end
  321.         adminmarks[player][count] = { ["x"] = x, ["y"] = y, ["z"] = z, ["dim"] = dim, ["int"] = int }  
  322.         outputChatBox ( "Koordinaten für Marker "..count.." gesetzt!", player, 0, 0, 0 )          
  323.     end
  324. end
  325.  
  326.  
  327. function gotomark_func ( player, cmd, count )
  328.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  329.         if not count or tonumber(count) == nil then
  330.             count = 1          
  331.         end
  332.         count = tonumber(count)    
  333.         if count ~= 1 and count ~= 2 and count ~= 3 then       
  334.             outputChatBox ( "Es sind nur Marker 1, 2 und 3 möglich!", player, 0, 0, 0 )
  335.             return             
  336.         end
  337.         if not adminmarks[player] then
  338.             adminmarks[player] = {}
  339.         end    
  340.         if not adminmarks[player][count] then
  341.             outputChatBox ( "Marker existiert nicht!", player, 0, 0, 0 )
  342.             return
  343.         end
  344.         local x, y, z, dim, int = adminmarks[player][count]["x"], adminmarks[player][count]["y"], adminmarks[player][count]["z"], adminmarks[player][count]["dim"], adminmarks[player][count]["int"]   
  345.         local seat = getPedOccupiedVehicleSeat ( player )  
  346.         if seat then       
  347.             if seat == 0 then  
  348.                 local veh = getPedOccupiedVehicle( player )
  349.                 setElementPosition ( veh, x, y, z )
  350.                 setElementDimension ( veh, dim )
  351.                 setElementInterior ( veh, int )
  352.                 setElementDimension ( player, int )
  353.                 setElementInterior ( player, dim )             
  354.                 outputChatBox ( "Zum "..count..". Marker teleportiert!", player, 0, 0, 0 )
  355.                 return         
  356.             end        
  357.         end
  358.         removePedFromVehicle ( player )
  359.         setElementPosition ( player, x, y, z )
  360.         setElementDimension ( player, dim )
  361.         setElementInterior ( player, int )
  362.         outputChatBox ( "Zum "..count..". Marker teleportiert!", player, 0, 0, 0 ) 
  363.     end
  364. end
  365.  
  366.  
  367. function respawn_func ( player, cmd, respawn )
  368.     local bool = false
  369.     local boole = false
  370.     if respawn then
  371.         if player == "none" or ( isElement ( player ) and isAdminLevel ( player, adminLevels["Supporter"] ) ) then
  372.             if respawn == "fishing" then
  373.                 for i = 1, 9 do
  374.                     if not getVehicleOccupant ( fishReefer[i] ) then
  375.                         respawnVehicle ( fishReefer[i] )
  376.                         setElementDimension ( fishReefer[i], 0 )
  377.                         setElementInterior ( fishReefer[i], 0 )
  378.                     end
  379.                 end
  380.             elseif respawn == "sfpd" then
  381.                 for veh, _ in pairs ( factionVehicles[1] ) do
  382.                     if not getVehicleOccupant ( veh ) then
  383.                         respawnVehicle ( veh )
  384.                     end
  385.                 end
  386.             elseif respawn == "terror" then
  387.                 for veh, _ in pairs ( factionVehicles[4] ) do
  388.                     if not getVehicleOccupant ( veh ) then
  389.                         respawnVehicle ( veh )
  390.                     end
  391.                 end
  392.             elseif respawn == "mafia" then
  393.                 for veh, _ in pairs ( factionVehicles[2] ) do
  394.                     if not getVehicleOccupant ( veh ) then
  395.                         respawnVehicle ( veh )
  396.                     end
  397.                 end
  398.             elseif respawn == "triaden" then
  399.                 for veh, _ in pairs ( factionVehicles[3] ) do
  400.                     if not getVehicleOccupant ( veh ) then
  401.                         respawnVehicle ( veh )
  402.                     end
  403.                 end
  404.             elseif respawn == "news" then
  405.                 for veh, _ in pairs ( factionVehicles[5] ) do
  406.                     if not getVehicleOccupant ( veh ) then
  407.                         respawnVehicle ( veh )
  408.                     end
  409.                 end
  410.             elseif respawn == "fbi" then
  411.                 for veh, _ in pairs ( factionVehicles[6] ) do
  412.                     if not getVehicleOccupant ( veh ) then
  413.                         respawnVehicle ( veh )
  414.                     end
  415.                 end
  416.             elseif respawn == "taxi" then
  417.                 for i = 1, #taxiCars do
  418.                     if not getVehicleOccupant ( taxiCars[i] ) then
  419.                         respawnVehicle ( taxiCars[i] )
  420.                     end
  421.                 end
  422.             elseif respawn == "hotdog" then
  423.                 for i = 1, #hotdogVehicles do
  424.                     if not getVehicleOccupant ( hotdogVehicles[i] ) then
  425.                         respawnVehicle ( hotdogVehicles[i] )
  426.                     end
  427.                 end
  428.             elseif respawn == "aztecas" then
  429.                 for veh, _ in pairs ( factionVehicles[7] ) do
  430.                     if not getVehicleOccupant ( veh ) then
  431.                         respawnVehicle ( veh )
  432.                     end
  433.                 end
  434.             elseif respawn == "army" then
  435.                 for veh, _ in pairs ( factionVehicles[8] ) do
  436.                     if not getVehicleOccupant ( veh ) then
  437.                         respawnVehicle ( veh )
  438.                     end
  439.                 end
  440.                 if not getVehicleOccupant ( armyAC130 ) then
  441.                     destroyElement ( armyAC130 )
  442.                     ac130 ()
  443.                 end
  444.             elseif respawn == "biker" then
  445.                 for veh, _ in pairs ( factionVehicles[9] ) do
  446.                     if not getVehicleOccupant ( veh ) then
  447.                         respawnVehicle ( veh )
  448.                     end
  449.                 end
  450.             elseif respawn == "mechanic" then
  451.                 for veh, _ in pairs ( factionVehicles[11] ) do
  452.                     if not getVehicleOccupant ( veh ) then
  453.                         respawnVehicle ( veh )
  454.                     end
  455.                 end
  456.             elseif respawn == "medic" then
  457.                 for veh, _ in pairs ( factionVehicles[10] ) do
  458.                     if not getVehicleOccupant ( veh ) then
  459.                         respawnVehicle ( veh )
  460.                     end
  461.                 end
  462.             elseif respawn == "grove" then
  463.                 for veh, _ in pairs ( factionVehicles[12] ) do
  464.                     if not getVehicleOccupant ( veh ) then
  465.                         respawnVehicle ( veh )
  466.                     end
  467.                 end
  468.             elseif respawn == "ballas" then
  469.                 for veh, _ in pairs ( factionVehicles[13] ) do
  470.                     if not getVehicleOccupant ( veh ) then
  471.                         respawnVehicle ( veh )
  472.                     end
  473.                 end
  474.             else
  475.                 if player ~= "none" then outputChatBox ( "/respawn [sfpd|medic|mechanic|mafia|triaden|news|terror|fbi|aztecas|army|biker|grove|ballas|fishing|taxi|hotdog]", player, 125, 0, 0 ) end
  476.                 boole = true
  477.             end
  478.             if not boole then
  479.                 if player ~= "none" then outputChatBox ( "Fahrzeuge respawned!", player, 0, 125, 0 ) end
  480.             end
  481.         else
  482.             triggerClientEvent ( player, "infobox_start", player, "\n\nDu bist nicht\nauthorisiert!", 5000, 125, 0, 0 )
  483.         end
  484.     else
  485.         outputChatBox ( "/respawn [sfpd|medic|mechanic|mafia|triaden|news|terror|fbi|aztecas|army|biker|grove|ballas|fishing|taxi|hotdog]", player, 125, 0, 0 )
  486.     end
  487. end
  488.  
  489.  
  490. function tunecar_func ( player, cmd, part )
  491.     if isAdminLevel ( player, adminLevels["Administrator"] ) then
  492.         if part and tonumber ( part ) then
  493.             succes = addVehicleUpgrade ( getPedOccupiedVehicle(player), tonumber ( part ) )
  494.             outputAdminLog ( getPlayerName ( player ).." hat ein Auto upgegradet!" )
  495.             if succes == false then
  496.                 outputChatBox ( "Ungueltige Eingabe/Fahrzeug!", player, 125, 0, 0 )    
  497.             end
  498.         else
  499.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nGebrauch:\n/tunecar [Part]", 7500, 125, 0, 0 )
  500.         end
  501.     else
  502.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist nicht\nauthorisiert!", 5000, 125, 0, 0 )  
  503.     end
  504. end
  505.  
  506.  
  507. function freezeshit ( )
  508.     setElementFrozen ( source, true )
  509.     setElementFrozen ( veh_frozen_vehs[getPlayerName(source)], false ) 
  510. end
  511.  
  512.  
  513. function cancelWeaponShit ()
  514.     setPedWeaponSlot ( source, 0 )
  515. end
  516.  
  517.  
  518. function freeze_func ( player, cmd, target )
  519.     local fix
  520.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  521.         if target then
  522.             target = findPlayerByName( target )
  523.             if target then
  524.                 if frozen_players[getPlayerName(target)] then
  525.                     setElementFrozen ( target, false )
  526.                     frozen_players[getPlayerName(target)] = false
  527.                     removeEventHandler ( "onPlayerWeaponSwitch", target, cancelWeaponShit )
  528.                     outputChatBox ( "Du hast "..getPlayerName(target).." entfreezed!", player, 0, 125, 0 )
  529.                     outputChatBox ( "Du wurdest von "..getPlayerName(player).." entfreezed!", target, 0, 125, 0 )      
  530.                     return         
  531.                 end            
  532.                 if veh_frozen_players[getPlayerName(target)] then              
  533.                     setElementFrozen ( target, false )
  534.                     veh_frozen_players[getPlayerName(target)] = false
  535.                     removeEventHandler ( "onPlayerWeaponSwitch", target, cancelWeaponShit )
  536.                     setElementFrozen ( veh_frozen_vehs[getPlayerName(target)], false )
  537.                     veh_frozen_vehs[getPlayerName(target)] = false 
  538.                     removeEventHandler ( "onPlayerVehicleExit", target, freezeshit )                       
  539.                     outputChatBox ( "Du hast "..getPlayerName(target).." entfreezed!", player, 0, 125, 0 )
  540.                     outputChatBox ( "Du wurdest von "..getPlayerName(player).." entfreezed!", target, 0, 125, 0 )                  
  541.                     return             
  542.                 end        
  543.                 local veh = getPedOccupiedVehicle ( target )                       
  544.                 if veh then            
  545.                     setElementFrozen ( veh, true )                 
  546.                     veh_frozen_players[getPlayerName(target)] = true
  547.                     veh_frozen_vehs[getPlayerName(target)] = veh
  548.                     addEventHandler ( "onPlayerWeaponSwitch", target, cancelWeaponShit )
  549.                     setPedWeaponSlot ( target, 0 )
  550.                     addEventHandler ( "onPlayerVehicleExit", target, freezeshit )                      
  551.                     addEventHandler ( "onPlayerQuit", target,
  552.                         function ()
  553.                             setElementFrozen ( veh_frozen_vehs[getPlayerName(source)], false )
  554.                             veh_frozen_players[getPlayerName(source)] = false
  555.                             veh_frozen_vehs[getPlayerName(source)] = false
  556.                         end )                      
  557.                 else               
  558.                     setElementFrozen ( target, true )
  559.                     frozen_players[getPlayerName(target)] = true
  560.                     addEventHandler ( "onPlayerWeaponSwitch", target, cancelWeaponShit )
  561.                     setPedWeaponSlot ( target, 0 )
  562.                     addEventHandler ( "onPlayerQuit", target,
  563.                         function ()
  564.                             frozen_players[getPlayerName(source)] = false
  565.                         end )                                      
  566.                 end                        
  567.                 outputChatBox ( "Du hast "..getPlayerName(target).." gefreezed!", player, 0, 125, 0 )
  568.                 outputChatBox ( "Du wurdest von "..getPlayerName(player).." gefreezed!", target, 0, 125, 0 )
  569.                 outputAdminLog ( getPlayerName ( player ).." hat "..getPlayerName ( target ).." gefreezet!" )
  570.             end
  571.         else
  572.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/freeze NAME!", 5000, 125, 0, 0 )
  573.         end
  574.     else   
  575.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist nicht\nauthorisiert!", 5000, 125, 0, 0 )      
  576.     end
  577. end
  578.  
  579.  
  580. function intdim ( player, cmd, target, int, dim )
  581.     if isAdminLevel ( player, adminLevels ["Moderator"] ) then
  582.         if target then
  583.             local target = findPlayerByName( target )  
  584.             if not isElement(target) then
  585.                 outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  586.                 return
  587.             end
  588.             if int and tonumber(int) ~= nil and dim and tonumber(dim) ~= nil then
  589.                 setElementInterior ( target, tonumber ( int ) )
  590.                 setElementDimension ( target, tonumber ( dim ) )
  591.             else
  592.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/intdim NAME INT DIM!", 5000, 125, 0, 0 )
  593.             end
  594.         else
  595.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/intdim NAME INT DIM!", 5000, 125, 0, 0 )
  596.         end
  597.     else   
  598.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist nicht\nauthorisiert!", 5000, 125, 0, 0 )      
  599.     end    
  600. end
  601.  
  602.  
  603. function cleartext_func ( player )
  604.     if getElementType ( player ) == "console" or isAdminLevel ( player, adminLevels["Supporter"] ) then
  605.         for i = 1, 50 do
  606.             outputChatBox ( " " )
  607.         end
  608.     else
  609.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist nicht\nauthorisiert!", 5000, 125, 0, 0 )  
  610.     end
  611. end
  612.  
  613.  
  614. function kickPlayerGMX ( player )
  615.     kickPlayer ( player, "Serverrestart" )
  616. end
  617.  
  618.  
  619. function restartNow ()
  620.     if not isThisTheBetaServer () then
  621.         setServerPassword ( "" )
  622.     end
  623.     local resource = getThisResource()
  624.     elementData = nil
  625.     restartResource ( resource )   
  626. end
  627.  
  628.  
  629. function restartServer()
  630.     local btime = getRealTime()
  631.     local bmonth = btime.month
  632.     local bday = btime.monthday
  633.     local bhour = btime.hour
  634.     local bminute = btime.minute
  635.     local bsecond = btime.second   
  636.     if isThisTheBetaServer () then
  637.         setServerPassword ( betaServerPasswort )
  638.     else
  639.         setServerPassword ( "sadfsadfsa!" )
  640.     end
  641.     local players = getElementsByType("player")
  642.     local j=0
  643.     for i=1, #players do
  644.         setTimer ( kickPlayerGMX, 50+100*i, 1, players[i] )
  645.         j = i
  646.     end
  647.     setTimer ( restartNow, 100+200*j, 1 )
  648. end
  649.  
  650.  
  651. function gmx_func ( player, cmd, minutes ) 
  652.     if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Serverleiter"] ) then
  653.         outputAdminLog ( getPlayerName ( player ).." hat den Server neu gestartet." )
  654.         if not minutes or not tonumber(minutes) then minutes = 1 end   
  655.         setTimer ( restartServer, minutes*60000, 1 )
  656.         outputChatBox ( "Server wird in "..minutes.." Minuten neu gestartet.", getRootElement(), 125, 0, 0 )   
  657.         local btime = getRealTime()
  658.         local bmonth = btime.month
  659.         local bday = btime.monthday
  660.         local bhour = btime.hour
  661.         local bminute = btime.minute
  662.         local bsecond = btime.second
  663.         outputServerLog ( bday.."."..bmonth..", "..bhour..":"..bminute..":"..bsecond.." - "..getPlayerName ( player ).." hat den Server neu gestartet!")   
  664.     else
  665.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu bist nicht\nauthorisiert!", 5000, 125, 0, 0 )  
  666.     end
  667. end
  668.  
  669.  
  670. function ochat_func ( player, cmd, ... )
  671.     local parametersTable = {...}
  672.     local stringWithAllParameters = table.concat( parametersTable, " " )
  673.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  674.         if stringWithAllParameters == nil then
  675.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nBitte einen\nText eingeben!", 5000, 125, 0, 0 ) 
  676.         else
  677.             local rang = vioGetElementData ( player, "adminlvl" )
  678.             local rank = ""
  679.             if rang == 2 then
  680.                 rank = "Ticketsupporter"
  681.             elseif rang == 3 then
  682.                 rank = "Supporter"
  683.             elseif rang == 4 then
  684.                 rank = "Moderator"
  685.             elseif rang == 5 then
  686.                 rank = "Administrator"
  687.             elseif rang == 6 then
  688.                 rank = "Serverleiter"
  689.             end
  690.             outputChatBox ( "(( "..rank.." "..getPlayerName(player)..": "..stringWithAllParameters.." ))", getRootElement(), 255, 255, 255 )   
  691.         end
  692.     else   
  693.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist kein\n Admin!", 5000, 125, 0, 0 )       
  694.     end
  695. end
  696.  
  697.  
  698. function achat_func ( player, cmd, ... )       
  699.     local parametersTable = {...}
  700.     local stringWithAllParameters = table.concat( parametersTable, " " )
  701.     if isAdminLevel ( player, adminLevels["Ticketsupporter"] ) then
  702.         if stringWithAllParameters == nil then     
  703.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nBitte einen\nText eingeben!", 5000, 125, 0, 0 )     
  704.         else                   
  705.             local rang = vioGetElementData ( player, "adminlvl" )
  706.             local rank = ""
  707.             if rang == 2 then
  708.                 rank = "Ticketsupporter"
  709.             elseif rang == 3 then
  710.                 rank = "Supporter"
  711.             elseif rang == 4 then
  712.                 rank = "Moderator"
  713.             elseif rang == 5 then
  714.                 rank = "Administrator"
  715.             elseif rang == 6 then
  716.                 rank = "Serverleiter"
  717.             end
  718.             for playeritem, index in pairs(adminsIngame) do            
  719.                 if index >= 2 then
  720.                     outputChatBox ( "[ "..rank.." "..getPlayerName(player)..": "..stringWithAllParameters.." ]", playeritem, 99, 184, 255 )
  721.                 end            
  722.             end    
  723.         end
  724.     elseif vioGetElementData ( player, "adminlvl" ) == 1 then
  725.         if stringWithAllParameters == nil then     
  726.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nBitte einen\nText eingeben!", 5000, 125, 0, 0 )     
  727.         else   
  728.             for playeritem, index in pairs(adminsIngame) do    
  729.                 if index == 1 then
  730.                     if not donatorMute[playeritem][getPlayerName(player)] or donatorMute[playeritem][getPlayerName(player)] == nil then
  731.                         outputChatBox ( "[ "..getPlayerName(player)..": "..stringWithAllParameters.." ]", playeritem, 99, 184, 255 )
  732.                     end
  733.                 end            
  734.             end    
  735.         end
  736.     else   
  737.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist\nkein Admin!", 5000, 125, 0, 0 )    
  738.     end
  739. end
  740.  
  741.  
  742. function setrank_func ( player, cmd, target, rank )
  743.     if target then
  744.         if rank then
  745.             local targetpl = findPlayerByName( target )
  746.             local rank = math.floor ( math.abs ( tonumber ( rank ) ) )     
  747.             if isAdminLevel ( player, adminLevels["Moderator"] ) then      
  748.                 if isElement ( targetpl ) then         
  749.                     if rank <= 5 then              
  750.                         vioSetElementData ( targetpl, "rang", rank )
  751.                         local frac = vioGetElementData(targetpl,"fraktion")
  752.                         fraktionMemberList[frac][getPlayerName(targetpl)] = rank
  753.                         outputChatBox ( "Admin "..getPlayerName ( player ).." hat deinen Rank auf "..rank.." gesetzt!", targetpl, 200, 200, 0 )
  754.                         outputChatBox ( "Rang gesetzt!", player, 0, 125, 0 )
  755.                         outputAdminLog ( getPlayerName ( player ).." hat "..getPlayerName ( targetpl ).."s Rang auf "..rank.." gesetzt!" )
  756.                         for playeritem, _ in pairs ( fraktionMembers[frac] ) do
  757.                             triggerClientEvent ( playeritem, "syncPlayerList", player, fraktionMemberList[frac], fraktionMemberListInvite[frac] )
  758.                         end
  759.                     else
  760.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/setrank [Name] [Rang]", 5000, 255, 0, 0 )       
  761.                     end
  762.                 elseif playerUID[target] then
  763.                     local frac = tonumber ( dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "Fraktion", "userdata", "UID", playerUID[target] ), -1 )[1]["Fraktion"] )
  764.                     if frac > 0 then
  765.                         dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "FraktionsRang", rank, "UID", playerUID[target] )
  766.                         fraktionMemberList[frac][target] = rank
  767.                         offlinemsg ( "Du wurdest von "..getPlayerName(player).." auf Rang "..rank.." gesetzt.", "Server", target )
  768.                         outputChatBox ( "Rang gesetzt (offline)!", player, 0, 125, 0 )
  769.                         outputAdminLog ( getPlayerName ( player ).." hat "..target.."s Rang offline auf "..rank.." gesetzt!" )
  770.                         for playeritem, _ in pairs ( fraktionMembers[frac] ) do
  771.                             triggerClientEvent ( playeritem, "syncPlayerList", player, fraktionMemberList[frac], fraktionMemberListInvite[frac] )
  772.                         end
  773.                     else
  774.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer Spieler\ist Zivilist!", 5000, 255, 0, 0 )
  775.                     end            
  776.                 else   
  777.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\nSpieler\nexistiert nicht!", 5000, 255, 0, 0 )           
  778.                 end        
  779.             else       
  780.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )   
  781.             end
  782.         else       
  783.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/setrank NAME RANG", 5000, 255, 0, 0 )   
  784.         end
  785.     else       
  786.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/setrank NAME RANG", 5000, 255, 0, 0 )   
  787.     end
  788. end
  789.  
  790.  
  791. function makeleader_func ( player, cmd, target, fraktion )
  792.     if target then
  793.         local targetpl = findPlayerByName( target )
  794.         if fraktion then
  795.             fraktion = math.floor ( math.abs ( tonumber ( fraktion ) ) )
  796.             if isAdminLevel ( player, adminLevels["Moderator"] ) then  
  797.                 if not isElement ( targetpl ) then
  798.                     if playerUID[target] then
  799.                         local oldfrac = tonumber ( dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "Fraktion", "userdata", "UID", playerUID[target] ), -1 )[1]["Fraktion"] )
  800.                         dbExec ( handler, "UPDATE ?? SET ??=?, ??=? WHERE ??=?", "userdata", "FraktionsRang", 5, "Fraktion", fraktion, "UID", playerUID[target] )
  801.                         fraktionMemberList[oldfrac][target] = nil
  802.                         fraktionMemberList[fraktion][target] = 5
  803.                         if oldfrac ~= fraktion then
  804.                             fraktionMemberListInvite[oldfrac][target] = nil
  805.                             fraktionMemberListInvite[fraktion][target] = timestampOptical ()
  806.                         end
  807.                        
  808.                     else
  809.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nSpieler existiert\nnicht!", 5000, 0, 125, 125 ) 
  810.                     end
  811.                 else           
  812.                     if vioGetElementData ( targetpl, "loggedin" ) == 1 then
  813.                         if fraktion >= 0 then  
  814.                             local oldfrac = vioGetElementData ( targetpl, "fraktion" )
  815.                             local targetname = getPlayerName ( targetpl )
  816.                             if oldfrac >= 0 and oldfrac <= #fraktionNames+1 then
  817.                                 fraktionMembers[oldfrac][targetpl] = nil
  818.                                 fraktionMemberList[oldfrac][targetname] = nil
  819.                                 fraktionMemberListInvite[oldfrac][targetname] = nil    
  820.                             end
  821.                             if fraktion == 0 then                  
  822.                                 vioSetElementData ( targetpl, "rang", 0 )
  823.                                 outputChatBox ( "Du wurdest soeben zum Zivilisten gemacht.", targetpl, 0, 125, 0 )
  824.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Zivilisten gemacht." )
  825.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                            
  826.                             elseif fraktion == 1 then                          
  827.                                 vioSetElementData ( targetpl, "rang", 5 )
  828.                                 outputChatBox ( "Du wurdest soeben zum Polizeichief ernannt! Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  829.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Polizeichief ernannt!" )
  830.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                                    
  831.                             elseif fraktion == 2 then                      
  832.                                 vioSetElementData ( targetpl, "rang", 5 )
  833.                                 outputChatBox ( "Du bist nun Don der Cosa Nostra - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  834.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Don ernannt!" )
  835.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                        
  836.                             elseif fraktion == 3 then                          
  837.                                 vioSetElementData ( targetpl, "rang", 5 )
  838.                                 outputChatBox ( "Du bist nun das Oberhaupt der Triaden - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  839.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Triadenboss ernannt!" )
  840.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                                                    
  841.                             elseif fraktion == 4 then
  842.                                 vioSetElementData ( targetpl, "rang", 5 )
  843.                                 outputChatBox ( "Du bist nun der Fuehrer der Terroristen - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  844.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Revolutionsführer ernannt!" )
  845.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                                                
  846.                             elseif fraktion == 5 then                          
  847.                                 vioSetElementData ( targetpl, "rang", 5 )
  848.                                 outputChatBox ( "Du bist nun der Chefredakteur der San News - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  849.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Chefredakteur ernannt!" )
  850.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                                            
  851.                             elseif fraktion == 6 then                      
  852.                                 vioSetElementData ( targetpl, "rang", 5 )
  853.                                 outputChatBox ( "Du bist nun der Direktor des Federal Bureau of Investigation - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  854.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum FBI-Direktor ernannt!" )
  855.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )
  856.                             elseif fraktion == 7 then                      
  857.                                 vioSetElementData ( targetpl, "rang", 5 )
  858.                                 outputChatBox ( "Du bist nun der Boss der Los Aztecas - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  859.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Jefa ernannt!" )
  860.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                                                
  861.                             elseif fraktion == 8 then                      
  862.                                 vioSetElementData ( targetpl, "rang", 5 )
  863.                                 outputChatBox ( "Du bist nun der Commander der Army - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  864.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Commander ernannt!" )
  865.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                                    
  866.                             elseif fraktion == 9 then                      
  867.                                 vioSetElementData ( targetpl, "rang", 5 )
  868.                                 outputChatBox ( "Du bist nun der President der Angels of Death - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  869.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum President der AoD ernannt!" )
  870.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                            
  871.                             elseif fraktion == 10 then                     
  872.                                 vioSetElementData ( targetpl, "rang", 5 )
  873.                                 outputChatBox ( "Du bist nun der Chefarzt der Sanitäter - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  874.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Chefarzt der Sanitäter ernannt!" )
  875.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                        
  876.                             elseif fraktion == 11 then                     
  877.                                 vioSetElementData ( targetpl, "rang", 5 )
  878.                                 outputChatBox ( "Du bist nun der Chef der Mechaniker - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  879.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Chef der Mechaniker ernannt!" )
  880.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                            
  881.                             elseif fraktion == 12 then                     
  882.                                 vioSetElementData ( targetpl, "rang", 5 )
  883.                                 outputChatBox ( "Du bist nun der Banger der Ballas - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  884.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Banger der Ballas ernannt!" )
  885.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                            
  886.                             elseif fraktion == 13 then                     
  887.                                 vioSetElementData ( targetpl, "rang", 5 )
  888.                                 outputChatBox ( "Du bist nun Leiter der Grove - Für mehr Infos öffne das Hilfemenue!", targetpl, 0, 125, 0 )
  889.                                 outputAdminLog ( getPlayerName ( player ).." hat "..targetname.." zum Sweet der Grove ernannt!" )
  890.                                 dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "LastFactionChange", timestampOptical (), "UID", playerUID[targetname] )                            
  891.                             else
  892.                                 infobox ( player, "Die Fraktion\nexistiert nicht!", 4000, 200, 0, 0 )
  893.                                 return
  894.                             end
  895.                             vioSetElementData ( targetpl, "fraktion", fraktion )
  896.                             triggerClientEvent ( targetpl, "triggeredBlacklist", targetpl, blacklistPlayers[fraktion] )
  897.                             if fraktion ~= 0 then                          
  898.                                 fraktionMembers[fraktion][targetpl] = fraktion 
  899.                                 fraktionMemberList[fraktion][getPlayerName(targetpl)] = 5
  900.                                 if oldfrac ~= fraktion then
  901.                                     fraktionMemberListInvite[fraktion][getPlayerName(targetpl)] = timestampOptical ()
  902.                                     for playeritem, _ in pairs ( fraktionMembers[oldfrac] ) do
  903.                                         triggerClientEvent ( playeritem, "syncPlayerList", player, fraktionMemberList[oldfrac], fraktionMemberListInvite[oldfrac] )
  904.                                     end
  905.                                 end
  906.                                 for playeritem, _ in pairs ( fraktionMembers[fraktion] ) do
  907.                                     triggerClientEvent ( playeritem, "syncPlayerList", player, fraktionMemberList[fraktion], fraktionMemberListInvite[fraktion] )
  908.                                 end
  909.                             end                        
  910.                             if oldfrac > 0 then
  911.                                 unbindKey ( targetpl, "y", "down", "chatbox" )
  912.                             end
  913.                             bindKey ( targetpl, "y", "down", "chatbox", "t" )
  914.                             triggerClientEvent ( "aktualisiereMemberTabelle", player, fraktionMembersOffOn, zeitTable)                         
  915.                             for playeritem, key in pairs(adminsIngame) do  
  916.                                 if key >= 2 then
  917.                                     outputChatBox ( getPlayerName(player).." hat "..getPlayerName(targetpl).." zum Leader von Fraktion "..fraktion.." gemacht!", playeritem, 255, 255, 0 )                             
  918.                                 end
  919.                             end
  920.                         else                       
  921.                             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nUngueltige\nFraktions-ID!", 5000, 0, 125, 125 )                         
  922.                         end                    
  923.                     else                   
  924.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nSpieler ist\nnicht eingeloggt!", 5000, 0, 125, 125 )                    
  925.                     end                
  926.                 end            
  927.             else           
  928.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )               
  929.             end
  930.         else           
  931.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/makeleader NAME FRAKTION.", 5000, 255, 0, 0 )                   
  932.         end
  933.     else           
  934.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/makeleader NAME FRAKTION.", 5000, 255, 0, 0 )       
  935.     end
  936. end
  937.  
  938.  
  939. function setadmin_func ( player, cmd, target, rank )
  940.     if target then
  941.         if rank then
  942.             local targetpl = findPlayerByName( target )
  943.             local rank = math.floor ( math.abs ( tonumber ( rank ) ) )     
  944.             if isAdminLevel ( player, adminLevels["Serverleiter"] ) then       
  945.                 if isElement ( targetpl ) then         
  946.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer Spieler\nist noch online!", 5000, 255, 0, 0 )           
  947.                 elseif playerUID[target] then
  948.                     local alterrank = tonumber ( dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "Adminlevel", "userdata", "UID", playerUID[target] ), -1 )[1]["Adminlevel"] )
  949.                     dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "Adminlevel", rank, "UID", playerUID[target] )  
  950.                     offlinemsg ( "Du wurdest von "..getPlayerName(player).." auf Adminlevel "..rank.." gesetzt.", "Server", target )
  951.                     outputChatBox ( "Adminlevel von "..target.." auf "..rank.." gesetzt!", player, 0, 125, 0 )
  952.                     outputAdminLog ( getPlayerName ( player ).." hat "..target.."s Adminlevel offline auf "..rank.." gesetzt!" )           
  953.                     if alterrank < 3 and rank >= 3 then
  954.                         nickchange_func ( player, cmd, target, "[Utm]"..target )
  955.                     elseif alterrank >= 3 and rank < 3 then
  956.                         local nameohneclantag = string.sub ( target, 6 )
  957.                         nickchange_func ( player, cmd, target, nameohneclantag )
  958.                     end
  959.                 else   
  960.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\nSpieler\nexistiert nicht!", 5000, 255, 0, 0 )           
  961.                 end        
  962.             else       
  963.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )   
  964.             end
  965.         else       
  966.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/setadmin NAME RANG", 5000, 255, 0, 0 )  
  967.         end
  968.     else       
  969.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/setadmin NAME RANG", 5000, 255, 0, 0 )  
  970.     end
  971. end
  972.  
  973. local oldspecpos = {}
  974. function spec_func ( player, command, spec )
  975.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  976.         local spec = spec and findPlayerByName ( spec ) or nil
  977.         if spec == nil then
  978.             if oldspecpos[player] then
  979.                 setElementInterior ( player, oldspecpos[player][2] )
  980.                 setElementDimension ( player, oldspecpos[player][1] )
  981.                 oldspecpos[player] = nil
  982.             end
  983.             fadeCamera( player, true )
  984.             setCameraTarget( player, player )
  985.             setElementFrozen ( player, false )
  986.         elseif spec then
  987.             setElementFrozen ( player, true )
  988.             local dim2, int2 = getElementDimension ( player ), getElementInterior ( player )
  989.             oldspecpos[player] = { dim2, int2 }
  990.             local dim, int = getElementDimension ( spec ), getElementInterior ( spec )
  991.             setElementInterior ( player, int )
  992.             setElementDimension ( player, dim )
  993.             fadeCamera( player, true )
  994.             setCameraTarget( player, spec )
  995.             triggerClientEvent ( player, "infobox_start", getRootElement(), "Um den Spectate-Modus\nzu verlassen, tippe\nnur /spec", 5000, 0, 125, 125 )
  996.             outputAdminLog ( getPlayerName ( player ).." hat "..getPlayerName( spec ).." gespectet!" )             
  997.         else   
  998.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/spec [Player]", 5000, 0, 125, 125 )     
  999.         end
  1000.     else   
  1001.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1002.     end
  1003. end
  1004.  
  1005.  
  1006. function rkick_func ( player, command, kplayer, ... )
  1007.     if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Supporter"] ) and ( not client or client == player ) then
  1008.         if kplayer then
  1009.             local reason = {...}
  1010.             reason = table.concat( reason, " " )
  1011.             local target = findPlayerByName(kplayer)
  1012.             if not isElement(target) then
  1013.                 outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  1014.                 return
  1015.             end
  1016.             if getAdminLevel ( player ) > getAdminLevel ( target ) then
  1017.                 outputChatBox ("Spieler "..getPlayerName(target).." wurde von "..getPlayerName ( player ).." gekickt! (Grund: "..tostring ( reason )..")", getRootElement(), 255, 0, 0 )
  1018.                 takeAllWeapons ( target )
  1019.                 kickPlayer ( target, player, tostring(reason) )
  1020.             else
  1021.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler hat\nkeinen niedrigeren \nAdminrang als du!", 5000, 255, 0, 0 )       
  1022.             end
  1023.             outputAdminLog ( getPlayerName ( player ).." hat "..kplayer.." gekickt! Grund: "..reason )
  1024.         else
  1025.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/rkick NAME", 5000, 255, 0, 0 )  
  1026.         end
  1027.     else
  1028.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )   
  1029.     end
  1030. end
  1031.  
  1032.  
  1033. function rban_func ( player, command, kplayer, ... )
  1034.     if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Moderator"] ) and ( not client or client == player ) then
  1035.         if kplayer then
  1036.             local reason = table.concat( {...}, " " )
  1037.             local target = getPlayerFromName ( kplayer )
  1038.             if not target then 
  1039.                 if playerUID[kplayer] then
  1040.                     local serial = dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "Serial", "players", "UID", playerUID[kplayer] ), -1 )[1]["Serial"]
  1041.                     outputChatBox ( "Der Spieler wurde (offline) gebannt!", player, 125, 0, 0 )
  1042.                     dbExec (handler, "INSERT INTO ?? (??, ??, ??, ??, ??, ??) VALUES (?,?,?,?,?,?)", "ban", "UID", "AdminUID", "Grund", "Datum", "IP", "Serial", playerUID[kplayer], playerUID[getPlayerName(player)], reason, timestamp(), '0.0.0.0', serial)         
  1043.                 else       
  1044.                     outputChatBox ( "Der Spieler existiert nicht!", player, 125, 0, 0 )        
  1045.                 end    
  1046.             else       
  1047.                 if getAdminLevel ( player ) < getAdminLevel ( target ) then
  1048.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler hat\neinen hoeheren \nAdminrang als du!", 5000, 255, 0, 0 )
  1049.                     return
  1050.                 end    
  1051.                 outputChatBox ("Spieler "..getPlayerName(target).." wurde von "..getPlayerName(player).." gebannt! (Grund: "..tostring(reason)..")",getRootElement(),255,0,0)
  1052.                 outputAdminLog (getPlayerName(player) .." hat "..getPlayerName(target).." gebannt! (Grund: "..tostring(reason)..")")           
  1053.                 local ip = getPlayerIP ( target )
  1054.                 local serial = getPlayerSerial ( target )          
  1055.                 dbExec (handler, "INSERT INTO ?? (??, ??, ??, ??, ??, ??) VALUES (?,?,?,?,?,?)", "ban", "UID", "AdminUID", "Grund", "Datum", "IP", "Serial", playerUID[kplayer], playerUID[getPlayerName(player)], reason, timestamp(), ip, serial)
  1056.                 kickPlayer ( target, player, tostring(reason).." (gebannt!)" )         
  1057.             end    
  1058.         else   
  1059.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/rban NAME", 5000, 255, 0, 0 )       
  1060.         end
  1061.     else   
  1062.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1063.     end
  1064. end
  1065.  
  1066.  
  1067. function getip ( player, cmd, name )
  1068.     if not client or player == client then
  1069.         if isAdminLevel ( player, adminLevels["Administrator"] ) then
  1070.             if name then
  1071.                 local target = findPlayerByName ( name )   
  1072.                 if isElement ( target ) then   
  1073.                     local ip = getPlayerIP ( target )
  1074.                     outputChatBox ( "IP von "..name..": "..ip, player, 200, 200, 0 )   
  1075.                 else
  1076.                     infobox ( player, "Spieler ist nicht online!", 5000, 125, 0, 0 )   
  1077.                 end
  1078.             else
  1079.                 infobox ( player, "Gebrauch:\n/getip [Name]", 5000, 125, 0, 0 )
  1080.             end
  1081.         else
  1082.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )
  1083.         end    
  1084.     end
  1085. end
  1086.  
  1087.  
  1088. function tban_func ( player, command, kplayer, btime,... )
  1089.     if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Supporter"] ) and ( not client or client == player ) then
  1090.         if kplayer and btime and tonumber(btime) ~= nil then
  1091.             local reason = {...}
  1092.             reason = table.concat( reason, " " )
  1093.             if reason then
  1094.                 local target = findPlayerByName ( kplayer )        
  1095.                 if not isElement(target) then                  
  1096.                     local success = timebanPlayer ( kplayer, tonumber(btime), getPlayerName( player ), reason )        
  1097.                     if success == false then           
  1098.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/tban [Player] [Grund]\n[Zeit],max. 3\nWoerter", 5000, 0, 125, 255 )               
  1099.                     end            
  1100.                     return             
  1101.                 end        
  1102.                 local name = getPlayerName( target )
  1103.                 local savename = name
  1104.                 local success = timebanPlayer ( savename, tonumber(btime), getPlayerName( player ), reason )
  1105.                 if success == false then
  1106.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/tban [Player] [Grund]\n[Zeit],max. 3\nWörter", 5000, 0, 125, 255 )       
  1107.                 end
  1108.             else   
  1109.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/tban NAME ZEIT GRUND", 5000, 255, 0, 0 )    
  1110.             end
  1111.         else   
  1112.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/tban NAME ZEIT GRUND", 5000, 255, 0, 0 )    
  1113.         end                    
  1114.     else   
  1115.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1116.     end
  1117. end
  1118.  
  1119.  
  1120. -- Deaktiviert, da unnötig --
  1121. --[[function slap_func ( player, command, splayer, bslap )
  1122.     if getElementType(player) == "console" then
  1123.         vioSetElementData(player, "adminlvl", 3 )
  1124.     end
  1125.     if isAdminLevel ( player, adminLevels["Administrator"] ) and ( not client or client == player ) then
  1126.         local target = findPlayerByName ( splayer )
  1127.         if not isElement(target) then
  1128.             outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  1129.             return
  1130.         end
  1131.         if not bslap then
  1132.             bslap = "nein"
  1133.         end
  1134.         if bslap == "nein" or bslap == "Nein" then     
  1135.             local x,y,z = getElementPosition(target)
  1136.             setElementPosition ( target, x, y, z + 5, true )           
  1137.             for playeritem, index in pairs(adminsIngame) do
  1138.                 outputChatBox ( getPlayerName(player).." hat "..getPlayerName(target).." geslapt!", playeritem, 255, 255, 0 )
  1139.             end
  1140.         elseif bslap == "ja" or bslap == "Ja" then     
  1141.             local x, y, z = getElementPosition( target )
  1142.             setElementPosition ( target, x, y, z + 5, false )
  1143.             setPedOnFire ( target, true )          
  1144.             for playeritem, key in pairs(adminsIngame) do
  1145.                 outputChatBox ( getPlayerName(player).." hat "..getPlayerName(target).." geslapt und angezuendet!", playeritem, 255, 255, 0 )
  1146.             end    
  1147.         else       
  1148.             triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/slap [Player] \n[Anzuenden]\nJa/Nein", 5000, 0, 125, 125 )    
  1149.         end        
  1150.     else   
  1151.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1152.     end
  1153. end]]
  1154.  
  1155.  
  1156. function goto_func(player,command,tplayer)
  1157.     if isAdminLevel ( player, adminLevels["Supporter"] ) and ( not client or client == player ) then
  1158.         if tplayer then
  1159.             local target = findPlayerByName ( tplayer )
  1160.             if not isElement(target) then
  1161.                 outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  1162.                 return
  1163.             end        
  1164.             local x, y, z = getElementPosition( target )   
  1165.             if getPedOccupiedVehicleSeat ( player ) == 0 then          
  1166.                 setElementInterior ( player, getElementInterior(target) )
  1167.                 setElementInterior ( getPedOccupiedVehicle(player), getElementInterior(target) )
  1168.                 setElementPosition ( getPedOccupiedVehicle ( player ), x+3, y+3, z )
  1169.                 setElementDimension ( getPedOccupiedVehicle ( player ), getElementDimension ( target ) )
  1170.                 setElementDimension ( player, getElementDimension ( target ) )
  1171.                 setElementVelocity(getPedOccupiedVehicle(player),0,0,0)
  1172.                 setElementFrozen ( getPedOccupiedVehicle(player), true )
  1173.                 setTimer ( setElementFrozen, 500, 1, getPedOccupiedVehicle(player), false )            
  1174.             else           
  1175.                 removePedFromVehicle ( player )
  1176.                 setElementPosition ( player, x, y + 1, z )
  1177.                 setElementInterior ( player, getElementInterior(target) )
  1178.                 setElementDimension ( player, getElementDimension ( target ) )             
  1179.             end        
  1180.             outputAdminLog ( getPlayerName ( player ).." hat sich zu "..getPlayerName ( target).." teleportiert!" )
  1181.         else
  1182.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/goto NAME", 5000, 255, 0, 0 )
  1183.         end
  1184.     else   
  1185.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1186.     end
  1187. end
  1188.  
  1189.  
  1190. function gethere_func(player,command,tplayer)
  1191.     if isAdminLevel ( player, adminLevels["Supporter"] ) and ( not client or client == player ) then
  1192.         if tplayer then
  1193.             local target = findPlayerByName ( tplayer )
  1194.             local x, y, z = getElementPosition ( player )
  1195.             if not isElement(target) then
  1196.                 outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  1197.                 return
  1198.             end    
  1199.             if getPedOccupiedVehicleSeat ( target ) == 0 then          
  1200.                 setElementInterior ( target, getElementInterior(player) )
  1201.                 setElementInterior ( getPedOccupiedVehicle(target), getElementInterior(player ) )
  1202.                 setElementPosition ( getPedOccupiedVehicle(target), x+3, y+3, z )
  1203.                 setElementDimension ( target, getElementDimension ( player ) )
  1204.                 setElementDimension ( getPedOccupiedVehicle(target), getElementDimension ( player ) )
  1205.                 setElementVelocity(getPedOccupiedVehicle(target),0,0,0)
  1206.                 setElementFrozen ( getPedOccupiedVehicle(target), true )
  1207.                 setTimer ( setElementFrozen, 500, 1, getPedOccupiedVehicle(target), false )                
  1208.             else               
  1209.                 removePedFromVehicle ( target )
  1210.                 setElementPosition ( target, x, y + 1, z )
  1211.                 setElementInterior ( target, getElementInterior(player) )
  1212.                 setElementDimension ( target, getElementDimension ( player ) )         
  1213.             end    
  1214.             outputAdminLog ( getPlayerName ( player ).." hat "..getPlayerName ( target ).." zu sich teleportiert." )
  1215.         else
  1216.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/gethere NAME", 7500, 255, 0, 0 )
  1217.         end
  1218.     else
  1219.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 7500, 255, 0, 0 )   
  1220.     end
  1221. end
  1222.  
  1223.  
  1224. function skydive_func(player,command,tplayer)
  1225.     if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Administrator"] ) and ( not client or client == player ) then
  1226.         if tplayer then
  1227.             local target = findPlayerByName ( tplayer )
  1228.             if not isElement(target) then
  1229.                 outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  1230.                 return
  1231.             end    
  1232.             giveWeapon ( target, 46, 1, true )
  1233.             local x, y, z = getElementPosition(target)         
  1234.             if getPedOccupiedVehicleSeat ( target ) == 0 then          
  1235.                 setElementPosition ( getPedOccupiedVehicle(target), x, y, z+2000 )             
  1236.             else                   
  1237.                 removePedFromVehicle ( target )
  1238.                 setElementPosition ( target, x, y, z+2000 )            
  1239.             end        
  1240.             for playeritem, key in pairs(adminsIngame) do
  1241.                 if key >= 2 then
  1242.                     outputChatBox ( getPlayerName(player).." hat "..getPlayerName(target).." geskydived!", playeritem, 255, 255, 0 )               
  1243.                 end
  1244.             end        
  1245.             outputAdminLog ( getPlayerName ( player ).." hat "..getPlayerName ( target ).." geskydived!" )
  1246.         else   
  1247.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/skydive NAME", 5000, 255, 0, 0 )    
  1248.         end        
  1249.     else
  1250.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1251.     end
  1252. end
  1253.  
  1254. local blocked_cms = {}
  1255. blocked_cms["say"] = true
  1256. blocked_cms["teamsay"] = true
  1257. blocked_cms["ad"] = true
  1258. blocked_cms["me"] = true
  1259. blocked_cms["t"] = true
  1260. blocked_cms["g"] = true
  1261. blocked_cms["s"] = true
  1262. blocked_cms["l"] = true
  1263. blocked_cms["m"] = true
  1264.  
  1265.  
  1266. function vioMutePlayer ( cmd )
  1267.     if blocked_cms[cmd] then
  1268.         outputChatBox ( "Du bist gemuted, benutze /report fuer Fragen!", player, 125, 0, 0 )
  1269.         cancelEvent()
  1270.     end
  1271. end
  1272.  
  1273.  
  1274. function mute_func(player,command,tplayer)
  1275.     if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Supporter"] ) and ( not client or client == player ) then
  1276.         if tplayer then
  1277.             local target = findPlayerByName ( tplayer )
  1278.             if not isElement(target) then
  1279.                 outputChatBox ( "Der Spieler ist offline!", player, 125, 0, 0 )
  1280.                 return
  1281.             end        
  1282.             if muted_players[target] then  
  1283.                 removeEventHandler ( "onPlayerCommand", target, vioMutePlayer )        
  1284.                 muted_players[target] = false      
  1285.                 for playeritem, key in pairs(adminsIngame) do      
  1286.                     if key >= 2 then
  1287.                         outputChatBox ( getPlayerName(player).." hat "..getPlayerName(target).." entmuted!", playeritem, 255, 255, 0 )             
  1288.                     end
  1289.                 end        
  1290.             else       
  1291.                 addEventHandler( "onPlayerCommand", target, vioMutePlayer )    
  1292.                 muted_players[target] = true           
  1293.                 for playeritem, key in pairs(adminsIngame) do      
  1294.                     if key >= 2 then
  1295.                         outputChatBox ( getPlayerName(player).." hat "..getPlayerName(target).." gemuted!", playeritem, 255, 255, 0 )              
  1296.                     end
  1297.                 end                
  1298.             end
  1299.         else   
  1300.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/mute NAME", 5000, 255, 0, 0 )       
  1301.         end
  1302.     else   
  1303.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1304.     end
  1305. end
  1306.  
  1307.  
  1308. function unban_func ( player, cmd, nick )
  1309.     if playerUID[nick] then
  1310.         local adminname = dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "AdminUID", "ban", "UID", playerUID[nick] ), -1 )
  1311.         if adminname and adminname[1] then 
  1312.             if getElementType(player) == "console" or isAdminLevel ( player, adminLevels["Administrator"] ) then   
  1313.                 dbExec ( handler, "DELETE FROM ?? WHERE ??=?", "ban", "UID", playerUID[nick] )
  1314.                 outputChatBox ( getPlayerName(player).." hat "..nick.." entbannt!", getRootElement(), 125, 0, 0 )
  1315.                 outputAdminLog ( getPlayerName(player).." hat "..nick.." entbannt." )          
  1316.             elseif playerUIDName[adminname[1]["AdminUID"]] == getPlayerName ( player ) then
  1317.                 dbExec ( handler, "DELETE FROM ?? WHERE ??=?", "ban", "UID", playerUID[nick] )
  1318.                 outputChatBox ( getPlayerName(player).." hat ".. nick.." entbannt!", getRootElement(), 125, 0, 0 )
  1319.                 outputAdminLog ( getPlayerName(player).." hat ".. nick .." entbannt." )
  1320.             else
  1321.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )
  1322.             end
  1323.         else       
  1324.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer Spieler\nist nicht\ngebannt!", 5000, 255, 0, 0 )        
  1325.         end
  1326.     else
  1327.         triggerClientEvent ( player, "infobox_start", getRootElement(), "Ungültiger Spieler", 5000, 255, 0, 0 )   
  1328.     end            
  1329. end
  1330.  
  1331.  
  1332. function crespawn_func ( player, cmd, radius )
  1333.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  1334.         if radius then 
  1335.             radius = tonumber(radius)
  1336.             if radius <= 50 and radius > 0 then
  1337.                 local x, y, z = getElementPosition ( player )
  1338.                 local sphere_1 = createColSphere ( x, y, z, radius )
  1339.                 local spehere_table = getElementsWithinColShape ( sphere_1, "vehicle" )
  1340.                 for theKey,theVehicle in pairs(spehere_table) do
  1341.                     if doesAnyPlayerOccupieTheVeh ( theVehicle ) then
  1342.                     else
  1343.                         if not vioGetElementData ( theVehicle, "carslotnr_owner" ) then    
  1344.                             respawnVehicle ( theVehicle )      
  1345.                         else
  1346.                             local towcar = vioGetElementData ( theVehicle, "carslotnr_owner" )
  1347.                             local pname = vioGetElementData ( theVehicle, "owner" )
  1348.                             respawnPrivVeh ( towcar, pname )
  1349.                         end
  1350.                     end    
  1351.                 end    
  1352.                 destroyElement(sphere_1)
  1353.             else
  1354.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/crespawn [0-50]", 5000, 255, 0, 0 )
  1355.             end
  1356.         else
  1357.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/crespawn RADIUS", 5000, 255, 0, 0 )
  1358.         end    
  1359.     end
  1360. end
  1361.  
  1362.  
  1363. function gotocar_func ( player, cmd, targetname, slot )
  1364.     if isAdminLevel ( player, adminLevels["Supporter"] ) then
  1365.         if targetname and slot then
  1366.             slot = tonumber(slot)
  1367.             local target = findPlayerByName ( targetname )
  1368.             local newtargetname = getPlayerName ( target )         
  1369.             if isElement(target) then      
  1370.                 local carslot = vioGetElementData ( target, "carslot"..slot )      
  1371.                 if carslot then        
  1372.                     if carslot >= 1 then               
  1373.                         local veh = allPrivateCars[newtargetname] and allPrivateCars[newtargetname][slot] or false         
  1374.                         if isElement ( veh ) then
  1375.                             local x, y, z = getElementPosition(veh)
  1376.                             local inter = getElementInterior(veh)
  1377.                             local dimension = getElementDimension(veh)                         
  1378.                             setElementPosition ( player, x, y, z+1.5 )
  1379.                             setElementInterior ( player, inter )
  1380.                             setElementDimension ( player, dimension )                      
  1381.                         else                   
  1382.                             respawnPrivVeh ( slot, newtargetname )                         
  1383.                             veh = allPrivateCars[newtargetname] and allPrivateCars[newtargetname][slot] or false   
  1384.                             local x, y, z = getElementPosition(veh)
  1385.                             local inter = getElementInterior(veh)
  1386.                             local dimension = getElementDimension(veh)                         
  1387.                             setElementPosition ( player, x, y, z+1.5 )
  1388.                             setElementInterior ( player, inter )
  1389.                             setElementDimension ( player, dimension )                      
  1390.                         end    
  1391.                         outputAdminLog ( getPlayerName(player).." hat sich zum Slot "..slot.." von ".. targetname .." geportet." )
  1392.                     else                   
  1393.                         outputChatBox ( "Der Spieler hat keinen Wagen mit dieser Nummer!", player, 125, 0, 0 )                 
  1394.                     end            
  1395.                 else               
  1396.                     outputChatBox ( "Der Spieler hat keinen Wagen mit dieser Nummer!", player, 125, 0, 0 )             
  1397.                 end        
  1398.             else           
  1399.                 outputChatBox ( "Spieler muss online sein!", player, 125, 0, 0 )               
  1400.             end    
  1401.         else       
  1402.             outputChatBox ( "/gotocar [Spieler] [Slot]!", player, 125, 0, 0 )          
  1403.         end
  1404.     else   
  1405.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1406.     end
  1407. end
  1408.  
  1409.  
  1410. function getcar_func ( player, cmd, targetname, slot ) 
  1411.     if isAdminLevel ( player, adminLevels["Supporter"] ) then  
  1412.         if targetname and slot then
  1413.             slot = tonumber(slot)
  1414.             local target = findPlayerByName ( targetname )
  1415.             local newtargetname = getPlayerName ( target )         
  1416.             if isElement(target) then          
  1417.                 local carslot = vioGetElementData ( target, "carslot"..slot )          
  1418.                 if carslot then            
  1419.                     if carslot >= 1 then                   
  1420.                         local veh = allPrivateCars[newtargetname] and allPrivateCars[newtargetname][slot] or false                         
  1421.                         if isElement ( veh ) then                  
  1422.                             local x, y, z = getElementPosition(player)
  1423.                             local inter = getElementInterior(player)
  1424.                             local dimension = getElementDimension(player)                          
  1425.                             setElementPosition ( veh, x, y, z+1.5 )
  1426.                             setElementInterior ( veh, inter )
  1427.                             setElementDimension ( veh, dimension )                         
  1428.                         else                       
  1429.                             respawnPrivVeh ( slot, newtargetname )                         
  1430.                             veh = allPrivateCars[newtargetname] and allPrivateCars[newtargetname][slot] or false
  1431.                             local x, y, z = getElementPosition(player)
  1432.                             local inter = getElementInterior(player)
  1433.                             local dimension = getElementDimension(player)                          
  1434.                             setElementPosition ( veh, x, y, z+1.5 )
  1435.                             setElementInterior ( veh, inter )
  1436.                             setElementDimension ( veh, dimension )
  1437.                         end
  1438.                         outputAdminLog ( getPlayerName(player).." hat den Slot "..slot.." von ".. targetname .." zu sich geportet." )                  
  1439.                     else                   
  1440.                         outputChatBox ( "Der Spieler hat keinen Wagen mit dieser Nummer!", player, 125, 0, 0 )                 
  1441.                     end            
  1442.                 else
  1443.                     outputChatBox ( "Der Spieler hat keinen Wagen mit dieser Nummer!", player, 125, 0, 0 )             
  1444.                 end        
  1445.             else           
  1446.                 outputChatBox ( "Spieler muss online sein!", player, 125, 0, 0 )               
  1447.             end    
  1448.         else
  1449.             outputChatBox ( "/getcar [Spieler] [Slot]!", player, 125, 0, 0 )           
  1450.         end
  1451.     else   
  1452.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1453.     end
  1454. end
  1455.  
  1456.  
  1457. function astart_func ( player, cmd )
  1458.    
  1459.     if isAdminLevel ( player, adminLevels["Administrator"] ) then
  1460.         local veh = getPedOccupiedVehicle ( player )   
  1461.         if not isElement ( veh ) then
  1462.             outputChatBox ( "Du musst in einem Wagen sitzen!", player, 125, 0, 0 )
  1463.             return
  1464.         end
  1465.         if getElementModel ( veh ) ~= 438 then     
  1466.             if ( getPedOccupiedVehicleSeat ( player ) == 0 ) then              
  1467.                 vioSetElementData ( veh, "fuelstate", 100 )
  1468.                 vioSetElementData ( veh, "engine", false )
  1469.                 setVehicleOverrideLights ( veh, 1 )
  1470.                 vioSetElementData ( veh, "light", false)
  1471.                 setVehicleEngineState ( veh, false )               
  1472.                 if getVehicleEngineState ( veh ) then
  1473.                     setVehicleEngineState ( veh, false )
  1474.                     vioSetElementData ( veh, "engine", false )
  1475.                     return     
  1476.                 end            
  1477.                 setVehicleEngineState ( veh, true )
  1478.                 vioSetElementData ( veh, "engine", true )
  1479.                 if not vioGetElementData ( veh, "timerrunning" ) then
  1480.                     setVehicleNewFuelState ( veh )
  1481.                     vioSetElementData ( veh, "timerrunning", true )
  1482.                 end                                            
  1483.             end    
  1484.         end
  1485.     else   
  1486.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )       
  1487.     end
  1488. end
  1489.  
  1490.  
  1491. function aenter_func ( player, cmd )
  1492.     if isAdminLevel ( player, adminLevels["Administrator"] ) then
  1493.         vioSetElementData ( player, "adminEnterVehicle", true )
  1494.         outputChatBox ( "Klicke auf einen Wagen!", player, 125, 0, 0 )
  1495.     else
  1496.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )
  1497.     end
  1498. end
  1499.  
  1500.  
  1501. function makeVehFFT ( player )
  1502.     if isAdminLevel ( player, adminLevels["Administrator"] ) then
  1503.         if isPedInVehicle ( player ) then
  1504.             local veh = getPedOccupiedVehicle ( player )
  1505.             local pname = vioGetElementData ( veh, "owner" )
  1506.             for l = 1, 6 do
  1507.                 for i = 1, 6 do
  1508.                     if i == l then
  1509.                         vioSetElementData ( veh, "stuning"..i, l )
  1510.                     end
  1511.                 end
  1512.             end
  1513.             local totTuning = "1|1|1|1|1|1"
  1514.             vioSetElementData ( veh, "stuning", totTuning )
  1515.             dbExec ( handler, "UPDATE vehicles SET STuning=? WHERE ??=? AND ??=?", totTuning, "UID", playerUID[pname], "Slot", vioGetElementData ( veh, "carslotnr_owner" ) )  
  1516.             specPimpVeh ( veh )
  1517.             specialTuningVehEnter ( player, 0 )
  1518.             outputChatBox ( "Du hast das Auto FFT gemacht.", player, 255, 0, 0)
  1519.             outputAdminLog ( getPlayerName ( player ).." hat das Auto von "..vioGetElementData ( veh, "owner" ).." FFT gemacht!" )
  1520.         else
  1521.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu musst im\nFahrzeug sitzen.", 5000, 255, 0, 0 )
  1522.         end
  1523.     else
  1524.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )
  1525.     end
  1526. end
  1527.  
  1528. function muteDonator ( player, cmd, target )
  1529.     if target then
  1530.         if isAdminLevel ( player, adminLevels["VIP"]) then
  1531.             if findPlayerByName (target) then
  1532.                 local targetpl = findPlayerByName (target)
  1533.                 if not donatorMute[player][getPlayerName(targetpl)] or donatorMute[player][getPlayerName(targetpl)] == nil then                
  1534.                     donatorMute[player][getPlayerName(targetpl)] = true
  1535.                     outputChatBox ("Du hast "..target.." nun für den /a - Chat gemutet.", player, 0, 155, 0 )
  1536.                 else
  1537.                     donatorMute[player][getPlayerName(targetpl)] = nil
  1538.                     outputChatBox ("Du hast "..target.." wieder entmuted.", player, 0, 155, 0 )
  1539.                 end
  1540.             else
  1541.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDer Spieler\existiert nicht!", 5000, 255, 0, 0 )
  1542.             end
  1543.         else
  1544.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )
  1545.         end
  1546.     else
  1547.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/muted NAME", 5000, 255, 0, 0 )
  1548.     end
  1549. end
  1550.  
  1551.  
  1552. function oeffnePremium ( player )
  1553.     if isAdminLevel ( player, adminLevels["VIP"]) and not getElementClicked ( player ) then
  1554.         triggerClientEvent ( player, "ppstart", player )
  1555.     end
  1556. end
  1557.  
  1558.  
  1559. function fixAdminVeh ( player )
  1560.     if vioGetElementData ( player, "money" ) >= 100 then
  1561.         if isPedInVehicle ( player ) then
  1562.             local veh = getPedOccupiedVehicle ( player )
  1563.             if getVehicleOccupant ( veh, 0 ) == player then
  1564.                 fixVehicle ( veh )
  1565.                 executeCommandHandler ( "meCMD", player, " hat sein Fahrzeug repariert!")
  1566.                 vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - 100 )
  1567.             else
  1568.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nNur als\nFahrer erlaubt!", 5000, 255, 0, 0 )
  1569.             end
  1570.         else
  1571.             triggerClientEvent ( player, "infobox_start", getRootElement(), "Du sitzt\nin keinem\nFahrzeug!", 5000, 255, 0, 0 )
  1572.         end
  1573.     else
  1574.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nNicht genug\nGeld!", 5000, 255, 0, 0 )
  1575.     end
  1576. end
  1577.  
  1578.  
  1579. function fillAdminLife ( player )
  1580.     if vioGetElementData ( player, "money" ) >= 300 then
  1581.         setElementHealth ( player, 100 )
  1582.         setPedArmor ( player, 100 )
  1583.         setElementHunger ( player, 100 )
  1584.         vioSetElementData ( player, "money", vioGetElementData ( player, "money") - 300)
  1585.         executeCommandHandler ( "meCMD", player, " hat sein Leben & seine Weste aufgefüllt!")
  1586.         outputLog ( getPlayerName(player).." hat sich mit VIP geheilt", "Heilung" )
  1587.     else
  1588.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nNicht genug\nGeld!", 5000, 255, 0, 0 )
  1589.     end
  1590. end
  1591.  
  1592.  
  1593. function fillAdminVeh ( player )
  1594.     if isPedInVehicle ( player ) then
  1595.         local veh = getPedOccupiedVehicle ( player )
  1596.         if getVehicleOccupant ( veh, 0 ) == player then
  1597.             local liters = 100 - vioGetElementData ( veh, "fuelstate" )
  1598.             if vioGetElementData ( player, "money" ) >= (liters * 10) then
  1599.                 if liters > 1 then
  1600.                     setElementFrozen ( veh, true )
  1601.                     setTimer ( setElementFrozen, 2000, 1, veh, false )
  1602.                     vioSetElementData ( veh, "fuelstate", 100 )
  1603.                     vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) - (liters * 10) )
  1604.                     local the_tankstelle = getNearestTanke ( player )
  1605.                     if the_tankstelle ~= false then
  1606.                         if the_tankstelle == "Nord" then
  1607.                             bizArray["TankstelleNord"]["kasse"] = bizArray["TankstelleNord"]["kasse"] + liters * 10                    
  1608.                         elseif the_tankstelle == "Sued" then                       
  1609.                             bizArray["TankstelleSued"]["kasse"] = bizArray["TankstelleSued"]["kasse"] + liters * 10                    
  1610.                         elseif the_tankstelle == "Pine" then                       
  1611.                             bizArray["TankstellePine"]["kasse"] = bizArray["TankstellePine"]["kasse"] + liters * 10                    
  1612.                         end                
  1613.                     end    
  1614.                 else
  1615.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "Dein Fahzeug\nist schon\nbetankt!", 5000, 255, 0, 0 )
  1616.                 end
  1617.             else
  1618.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\nNicht genug\nGeld!", 5000, 255, 0, 0 )
  1619.             end
  1620.         else
  1621.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nNur als\nFahrer erlaubt!", 5000, 255, 0, 0 )
  1622.         end
  1623.     else
  1624.         triggerClientEvent ( player, "infobox_start", getRootElement(), "Du sitzt\nin keinem\nFahrzeug!", 5000, 255, 0, 0 )
  1625.     end
  1626. end
  1627.  
  1628.  
  1629. function prison_func ( player, cmd, target, time, ... )
  1630.     if isAdminLevel ( player, adminLevels["Supporter"]) then
  1631.         if target then
  1632.             if time then
  1633.                 if tonumber(time) ~= nil then
  1634.                     local time = tonumber(time)
  1635.                     if time >= 0 then
  1636.                         local parametersTable = {...}
  1637.                         local stringWithAllParameters = table.concat( parametersTable, " " )
  1638.                         if stringWithAllParameters ~= nil and string.len( stringWithAllParameters ) > 3 then
  1639.                             if findPlayerByName ( target ) then
  1640.                                 local target = findPlayerByName ( target )
  1641.                                 if isPedInVehicle ( target ) then
  1642.                                     removePedFromVehicle ( target )
  1643.                                 end
  1644.                                 if time > 0 then
  1645.                                     local knastzeit = tonumber( vioGetElementData ( target, "jailtime" ) )
  1646.                                     vioSetElementData ( target, "prison", time+knastzeit )
  1647.                                     vioSetElementData ( target, "jailtime", 0 )
  1648.                                     outputChatBox ( getPlayerName(target).." wurde von "..getPlayerName(player).." für "..time.." Minuten ins Prison gesteckt.\nGrund: "..stringWithAllParameters, getRootElement(), 255, 0, 0 )
  1649.                                     putPlayerInJail ( target )
  1650.                                     if isOnDuty ( player ) then
  1651.                                         executeCommandHandler ( "offduty", target )
  1652.                                     end
  1653.                                 elseif vioGetElementData ( target, "prison" ) > 0 then
  1654.                                     vioSetElementData ( target, "prison", 0 )
  1655.                                     outputChatBox ( getPlayerName(target).." wurde von "..getPlayerName(player).." aus dem Prison geholt.\nGrund: "..stringWithAllParameters, getRootElement(), 255, 0, 0 )
  1656.                                     freePlayerFromJail ( target )
  1657.                                 else
  1658.                                     triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler\nist nicht im\nPrison!", 5000, 255, 0, 0 )
  1659.                                 end
  1660.                             elseif playerUID[target] then
  1661.                                 if time > 0 then
  1662.                                     outputChatBox ( target.." wurde von "..getPlayerName(player).." für "..time.." Minuten ins Prison gesteckt.\nGrund: "..stringWithAllParameters,  getRootElement(), 255, 0, 0)
  1663.                                     local knastzeit = dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "Knastzeit", "userdata", "UID", playerUID[target] ), -1 )[1]["Knastzeit"]
  1664.                                     dbExec ( handler, "UPDATE ?? SET ??=?, ??=? WHERE ??=?", "userdata", "Prison", knastzeit + time, "Knastzeit", 0, "UID", playerUID[target] )
  1665.                                     if knastzeit == 0 then
  1666.                                         offlinemsg ( "Du wurdest von "..getPlayerName(player).." für "..time.." Minuten ins Prison gesteckt.\nGrund: "..stringWithAllParameters, "Server", target )
  1667.                                     else
  1668.                                         offlinemsg ( "Du wurdest von "..getPlayerName(player).." für "..time.." Minuten mehr ins Prison gesteckt.\nGrund: "..stringWithAllParameters, "Server", target )
  1669.                                     end
  1670.                                 else
  1671.                                     local prisontimeleftoffline = dbPoll ( dbQuery ( handler, "SELECT ?? FROM ?? WHERE ??=?", "Prison", "userdata", "UID", playerUID[target] ), -1 )[1]["Prison"]
  1672.                                     if prisontimeleftoffline > 0 then
  1673.                                         outputChatBox ( target.." wurde von "..getPlayerName(player).." aus dem Prison geholt\nGrund: "..stringWithAllParameters, getRootElement(), 255, 0, 0)
  1674.                                         dbExec ( handler, "UPDATE ?? SET ??=? WHERE ??=?", "userdata", "Prison", 0, "UID", playerUID[target] ) 
  1675.                                         offlinemsg ( "Du wurdest von "..getPlayerName(player).." aus dem Prison geholt\nGrund: "..stringWithAllParameters, "Server", target )
  1676.                                     else
  1677.                                         triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler\nist nicht im\nPrison!", 5000, 255, 0, 0 )
  1678.                                     end
  1679.                                 end
  1680.                             else
  1681.                                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Spieler\nexistiert nicht!", 5000, 255, 0, 0 )
  1682.                             end
  1683.                         else
  1684.                             triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/prison NAME\nZEIT GRUND", 5000, 255, 0, 0 )
  1685.                         end
  1686.                     else
  1687.                         triggerClientEvent ( player, "infobox_start", getRootElement(), "Negative Zeit\nist nicht\nerlaubt!", 5000, 255, 0, 0 )
  1688.                     end
  1689.                 else
  1690.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/prison NAME\nZEIT GRUND", 5000, 255, 0, 0 )
  1691.                 end
  1692.             else
  1693.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/prison NAME\nZEIT GRUND", 5000, 255, 0, 0 )
  1694.             end
  1695.         else
  1696.             triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/prison NAME\nZEIT GRUND", 5000, 255, 0, 0 )
  1697.         end
  1698.     else
  1699.         triggerClientEvent ( player, "infobox_start", getRootElement(), "Du sitzt\nin keinem\nFahrzeug!", 5000, 255, 0, 0 )
  1700.     end
  1701. end
  1702.  
  1703.    
  1704. function setteTestGeld ( player, cmd, geld )
  1705.     if isAdminLevel ( player, adminLevels["Serverleiter"] ) and geld and tonumber (geld) ~= nil then
  1706.         vioSetElementData ( player, "money", tonumber(geld) )
  1707.     else
  1708.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu bist nicht authorisiert,\ndiesen Befehl zu nutzen.", 5000, 255, 0, 0 )
  1709.     end
  1710. end
  1711. --addCommandHandler ("settestgeld", setteTestGeld)
  1712.  
  1713. function kickAll ( player, cmd, ... )
  1714.     if isAdminLevel ( player, adminLevels["Administrator"] ) then
  1715.         local parametersTable = {...}
  1716.         local stringWithAllParameters = table.concat( parametersTable, " " )
  1717.         local players = getElementsByType("player")
  1718.         for i=1, #players do
  1719.             if players[i] ~= player then
  1720.                 kickPlayer ( players[i],player, stringWithAllParameters )
  1721.             end
  1722.         end
  1723.     end
  1724. end
  1725.  
  1726.  
  1727. function changeStatus ( player, cmd, status )
  1728.     if isAdminLevel ( player, adminLevels["VIP"] ) then
  1729.         if status then
  1730.             local status = tostring(status)
  1731.             if string.len ( status ) >= 3 and string.len ( status ) <= 16 then
  1732.                 if not socialNeeds[status] then
  1733.                     if string.find ( status, "'" ) then
  1734.                         infobox ( player, "Bitte kein ' verwenden!", 4000, 200, 0, 0 )
  1735.                         return false
  1736.                     end
  1737.                     vioSetElementData ( player, "socialState", status )
  1738.                 else
  1739.                     infobox ( player, "Den Status\nmusst du\ndir verdienen", 4000, 200, 0, 0 )
  1740.                 end
  1741.             else
  1742.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "Der Status muss\nlänger als 2\nund kürzer als\n17 Zeichen sein!", 5000, 255, 0, 0 )
  1743.             end
  1744.         else
  1745.             triggerClientEvent ( player, "infobox_start", getRootElement(), "Gebrauch:\n/status STATUS", 5000, 255, 0, 0 )
  1746.         end
  1747.     else
  1748.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nNur ab Donator!", 5000, 255, 0, 0 )
  1749.     end
  1750. end
  1751. --
  1752.  
  1753. -- Events
  1754.  
  1755. addEvent ( "executeAdminServerCMD", true )
  1756. addEvent ( "move", true )
  1757. addEvent ( "moveVehicleAway", true )
  1758. addEvent ( "adminMenueTrigger", true )
  1759. addEvent ( "rkick", true )
  1760. addEvent ( "rban", true )
  1761. addEvent ( "getip", true )
  1762. addEvent ( "tban", true )
  1763. addEvent ( "slap", true )
  1764. addEvent ( "goto", true )
  1765. addEvent ( "gethere", true )
  1766. addEvent ( "skydive", true )
  1767. addEvent ( "mute", true )
  1768. addEvent ( "fixveh1", true )
  1769. addEvent ( "lebenessen", true )
  1770. addEvent ( "fillComplete1", true )
  1771.  
  1772. -- Event Handler
  1773.  
  1774. addEventHandler ( "executeAdminServerCMD", getRootElement(), executeAdminServerCMD_func )
  1775. addEventHandler ( "moveVehicleAway", getRootElement(), moveVehicleAway_func )
  1776. addEventHandler ( "move", getRootElement(), move_func )
  1777. addEventHandler ( "adminMenueTrigger", getRootElement(), adminMenueTrigger_func )
  1778. addEventHandler ( "mute", getRootElement(), mute_func )
  1779. addEventHandler ( "skydive", getRootElement(), skydive_func )
  1780. addEventHandler ( "gethere", getRootElement(), gethere_func )
  1781. addEventHandler ( "goto", getRootElement(), goto_func )
  1782. addEventHandler ( "tban", getRootElement(), tban_func )
  1783. addEventHandler ( "getip", getRootElement(), getip )
  1784. addEventHandler ( "rban", getRootElement(), rban_func )
  1785. addEventHandler ( "rkick", getRootElement(), rkick_func )
  1786. addEventHandler ( "fixveh1", getRootElement(), fixAdminVeh )
  1787. addEventHandler ( "lebenessen", getRootElement(), fillAdminLife )
  1788. addEventHandler ( "fillComplete1", getRootElement(), fillAdminVeh )
  1789. -- Command Handler
  1790.  
  1791. addCommandHandler ( "setg", setteTestGeld )
  1792. addCommandHandler ( "nickchange", nickchange_func )
  1793. addCommandHandler ( "move", move_func )
  1794. addCommandHandler ( "pwchange", pwchange_func )
  1795. addCommandHandler ( "shut", shut_func )
  1796. addCommandHandler ( "rebind", rebind_func )
  1797. addCommandHandler ( "admins", adminlist )
  1798. addCommandHandler ( "rcheck", check_func )
  1799. addCommandHandler ( "mark", mark_func )
  1800. addCommandHandler ( "gotomark", gotomark_func )
  1801. addCommandHandler ( "respawn", respawn_func )
  1802. addCommandHandler ( "tunecar", tunecar_func )
  1803. addCommandHandler ( "freezen", freeze_func )
  1804. addCommandHandler ( "intdim", intdim )
  1805. addCommandHandler ( "cleartext", cleartext_func )
  1806. addCommandHandler ( "chatclear", cleartext_func )
  1807. addCommandHandler ( "cc", cleartext_func )
  1808. addCommandHandler ( "clearchat", cleartext_func )
  1809. addCommandHandler ( "textclear", cleartext_func )
  1810. addCommandHandler ( "gmx", gmx_func )
  1811. addCommandHandler ( "ochat", ochat_func )
  1812. addCommandHandler ( "a", achat_func )
  1813. addCommandHandler ( "setrank", setrank_func )
  1814. addCommandHandler ( "makeleader", makeleader_func )
  1815. addCommandHandler ( "setadmin", setadmin_func )
  1816. addCommandHandler ( "spec", spec_func )
  1817. addCommandHandler ( "rkick", rkick_func )
  1818. addCommandHandler ( "rban", rban_func )
  1819. addCommandHandler ( "getip", getip )
  1820. addCommandHandler ( "tban", tban_func )
  1821. addCommandHandler ( "goto", goto_func )
  1822. addCommandHandler ( "gethere", gethere_func )
  1823. addCommandHandler ( "skydive", skydive_func )
  1824. addCommandHandler ( "rmute", mute_func )
  1825. addCommandHandler ( "unban", unban_func )
  1826. addCommandHandler ( "crespawn", crespawn_func )
  1827. addCommandHandler ( "gotocar", gotocar_func )
  1828. addCommandHandler ( "getcar", getcar_func )
  1829. addCommandHandler ( "astart", astart_func )
  1830. addCommandHandler ( "aenter", aenter_func )
  1831. addCommandHandler ( "makefft", makeVehFFT )
  1832. addCommandHandler ( "muted", muteDonator )
  1833. addCommandHandler ( "premium", oeffnePremium )
  1834. addCommandHandler ( "prison", prison_func )
  1835. addCommandHandler ( "kickall", kickAll )
  1836. addCommandHandler ( "status", changeStatus )
  1837.  
  1838.  
  1839.  
  1840. addCommandHandler ( "delacc", function ( player, cmd, target )
  1841.     if isAdminLevel ( player, adminLevels["Serverleiter"] ) then
  1842.         if playerUID[target] then
  1843.             local id = playerUID[target]
  1844.             playerUID[target] = nil
  1845.             playerUIDName[id] = nil
  1846.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "achievments", "UID", id )
  1847.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "bonustable", "UID", id )
  1848.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "inventar", "UID", id )
  1849.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "packages", "UID", id )
  1850.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "players", "UID", id )
  1851.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "skills", "UID", id )
  1852.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "userdata", "UID", id )
  1853.             dbExec ( handler, "DELETE FROM ?? WHERE ?? = ?", "statistics", "UID", id )
  1854.             infobox ( player, "Erledigt", 4000, 0, 200, 0 )
  1855.         else
  1856.             infobox ( player, "Account\nexistiert nicht!", 4000, 200, 0, 0 )
  1857.         end
  1858.     end
  1859. end )
  1860.  
  1861.  
  1862. addCommandHandler ( "restartresource", function ( player )
  1863.     if isAdminLevel ( player, adminLevels["Serverleiter"] ) then
  1864.         for index, playeritem in pairs ( getElementsByType ( "player" ) ) do
  1865.             if vioGetElementData ( playeritem, "loggedin" ) == 1 then
  1866.                 local pname = getPlayerName ( playeritem )
  1867.                 local int = getElementInterior ( playeritem )
  1868.                 local dim = getElementDimension ( playeritem )
  1869.                 local x, y, z = getElementPosition ( playeritem )
  1870.                 local curWeaponsForSave = "|"
  1871.                 for i = 1, 11 do
  1872.                     if i ~= 10 then
  1873.                         local weapon = getPedWeapon ( playeritem, i )
  1874.                         local ammo = getPedTotalAmmo ( playeritem, i )
  1875.                         if weapon and ammo then
  1876.                             if weapon > 0 and ammo > 0 then
  1877.                                 if #curWeaponsForSave <= 40 then
  1878.                                     curWeaponsForSave = curWeaponsForSave..weapon..","..ammo.."|"
  1879.                                 end
  1880.                             end
  1881.                         end
  1882.                     end
  1883.                 end
  1884.                 local pos = "|"..(math.floor(x*100)/100).."|"..(math.floor(y*100)/100).."|"..(math.floor(z*100)/100).."|"..int.."|"..dim.."|"
  1885.                 if #curWeaponsForSave < 5 then
  1886.                     curWeaponsForSave = ""
  1887.                 end
  1888.                 dbExec ( handler, "INSERT INTO ?? (??, ??, ??) VALUES (?,?,?)", "logout", "Position", "Waffen", "UID", pos, curWeaponsForSave, playerUID[pname] )
  1889.                 datasave_remote ( playeritem )
  1890.                 clearInv ( playeritem )
  1891.                 clearUserdata ( playeritem )
  1892.                 clearBonus ( playeritem )
  1893.                 clearAchiev ( playeritem )
  1894.                 clearPackage ( playeritem )
  1895.                 clearDataSettings ( playeritem )
  1896.             end
  1897.         end
  1898.         restartResource ( getThisResource() )
  1899.     end
  1900. end )
  1901.  
  1902.  
  1903.  
  1904. local laststatus = {}
  1905.  
  1906. addEvent ( "testsocial", true )
  1907. addEventHandler ( "testsocial", root, function ( bool )
  1908.     if bool then
  1909.         laststatus[client] = vioGetElementData ( client, "socialState" )
  1910.         vioSetElementData ( client, "socialState", "Schreibt ..." )
  1911.     else
  1912.         if laststatus[client] then
  1913.             vioSetElementData ( client, "socialState", laststatus[client] )
  1914.         end
  1915.     end
  1916. end )
  1917.  
  1918.  
  1919. function heal(player)
  1920.     if vioGetElementData ( player, "adminlvl" ) >= 3 then
  1921.         if vioGetElementData ( player, "heaventime") >= 1 then
  1922.             vioSetElementData ( player, "heaventime", 0 )
  1923.             showChat ( player, true )
  1924.             setCameraTarget ( player )
  1925.            
  1926.             RemoteSpawnPlayer ( player )
  1927.            
  1928.             setElementHealth(player, 100)
  1929.             setElementFrozen(player, false)
  1930.             toggleAllControls ( player, true )
  1931.             setPedAnimation(player,false)
  1932.             playSoundFrontEnd ( player, 17 )
  1933.             triggerClientEvent ( player, "hideDeathBar", player )
  1934.             if isTimer ( thedeathtimer[player] ) then
  1935.                 killTimer ( thedeathtimer[player] )
  1936.             end
  1937.         end
  1938.     end
  1939. end
  1940. addCommandHandler("heal",heal)
Advertisement
Add Comment
Please, Sign In to add comment