Janusz_GRA
NO NAME
Wiek: 26 Na forum: 3716 dni Posty: 223
Nick w MP: michalMonster
Piwa : 175
Witam, chcia? bym ?eby w pracy sweppery na sweeperze by?a wy?wietlana ilo?? zebranych ?mieci. Za pomoc stawiam
c_job
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
tekstury = {
[ 0 ] = true ,
[ 1 ] = true ,
[ 2 ] = true ,
}
function render ( pojazd )
if ( getTickCount () - czas ) < 2500 then return end
czas = getTickCount ()
if ( not isVehicleOnGround ( pojazd )) then return end
if speeed ( pojazd ) < 30 then return end
x , y , z = getElementPosition ( pojazd )
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 ( 0.3 , 0.8 )
setElementData ( pojazd , "vehicle:trash" , smiecie + kg )
setElementData ( pojazd , "vehicle:desc" , "Nape?nienie zbiornika : [" .. smiecie .. " kg]" )
end
local function shit ()
local pojazd = getPedOccupiedVehicle ( localPlayer )
if not pojazd then return end
if not getVehicleEngineState ( pojazd ) then return end
if speeed ( pojazd ) < 2 then
toggleControl ( "brake_reverse" , false )
else
toggleControl ( "brake_reverse" , true )
end
render ( pojazd )
end
addEventHandler ( "onClientVehicleEnter" , getRootElement (),
function( thePlayer , seat )
if thePlayer == getLocalPlayer () then
if getElementModel ( source ) == 574 and getElementData ( source , "vehicle:desc" ) == "Czyszczenie ulic" then
addEventHandler ( "onClientRender" , root , shit )
end
end
end )
addEventHandler ( "onClientVehicleExit" , getRootElement (),
function( thePlayer , seat )
if thePlayer == getLocalPlayer () then
if getElementModel ( source ) == 574 and getElementData ( source , "vehicle:desc" ) then
removeEventHandler ( "onClientRender" , root , shit )
end
end
end )
addEventHandler ( 'onClientResourceStart' , resourceRoot ,
function()
shader = dxCreateShader ( 'shader.fx' )
terrain = dxCreateTexture ( 'sweeper92decal128.png' )
dxSetShaderValue ( shader , 'gTexture' , terrain )
engineApplyShaderToWorldTexture ( shader , 'sweeper92decal128' )
end
)
s_job
local strefa = { }
local strefy = {
{- 1866.59802 , - 28.36787 , 14.25629 , 49.745849609375 , 204.99044418335 , 7.1832365036011 },
}
local ogranicznik = createElement ( "ogranicznik" );
for i , v in ipairs ( strefy ) do
strefa [ i ] = createColCuboid ( v [ 1 ], v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [ 7 ] )
setElementParent ( strefa [ i ], ogranicznik );
end
addEventHandler ( "onColShapeHit" , ogranicznik , function( el , md )
if getElementType ( el )== "vehicle" then
setElementData ( el , "vehicle:tempspeed" , 5 )
end
end )
addEventHandler ( "onColShapeLeave" , ogranicznik , function( el , md )
if getElementType ( el )== "vehicle" then
removeElementData ( el , "vehicle:tempspeed" )
end
end )
local money = 8 -- ile dostajesz za 1 kg
local score = 0 -- Reputacji ile dostajesz
createBlip ( 1094.34 , 1214.48 , 10.82 , 46 , 2 , 0 , 0 , 0 , 0 , 0 , 275 )
local code = "Sweepers" -- kod pracy
local jobOnline = true -- czy praca w ?? czona
local jobVehicles = { -- pozycj ? pojazd ? w
{ 574 , 1091.49 , 1220.80 , 10.52 , 0 , 0 , 180 },
{ 574 , 1086.41 , 1220.85 , 10.52 , 0 , 0 , 180 },
{ 574 , 1081.49 , 1220.80 , 10.52 , 0 , 0 , 180 },
{ 574 , 1076.41 , 1220.85 , 10.52 , 0 , 0 , 180 },
{ 574 , 1071.49 , 1220.80 , 10.52 , 0 , 0 , 180 },
{ 574 , 1066.41 , 1220.85 , 10.52 , 0 , 0 , 180 },
{ 574 , 1061.49 , 1220.80 , 10.52 , 0 , 0 , 180 },
{ 574 , 1056.41 , 1220.85 , 10.52 , 0 , 0 , 180 },
{ 574 , 1051.49 , 1220.80 , 10.52 , 0 , 0 , 180 },
{ 574 , 1046.41 , 1220.85 , 10.52 , 0 , 0 , 180 },
}
local jobMarker = createMarker ( 1094.34 , 1214.48 , 10.82 , "corona" , 1.0 , 255 , 0 , 0 )
local text = createElement ( "text" )
setElementData ( text , "name" , "Punkt rozladowania" )
setElementPosition ( text , 1094.34 , 1214.48 , 10.82 )
for i , v in ipairs ( jobVehicles ) do
local veh = createVehicle ( v [ 1 ], v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [ 7 ])
setVehicleRespawnPosition ( veh , v [ 2 ], v [ 3 ], v [ 4 ], v [ 5 ], v [ 6 ], v [ 7 ])
setElementData ( veh , "vehicle:desc" , "Czyszczenie ulic" )
setElementData ( veh , "vehicle:mileage" , math . random ( 1000 , 50000 ))
setElementData ( veh , "vehicle:fuel" , 100 )
setElementData ( veh , "vehicle:job" , code )
setVehicleDamageProof ( veh , true )
toggleVehicleRespawn ( veh , true )
setVehicleIdleRespawnDelay ( veh , 10000 )
setElementFrozen ( veh , true )
end
addEventHandler ( "onVehicleStartEnter" , resourceRoot , function( plr , seat )
if seat ~= 0 then return end
if jobOnline == false then
outputChatBox ( "* Praca jest wy??czona." , plr , 255 , 0 , 0 )
cancelEvent ()
return
end
if getElementData ( plr , "player:job" ) then
outputChatBox ( "* Ju? posiadasz aktywn? prac?." , plr , 255 , 0 , 0 )
cancelEvent ()
return
end
end )
addEventHandler ( "onVehicleExit" , resourceRoot , function( plr , seat )
if seat ~= 0 then return end
setElementData ( source , "vehicle:desc" , "Czyszczenie ulic" )
setElementData ( plr , "player:job" , false )
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 )
outputChatBox ( "* Rozpocz??e?(a?) prac?" , plr )
outputChatBox ( "* Posprz?taj miasto! Minimalna ilo?? kilogram?w wynosi 10! ." , plr )
end )
addEventHandler ( "onVehicleRespawn" , resourceRoot , function()
veh = source
setElementData ( veh , "vehicle:desc" , "Czyszczenie ulic" )
setElementData ( veh , "vehicle:mileage" , math . random ( 1000 , 50000 ))
setElementData ( veh , "vehicle:fuel" , 100 )
setElementData ( source , "vehicle:trash" , 0 )
setElementFrozen ( veh , true )
setVehicleDamageProof ( veh , true )
setVehicleOverrideLights ( veh , 1 )
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" )
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" ) >= 10 then
local cash = getElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" )* money / 2
local m = cash * 1.3
setElementData ( getPedOccupiedVehicle ( element ), "vehicle:trash" , 0 )
setElementData ( getPedOccupiedVehicle ( element ), "vehicle:desc" , "Czyszczenie ulic" )
if getElementData ( element , "player:premium" ) then
outputChatBox ( " [Premium ]* Rozladowa?e? zbiornik ?mieci .Wynagrodzenie kt?re dostajesz 1.2x(" .. m .. "PLN) " , element )
triggerEvent ( "givePlayerMoney" , element , cash * 1.2 )
else
outputChatBox ( " * Rozladowa?e? zbiornik ?mieci .Wynagrodzenie kt?re dostajesz " .. m .. "PLN" , element )
triggerEvent ( "givePlayerMoney" , element , cash )
end
end
end
end )
addEventHandler ( "onElementDestroy" , resourceRoot , function()
local type = getElementType ( source )
if type == "vehicle" then
cancelEvent ()
end
end )