Hallo liebe Community ich bräuchte mal eure Hilfe ich habe einen Bauarbeiter-Job erstellt hier das Script dazu.
Spoiler anzeigen
jobicons["bauer"] = createPickup ( 816.62060, 856.73681, 12.7890626, 3, 1239, 250 )
addEventHandler ( "onPickupHit", jobicons["bauer"],
function ( player )
if not vioGetElementData ( player, "isInBauJob" ) and not getPedOccupiedVehicle ( player ) then
if vioGetElementData ( player, "job" ) == "bauer" then
triggerClientEvent ( player, "showBauenWindow", player )
else
infobox ( player, "Hier kannst du\nals Bauarbeiter arbeiten -\ntippe /job, um den\nJob anzunehmen.", 5000, 200, 200, 0 )
end
end
end
)
function bauerJobRecieve ( action )
local player = client
local sTime = getSecondTime ( 0 )
vioSetElementData ( player, "lastTimeMarkerHit", sTime - 4 )
local inBauJob = vioGetElementData ( player, "isInBauJob" ) == true
local bauJobCounter = vioGetElementData ( player, "BauJobCounter" )
if not BauJobCounter then
vioSetElementData ( player, "BauJobCounter", 0 )
bauJobCounter = 0
end
if action == "skin" then
if vioGetElementData ( player, "bauerLVL" ) >= 500 then
setElementModel ( player, 158 )
vioSetElementData ( player, "skinid", 158 )
else
infobox ( player, "Dafuer brauchst du\n Bau-Level 500!", 5000, 125, 0, 0 )
end
elseif action == "job1" then
if not inBauJob then
vioSetElementData ( player, "bauJobCounter", 0 )
showNextBauerJobMarker ( player, bauJobCounter, 1 )
infobox ( player, "Wenn du genug von\nder Arbeit hast, benutze /cancel job.", 10000, 200, 200, 0 )
vioSetElementData ( player, "isInBauJob", true )
triggerClientEvent ( player, "startBauerJob", player )
end
elseif action == "job2" then
if not inBauJob then
if vioGetElementData ( player, "bauerLVL" ) >= 100 then
if vioGetElementData ( player, "carlicense" ) == 1 then
vioSetElementData ( player, "bauJobCounter", 0 )
showNextBauerJobMarker ( player, bauJobCounter, 2 )
infobox ( player, "Wenn du genug von\nder Arbeit hast,tippe /cancel job.", 10000, 200, 200, 0 )
vioSetElementData ( player, "isInBauJob", true )
local veh = createVehicle ( vehSpawns["id"][1], vehSpawns["x"][1], vehSpawns["y"][1], vehSpawns["z"][1], 0, 0, vehSpawns["rz"][1] )
warpPedIntoVehicle ( player, veh )
setVehicleLocked ( veh, true )
activeCarGhostMode ( player, 5000 )
addEventHandler ( "onPlayerQuit", player, bauenWorkerQuit )
addEventHandler ( "onVehicleExit", veh,
function ( player )
triggerClientEvent ( player, "cancelbauen", player, "", "bauen" )
end
)
vioSetElementData ( player, "bauenJobVeh", veh )
triggerClientEvent ( player, "startBauJob", player )
else
infobox ( player, "Du hast keinen\nFuehrerschein!", 5000, 200, 0, 0 )
end
else
infobox ( player, "Dafuer brauchst du\nBau-Level 100!", 5000, 125, 0, 0 )
end
end
elseif action == "job3" then
if not inBauJob then
if vioGetElementData ( player, "bauerLVL" ) >= 250 then
if vioGetElementData ( player, "lkwlicense" ) == 1 then
vioSetElementData ( player, "bauJobCounter", 0 )
showNextBauerJobMarker ( player, bauJobCounter, 3 )
infobox ( player, "Wenn du genug von\nder Arbeit hast, tippe /cancel job.", 10000, 200, 200, 0 )
vioSetElementData ( player, "isInBauJob", true )
local veh = createVehicle ( vehSpawns["id"][2], vehSpawns["x"][2], vehSpawns["y"][2], vehSpawns["z"][2], 0, 0, vehSpawns["rz"][2] )
warpPedIntoVehicle ( player, veh )
setVehicleLocked ( veh, true )
activeCarGhostMode ( player, 5000 )
addEventHandler ( "onPlayerQuit", player, bauerWorkerQuit )
addEventHandler ( "onVehicleExit", veh,
function ( player )
triggerClientEvent ( player, "cancelbauen", player, "", "bauen" )
end
)
vioSetElementData ( player, "bauenJobVeh", veh )
triggerClientEvent ( player, "startBauJob", player )
else
infobox ( player, "Du hast keinen\nLKW-Fuehrerschein!", 5000, 200, 0, 0 )
end
else
infobox ( player, "Dafuer brauchst du\nBau-Level 250!", 5000, 125, 0, 0 )
end
end
end
end
addEvent ( "bauerJobRecieve", true )
addEventHandler ( "bauerJobRecieve", getRootElement(), bauerJobRecieve )
function showNextBauerJobMarker ( player, bauJobCounter, i )
local time = vioGetElementData ( player, "lastTimeMarkerHit" )
local sTime = getSecondTime ( 0 )
if true then--not time or time + 2 < sTime then
bauJobCounter = bauJobCounter + 1
if bauJobCounter > bauerJobCounter[i] then
bauJobCounter = 1
if i == 1 then
infobox ( player, "Du erhaelst einen\n50 $ Bonus für\ndie Anlagen!", 5000, 0, 200, 0 )
vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + 50 )
end
end
if bauJobCounter / 10 == math.floor ( bauJobCounter / 10 ) then
if i == 2 then
infobox ( player, "Du erhaelst 50 $\n10er-Bonus!", 5000, 0, 200, 0 )
vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + 50 )
elseif i == 3 then
infobox ( player, "Du erhaelst 100 $\n10er-Bonus!", 5000, 0, 200, 0 )
vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + 100 )
end
end
vioSetElementData ( player, "bauJobCounter", bauJobCounter )
if i == 2 or i == 3 then
bauJobCounter = math.random ( 1, bauerJobCounter[i] )
end
local x, y, z = bauerJob["x"][i][bauJobCounter], bauerJob["y"][i][bauJobCounter], bauerJob["z"][i][bauJobCounter]
triggerClientEvent ( player, "showNextBauerJobMarker", player, x, y, z, i )
vioSetElementData ( player, "lastTimeMarkerHit", sTime )
else
local ip = getPlayerIP ( player )
local serial = getPlayerSerial ( player )
local pname = getPlayerName ( player )
mysql_vio_query ( "INSERT INTO ban (Name, Admin, Grund, Datum, IP, Serial) VALUES ('"..pname.."', 'Anticheat', 'Teleport', '"..timestamp().."', '"..ip.."', '"..serial.."')")
kickPlayer ( player, "Von: "..pname..", Grund: Teleport (Gebannt!)" )
end
end
function bauerJobMarkerHit ( typ )
local player = client
local bauJobCounter = vioGetElementData ( player, "bauJobCounter" )
if not bauJobCounter then
vioSetElementData ( player, "bauJobCounter", 0 )
bauJobCounter = 0
end
local player = client
local bauerLVL = vioGetElementData ( player, "bauerLVL" )
if typ == 1 then
vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + 7 )
vioSetElementData ( player, "bauerLVL", bauerLVL + 1 )
setElementFrozen ( player, true )
setPedAnimation ( player, "BOMBER", "BOM_Plant_Crouch_In", 1500, false, false, false, true )
setTimer ( setPedAnimation, 1500, 1, player, "BOMBER", "BOM_Plant_Loop", -1, true, false, false, true )
setTimer (
function ( player )
if isElement ( player ) then
setTimer ( setPedAnimation, 1500, 1, player, "BOMBER", "BOM_Plant_Crouch_Out", 1500, false, false, false, true )
setTimer ( setPedAnimation, 1500, 1, player )
setTimer ( setElementFrozen, 1500, 1, player, false )
end
end,
3500, 1, player )
showNextBauerJobMarker ( player, bauJobCounter, 1 )
elseif typ == 2 then
vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + 12 )
vioSetElementData ( player, "bauerLVL", bauerLVL + 2 )
showNextBauerJobMarker ( player, bauJobCounter, 2 )
elseif typ == 3 then
vioSetElementData ( player, "money", vioGetElementData ( player, "money" ) + 20 )
vioSetElementData ( player, "bauerLVL", bauerLVL + 2 )
showNextBauerJobMarker ( player, bauJobCounter, 3 )
end
if bauerLVL == 100 then
infobox ( player, "Du hast soeben\nBau-\nLevel 100 erreicht -\ndu kannst nun mit\ndem Dozer fahren.", 5000, 0, 200, 0 )
elseif bauerLVL == 250 then
infobox ( player, "Du hast soeben\nBau-\nLevel 250 erreicht -\ndu kannst nun mit\ndem Zementtruck\nfahren.", 5000, 0, 200, 0 )
elseif bauerLVL == 500 then
infobox ( player, "Du hast soeben Bau-\nLevel 500 erreicht -\ndu kannst nun das\nBauoutfit verwenden.", 5000, 0, 200, 0 )
end
end
addEvent ( "bauerJobMarkerHit", true )
addEventHandler ( "bauerJobMarkerHit", getRootElement(), bauerJobMarkerHit )
function cancelBauenJob ( player )
if isElement ( vioGetElementData ( player, "bauenJobVeh" ) ) then
destroyElement ( vioGetElementData ( player, "bauenJobVeh" ) )
end
vioSetElementData ( player, "bauenJobVeh", false )
vioSetElementData ( player, "isInBauJob", false )
removeEventHandler ( "onPlayerQuit", player, bauerWorkerQuit )
end
addEvent ( "cancelBauenJob", true )
addEventHandler ( "cancelBauenJob", getRootElement(),
function ()
cancelBauenJob ( client )
end
)
function bauerWorkerQuit ()
cancelBauenJob ( source )
end
bauerJobCounter = {}
bauerJob = {}
bauerJob["x"] = {}
bauerJob["y"] = {}
bauerJob["z"] = {}
for i = 1, 3 do
bauerJob["x"][i] = {}
bauerJob["y"][i] = {}
bauerJob["z"][i] = {}
bauerJobCounter[i] = {}
end
vehSpawns = {}
vehSpawns["id"] = {}
vehSpawns["x"] = {}
vehSpawns["y"] = {}
vehSpawns["z"] = {}
vehSpawns["rz"] = {}
vehSpawns["id"][1], vehSpawns["x"][1], vehSpawns["y"][1], vehSpawns["z"][1], vehSpawns["rz"][1] = 486, -1209.66, -1074.46, 128.27, 0
vehSpawns["id"][2], vehSpawns["x"][2], vehSpawns["y"][2], vehSpawns["z"][2], vehSpawns["rz"][2] = 524, -1208.90, -1077, 129.3, 0
local i = 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 690.3346557612, 845.45220947206, -39.0077171325
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 679.22406005859, 825.55151367188, -38.992092132568
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 637.56024169922, 830.79290771484, -42.9609375
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 638.93566894531, 851.73199462891, -42.9609375
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 618.48223876953, 890.04266357422, -37.128540039063
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 690.3346557612, 845.45220947206, -39.0077171325
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 679.22406005859, 825.55151367188, -38.992092132568
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 637.56024169922, 830.79290771484, -42.9609375
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 638.93566894531, 851.73199462891, -42.9609375
i = i + 1
bauerJob["x"][1][i], bauerJob["y"][1][i], bauerJob["z"][1][i] = 618.48223876953, 890.04266357422, -37.128540039063
bauerJobCounter[1] = i
for k = 2, 3 do
i = 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1186.4422607422, -1048.7531738281, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1141.2381591797, -1040.4450683594, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1170.4658203125, -1014.4703369141, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1124.9495849609, -1003.7154541016, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1077.8615722656, -1044.5467529297, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1029.6094970703, -1014.9261474609, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1069.0817871094, -993.11120605469, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1098.5445556641, -966.50317382813, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1067.2901611328, -945.86016845703, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1025.5504150391, -974.57757568359, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1023.8848876953, -932.43048095703, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1132.4178466797, -934.33734130859, 129.21875
i = i + 1
bauerJob["x"][k][i], bauerJob["y"][k][i], bauerJob["z"][k][i] = -1161.5794677734, -962.927734375, 129.21875
bauerJobCounter[k] = iend