Advertisement
Guest User

Untitled

a guest
Nov 7th, 2015
166
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 27.07 KB | None | 0 0
  1. vehBlipColor = {}
  2.     vehBlipColor["r"] = {}
  3.     vehBlipColor["g"] = {}
  4.     vehBlipColor["b"] = {}
  5.         color = 1
  6.         vehBlipColor["r"][color] = 255
  7.         vehBlipColor["g"][color] = 0
  8.         vehBlipColor["b"][color] = 0
  9.         color = color + 1
  10.         vehBlipColor["r"][color] = 0
  11.         vehBlipColor["g"][color] = 255
  12.         vehBlipColor["b"][color] = 0
  13.         color = color + 1
  14.         vehBlipColor["r"][color] = 0
  15.         vehBlipColor["g"][color] = 0
  16.         vehBlipColor["b"][color] = 255
  17.         color = color + 1
  18.         vehBlipColor["r"][color] = 0
  19.         vehBlipColor["g"][color] = 0
  20.         vehBlipColor["b"][color] = 0
  21.         color = color + 1
  22.         vehBlipColor["r"][color] = 255
  23.         vehBlipColor["g"][color] = 255
  24.         vehBlipColor["b"][color] = 255
  25.         color = color + 1
  26.         vehBlipColor["r"][color] = 255
  27.         vehBlipColor["g"][color] = 255
  28.         vehBlipColor["b"][color] = 0
  29.         color = color + 1
  30.         vehBlipColor["r"][color] = 255
  31.         vehBlipColor["g"][color] = 0
  32.         vehBlipColor["b"][color] = 255
  33.         color = color + 1
  34.         vehBlipColor["r"][color] = 0
  35.         vehBlipColor["g"][color] = 255
  36.         vehBlipColor["b"][color] = 255
  37.         color = color + 1
  38.         vehBlipColor["r"][color] = 125
  39.         vehBlipColor["g"][color] = 125
  40.         vehBlipColor["b"][color] = 125
  41.         color = color + 1
  42.         vehBlipColor["r"][color] = 255
  43.         vehBlipColor["g"][color] = 150
  44.         vehBlipColor["b"][color] = 0
  45.         color = color + 1
  46.         color = nil
  47.  
  48. function towveh_func ( player, command, towcar )
  49.  
  50.     if towcar == nil then
  51.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\nGebrauch:\n/towveh\n[Fahrzeugnummer]", 5000, 125, 0, 0 )
  52.     else
  53.         if tonumber(vioGetElementData ( player, "carslot"..towcar )) >= 1 then
  54.             local pname = MySQL_Save ( getPlayerName ( player ) )
  55.             if vioGetElementData ( player, "money" ) >= 35 then
  56.                 if respawnPrivVeh ( towcar, pname ) then
  57.                     vioSetElementData ( player, "money", tonumber(vioGetElementData ( player, "money" )) - 35 )
  58.                     takePlayerMoney ( player, 35 )
  59.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast dein\nFahrzeug respawnt!", 5000, 0, 255, 0 )
  60.                 else
  61.                     triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDas Fahrzeug ist\nnicht leer!", 5000, 125, 0, 0 )
  62.                 end
  63.             else
  64.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast nicht\ngenug Geld!", 5000, 125, 0, 0 )
  65.             end
  66.         else
  67.             triggerClientEvent ( player, "infobox_start", getRootElement(), "\nDu hast kein\nFahrzeug mit\ndieser Nummer!", 5000, 125, 0, 0 )
  68.         end
  69.     end
  70. end
  71. addEvent ( "respawnPrivVehClick", true )
  72. addEventHandler ( "respawnPrivVehClick", getRootElement(), towveh_func )
  73. addCommandHandler ( "towveh", towveh_func )
  74.  
  75.  
  76. function towvehall_func ( player )
  77.     local curcars = vioGetElementData ( player, "curcars" )
  78.     local maxcars = vioGetElementData ( player, "maxcars" )
  79.     local pname = MySQL_Save ( getPlayerName ( player ) )
  80.     if vioGetElementData ( player, "money" ) >= curcars*20 then
  81.         for i = 1, maxcars do
  82.             local carslotname = "carslot"..i
  83.             if vioGetElementData ( player, carslotname ) ~= 0 then
  84.                 local veh = _G[getPrivVehString ( pname, i )]
  85.                 respawnPrivVeh ( i, pname )
  86.                 vioSetElementData ( player, "money", tonumber(vioGetElementData ( player, "money" )) - curcars*20 )
  87.                 takePlayerMoney ( player, curcars*20 )
  88.                 triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast alle deine\nFahrzeug respawnt!", 5000, 0, 255, 0 )
  89.             end
  90.         end
  91.     else
  92.         triggerClientEvent ( player, "infobox_start", getRootElement(), "\n\nDu hast nicht\ngenug Geld!", 5000, 125, 0, 0 )
  93.     end
  94. end
  95. addCommandHandler ( "towvehall", towvehall_func )
  96.  
  97.  
  98. function respawnAllVehiclesOnLogin ( player )
  99.     local curcars = vioGetElementData ( player, "curcars" )
  100.     local maxcars = vioGetElementData ( player, "maxcars" )
  101.     local pname = MySQL_Save ( getPlayerName ( player ) )
  102.     for i = 1, maxcars do
  103.         local carslotname = "carslot"..i
  104.         if vioGetElementData ( player, carslotname ) ~= 0 then
  105.             local veh = _G[getPrivVehString ( pname, i )]
  106.             respawnPrivVeh ( i, pname )
  107.         end
  108.     end
  109. end
  110.  
  111.  
  112. function sellcarto_func ( player, cmd, target, price, pSlot )
  113.  
  114.     if target and pSlot and getPlayerFromName ( target ) and tonumber ( pSlot ) then
  115.         pSlot = MySQL_Save ( pSlot )
  116.         tSlot = getFreeCarSlot ( getPlayerFromName ( target ) )
  117.         local pname = getPlayerName ( player )
  118.         local target = getPlayerFromName ( target )
  119.         if tonumber ( MySQL_GetString("vehicles", "AuktionsID", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..tonumber(pSlot).."'") ) == 0 then
  120.             if tSlot and vioGetElementData ( target, "carslot"..tSlot ) == 0 and vioGetElementData ( player, "carslot"..pSlot ) > 0 then
  121.                 local veh = _G[getPrivVehString ( pname, pSlot )]
  122.                 if tonumber ( price ) then
  123.                     price = math.abs ( math.floor ( tonumber ( price ) ) )
  124.                     if isElement ( veh ) then
  125.                         if ( premiumBuyCars[getElementModel(veh)] and vioGetElementData ( target, "premium" ) ) or not premiumBuyCars[getElementModel(veh)] then
  126.                             if vioGetElementData ( target, "curcars" ) < vioGetElementData ( target, "maxcars" ) then
  127.                                 local model = getElementModel ( veh )
  128.                                 local stunings = sTuningsToString ( veh )
  129.                                 outputChatBox ( getPlayerName ( player ).." bietet dir folgendes Fahrzeug für "..price.." $ an: "..getVehicleName ( veh ), target, 0, 125, 0 )
  130.                                 outputChatBox ( "Tunings: "..stunings, target, 0, 125, 0 )
  131.                                 outputChatBox ( "Tippe /buy car, um das Fahrzeug zu kaufen.", target, 0, 125, 0 )
  132.                                 outputChatBox ( "Du hast "..getPlayerName ( target ).." dein Fahrzeug aus Slot Nr. "..pSlot.." angeboten.", player, 200, 200, 0 )
  133.                                
  134.                                 vioSetElementData ( target, "carToBuyFrom", player )
  135.                                 vioSetElementData ( target, "carToBuySlot", tonumber ( pSlot ) )
  136.                                 vioSetElementData ( target, "carToBuyPrice", price )
  137.                                 vioSetElementData ( target, "carToBuyModel", getElementModel ( veh ) )
  138.                             else
  139.                                 outputChatBox ( "Der Spieler hat keinen freien Fahrzeugslot mehr!", player, 125, 0, 0 )
  140.                             end
  141.                         else
  142.                             outputChatBox ( "Du kannst keine Premium Fahrzeuge an nicht Premiumnutzer weitergeben!", player, 125, 0, 0 )
  143.                         end
  144.                     else
  145.                         outputChatBox ( "Ungueltiges Fahrzeug! Gebrauch: /sellcarto [Name] [Preis] [Eigener Slot]", player, 125, 0, 0 )
  146.                     end
  147.                 else
  148.                     outputChatBox ( "Ungueltiger Preis! Gebrauch: /sellcarto [Name] [Preis] [Eigener Slot]", player, 125, 0, 0 )
  149.                 end
  150.             else
  151.                 outputChatBox ( "Ungueltiger Fahrzeugslot! Gebrauch: /sellcarto [Name] [Preis] [Eigener Slot]", player, 125, 0, 0 )
  152.             end
  153.         else
  154.             outputChatBox ( "Dieses Fahrzeuge wird momentan versteigert!", player, 125, 0, 0 )
  155.         end
  156.     else
  157.         outputChatBox ( "Gebrauch: /sellcarto [Name] [Preis] [Eigener Slot]", player, 125, 0, 0 )
  158.     end
  159. end
  160. addCommandHandler ( "sellcarto", sellcarto_func )
  161.  
  162. function respawnPrivVeh ( carslot, pname )
  163.  
  164.     if not isElement ( _G[getPrivVehString ( pname, carslot )] ) or ( not getVehicleOccupant ( _G[getPrivVehString ( pname, carslot )] ) and not getVehicleOccupant ( _G[getPrivVehString ( pname, carslot )], 1 ) and not getVehicleOccupant ( _G[getPrivVehString ( pname, carslot )], 2 ) and not getVehicleOccupant ( _G[getPrivVehString ( pname, carslot )], 3 ) ) then
  165.         if tonumber ( MySQL_GetString("vehicles", "AuktionsID", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..carslot.."'") ) == 0 then
  166.             local dsatz
  167.             local result = mysql_query ( handler, "SELECT * from vehicles WHERE Besitzer LIKE '"..pname.."' AND Slot LIKE '"..carslot.."'" )
  168.             if result then
  169.                 if ( mysql_num_rows ( result ) > 0 ) then
  170.                     dsatz = mysql_fetch_assoc ( result )
  171.                 end
  172.                 mysql_free_result ( result )
  173.             end
  174.            
  175.             destroyMagnet ( _G[getPrivVehString ( pname, carslot )] )
  176.             local Besitzer = pname
  177.             local Slot = carslot
  178.             MySQL_SetString("vehicles", "Benzin", vioGetElementData(_G[getPrivVehString ( pname, carslot )],"fuelstate"), "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..carslot.."'")
  179.             if vioGetElementData ( _G[getPrivVehString ( pname, carslot )], "special" ) == 2 then
  180.                 detachElements ( _G["ObjYacht"..Besitzer..Slot], _G[getPrivVehString ( pname, carslot )] )
  181.                 destroyElement ( _G["ObjYacht"..Besitzer..Slot] )
  182.                 special = 2
  183.             end
  184.             if _G[getPrivVehString ( pname, carslot )] and isElement ( _G[getPrivVehString ( pname, carslot )] ) then
  185.                 destroyElement ( _G[getPrivVehString ( pname, carslot )] )
  186.             end
  187.             local Typ = dsatz["Typ"]
  188.             local Last_Login_Besitzer_Tag = MySQL_GetString("players", "Last_login", "Name LIKE '" ..pname.."'")
  189.             local Tuning = dsatz["Tuning"]
  190.             local Spawnpos_X = dsatz["Spawnpos_X"]
  191.             local Spawnpos_Y = dsatz["Spawnpos_Y"]
  192.             local Spawnpos_Z = dsatz["Spawnpos_Z"]
  193.             local Spawnrot_X = dsatz["Spawnrot_X"]
  194.             local Spawnrot_Y = dsatz["Spawnrot_Y"]
  195.             local Spawnrot_Z = dsatz["Spawnrot_Z"]
  196.             local Farbe = dsatz["Farbe"]
  197.             local LFarbe = dsatz["Lights"]
  198.             local Paintjob = dsatz["Paintjob"]
  199.             local Benzin = dsatz["Benzin"]
  200.             local Distanz = dsatz["Distance"]
  201.             local STuning = dsatz["STuning"]
  202.             local Spezcolor = dsatz["spezcolor"]
  203.             local Sportmotor = tonumber (dsatz["Sportmotor"])
  204.             local PlateText = dsatz["plate"]
  205.             _G[getPrivVehString ( pname, carslot )] = createVehicle ( Typ, Spawnpos_X, Spawnpos_Y, Spawnpos_Z, 0, 0, 0, Besitzer )
  206.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "owner", Besitzer )
  207.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "name", _G[getPrivVehString ( pname, carslot )] )
  208.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "carslotnr_owner", Slot )
  209.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "locked", true )
  210.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "color", Farbe )
  211.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "lcolor", LFarbe )
  212.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spawnpos_x", Spawnpos_X )
  213.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spawnpos_y", Spawnpos_Y )
  214.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spawnpos_z", Spawnpos_Z )
  215.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spawnrot_x", Spawnrot_X )
  216.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spawnrot_y", Spawnrot_Y )
  217.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spawnrot_z", Spawnrot_Z )
  218.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "distance", Distanz )
  219.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "stuning", STuning )
  220.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "spezcolor", Spezcolor )
  221.             setVehiclePlateText( _G[getPrivVehString ( pname, carslot )], PlateText )
  222.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "rcVehicle", tonumber ( dsatz["rc"] ) )
  223.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "sportmotor", Sportmotor )
  224.             setVehicleLocked ( _G[getPrivVehString ( pname, carslot )], true )
  225.             vioSetElementData ( _G[getPrivVehString ( pname, carslot )], "fuelstate", Benzin )
  226.             setPrivVehCorrectColor ( _G[getPrivVehString ( pname, carslot )] )
  227.             setPrivVehCorrectLightColor ( _G[getPrivVehString ( pname, carslot )] )
  228.             setVehiclePaintjob ( _G[getPrivVehString ( pname, carslot )], Paintjob )
  229.             if special == 2 then
  230.                 local both = Besitzer..Slot
  231.                 _G["ObjYacht"..both] = createObject ( 1337, 0, 0, 0 )
  232.                 attachElements ( _G["ObjYacht"..Besitzer..Slot], _G[getPrivVehString ( pname, carslot )], 0, 2, 1.55 )
  233.                 setElementDimension ( _G["ObjYacht"..both], 1 )
  234.             end
  235.             if Sportmotor == 1 then
  236.                 if(getElementType(_G[getPrivVehString ( pname, carslot )]) == "vehicle") then
  237.                     if(getVehicleType(_G[getPrivVehString ( pname, carslot )]) == "Boat") then return end
  238.                     setVehicleHandling(_G[getPrivVehString ( pname, carslot )], "engineAcceleration", (getVehicleHandling(_G[getPrivVehString ( pname, carslot )])['engineAcceleration']/100*130))
  239.                     setVehicleHandling(_G[getPrivVehString ( pname, carslot )], "maxVelocity", (getVehicleHandling(_G[getPrivVehString ( pname, carslot )])['maxVelocity']/100*130))
  240.                 end
  241.             end
  242.             setVehicleRotation ( _G[getPrivVehString ( pname, carslot )], Spawnrot_X, Spawnrot_Y, Spawnrot_Z )
  243.             pimpVeh ( _G[getPrivVehString ( pname, carslot )], Tuning )
  244.             setVehicleAsMagnetHelicopter ( _G[getPrivVehString ( pname, carslot )] )
  245.             return true
  246.         end
  247.     end
  248.     return false
  249. end
  250.  
  251. function respawnVeh_func ( towcar, pname, veh )
  252.    
  253.     if towcar then
  254.         respawnPrivVeh ( towcar, pname )
  255.     else
  256.         if not getVehicleOccupant ( veh ) then
  257.             respawnVehicle ( veh )
  258.             setElementDimension ( veh, 0 )
  259.             setElementInterior ( veh, 0 )
  260.         end
  261.     end
  262. end
  263. addEvent ( "respawnVeh", true )
  264. addEventHandler ( "respawnVeh", getRootElement(), respawnVeh_func )
  265.  
  266.  
  267. function deleteVeh_func ( towcar, pname, veh, reason )
  268.     local admin = getPlayerName ( source )
  269.     if vioGetElementData ( source, "adminlvl" ) >= 1 then
  270.         local player = getPlayerFromName ( pname )
  271.         if player then
  272.             outputChatBox ( "Dein Fahrzeug in Slot Nr. "..towcar.." wurde von "..admin.." geloescht ("..reason..")!", player, 125, 0, 0 )
  273.             vioSetElementData ( player, "carslot"..towcar, 0 )
  274.         else
  275.             offlinemsg ( "Dein Fahrzeug in Slot Nr. "..towcar.." wurde von "..admin.." geloescht("..reason..")!", "Server", pname )
  276.         end
  277.         outputLog ( "Fahrzeug von "..pname.." ( "..towcar.." ) wurde von "..admin.." geloescht. | Modell: "..getElementModel(veh).." |", "autodelete" )
  278.         destroyElement ( veh )
  279.         MySQL_DelRow("vehicles", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..towcar.."'")
  280.     end
  281. end
  282. addEvent ( "deleteVeh", true )
  283. addEventHandler ( "deleteVeh", getRootElement(), deleteVeh_func )
  284.  
  285.  
  286. function park_func ( player, command )
  287.     if getPedOccupiedVehicleSeat ( player ) == 0 then
  288.         local veh = getPedOccupiedVehicle ( player )
  289.         if vioGetElementData ( veh, "owner" ) == getPlayerName ( player ) or vioGetElementData ( player, "adminlvl" ) >= 5 then
  290.             if isTrailerInParkingZone ( veh ) then
  291.                 local x, y, z = getElementPosition ( veh )
  292.                 local rx, ry, rz = getVehicleRotation ( veh )
  293.                 local c1, c2, c3, c4 = getVehicleColor ( veh )
  294.                 vioSetElementData ( veh, "spawnposx", x )
  295.                 vioSetElementData ( veh, "spawnposy", y )
  296.                 vioSetElementData ( veh, "spawnposz", z )
  297.                 vioSetElementData ( veh, "spawnrotx", rx )
  298.                 vioSetElementData ( veh, "spawnroty", ry )
  299.                 vioSetElementData ( veh, "spawnrotz", rz )
  300.                 vioSetElementData ( veh, "color1", c1 )
  301.                 vioSetElementData ( veh, "color2", c2 )
  302.                 vioSetElementData ( veh, "color3", c3 )
  303.                 vioSetElementData ( veh, "color4", c4 )
  304.                 outputChatBox ( "Fahrzeug geparkt!", player, 0, 255, 0 )
  305.            
  306.                 local Spawnpos_X, Spawnpos_Y, Spawnpos_Z = getElementPosition ( veh )
  307.                 local Spawnrot_X, Spawnrot_Y, Spawnrot_Z = getVehicleRotation ( veh )
  308.                 local Farbe1, Farbe2, Farbe3, Farbe4 =  getVehicleColor ( veh )
  309.                 local color = "|"..Farbe1.."|"..Farbe2.."|"..Farbe3.."|"..Farbe4.."|"
  310.                 local Paintjob = getVehiclePaintjob ( veh )
  311.                 local Benzin = vioGetElementData ( veh, "fuelstate" )
  312.                 local pname = vioGetElementData ( veh, "owner" )
  313.                 local Distance = vioGetElementData ( veh, "distance" )
  314.                 local slot = vioGetElementData ( veh, "carslotnr_owner" )
  315.  
  316.                 MySQL_SetString("vehicles", "Spawnpos_X", Spawnpos_X, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  317.                 MySQL_SetString("vehicles", "Spawnpos_Y", Spawnpos_Y, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  318.                 MySQL_SetString("vehicles", "Spawnpos_Z", Spawnpos_Z, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  319.                 MySQL_SetString("vehicles", "Spawnrot_X", Spawnrot_X, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  320.                 MySQL_SetString("vehicles", "Spawnrot_Y", Spawnrot_Y, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  321.                 MySQL_SetString("vehicles", "Spawnrot_Z", Spawnrot_Z, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  322.                 MySQL_SetString("vehicles", "Farbe", color, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  323.                 MySQL_SetString("vehicles", "Paintjob", Paintjob, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  324.                 MySQL_SetString("vehicles", "Benzin", Benzin, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  325.                 MySQL_SetString("vehicles", "Distance", Distance, "Besitzer LIKE '" ..pname.."' AND Slot LIKE '" ..slot.. "' ")
  326.             else
  327.                 outputChatBox ( "Dieses Fahrzeug kannst du nicht in der Stadt parken!", player, 125, 0, 0 )
  328.             end
  329.         else
  330.             outputChatBox ( "Dieses Fahrzeug gehoert dir nicht!", player, 255, 0, 0 )
  331.         end
  332.     else
  333.         outputChatBox ( "Du musst in einem Fahrzeug sitzen!", player, 255, 0, 0 )
  334.     end
  335. end
  336. addCommandHandler ( "park", park_func )
  337.  
  338. function lock_func ( player, command, locknr )
  339.  
  340.     if locknr == nil then
  341.         outputChatBox ( "Gebrauch: /lock [Fahrzeugnummer]", player, 255, 0, 0 )
  342.     else
  343.         if vioGetElementData ( player, "carslot"..locknr ) and tonumber(vioGetElementData ( player, "carslot"..locknr )) >= 1 then
  344.             local pname = getPlayerName ( player )
  345.             local veh = _G[getPrivVehString ( pname, locknr )]
  346.             if isElement ( veh ) then
  347.                 if vioGetElementData ( veh, "locked" ) then
  348.                     vioSetElementData ( veh, "locked", false )
  349.                     setVehicleLocked ( veh, false )
  350.                     outputChatBox ( "Fahrzeug Aufgeschlossen!", player, 0, 0, 255 )
  351.                 elseif not vioGetElementData ( veh, "locked" ) then
  352.                     vioSetElementData ( veh, "locked", true )
  353.                     setVehicleLocked ( veh, true )
  354.                     outputChatBox ( "Fahrzeug Abgeschlossen!", player, 0, 0, 255 )
  355.                 end
  356.             else
  357.                 outputChatBox ( "Bitte respawne dein Fahrzeug zuerst!", player, 255, 0, 0 )
  358.             end
  359.         else
  360.             outputChatBox ( "Du hast kein Fahrzeug mit diesem Namen!", player, 255, 0, 0 )
  361.         end
  362.     end
  363. end
  364. addEvent ( "lockPrivVehClick", true )
  365. addEventHandler ( "lockPrivVehClick", getRootElement(), lock_func )
  366. addCommandHandler ( "lock", lock_func )
  367.  
  368. function vehinfos_func ( player )
  369.  
  370.     local curcars = vioGetElementData ( player, "curcars" )
  371.     local maxcars = vioGetElementData ( player, "maxcars" )
  372.     outputChatBox ( "Momentan im Besitz: "..curcars.." Fahrzeuge von maximal "..maxcars, player, 0, 0, 255  )
  373.     local pname = getPlayerName ( player )
  374.     color = 0
  375.     for i = 1, maxcars do
  376.         carslotname = "carslot"..i
  377.         if vioGetElementData ( player, carslotname ) ~= 0 then
  378.             local veh = _G[getPrivVehString ( pname, i )]
  379.             if isElement ( veh ) then
  380.                 local x, y, z = getElementPosition( veh )
  381.                 if vioGetElementData ( veh, "gps" ) then
  382.                     color = color + 1
  383.                     local blip = createBlip ( x, y, z, 0, 2, vehBlipColor["r"][color], vehBlipColor["g"][color], vehBlipColor["b"][color], 255, 0, 99999.0, player )
  384.                     setTimer ( destroyElement, 10000, 1, blip )
  385.                     outputChatBox ( "Slot NR "..i..": "..getVehicleName ( veh )..", steht momentan in "..getZoneName( x,y,z )..", "..getZoneName( x,y,z, true ), player, vehBlipColor["r"][color], vehBlipColor["g"][color], vehBlipColor["b"][color] )
  386.                 else
  387.                     outputChatBox ( "Slot NR "..i..": "..getVehicleName ( veh )..", steht momentan in "..getZoneName( x,y,z )..", "..getZoneName( x,y,z, true ), player, 0, 0, 200 )
  388.                 end
  389.             else
  390.                 if tonumber ( MySQL_GetString("vehicles", "AuktionsID", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..i.."'") ) == 0 then
  391.                     outputChatBox ( "Dein Fahrzeug in Slot NR "..i.." muss zuerst mit /towveh "..i.." respawned werden!", player, 125, 0, 0 )
  392.                 else
  393.                     outputChatBox ( "Dein Fahrzeug in Slot NR "..i.." steht momentan zum Verkauf!", player, 125, 0, 0 )
  394.                 end
  395.             end
  396.         end
  397.     end
  398. end
  399. addCommandHandler ( "vehinfos", vehinfos_func )
  400.  
  401. function vehhelp_func ( player )
  402.  
  403.     outputChatBox ( "--- Fahrzeughilfe ---", player, 0, 0, 255 )
  404.     outputChatBox ( "/towveh [Nummer] zum Respawnen am Parkort", player, 255, 0, 255 )
  405.     outputChatBox ( "/towvehall zum Respawnen aller Fahrzeuge", player, 255, 0, 255 )
  406.     outputChatBox ( "/lock [Nummer] zum Oeffnen/Schliessen", player, 255, 0, 255 )
  407.     outputChatBox ( "/park zum Parken", player, 255, 0, 255 )
  408.     outputChatBox ( "/vehinfos zum Anzeigen aller Aktueller Fahrzeuge", player, 255, 0, 255 )
  409.     outputChatBox ( "/sellcar [Nummer] zum verkaufen des Autos ( 75% der Kosten werden erstattet )", player, 255, 0, 255 )
  410.     outputChatBox ( "/givecar [Spieler] [Eigener Slot] [Neuer Slot], um das Auto weiterzugeben", player, 255, 0, 255 )
  411. end
  412. addCommandHandler ( "vehhelp", vehhelp_func )
  413.  
  414. function sellcar_func ( player, cmd, slot )
  415.  
  416.     local slot = tonumber(slot)
  417.     if vioGetElementData ( player, "carslot"..slot ) > 0 then
  418.         local pname = MySQL_Save ( getPlayerName(player) )
  419.         if tonumber ( MySQL_GetString("vehicles", "AuktionsID", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..slot.."'") ) == 0 then
  420.             local veh = _G[getPrivVehString ( pname, slot )]
  421.             if veh then
  422.                 destroyMagnet ( veh )
  423.                 local model = getElementModel ( veh )
  424.                 local price = carprices[model]
  425.                 if not price then
  426.                     price = 0
  427.                 end
  428.                 vioSetElementData ( player, "carslot"..slot, 0 )
  429.                 local spawnx = vioGetElementData ( player, "spawnpos_x" )
  430.                 if spawnx == "marquis" or spawnx == "tropic" then
  431.                     vioSetElementData ( player, "spawnpos_x", -2458.288085 )
  432.                     vioSetElementData ( player, "spawnpos_y", 774.354492 )
  433.                     vioSetElementData ( player, "spawnpos_z", 35.171875 )
  434.                     vioSetElementData ( player, "spawnrot_x", 52 )
  435.                     vioSetElementData ( player, "spawnint", 0 )
  436.                     vioSetElementData ( player, "spawndim", 0 )
  437.                 end
  438.                 MySQL_DelRow("vehicles", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..vioGetElementData(veh, "carslotnr_owner" ).."'")
  439.                 vioSetElementData(player,"curcars",tonumber(vioGetElementData ( player, "curcars" ))-1)
  440.                 destroyElement ( veh )
  441.                 vioSetElementData ( player, "money", vioGetElementData ( player, "money" )+price/100*75 )
  442.                 givePlayerMoney ( player, price/100*75 )
  443.                 SaveCarData ( player )
  444.             else
  445.                 outputChatBox ( "Bitte respawne dein Fahrzeug vorher!", player, 125, 0, 0 )
  446.             end
  447.         else
  448.             outputChatBox ( "Dieses Fahrzeug kannst du nicht respawnen, da es zum Verkauf steht.", player, 125, 0, 0 )
  449.         end
  450.     else
  451.         outputChatBox ( "Ungueltiger Slot!", player, 125, 0, 0 )
  452.     end
  453. end
  454. addCommandHandler ( "sellcar", sellcar_func )
  455.  
  456. function accept_sellcarto ( accepter, _, cmd )
  457.     if cmd == "car" then
  458.         local target = accepter
  459.         local pSlot = vioGetElementData ( accepter, "carToBuySlot" )
  460.         player = vioGetElementData ( accepter, "carToBuyFrom" )
  461.         price = vioGetElementData ( accepter, "carToBuyPrice" )
  462.         model = vioGetElementData ( accepter, "carToBuyModel" )
  463.         if isElement ( player ) then
  464.             local money = vioGetElementData ( target, "bankmoney" )
  465.             local tSlot = getFreeCarSlot ( target )
  466.             if price <= money then
  467.                 if tonumber ( pSlot ) and tSlot then
  468.                     pSlot = tonumber ( pSlot )
  469.                     local pname = getPlayerName ( player )
  470.                     if tonumber ( MySQL_GetString("vehicles", "AuktionsID", "Besitzer LIKE '"..pname.."' AND Slot LIKE '"..tonumber(pSlot).."'") ) == 0 then
  471.                         if vioGetElementData ( player, "carslot"..pSlot ) > 0 then
  472.                             local veh = _G[getPrivVehString ( pname, pSlot )]
  473.                             if isElement ( veh ) then
  474.                                 if model == getElementModel ( veh ) then
  475.                                     if ( premiumBuyCars[getElementModel(veh)] and vioGetElementData ( target, "premium" ) ) or not premiumBuyCars[getElementModel(veh)] then
  476.                                         if vioGetElementData ( target, "curcars" ) < vioGetElementData ( target, "maxcars" ) then
  477.                                             outputLog ( getPlayerName ( accepter ).." hat von "..getPlayerName ( player ).." ein Fahrzeug fuer "..price.." $ ( Model: "..model.." )", "sellcar" )
  478.                                            
  479.                                             local id = MySQL_GetString("vehicles", "ID", "Besitzer LIKE '"..getPlayerName(player).."' AND Slot LIKE '"..tonumber(pSlot).."'")
  480.                                            
  481.                                             outputChatBox ( "Du hast dein Fahrzeug in Slot Nr. "..pSlot.." an "..getPlayerName ( target ).." gegeben!", player, 0, 125, 0 )
  482.                                             outputChatBox ( "Du hast ein Fahrzeug in Slot Nr. "..tSlot.." von "..getPlayerName ( player ).." erhalten!", target, 0, 125, 0 )
  483.                                            
  484.                                             MySQL_SetString("vehicles", "Besitzer", getPlayerName(target), "ID LIKE '"..id.."'")
  485.                                             MySQL_SetString("vehicles", "Slot", tonumber ( tSlot ), "ID LIKE '"..id.."'")
  486.                                        
  487.                                             vioSetElementData ( target, "carslot"..tSlot, vioGetElementData ( player, "carslot"..pSlot ) )
  488.                                             vioSetElementData ( player, "carslot"..pSlot, 0 )
  489.                                             vioSetElementData ( target, "curcars", vioGetElementData ( target, "curcars" ) + 1 )
  490.                                             vioSetElementData ( player, "curcars", vioGetElementData ( player, "curcars" ) - 1 )
  491.                                             vioSetElementData ( veh, "lcolor", "|255|255|255|" )
  492.                                            
  493.                                             MySQL_SetString("vehicles", "Lights", "|255|255|255|", "ID LIKE '"..id.."'")
  494.                                             setPrivVehCorrectLightColor ( veh )
  495.                                            
  496.                                             vioSetElementData ( veh, "owner", getPlayerName ( target ) )
  497.                                             vioSetElementData ( veh, "name", "privVeh"..getPlayerName(target)..tSlot )
  498.                                             vioSetElementData ( veh, "carslotnr_owner", tSlot )
  499.                                            
  500.                                             _G[getPrivVehString ( getPlayerName(target), tSlot )] = veh
  501.                                             _G[getPrivVehString ( pname, pSlot )] = nil
  502.                                            
  503.                                             SaveCarData ( player )
  504.                                             SaveCarData ( target )
  505.                                            
  506.                                             vioSetElementData ( target, "bankmoney", money - price )
  507.                                             vioSetElementData ( player, "bankmoney", vioGetElementData ( player, "bankmoney" ) + price )
  508.                                            
  509.                                             casinoMoneySave ( target )
  510.                                             casinoMoneySave ( player )
  511.                                         else
  512.                                             infobox ( accepter, "Du hast keinen\nfreien Fahrzeugslot mehr!", 5000, 125, 0, 0 )
  513.                                         end
  514.                                     end
  515.                                 else
  516.                                     infobox ( accepter, "Ein Fehler\nist aufgetreten.\nBitte lass dir\ndas Angebot erneut\nschicken!", 5000, 125, 0, 0 )
  517.                                 end
  518.                             else
  519.                                 infobox ( accepter, "Ein Fehler\nist aufgetreten.\nBitte lass dir\ndas Angebot erneut\nschicken!", 5000, 125, 0, 0 )
  520.                             end
  521.                         else
  522.                             infobox ( accepter, "Der Verkaufer hat\ndas Fahrzeug nicht\nmehr!", 5000, 125, 0, 0 )
  523.                         end
  524.                     end
  525.                 else
  526.                     infobox ( accepter, "Ein Fehler\nist aufgetreten.\nBitte lass dir\ndas Angebot erneut\nschicken!", 5000, 125, 0, 0 )
  527.                 end
  528.             else
  529.                 infobox ( accepter, "Du hast nicht\ngenug Geld auf\nder Bank!", 5000, 125, 0, 0 )
  530.             end
  531.         else
  532.             infobox ( accepter, "Der Anbieter des\nFahrzeugs ist offline!", 5000, 125, 0, 0 )
  533.         end
  534.     end
  535. end
  536. addCommandHandler ( "buy", accept_sellcarto )
  537.  
  538. function getPrivVehString ( pname, carslot )
  539.  
  540.     return string.lower ( "privVeh"..pname..carslot )
  541. end
  542.  
  543. function handbremsen ( player )
  544.  
  545.     local vehicle = getPedOccupiedVehicle ( player )
  546.    
  547.     if vehicle then
  548.    
  549.         local sitz = getPedOccupiedVehicleSeat ( player )
  550.        
  551.         if sitz == 0 then
  552.        
  553.             local vx, vy, vz = getElementVelocity ( getPedOccupiedVehicle ( player ) )
  554.             local speed = math.sqrt ( vx ^ 2 + vy ^ 2 + vz ^ 2 )
  555.            
  556.             if speed < 5 * 0.00464 then
  557.             else
  558.                 return
  559.             end
  560.        
  561.             if vioGetElementData ( vehicle, "owner" ) == getPlayerName ( player )  then
  562.            
  563.                 if isElementFrozen ( vehicle ) then
  564.            
  565.                     setElementFrozen ( vehicle, false )
  566.                     outputChatBox ( "Handbremse gelöst!", player, 0, 125, 0 )
  567.                
  568.                 else
  569.                
  570.                     setElementFrozen ( vehicle, true )
  571.                     outputChatBox ( "Handbremse angezogen!", player, 0, 125, 0 )
  572.                
  573.                 end
  574.            
  575.             end
  576.        
  577.         end
  578.    
  579.     end
  580.    
  581. end
  582.  
  583. addCommandHandler ( "break", handbremsen )
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement