Guest User

Untitled

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