@ -39,7 +39,7 @@ local dop_chat_light = {
" Íåôòåçàâîä ¹1 " , " Íåôòåçàâîä ¹2 " , " Ñêëàä Óãëÿ ¹1 " , " Ñêëàä Óãëÿ ¹2 " , " Ëåñîïèëêó ¹1 " , " Ëåñîïèëêó ¹2 " , " Íåôòü â Ïîðò ËÑ " , " Íåôòü â Ïîðò ÑÔ " , " Óãîëü â Ïîðò ËÑ " , " Óãîëü â Ïîðò ÑÔ " , " Äåðåâî â Ïîðò ËÑ " , " Äåðåâî â Ïîðò ÑÔ " , " â Ïîðò ËÑ " , " â Ïîðò ÑÔ "
}
for k , v in pairs ( texts_of_reports ) do
dop_chat_light [ # dop_chat_light + 1 ] = v
dop_chat_light [ # dop_chat_light + 1 ] = v
end
local find_3dText = {
@ -110,7 +110,7 @@ local _3dTextplayers = {}
local live = os.time ( )
--- pair mode new
parking_pair = {
parking_pair = {
{
[ 1 ] = { 251.32167053223 , 1420.3039550781 , 11.5 , 15.0 } , -- N1
[ 2 ] = { - 1048.6430664063 , - 660.54699707031 , 33.012603759766 , 10.0 } -- N2
@ -181,7 +181,7 @@ function main()
server =
( server : find ( " 02 " ) and " Two " or
( server : find ( " Revolution " ) and " Revolution " or
( server : find ( " Legacy " ) and " Legacy " or ( server : find ( " Classic " ) and " Classic " or
( server : find ( " Legacy " ) and " Legacy " or ( server : find ( " Classic " ) and " Classic " or
( server : find ( " Zero Two " ) and " Two " or " " ) ) ) ) )
if server == " " then
thisScript ( ) : unload ( )
@ -220,7 +220,7 @@ function main()
repeat
wait ( 0 )
until msk_timestamp ~= 0
until msk_timestamp ~= 0
while true do
wait ( 0 )
live = os.time ( )
@ -246,7 +246,7 @@ function settings_load()
local x1 , y1 = convertGameScreenCoordsToWindowScreenCoords ( 14.992679595947 , 274.75 )
local x2 , y2 = convertGameScreenCoordsToWindowScreenCoords ( 146.17861938477 , 345.91665649414 )
local x3 , y3 = convertGameScreenCoordsToWindowScreenCoords ( 529.42901611328 , 158.08332824707 )
defaultMon =
defaultMon =
[[!mn!Ñêèëë: {FFFFFF}!skill! [!skill_poc!%] [!skill_reys!]!n!Ðàíã: {FFFFFF}!rang! [!rang_poc!%] [!rang_reys!]!n!!mn!Çàðïëàòà:{FFFFFF} !zp_hour!/!max_zp!!n!Ïðèáûëü: {FFFFFF}!profit!!n!Ðåéñû: {FFFFFF}!reys_hour!/!reys_day! [!left_reys!] ]]
local table_std = {
Settings = {
@ -313,9 +313,9 @@ function settings_load()
Load = 500 ,
UnLoad = 800
} ,
tmonitor = {
tmonitor = {
time = 0 ,
n1 = 0 , n2 = 0 , y1 = 0 , y2 = 0 , l1 = 0 , l2 = 0 , lsn = 0 , lsy = 0 , lsl = 0 , sfn = 0 , sfy = 0 , sfl = 0
n1 = 0 , n2 = 0 , y1 = 0 , y2 = 0 , l1 = 0 , l2 = 0 , lsn = 0 , lsy = 0 , lsl = 0 , sfn = 0 , sfy = 0 , sfl = 0
} ,
binder = { ' /r Íà ìåñòå ' , ' /r Çàãðóæàþñü ' , ' /r Çàäåðæóñü ' , ' /r Ðàçãðóæàþñü ' } ,
binder_sms = { ' /sms !ÈäÏàðû Íà ìåñòå ' , ' /sms !ÈäÏàðû Çàãðóæàþñü ' , ' /sms !ÈäÏàðû Çàäåðæóñü ' , ' /sms !ÈäÏàðû Ðàçãðóæàþñü ' } ,
@ -339,7 +339,7 @@ function settings_load()
inifiles = decodeJson ( file : read ( " *a " ) )
io.close ( file )
end
end ,
end ,
function ( e )
sampAddChatMessage ( " [TruckHUD] Îøèáêà ÷òåíèÿ êîíôèãà! Ñáðàñûâàþ êîíôèã! " , 0xff0000 )
local file , error = io.open ( AdressJson , " w " )
@ -393,7 +393,7 @@ function doControl()
not sampIsDialogActive ( ) and
not sampIsScoreboardOpen ( )
then
dialogActiveClock = os.time ( )
dialogActiveClock = os.time ( )
sampSetCursorMode ( 3 )
local X , Y = getScreenResolution ( )
if not control then
@ -437,8 +437,8 @@ function doControl()
end
if i == 5 then
inifiles.Settings . luCheckerCargo = inifiles.Settings . luCheckerCargo + 1
if inifiles.Settings . luCheckerCargo >= 4 then
inifiles.Settings . luCheckerCargo = 0
if inifiles.Settings . luCheckerCargo >= 4 then
inifiles.Settings . luCheckerCargo = 0
end
luChecker.load_position . x , luChecker.load_position . y , luChecker.load_position . z = 7777.0 , 7777.0 , 7777.0
settings_save ( )
@ -589,7 +589,7 @@ function doDialog()
ShowDialog1 ( 4 , 4 )
else
inifiles.Settings . Cruise = not inifiles.Settings . Cruise
if inifiles.Settings . Cruise then
if inifiles.Settings . Cruise then
sampAddChatMessage ( ' Äëÿ àêòèâàöèè êîãäà åäåòå íàæìèòå ' .. inifiles.Settings . Key4 : gsub ( ' VK_ ' , ' ' ) .. ' . ×òîáû îòêëþ÷èòü íàæìèòå W. ' , - 1 )
end
settings_save ( )
@ -651,6 +651,15 @@ function doDialog()
ShowDialog1 ( 8 )
end
end
if str : find ( " Ñîëî " ) then
inifiles.Settings . luCheckerCargo = inifiles.Settings . luCheckerCargo + 1
if inifiles.Settings . luCheckerCargo >= 4 then
inifiles.Settings . luCheckerCargo = 0
end
luChecker.load_position . x , luChecker.load_position . y , luChecker.load_position . z = 7777.0 , 7777.0 , 7777.0
settings_save ( )
ShowDialog1 ( 1 )
end
if str : find ( " Äîêëàäû â SMS " ) then
inifiles.Settings . SMSpara = not inifiles.Settings . SMSpara
settings_save ( )
@ -878,7 +887,7 @@ function doDialog()
end
if caption == ' Truck-HUD: Áèíäåð ' then
if result then
if button == 1 and # input > 0 then
if button == 1 and # input > 0 then
if d [ 2 ] == 1 then
if not binder_mode_sms then
inifiles.binder [ # inifiles.binder + 1 ] = input
@ -983,7 +992,7 @@ function doPair()
-- Ñîäåðæàòü ïåðåìåííóþ ãîòîâíîñòè ëîêàëüíîãî ïåðñà
-- Ñîäåðæàòü ïåðåìåííóþ ãîòîâíîñòè íàïàðíèêà
if pair_table [ " pos " ] ~= nil then
local x , y , z = getCharCoordinates ( playerPed )
local result_find = false
@ -1046,7 +1055,7 @@ function doCruise()
if not inifiles.Settings . Cruise then return end
if cruise == nil then cruise = false end
if not isCharInAnyCar ( playerPed ) then
if cruise then
if cruise then
cruise = false
printStringNow ( ' ~R~Cruise Control - OFF ' , 1500 )
end
@ -1060,7 +1069,7 @@ function doCruise()
end
if not sampIsChatInputActive ( ) and not sampIsDialogActive ( ) and not sampIsCursorActive ( ) then
if pressW ~= nil and not isKeyDown ( 87 ) then
pressW = nil
pressW = nil
end
if not cruise and isKeyDown ( 87 ) and isKeyDown ( vkeys [ inifiles.Settings . Key4 ] ) and isCarEngineOn ( car ) and isCharInAnyCar ( playerPed ) then
cruise = true
@ -1149,9 +1158,9 @@ function doRenderStats()
( workload == 1 and " Un " or " " ) ..
" Load: " .. inifiles.Price [ ( workload == 1 and " UnLoad " or " Load " ) ] .. " ] " or
" { " .. autoColor .. " }[ " .. ( workload == 1 and " Un " or " " ) .. " Load] " )
if
os.difftime ( msk_timestamp , timer ) > 180 and
autoh and
if
os.difftime ( msk_timestamp , timer ) > 180 and
autoh and
( not isPairModeActive ( ) or ( isPairModeActive ( ) and ( pair_ready and player_ready ) ) ) and
not ( isPairModeActive ( ) and inifiles.Settings . auto_load_unload_kd_pair_use and base [ pair_mode_name ] . gruz == current_load and os.difftime ( msk_timestamp , base [ pair_mode_name ] . timer ) <= 180 )
then
@ -1288,7 +1297,7 @@ function doRenderStats()
string_render , Y = string.format ( " {%s} [{%s}%s{%s}] %s (%s m) " , c2 , ( timer_d < 11 and ( timer_d > 0 and ' b50000 ' or c2 ) or c2 ) , ( timer_d > 0 and string.format ( ' %d:%02d ' , math.floor ( timer_d / 60 ) , timer_d % 60 ) or ' 0:00 ' ) , c2 , para_pos.text , math.ceil ( para_pos.dist ) ) , Y + height
drawClickableText ( string_render , X , Y )
end
if delay.skill == - 1 then
delay.skill = 1
end
@ -1527,7 +1536,7 @@ function doLocalBlock(button, list, input, caption)
end
if caption : find ( ' 2 ' ) then
if button == 1 then
if dialogFunc [ list + 1 ] ~= nil then
if dialogFunc [ list + 1 ] ~= nil then
dialogFunc [ list + 1 ] ( )
end
LocalBlock ( 2 )
@ -1537,7 +1546,7 @@ function doLocalBlock(button, list, input, caption)
end
if caption : find ( ' 3 ' ) then
if button == 1 then
if dialogFunc [ list + 1 ] ~= nil then
if dialogFunc [ list + 1 ] ~= nil then
dialogFunc [ list + 1 ] ( )
end
LocalBlock ( 3 )
@ -1566,9 +1575,9 @@ function LocalBlock(int, param)
inifiles.blacklist [ k ] = not inifiles.blacklist [ k ]
end
dialogText = string.format ( ' %s{%s}[ËÑ Í:%s Ó:%s Ë:%s] [1 Í:%s Ó:%s Ë:%s] [2 Í:%s Ó:%s Ë:%s] [CÔ Í:%s Ó:%s Ë:%s \n ' , dialogText , color , v.tmonitor . lsn , v.tmonitor . lsy , v.tmonitor . lsl , v.tmonitor . n1 , v.tmonitor . y1 , v.tmonitor . l1 , v.tmonitor . n2 , v.tmonitor . y2 , v.tmonitor . l2 , v.tmonitor . sfn , v.tmonitor . sfy , v.tmonitor . sfl )
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
dialogText = string.format ( ' %s \n ' , dialogText )
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
end
end
settings_save ( )
@ -1588,9 +1597,9 @@ function LocalBlock(int, param)
inifiles.blacklist [ k ] = not inifiles.blacklist [ k ]
end
dialogText = string.format ( ' %s{%s}[ËÑ Í:%s Ó:%s Ë:%s] [1 Í:%s Ó:%s Ë:%s] [2 Í:%s Ó:%s Ë:%s] [CÔ Í:%s Ó:%s Ë:%s \n ' , dialogText , color , v.lsn , v.lsy , v.lsl , v.n1 , v.y1 , v.l1 , v.n2 , v.y2 , v.l2 , v.sfn , v.sfy , v.sfl )
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
dialogText = string.format ( ' %s \n ' , dialogText )
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
dialogFunc [ # dialogFunc + 1 ] = dialogFunc [ # dialogFunc ]
end
end
settings_save ( )
@ -1634,7 +1643,7 @@ function ShowStats(int, param)
dialogText = string.format ( ' Äàòà: %s{FFFFFF} \n Ïîäñ÷åò: \n %d ôóð íà ñóììó %d âèðò \n %d çàãðóçîê íà ñóììó %d âèðò \n %d ðàçãðóçîê íà ñóììó %d âèðò \n %d çàïðàâîê íà ñóììó %d âèðò \n %d ïî÷èíîê íà ñóììó %d âèðò \n %d êàíèñòð íà ñóììó %d âèðò \n %d øòðàôîâ íà ñóììó %d âèðò \n Èòîãè: \n Çàðïëàòà: %d âèðò \n Çàòðàòû: %d âèðò \n Ïðèáûëü: %d âèðò ' , param [ 1 ] ,
v.arendacount , v.arenda ,
v.zagruzkacount , v.zagruzka ,
v.razgruzkacount , v.razgruzka ,
v.razgruzkacount , v.razgruzka ,
v.refillcount , v.refill ,
v.repaircount , v.repair ,
v.kanistrcount , v.kanistr ,
@ -1671,7 +1680,7 @@ function ShowStats(int, param)
tonumber ( param [ 3 ] ) , param [ 1 ] ,
v.arendacount , v.arenda ,
v.zagruzkacount , v.zagruzka ,
v.razgruzkacount , v.razgruzka ,
v.razgruzkacount , v.razgruzka ,
v.refillcount , v.refill ,
v.repaircount , v.repair ,
v.kanistrcount , v.kanistr ,
@ -1709,7 +1718,7 @@ function ShowStats(int, param)
dialogText = string.format ( ' Ñòàòèñòèêà çà %d ñóòîê{FFFFFF} \n Ïîäñ÷åò: \n %d ôóð íà ñóììó %d âèðò \n %d çàãðóçîê íà ñóììó %d âèðò \n %d ðàçãðóçîê íà ñóììó %d âèðò \n %d çàïðàâîê íà ñóììó %d âèðò \n %d ïî÷èíîê íà ñóììó %d âèðò \n %d êàíèñòð íà ñóììó %d âèðò \n %d øòðàôîâ íà ñóììó %d âèðò \n Èòîãè: \n Çàðïëàòà: %d âèðò \n Çàòðàòû: %d âèðò \n Ïðèáûëü: %d âèðò ' , day ,
all.arendacount , all.arenda ,
all.zagruzkacount , all.zagruzka ,
all.razgruzkacount , all.razgruzka ,
all.razgruzkacount , all.razgruzka ,
all.refillcount , all.refill ,
all.repaircount , all.repair ,
all.kanistrcount , all.kanistr ,
@ -1757,7 +1766,7 @@ function WhileShowStats(button, list)
return
end
if dialogINT == 3 then
if type ( dialogKeytoList [ 1 ] ) == ' table ' then
if type ( dialogKeytoList [ 1 ] ) == ' table ' then
if button == 1 then
ShowStats ( 4 , { dialogKeytoList [ list + 1 ] [ 1 ] , dialogKeytoList [ list + 1 ] [ 2 ] , dialogKeytoList [ list + 1 ] [ 3 ] } )
else
@ -1840,6 +1849,12 @@ function ShowDialog1(int, dtext, dinput, string_or_number, ini1, ini2)
( pair_mode and " Ðåæèì ïàðû \t {59fc30} " .. pair_mode_name .. " [ " .. pair_mode_id .. " ] " or
" Ðåæèì ïàðû \t {ff0000}OFF " )
local text = { " {ff0000}OFF " , " {59fc30}Íåôòü " , " {59fc30}Óãîëü " , " {59fc30}Äåðåâî " }
if text [ inifiles.Settings . luCheckerCargo + 1 ] ~= nil then
dialogLine [ # dialogLine + 1 ] =
" Ñîëî-÷åêåð \t " .. ( text [ inifiles.Settings . luCheckerCargo + 1 ] )
end
dialogLine [ # dialogLine + 1 ] =
" Àâòî Äîêëàäû â SMS (ðåæèì ïàðû) \t " .. ( inifiles.Settings . SMSpara == true and " {59fc30}ON " or " {ff0000}OFF " )
@ -1858,7 +1873,7 @@ function ShowDialog1(int, dtext, dinput, string_or_number, ini1, ini2)
dialogLine [ # dialogLine + 1 ] =
" Ñêðûâàòü ÷àò ïðîôñîþçà \t " .. ( inifiles.Settings . ChatOFF == true and " {59fc30}ON " or " {ff0000}OFF " )
if inifiles.Settings . ChatOFF == false then
if inifiles.Settings . ChatOFF == false then
dialogLine [ # dialogLine + 1 ] =
" ×àò ïðîôñîþçà òîëüêî â ôóðå \t " .. ( inifiles.Settings . chat_in_truck == true and " {59fc30}ON " or " {ff0000}OFF " )
end
@ -1874,7 +1889,7 @@ function ShowDialog1(int, dtext, dinput, string_or_number, ini1, ini2)
( inifiles.Settings . transponder == true and " {59fc30}ON " or " {ff0000}OFF " )
if inifiles.Settings . transponder then
dialogLine [ # dialogLine + 1 ] =
dialogLine [ # dialogLine + 1 ] =
" Êàðòà ñ ïîçèöèåé íàïàðíèêà \t " ..
( inifiles.Settings . fastmap == true and " {59fc30}ON " or " {ff0000}OFF " )
end
@ -1918,7 +1933,7 @@ function ShowDialog1(int, dtext, dinput, string_or_number, ini1, ini2)
dialogLine [ # dialogLine + 1 ] = " Ëîêàëüíàÿ áëîêèðîâêà ó÷àñòíèêîâ "
dialogLine [ # dialogLine + 1 ] = " Óâåäîìëåíèÿ êîãäà Âàñ óñòàíîâèëè íàïàðíèêîì \t " .. ( inifiles.Settings . NewPairMSG == true and " {59fc30}ON " or " {ff0000}OFF " )
dialogLine [ # dialogLine + 1 ] = " Óâåäîìëåíèÿ êîãäà Âàñ óñòàíîâèëè íàïàðíèêîì \t " .. ( inifiles.Settings . NewPairMSG == true and " {59fc30}ON " or " {ff0000}OFF " )
dialogLine [ # dialogLine + 1 ] = " Àâòî-Î÷èñòêà íåèñïîëüçóåìîé ïàìÿòè ñêðèïòà \t " .. ( inifiles.Settings . AutoClear == true and " {59fc30}ON " or " {ff0000}OFF " )
@ -2017,7 +2032,7 @@ function ShowDialog1(int, dtext, dinput, string_or_number, ini1, ini2)
" Truck-HUD: Ðåäàêòîð HUD " ,
[ [ { ffffff } Ç à ì å í û ä ë ÿ ñ î ñ ò à â ë å í è ÿ HUD ñ ò à ò è ñ ò è ê è
{ ff0000 } Ò Å Ê Ó Ù È É Ò Å Ê Ñ Ò HUD Ï Î Ì Å Ù Å Í Â Â À Ø Á Ó Ô Å Ð Î Á Ì Å Í À
{ ff0000 } Ò Å Ê Ó Ù È É Ò Å Ê Ñ Ò HUD Ï Î Ì Å Ù Å Í Â Â À Ø Á Ó Ô Å Ð Î Á Ì Å Í À
Ñ Â Å Ð Í È Ò Å È Ã Ð Ó
{ ff0000 } Î Ò Ê Ð Î É Ò Å Á Ë Î Ê Í Î Ò Â WINDOWS È Â Ñ Ò À Â Ü Ò Å Ò Ó Ä À Ò Å Ê Ñ Ò CTRL + V
{ ff0000 } Ï Î Ñ Ë Å Â Í Å Ñ Å Í È ß È Ç Ì Å Í Å Í È É Ñ Ê Î Ï È Ð Ó É Ò Å Ê Î Ä Ñ Ò À Ò È Ñ Ò È Ê È
@ -2225,7 +2240,7 @@ function loadEvents()
if delay.paycheck == 2 then
delay.paycheck = 0
return false
end
end
end
if string.find ( message , " .+<.+>: .+ " ) and inifiles ~= nil then
if string.find ( message , my_nick ) then
@ -2242,7 +2257,7 @@ function loadEvents()
return false
end
end
if pair_mode and inifiles.Settings . LightingPara and string.find ( message , pair_mode_name ) then
paraColor = " { " .. inifiles.Settings . ColorPara .. " } "
color = " 0xFF " .. inifiles.Settings . ColorPara
@ -2289,7 +2304,7 @@ function loadEvents()
return false
end
end
if result then
if result then
sampAddChatMessage ( message , 0xFF30A0A7 )
return false
end
@ -2495,11 +2510,11 @@ function loadEvents()
write_table_log ( ' razgruzka ' , { Z1 , Z2 , ( Z1 - Z2 ) } , 2 )
else
if tonumber ( inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] . zp ) ~= inifiles.Trucker . MaxZP then
local param4 = ( ( tonumber ( inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] . zp ) + Z2 ) -
local param4 = ( ( tonumber ( inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] . zp ) + Z2 ) -
inifiles.Trucker . MaxZP - Z2 )
local param5 = string.match ( param4 , " -(.*) " )
write_table_log ( ' razgruzka ' , { param5 , param5 , 0 } , 2 )
end
end
end
delay.unload = 0
if script_run then
@ -2690,7 +2705,7 @@ function loadEvents()
lua_thread.create (
function ( id , color , position , distance , testLOS , attachedPlayerId , attachedVehicleId , textt )
for k , v in pairs ( find_3dText ) do
if string.find ( text , v ) then
if ( msk_timestamp - id_3D_text ) > 1 then
wait_auto = msk_timestamp
@ -2796,7 +2811,7 @@ function loadEvents()
say ( " Óäàëåíî " .. key [ i ] )
end
end
end
end , Cid )
end
end
@ -2846,7 +2861,7 @@ function write_table_log(key, param, Log)
end
if key == ' razgruzka ' then
if inifiles.Trucker . MaxZP > tonumber ( inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] . zp ) then
if inifiles.Trucker . MaxZP > tonumber ( inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] . zp ) then
if inifiles.Settings . HourLoad ~= os.date ( " %H " , msk_timestamp ) or inifiles.Settings . DataLoad ~= os.date ( " %d.%m.%Y " , msk_timestamp ) then
inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] [ ' zp ' ] = inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . hour [ os.date ( " %H " , msk_timestamp ) ] [ ' zp ' ] + tonumber ( param [ 2 ] )
inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . day [ ' zp ' ] = inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] . day [ ' zp ' ] + tonumber ( param [ 2 ] )
@ -2891,8 +2906,8 @@ function logAvailable()
settings_save ( )
end
if inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] == nil then
inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] = {
event = { } ,
inifiles.log [ os.date ( " %d.%m.%Y " , msk_timestamp ) ] = {
event = { } ,
hour = { } ,
day = {
arenda = 0 ,
@ -2986,7 +3001,7 @@ function check_version(update, downgrade_ver)
end
if status1 == dlstatus.STATUSEX_ENDDOWNLOAD then
if goupdatestatus == nil then
sampAddChatMessage ( ' Îáíîâëåíèå ïðîøëî íåóäà÷íî. Çàïóñêàþ óñòàðåâøóþ âåðñèþ. ' , 0xFF2f72f7 )
sampAddChatMessage ( ' Îáíîâëåíèå ïðîøëî íåóäà÷íî. Çàïóñêàþ óñòàðåâøóþ âåðñèþ. ' , 0xFF2f72f7 )
end
end
end
@ -3004,9 +3019,9 @@ function check_version(update, downgrade_ver)
if f then
local data = f : read ( " *a " )
if data == " TRUCKHUD " then
sampAddChatMessage ( ' Òàêîé âåðñèè íåò â áàçå. ' , 0xFF2f72f7 )
sampAddChatMessage ( ' Òàêîé âåðñèè íåò â áàçå. ' , 0xFF2f72f7 )
else
sampAddChatMessage ( ' Çàãðóçêà çàâåðøåíà! ' , 0xFF2f72f7 )
sampAddChatMessage ( ' Çàãðóçêà çàâåðøåíà! ' , 0xFF2f72f7 )
local file , error = io.open ( thisScript ( ) . path , " w " )
if file ~= nil then
file : write ( data )
@ -3303,7 +3318,7 @@ function transponder()
sampRegisterChatCommand ( " send " , function ( param )
if param : find ( " (.+_.+) (%d+) (.+) (.+) " ) then
local name , id , action , cargo = param : match ( " (.+_.+) (%d+) (.+) (.+) " )
-- /send name id action cargo
-- /send name id action cargo
solo_message_send = {
name = name ,
id = tonumber ( id ) ,
@ -3328,7 +3343,7 @@ function transponder()
local x , y , z = getCharCoordinates ( playerPed )
local result , myid = sampGetPlayerIdByCharHandle ( PLAYER_PED )
local myname = sampGetPlayerNickname ( myid )
if os.time ( ) - solo_message_send.time > 5 then -- Î÷èñòèòü åñëè äàííûå óñòàðåëè
clearSoloMessage ( )
end
@ -3337,7 +3352,7 @@ function transponder()
server = ip .. " : " .. tostring ( port ) ,
sender = myname ,
pos = { x = x , y = y , z = z , heading = getCharHeading ( playerPed ) } ,
data = {
data = {
pair_mode_name = pair_mode_name ,
is_truck = isTruckCar ( ) ,
gruz = current_load ,
@ -3437,12 +3452,12 @@ function transponder()
minKD = monKD
tmonitor = v.tmonitor
end
end
end
end
end
end
if minKD ~= 1000000 then
if mon_ctime < tmonitor.time then
if mon_ctime < tmonitor.time then
mon_time = tmonitor.time
for k , v in pairs ( prices_mon ) do
if tmonitor [ k ] ~= nil then
@ -3458,7 +3473,7 @@ function transponder()
pair_timestamp = info.data . timestamp
base [ pair_mode_name ] . pos = { x = info.data . x , y = info.data . y , z = info.data . z }
base [ pair_mode_name ] . heading = info.data . heading
pair_table = base [ pair_mode_name ]
pair_table = base [ pair_mode_name ]
pair_status = 200
if para_message_send == nil then
para_message_send = 1
@ -3475,7 +3490,7 @@ function transponder()
error_message ( ' 2 ' , ' ' )
pair_status = info.reason
error_message ( ' 1 ' , pair_mode_name .. " [ " .. pair_mode_id .. " ] íå íàéäåí â áàçå èãðîêîâ TruckHUD " )
elseif info.reason == 425 then
elseif info.reason == 425 then
error_message ( ' 2 ' , ' Ñëèøêîì ÷àñòûå çàïðîñû íà õîñòèíã. Ðàçáåðèòåñü ñ ýòèì èëè îáðàòèòåñü çà ïîìîùüþ â ãðóïïó vk.com/rubin.mods ' )
end
end
@ -3618,15 +3633,15 @@ function fastmap()
wait ( 0 )
if inifiles.Settings . transponder and inifiles.Settings . fastmap then
if sampIsDialogActive ( ) then
dialogActiveClock = os.time ( )
dialogActiveClock = os.time ( )
end
if pair_mode and
pair_status == 200 and
not sampIsDialogActive ( ) and
( os.time ( ) - dialogActiveClock ) > 1 and
not sampIsDialogActive ( ) and
( os.time ( ) - dialogActiveClock ) > 1 and
not sampIsScoreboardOpen ( ) and
not isSampfuncsConsoleActive ( ) and
not isSampfuncsConsoleActive ( ) and
( ( isKeyDown ( vkeys [ inifiles.Settings . Key3 ] ) and isKeyDown ( vkeys [ inifiles.Settings . Key2 ] ) or ( isTruckCar ( ) and isKeyDown ( vkeys [ inifiles.Settings . Key3 ] ) ) ) )
then
fastmapshow = true
@ -3663,7 +3678,7 @@ function getY(y)
y = math.floor ( y * - 1 + 3000 )
return bY + y * ( size / 6000 ) - iconsize / 2
end
function onScriptTerminate ( LuaScript , quitGame )
if LuaScript == thisScript ( ) then
stop_downloading_1 = true
@ -3752,7 +3767,7 @@ function showTruckers()
local afk = math.ceil ( msk_timestamp - v.timestamp )
dialogText = string.format ( ' %s%s[%s] %s \t %s / %s \t %s \t %s \n ' , dialogText , k , v.id , ( afk > 10 and ' [AFK: ' .. afk .. ' ] ' or ' ' ) , v.skill , v.rank , ( ( v.is_truck and ' Äà ' or ' Íåò ' ) .. ( v.gruz == 0 and ' / Íåò ' or ( v.gruz == 1 and ' / Íåôòü ' or ( v.gruz == 2 and ' / Óãîëü ' or ( v.gruz == 3 and ' / Äåðåâî ' or ' / Íåò ' ) ) ) ) ) , ( v.pair_mode_name == ' ____ ' and ' Íåò ' or v.pair_mode_name .. ' [ ' .. v.paraid .. ' ] ' ) )
end
end
end
end
sampShowDialog ( 0 , ' Äàëüíîáîéùèêè ñî ñêðèïòîì â ñåòè: ' .. trucker_count , ( # dialogText == 0 and ' Ñïèñîê ïóñò ' or dialogText ) , ' Âûáðàòü ' , ' Çàêðûòü ' , 5 )
end
@ -3773,18 +3788,18 @@ function renderTruckers()
local car = storeCarCharIsInNoSave ( ped )
local result , idcar = sampGetVehicleIdByCarHandle ( car )
if _3dTextplayers [ id ] == nil and result then
_3dTextplayers [ id ] = sampCreate3dText ( ' ' , - 1 , 0.0 , 0.0 , 0.0 , 30.0 , false , - 1 , idcar )
_3dTextplayers [ id ] = sampCreate3dText ( ' ' , - 1 , 0.0 , 0.0 , 0.0 , 30.0 , false , - 1 , idcar )
end
if _3dTextplayers [ id ] ~= nil and result then
local timer_player = 180 - ( base [ nickname ] . timer > 1000 and os.difftime ( msk_timestamp , base [ nickname ] . timer ) or 181 )
local color = ( timer_player <= 0 and inifiles.Render . Color2 or ( timer_player <= 10 and ' b50000 ' or inifiles.Render . Color2 ) )
local kd_player = ( timer_player > 0
and
string.format ( ' {%s}<< {%s}%d:%02d {%s}>> ' , inifiles.Render . Color1 , color , math.floor ( timer_player / 60 ) , timer_player % 60 , inifiles.Render . Color1 )
or
local kd_player = ( timer_player > 0
and
string.format ( ' {%s}<< {%s}%d:%02d {%s}>> ' , inifiles.Render . Color1 , color , math.floor ( timer_player / 60 ) , timer_player % 60 , inifiles.Render . Color1 )
or
string.format ( ' {%s}<< {%s}0:00 {%s}>> ' , inifiles.Render . Color1 , inifiles.Render . Color2 , inifiles.Render . Color1 )
)
local gruz_player = string.format ( ' {%s}%s ' , inifiles.Render . Color2 ,
local gruz_player = string.format ( ' {%s}%s ' , inifiles.Render . Color2 ,
( base [ nickname ] . gruz == 0 and ' Íåò ãðóçà ' or ( base [ nickname ] . gruz == 1 and ' Íåôòü ' or ( base [ nickname ] . gruz == 2 and ' Óãîëü ' or ( base [ nickname ] . gruz == 3 and ' Äåðåâî ' or ' Íåò ' ) ) ) )
)
local para_player = string.format ( ' {%s}%s ' , inifiles.Render . Color2 ,
@ -3839,7 +3854,7 @@ end
--->>>
--->>>
function loadPtt ( )
pttCreate = false
@ -3949,7 +3964,7 @@ function pttStart()
local pttPos = ( dist_portLS < dist_portSF and 1 or 2 )
local randPos = math.random ( 1 , # pttCoord [ pttPos ] )
pttX , pttY , pttZ , pttHeading = pttCoord [ pttPos ] [ randPos ] [ 1 ] , pttCoord [ pttPos ] [ randPos ] [ 2 ] , pttCoord [ pttPos ] [ randPos ] [ 3 ] , pttCoord [ pttPos ] [ randPos ] [ 4 ]
createActor ( 999 , pttArr [ pttStatus ] . skins [ math.random ( 1 , # pttArr [ pttStatus ] . skins ) ] , pttX , pttY , pttZ + 0.5 , pttHeading , 100.0 )
animActor ( 999 , " STRIP " , pttAnim [ math.random ( 1 , # pttAnim ) ] , 4.1 , 0 , 0 , 0 , 0 , 0 )
pttName = pttArr [ pttStatus ] . names [ math.random ( 1 , # pttArr [ pttStatus ] . names ) ]
@ -4043,12 +4058,12 @@ end
function animActor ( actorId , animLib , animName , frameDelta , loop , lockX , lockY , freeze , time )
clearAnimActor ( actorId )
local bs = raknetNewBitStream ( )
raknetBitStreamWriteInt16 ( bs , actorId )
raknetBitStreamWriteInt16 ( bs , actorId )
raknetBitStreamWriteInt8 ( bs , # animLib )
raknetBitStreamWriteString ( bs , animLib )
raknetBitStreamWriteInt8 ( bs , # animName )
raknetBitStreamWriteString ( bs , animName )
raknetBitStreamWriteFloat ( bs , frameDelta )
raknetBitStreamWriteFloat ( bs , frameDelta )
raknetBitStreamWriteBool ( bs , loop )
raknetBitStreamWriteBool ( bs , lockX )
raknetBitStreamWriteBool ( bs , lockY )
@ -4068,8 +4083,8 @@ end
function setActorPos ( actorId , x , y , z )
local bs = raknetNewBitStream ( )
raknetBitStreamWriteInt16 ( bs , actorId )
raknetBitStreamWriteFloat ( bs , x )
raknetBitStreamWriteFloat ( bs , y )
raknetBitStreamWriteFloat ( bs , x )
raknetBitStreamWriteFloat ( bs , y )
raknetBitStreamWriteFloat ( bs , z )
raknetEmulRpcReceiveBitStream ( 176 , bs )
raknetDeleteBitStream ( bs )
@ -4208,7 +4223,7 @@ function luChecker.checkerLoad(playerId, data, position) --
local local_x , local_y , local_z = getCharCoordinates ( PLAYER_PED )
local dist_localPlayer_storage = getDistanceBetweenCoords3d ( local_x , local_y , local_z , x , y , z )
local dist_trucker_storage = getDistanceBetweenCoords3d ( trucker_x , trucker_y , trucker_z , x , y , z )
if dist_localPlayer_storage <= 120.0 and dist_trucker_storage <= 50.0 then
if key == " ls " or key == " sf " then
if inifiles.Settings . luCheckerCargo >= 1 and inifiles.Settings . luCheckerCargo <= 3 then
@ -4281,7 +4296,7 @@ function luChecker.checker()
say ( " >> " .. text )
end
end
table.remove ( luChecker.trailer_delete , 1 )
table.remove ( luChecker.price_set , 1 )
end