Polskitester156
Amazing World
Wiek: 23 Na forum: 3596 dni Posty: 79
Nick w MP: Radziu
Piwa : 2646
Witam!
Posiadam prace sweeper?w i chcia?bym ?eby jak sie do tylu jedzie to zeby nie naliczalo zbierania smieci
CLIENT:
local czas = getTickCount ()
function speeed ( car )
local a1 , b1 , c1 = getElementVelocity ( car )
local fast = (( a1 ^ 2 + b1 ^ 2 + c1 ^ 2 )^( 0.5 ) * 180 )
return fast
end
local code = "Sweepers"
tekstury = {
[ 0 ] = true ,
[ 1 ] = true ,
[ 2 ] = true ,
}
function render ( pojazd )
local x , y , z = getElementPosition ( pojazd )
fxAddWaterSplash ( x , y , z - 1.9 )
if ( getTickCount () - czas ) < 6000 then return end
czas = getTickCount ()
if speeed ( pojazd ) < 30 then return end
ziemia = getGroundPosition ( x , y , z ) - 0.001
hit , _ , _ , _ , _ , _ , _ , _ , material , _ , target = processLineOfSight ( x , y , z , x , y , ziemia , true , false , true , true , false , true )
if hit == false then
return end
if ( not tekstury [ material ]) then
return end
local smiecie = getElementData ( pojazd , "vehicle:trash" )
local kg = math . random ( 1 , 2 )
if not getElementData ( localPlayer , "player:premium" ) then
limit = 400
else
limit = 400
end
if smiecie >= limit then return end
setElementData ( pojazd , "vehicle:trash" , smiecie + kg )
setElementData ( pojazd , "vehicle:desc" , "Czyszczenie ulic\n\nPojemno??: " .. smiecie .. "/400KG" )
end
local function shit ()
local pojazd = getPedOccupiedVehicle ( localPlayer )
if not pojazd then return end
if not getVehicleEngineState ( pojazd ) then return end
if speeed ( pojazd ) < 0 then
toggleControl ( "brake_reverse" , true )
else
toggleControl ( "brake_reverse" , true )
end
render ( pojazd )
end
addEventHandler ( "onClientVehicleEnter" , resourceRoot ,
function( thePlayer , seat )
if thePlayer == getLocalPlayer () then
if getElementData ( source , "vehicle:job" ) == code then
addEventHandler ( "onClientRender" , root , shit )
end
end
end )
addEventHandler ( "onClientVehicleExit" , resourceRoot ,
function( thePlayer , seat )
if thePlayer == getLocalPlayer () then
if getElementData ( source , "vehicle:job" ) == code then
removeEventHandler ( "onClientRender" , root , shit )
end
end
end )
CLIENT:
local money = 10
local score = 1 -- Reputacji ile dostajesz
createBlip ( 1796.48 , - 1705.13 , 13.53 , 46 , 2 , 255 , 0 , 0 , 255 , 0 , 100 )
local code = "Sweepers" -- kod pracy
local jobOnline = true -- czy praca w ?? czona
local jobVehicles = { -- pozycj ? pojazd ? w 574
{ 574 , 1800.77 , - 1719.0 , 13.25 , 0.1 , 360.0 , 268.8 },
{ 574 , 1800.77 , - 1716.0 , 13.25 , 0.1 , 360.0 , 268.8 },
{ 574 , 1800.77 , - 1713.0 , 13.25 , 0.1 , 360.0 , 268.8 },
{ 574 , 1800.77 , - 1710.0 , 13.25 , 0.1 , 360.0 , 268.8 },
{ 574 , 1800.77 , - 1707.0 , 13.25 , 0.1 , 360.0 , 268.8 },
{ 574 , 1797.5 , - 1703.35 , 13.25 , 0.1 , 360.0 , 1.0 },
{ 574 , 1794.5 , - 1703.35 , 13.25 , 0.1 , 360.0 , 1.0 },
{ 574 , 1791.5 , - 1703.35 , 13.25 , 0.1 , 360.0 , 1.0 },
{ 574 , 1788.5 , - 1703.35 , 13.25 , 0.1 , 360.0 , 1.0 },
}
local jobMarker = createMarker ( 1804.86 , - 1693.86 , 13.54 - 0.80 , "cylinder" , 2 , 255 , 255 , 255 )
setElementData ( jobMarker , "sweepery" , true )
for i , v in ipairs ( jobVehicles ) do
local veh = createVehicle ( v [ 1 ], v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [ 7 ], v [ 8 ], v [ 9 ], v [ 10 ], v [ 11 ], v [ 12 ], v [ 13 ])
setVehicleRespawnPosition ( veh , v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [ 7 ], v [ 8 ], v [ 9 ], v [ 10 ], v [ 11 ], v [ 12 ], v [ 13 ])
setElementData ( veh , "vehicle:mileage" , math . random ( 10000 , 50000 ))
setElementData ( veh , "vehicle:fuel" , 100 )
setElementData ( veh , "vehicle:job" , code )
setVehicleDamageProof ( veh , true )
toggleVehicleRespawn ( veh , true )
setVehicleIdleRespawnDelay ( veh , 600 )
setElementFrozen ( veh , true )
removeVehicleSirens ( veh )
setVehicleHeadLightColor ( veh , 255 , 255 , 255 )
addVehicleSirens ( veh , 2 , 2 , true , true , false , true )
setVehicleSirens ( veh , 1 , - 0.3 , 0.4 , 1.3 , 255 , 255 , 0 , 104.6 , 91.8 )
setVehicleSirens ( veh , 2 , 0.3 , 0.4 , 1.3 , 255 , 255 , 0 , 104.6 , 91.8 )
end
addEventHandler ( "onVehicleStartEnter" , resourceRoot , function( plr , seat )
if seat ~= 0 then return end
if jobOnline == false then
exports [ "CL-Notyfikacje" ]: noti ( "Praca jest wy??czona!" , plr , "error" )
cancelEvent ()
return
end
if getElementData ( plr , "player:job" ) then
exports [ "CL-Notyfikacje" ]: noti ( "Posiadasz aktywn? prac?!" , plr , "error" )
cancelEvent ()
return
end
end )
addEventHandler ( "onVehicleExit" , resourceRoot , function( plr , seat )
if seat ~= 0 then return end
setElementData ( plr , "player:job" , false )
toggleControl ( plr , "brake_reverse" , true )
exports [ "CL-Notyfikacje" ]: noti ( "Zako?czy?e? prac?!" , plr , "info" )
end )
addEventHandler ( "onVehicleEnter" , resourceRoot , function( plr , seat )
if seat ~= 0 then return end
setElementFrozen ( source , false )
setVehicleDamageProof ( source , false )
setElementData ( source , "vehicle:trash" , 0 )
setElementData ( plr , "player:job" , code )
exports [ "CL-Notyfikacje" ]: noti ( "Rozpocz??e? prac?!" , plr , "info" )
if not getElementData ( plr , "player:premium" ) then
end
end )
addEventHandler ( "onVehicleRespawn" , resourceRoot , function()
veh = source
setElementData ( veh , "vehicle:mileage" , math . random ( 1000 , 50000 ))
setElementData ( veh , "vehicle:fuel" , 100 )
setElementData ( veh , "vehicle:job" , code )
setElementData ( source , "vehicle:trash" , 0 )
setElementFrozen ( veh , true )
setVehicleDamageProof ( veh , true )
setVehicleOverrideLights ( veh , 1 )
removeVehicleSirens ( veh )
addVehicleSirens ( veh , 2 , 2 , true , true , false , true )
setVehicleSirens ( veh , 1 , - 0.3 , 0.4 , 1.3 , 255 , 255 , 0 , 104.6 , 91.8 )
setVehicleSirens ( veh , 2 , 0.3 , 0.4 , 1.3 , 255 , 255 , 0 , 104.6 , 91.8 )
end )
addEventHandler ( "onResourceStop" , resourceRoot , function()
for i , v in ipairs ( getElementsByType ( "player" )) do
if getElementData ( v , "player:job" )== code then
setElementData ( v , "player:job" , false )
toggleControl ( v , "brake_reverse" , true )
end
end
end , false , "high" )
function RGBToHex ( red , green , blue , alpha )
if(( red < 0 or red > 255 or green < 0 or green > 255 or blue < 0 or blue > 255 ) or ( alpha and ( alpha < 0 or alpha > 255 ))) then
return nil
end
if( alpha ) then
return string . format ( "#%.2X%.2X%.2X%.2X" , red , green , blue , alpha )
else
return string . format ( "#%.2X%.2X%.2X" , red , green , blue )
end
end
addEventHandler ( "onMarkerHit" , resourceRoot ,function( element , md )
if source ~= jobMarker then return end
local type = getElementType ( element )
if type == "player" then
if not getPedOccupiedVehicle ( element ) then return end
if getElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" ) and getElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" ) >= 1 then
local cash = getElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" )* money
local cash = math . floor ( cash )
local m = cash
local vt = getElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" )
setElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" , 0 )
setElementData ( getPedOccupiedVehicle ( element ), "vehicle:desc" , "Czyszczenie ulic\n\nPojemno?? 0/400KG" )
if getElementData ( element , "player:premium" ) then
local m = cash * 1
local m = math . floor ( m )
exports [ "CL-Notyfikacje" ]: noti ( "Za " .. vt .. "KG ?mieci otrzymujesz " .. m .. " PLN!" , element , "success" )
givePlayerMoney ( element , m )
else
exports [ "CL-Notyfikacje" ]: noti ( "Za " .. vt .. "KG ?mieci otrzymujesz " .. m .. " PLN!" , element , "success" )
givePlayerMoney ( element , m )
end
end
end
end )
addEventHandler ( "onElementDestroy" , resourceRoot , function()
local type = getElementType ( source )
if type == "vehicle" then
cancelEvent ()
end
end )