#1 09-01-2021 13:49

Remca12
Registered: 30-06-2019
Posts: 32

Всё что связано с гаражом и поиском

Я пишу скрипт цель которого закрывать гараж перекраски если игрок имеет розыск и имеет на хвосте копов. Это значит что гараж должен будет оставаться открытым если игрок имеет звезды розыска, но рядом нет копов. Пока что я видимо не понимаю какой-то принцип у гаражей и поэтому выходят стандартные надписи после сброса розыска. Текущий код в main.scm-е:

:ROGA
thread 'ROGA'
wait 0 
00D6: if
0256: player 0 defined 
jf @ROGA

while true
wait 0
    if
    010F:   player $PLAYER_CHAR wanted_level > 0
    then
    0361: close_garage $SPRAYSHOP1
    0361: close_garage $72
    0361: close_garage $93 
    else
    0360: open_garage $SPRAYSHOP1 //Эти переменные стандартные, т.е. эта переменная у гаража покраски Портленда
    0360: open_garage $72 //Стаунтона
    0360: open_garage $93 //и Шорсайд-велла
    end
end

:ROGA2
0054: store_player $PLAYER_CHAR position_to 0@ 5@ 6@
repeat
wait 0
if
0AE1: 7@ = random_actor_near_point 0@ 5@ 6@ in_radius 35.0 find_next 0 pass_deads 1
jf @ROGA

until 8AE1: 7@ = random_actor_near_point 0@ 5@ 6@ in_radius 35.0 find_next 1 pass_deads 1 

end_thread

Пока что главная проблема в том что выходят стандартные надписи после перекраски машин.

Last edited by Remca12 (09-01-2021 16:29)

Offline

#2 15-01-2021 14:39

Remca12
Registered: 30-06-2019
Posts: 32

Re: Всё что связано с гаражом и поиском

Скрипт переписан, в части цикла, но осталась проблема: после сброса розыска надпись выводится в независимости от того где машина. А как мне активировать гараж именно тогда когда машина в гараже покраски и сброшен розыск ?

while true
wait 0
    if
    0256:   player 0 defined
    then
        if
        010F:   player 0 wanted_level > 0
        then
        02FA: garage $SPRAYSHOP1 change_to_type 1
        02FA: garage $72 change_to_type 1
        02FA: garage $93 change_to_type 1
            repeat
            wait 0
            until 810F:   not player 0 wanted_level > 0
        02FA: garage $SPRAYSHOP1 change_to_type 5
        02FA: garage $72 change_to_type 5
        02FA: garage $93 change_to_type 5            
        end
    end
end

Offline

#3 16-01-2021 04:57

Seemann
Registered: 07-08-2006
Posts: 2,155

Re: Всё что связано с гаражом и поиском

Проверить то, что машина находится в гараже можно путем обычной проверки координат. Гаражей в гта3 всего 3, поэтому много кода это не потребует.

float portland_x1 = 0.0 // подставить правильные координаты гаража
float portland_y1 = 0.0
float portland_x2 = 0.0
float portland_x2 = 0.0

float staunton_x1 = 0.0
float staunton_y1 = 0.0
float staunton_x2 = 0.0
float staunton_x2 = 0.0

if
     810F:   player 0 wanted_level <= 0 
then
  if
    00B0:   car 0@ 0 portland_x1 portland_y1 portland_x2 portland_y2  
  then
     // машина в гараже портланда
  else
    if
      00B0:   car 0@ 0 staunton_x1 staunton_y1 staunton_x2 staunton_y2 
    then
       // машина в гараже стэнтон
    else
        // проверка на шорсайд
    end
  end
end

Offline

Board footer

Powered by FluxBB