Advertisement
JachyHm

Adhese

Aug 5th, 2019
139
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Lua 5.18 KB | None | 0 0
  1. typSrazek = SysCall("WeatherController:GetCurrentPrecipitationType")
  2. intenzitaSrazek = SysCall("WeatherController:GetPrecipitationDensity")
  3. if typSrazek ~= nil then
  4.     if typSrazek < 3 then --nesnezi
  5.         if intenzitaSrazek > 0.3 then --prsi hodne
  6.             if adhese_casdeste == -1 then
  7.                 adhese_casdeste = 0
  8.             end
  9.             if adhese_casdeste <= 370 then
  10.                 adhese_casdeste = adhese_casdeste + cas
  11.             end
  12.             adhese_caspodesti = -1
  13.         elseif intenzitaSrazek ~= 0 then --prsi trochenc
  14.             if adhese_casdeste == -1 then
  15.                 adhese_casdeste = ADHESE_VLHKO_CAS_NABEH
  16.             end
  17.             adhese_caspodesti = -1
  18.         else --neprsi vubec
  19.             if typSrazek > 0 then
  20.                 if adhese_casdeste == -1 then
  21.                     adhese_casdeste = ADHESE_VLHKO_CAS_NABEH
  22.                 end
  23.                 adhese_caspodesti = -1
  24.             else
  25.                 if adhese_casdeste ~= -1 then
  26.                     adhese_caspodesti = adhese_casdeste*10
  27.                     adhese_casdeste = -1
  28.                 end
  29.                 if adhese_caspodesti > 0 then
  30.                     adhese_caspodesti = adhese_caspodesti - cas
  31.                 else
  32.                     adhese_caspodesti = -1
  33.                 end
  34.             end
  35.         end
  36.         --defaultne adhese za sucha
  37.         ambientAdhesion = ADHESE_SUCHO
  38.         if adhese_casdeste ~= -1 then --pokud prsi
  39.             if adhese_casdeste < ADHESE_VLHKO_CAS_NABEH then --a prsi mene jak ADHESE_VLHKO_CAS_NABEH (70 vterin) - adhese se znizuje az na ADHESE_VLHKO_START (0.5)
  40.                 ambientAdhesion = ADHESE_SUCHO - (ADHESE_SUCHO-ADHESE_VLHKO_START)*(adhese_casdeste/ADHESE_VLHKO_CAS_NABEH)
  41.             elseif adhese_casdeste < ADHESE_VLHKO_CAS_SNIZENI then --nebo prsi mene jak ADHESE_VLHKO_CAS_SNIZENI (370 vterin) - adhese se zvysuje na ADHESE_VLHKO (0.7)
  42.                 ambientAdhesion = ADHESE_VLHKO_START - (ADHESE_VLHKO_START-ADHESE_VLHKO)*(adhese_casdeste/(ADHESE_VLHKO_CAS_NABEH+ADHESE_VLHKO_CAS_SNIZENI))
  43.             else --jinak uz je adhese stala ADHESE_VLHKO (0.7)
  44.                 ambientAdhesion = ADHESE_VLHKO
  45.             end
  46.         elseif adhese_caspodesti ~= -1 then --pokud prselo pred mene jak 10 minutami, adhese se zvysuje od aktualni k ADHESE_SUCHO (0.9)
  47.             if sourceAdhesion == -1 then
  48.                 sourceAdhesion = ambientAdhesion
  49.             end
  50.             ambientAdhesion = sourceAdhesion - (sourceAdhesion-ADHESE_SUCHO)*(adhese_caspodesti/ADHESE_VLHKO_PODESTI)
  51.         end
  52.     else --snezi, tak nejsou casy deste
  53.         adhese_casdeste = -1
  54.         adhese_caspodesti = -1
  55.         ambientAdhesion = ADHESE_SNIH
  56.     end
  57. else --nedeje se nic
  58.     adhese_caspodesti = -1
  59.     ambientAdhesion = ADHESE_SUCHO
  60. end
  61.  
  62. if adhese_caspodesti == -1 then --pokud uz neprsi vice jak 10*casDeste vynuluj vychozi pocitadla - koleje uz jsou urcite suche
  63.     sourceAdhesion = -1
  64. end
  65.  
  66. if SysCall("ScenarioManager:GetSeason") == 3 then --pokud je zima, je snih - sankuje to 2x tolik jak obvykle
  67.     ambientAdhesion = ADHESE_SNIH
  68. end
  69.  
  70. if plynuleValce > 0.1 and rychlostKolaKMHPodvozek1 > 5 then
  71.     if brakeAdhesionAdditionPodvozek1 < 0.15 then
  72.         brakeAdhesionAdditionPodvozek1 = brakeAdhesionAdditionPodvozek1 + 0.25*cas
  73.     else
  74.         brakeAdhesionAdditionPodvozek1 = 0.15
  75.     end
  76. else
  77.     if brakeAdhesionAdditionPodvozek1 > 0 then
  78.         brakeAdhesionAdditionPodvozek1 = (brakeAdhesionAdditionPodvozek1 - 0.00333*cas)
  79.     else
  80.         brakeAdhesionAdditionPodvozek1 = 0
  81.     end
  82. end
  83.  
  84. if plynuleValce_bezBP > 0.1 and rychlostKolaKMHPodvozek2 > 5 then
  85.     if brakeAdhesionAdditionPodvozek2 < 0.15 then
  86.         brakeAdhesionAdditionPodvozek2 = brakeAdhesionAdditionPodvozek2 + 0.25*cas
  87.     else
  88.         brakeAdhesionAdditionPodvozek2 = 0.15
  89.     end
  90. else
  91.     if brakeAdhesionAdditionPodvozek2 > 0 then
  92.         brakeAdhesionAdditionPodvozek2 = (brakeAdhesionAdditionPodvozek2 - 0.00333*cas)
  93.     else
  94.         brakeAdhesionAdditionPodvozek2 = 0
  95.     end
  96. end
  97.  
  98. decisiveAdhesionPodvozek1 = ambientAdhesion + brakeAdhesionAdditionPodvozek1
  99. decisiveAdhesionPodvozek2 = ambientAdhesion + brakeAdhesionAdditionPodvozek2
  100.  
  101. if adheseRandomCtdnPodvozek1 > 0 then
  102.     if math.abs(Call("GetSpeed")) > 0.1 and math.abs(Call("GetSpeed")) < 15 and intenzitaSrazek ~= 0 then
  103.         adheseRandomCtdnPodvozek1 = adheseRandomCtdnPodvozek1 - cas
  104.     end
  105.     adheseRandomLenCtuPodvozek1 = 0
  106. elseif adheseRandomLenCtuPodvozek1 < 1 then
  107.     decisiveAdhesionPodvozek1 = decisiveAdhesionPodvozek1 * 0.7
  108.     adheseRandomLenCtuPodvozek1 = adheseRandomLenCtuPodvozek1 + cas
  109. else
  110.     adheseRandomCtdnPodvozek1 = math.random(40,200)
  111. end
  112.  
  113. if adheseRandomCtdnPodvozek2 > 0 then
  114.     if math.abs(Call("GetSpeed")) > 0.1 and math.abs(Call("GetSpeed")) < 15 and intenzitaSrazek ~= 0 then
  115.         adheseRandomCtdnPodvozek2 = adheseRandomCtdnPodvozek2 - cas
  116.     end
  117.     adheseRandomLenCtuPodvozek2 = 0
  118. elseif adheseRandomLenCtuPodvozek2 < 1 then
  119.     decisiveAdhesionPodvozek2 = decisiveAdhesionPodvozek2 * 0.7
  120.     adheseRandomLenCtuPodvozek2 = adheseRandomLenCtuPodvozek2 + cas
  121. else
  122.     adheseRandomCtdnPodvozek2 = math.random(40,200)
  123. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement