#26 28-05-2007 09:58

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

Re: [SA|REL] Штраф за превышение скорости в городе

Capushon wrote:

2Seemann:
А если max_wanted_level в этот момент будет = 1, или 0 не будет ли проблем?

Тогда кол-во звезд будет равно максимальному (0 или 1). Что MinWantedLevel, что просто WantedLevel, они оба ограничиваются этим значением.

Offline

#27 04-06-2007 06:46

svetka
Registered: 29-12-2006
Posts: 222

Re: [SA|REL] Штраф за превышение скорости в городе

Вот код, на условиях которого звезды даются  за превышение скорости только в черте города. Вне города, соответственно, полный free way tongue

 :SHTRAF
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
else_jump @SHTRAF_184 
if 
   Actor.Driving($PLAYER_ACTOR)
else_jump @SHTRAF_184 
03C0: 0@ = actor $PLAYER_ACTOR car 
02E3: 1@ = car 0@ speed 
080E: (unknown) $PLAYER_ACTOR 2@ 
if and
  2@ == 72 // integer values 
  1@ > 30.0 // floating-point values 
else_jump @SHTRAF_184 
if 
04A3:   $CURRENT_TOWN_NUMBER == 1 // $ == any 
else_jump @SHTRAF_120 
Player.SetMinWantedLevel($PLAYER_CHAR, 2)

:SHTRAF_120
if 
04A3:   $CURRENT_TOWN_NUMBER == 2 // $ == any 
else_jump @SHTRAF_152 
Player.SetMinWantedLevel($PLAYER_CHAR, 2)

:SHTRAF_152
if 
04A3:   $CURRENT_TOWN_NUMBER == 3 // $ == any  
else_jump @SHTRAF_184 
Player.SetMinWantedLevel($PLAYER_CHAR, 2)

:SHTRAF_184
jump @SHTRAF

Offline

#28 04-06-2007 18:33

Tector
Registered: 01-05-2007
Posts: 34

Re: [SA|REL] Штраф за превышение скорости в городе

Я что то не понимаю, а зачем проверять отдельно все города если можно так:

:SHTRAF_LOOP
if or
  $CURRENT_TOWN_NUMBER == 1
  $CURRENT_TOWN_NUMBER == 2
  $CURRENT_TOWN_NUMBER == 3
jf @SHTAF_LOOP

Last edited by Tector (04-06-2007 18:33)

Offline

#29 06-08-2007 07:29

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

Re: [SA|REL] Штраф за превышение скорости в городе

Offline

#30 19-12-2007 01:04

jayrocc
From: MSK
Registered: 09-06-2007
Posts: 50

Re: [SA|REL] Штраф за превышение скорости в городе

я бы еще не поленился добавить

2@ == 72 // COPS SEEN YOU
then  
if and
          Actor.Driving($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A9: not actor $PLAYER_ACTOR driving_helicopter
      not Actor.DrivingPoliceVehicle($PLAYER_ACTOR)
      not Actor.DrivingPlane($PLAYER_ACTOR)
then
03C0: 0@ = actor $PLAYER_ACTOR car

чтобы полиция не пыталась ловить вас, когда вы пролетаете мимо, или едете на коповской тачке. Кстати, 84C8 включает в себя 84A9 и Actor.DrivingPlane?

Last edited by jayrocc (19-12-2007 01:05)

Offline

#31 19-12-2007 16:43

Alexander
Registered: 19-08-2006
Posts: 184
Website

Re: [SA|REL] Штраф за превышение скорости в городе

да , включает

Offline

#32 19-12-2007 20:20

jayrocc
From: MSK
Registered: 09-06-2007
Posts: 50

Re: [SA|REL] Штраф за превышение скорости в городе

тогда так.

2@ == 72 // COPS SEEN YOU
then  
if and
          Actor.Driving($PLAYER_ACTOR)
          not Actor.DrivingPoliceVehicle($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
84A7: not actor $PLAYER_ACTOR driving_boat
then
03C0: 0@ = actor $PLAYER_ACTOR car

Offline

#33 12-01-2008 18:54

RAZ
Registered: 12-01-2008
Posts: 4

Re: [SA|REL] Штраф за превышение скорости в городе

Извините за глупый нубский вопрос, но скажите плиз куда код скрипта вписывать? И как? Если что, то можете написать мне в ЛС. Поподробней плиз..
Надо чтобы скрипт был в Cleo (у меня версия 3), и чтобы не надо было начинать сначала игру.
Заранее большое спасибо wink

Last edited by RAZ (12-01-2008 18:54)

Offline

#34 12-01-2008 20:15

Sanchez
Registered: 18-08-2006
Posts: 280

Re: [SA|REL] Штраф за превышение скорости в городе

Offline

#35 12-01-2008 20:24

RAZ
Registered: 12-01-2008
Posts: 4

Re: [SA|REL] Штраф за превышение скорости в городе

2Sanchez:
спасибо!

Но всё равно хотелось бы узнать ответ на мой вопрос, на будущее, пригодится wink

Offline

#36 04-06-2008 03:19

AlphaOmega
Registered: 02-06-2008
Posts: 98

Re: [SA|REL] Штраф за превышение скорости в городе

народ, а можно ли сделать, чтобы при проверке так же учитывалось следующее:

если на полицейской БЕЗ мигалок - штраф
если на полицейской С мигалками - можно

И ещё одно - а как-нибудь можно прописать штраф за проезд на красный свет?

Last edited by AlphaOmega (04-06-2008 03:19)

Offline

#37 04-06-2008 15:35

Yarik
Registered: 22-02-2008
Posts: 173
Website

Re: [SA|REL] Штраф за превышение скорости в городе

У меня тоже вопрос по єтому. Работают какието опкоді со светофорами?

Offline

#38 04-06-2008 16:40

Capushon
Registered: 13-08-2006
Posts: 350
Website

Re: [SA|REL] Штраф за превышение скорости в городе

@AlphaOmega -

народ, а можно ли сделать, чтобы при проверке так же учитывалось следующее:
если на полицейской БЕЗ мигалок - штраф
если на полицейской С мигалками - можно

Проверок "включенности мигалки" нет, как и включенности фар.


Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ

Offline

#39 04-06-2008 17:02

AlphaOmega
Registered: 02-06-2008
Posts: 98

Re: [SA|REL] Штраф за превышение скорости в городе

Capushon wrote:

Проверок <...> нет, как и включенности фар.

Как нет? У меня же есть мод, который включает и выключает файры... и стробоскоп мигалки (фарами) тоже.... значит что-то есть...

/оффтоп/ а есть для sanny builder`а хэлп по командам его (всмысле перевод его синтаксиса со скобочками в обычный опкод?)

Offline

#40 04-06-2008 17:20

yelmi
Registered: 10-12-2006
Posts: 134
Website

Re: [SA|REL] Штраф за превышение скорости в городе

AlphaOmega wrote:

Как нет? У меня же есть мод, который включает и выключает файры... и стробоскоп мигалки (фарами) тоже.... значит что-то есть...

Опкодов, проверяющих включены ли фары или мигалка НЕТ.

Last edited by yelmi (04-06-2008 17:20)

Offline

#41 05-06-2008 07:40

svetka
Registered: 29-12-2006
Posts: 222

Re: [SA|REL] Штраф за превышение скорости в городе

Вот таким я вижу код штрафа за превышение скорости.
Если вас замечают копы - камера показывает того кто заметил, и включается таймер на 5 секунд. Если вы в течении 5-ти секунд не сбрасываете скорость до нормальной - получаете 3 звезды.
Еще можно после:
if
  $PLAYER_WANTED_LEVEL == 0
jf @NONAME_2

добавить:
00BF: $TIME_HOURS = current_time_hours, $TIME_MINS = current_time_minutes
if and
  $TIME_HOURS >= 6
  20 > $TIME_HOURS
jf @NONAME_2

А в остальное время можно беспрепятственно гонять )

Проблемы:
Копы почему-то не всегда реагируют на превышение скорости. С другой стороны это и хорошо. Не задергают.
Пожелание(с этим я сама не справлюсь точно):
Когда игроку дают 3 звезды - включается счетчик денег. Если арестовывают - набежавшая сумма вычитается. Если нет - деньги забирает игрок. Может поможете с этим? )

{$CLEO}
0000: 

:NONAME_2
wait 0 
if 
   Player.Defined($PLAYER_CHAR)
jf @NONAME_2 
if 
   Actor.Driving($PLAYER_ACTOR)
jf @NONAME_2 
03C0: 0@ = actor $PLAYER_ACTOR car 
20@ = Player.WantedLevel($PLAYER_CHAR)
0842: $CURRENT_TOWN_NUMBER = 19@
02E3: 11@ = car 0@ speed 
080E: get_actor $PLAYER_ACTOR ped_event_to 18@ 
if and
  18@ == 72 
  11@ >= 30.0 
jf @NONAME_2 
if 
  20@ == 0 
jf @NONAME_2 
if or
04A3:   19@ == 1 // $ == any 
04A3:   19@ == 2 // $ == any 
04A3:   19@ == 3 // $ == any 
jf @NONAME_2 
if and
          Actor.Driving($PLAYER_ACTOR)
84C8: not actor $PLAYER_ACTOR driving_flying_vehicle
      not Actor.DrivingPoliceVehicle($PLAYER_ACTOR)
jf @NONAME_2 
0407: store_coords_to 1@ 2@ 3@ from_car 0@ with_offset 100.0 100.0 0.0 
0407: store_coords_to 4@ 5@ 6@ from_car 0@ with_offset -100.0 -100.0 0.0 
0407: store_coords_to 7@ 8@ 9@ from_car 0@ with_offset 0.0 0.0 3.0 
053E: 10@ = get_random_car_#COPCARRU -1 in_rectangle_cornerA 1@ 2@ cornerB 4@ 5@ 
if 
   not 10@ == -1 
jf @NONAME_2  
053E: 10@ = get_random_car_#COPBIKE -1 in_rectangle_cornerA 1@ 2@ cornerB 4@ 5@ 
if 
   not 10@ == -1 
jf @NONAME_2  
053E: 10@ = get_random_car_#COPCARLA -1 in_rectangle_cornerA 1@ 2@ cornerB 4@ 5@ 
if 
   not 10@ == -1 
jf @NONAME_2  
053E: 10@ = get_random_car_#COPCARSF -1 in_rectangle_cornerA 1@ 2@ cornerB 4@ 5@ 
if 
   not 10@ == -1 
jf @NONAME_2 
053E: 10@ = get_random_car_#COPCARVG -1 in_rectangle_cornerA 1@ 2@ cornerB 4@ 5@ 
if 
   not 10@ == -1 
jf @NONAME_2 
if 
   not Car.Wrecked(10@)
jf @NONAME_875 
0407: store_coords_to 12@ 13@ 14@ from_car 10@ with_offset 0.0 0.0 0.0 
0407: store_coords_to 15@ 16@ 17@ from_car 10@ with_offset 5.0 10.0 0.0 
015D: set_gamespeed 0.03 
wait 20 
Camera.SetPosition(7@, 8@, 9@, 0.0, 0.0, 0.0)
0460: set_camera_transverse_delay 0.0 time 70 
Camera.PointAt(12@, 13@, 14@, 1)
wait 40 
0460: set_camera_transverse_delay 0.0 time 80 
Camera.SetPosition(15@, 16@, 17@, 0.0, 0.0, 0.0)
Camera.PointAt(12@, 13@, 14@, 1)
wait 105 
Camera.Restore_WithJumpCut
015D: set_gamespeed 1.0 
$56 = 5000 
03C3: set_timer_to $56 type 1 GXT 'BB_19' // global_variable  // BPEM•
wait 5000 
014F: stop_timer $56 
02E3: 11@ = car 0@ speed 
if 
  11@ >= 30.0 
jf @NONAME_2 
Player.WantedLevel($PLAYER_CHAR) = 3

:NONAME_875
wait 100 
Car.RemoveReferences(0@)
Car.RemoveReferences(10@)
jump @NONAME_2

Отредактировано.

Last edited by svetka (06-06-2008 06:10)

Offline

#42 05-06-2008 08:07

Yarik
Registered: 22-02-2008
Posts: 173
Website

Re: [SA|REL] Штраф за превышение скорости в городе

Если вас замечают копы - камера показывает того кто заметил

Гдето я такое уже видел. Но там некрасиво было изза того что камера часто проходила к копу через землю здания и т.д.

Пожелание

поставить таймер. по истечению к 10@ (сумма денег) будет додаваться допустим 10$, опять таймер ставим и так по кругу пока не удёт от полиции или не арестуют Тогда уже Плєер Моней =+ 10@ или Плєер Моней =- 10@
smile

Offline

#43 05-06-2008 08:19

svetka
Registered: 29-12-2006
Posts: 222

Re: [SA|REL] Штраф за превышение скорости в городе

Yarik, камера взята из мода "Night Crime", а идеи разделения  по городам и опкод 080E: - это от Seemanna )
Я попробую осуществить то, что ты предложил. Спасибо )

Offline

#44 05-06-2008 17:16

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

Re: [SA|REL] Штраф за превышение скорости в городе

@svetka -

скрипт будет работать корректно только на оригинальном майне. Т.к. используется переменная $CURRENT_TOWN_NUMBER, а ее, например, в стриппед нету. Лучше было использовать 0842 с локальной переменной.
большой список на проверку моделей я бы заменил опкодами 04A7..04AB, если, конечно, нет особой нужды проверять именно эти модели.
от переменной $PLAYER_WANTED_LEVEL нужно избавляться, ибо глобальная.
после получения random_car идет проверка моделей. Во-первых, random_car вернет первую попавшуюся машину, не обязательно это будет полиция (это к вопросу о не стабильной работе). Во-вторых, можно добавить проверку на модель в сам 053e (там где -1 стоит). Конечно, не лучший вариант, т.к. модель можно вставить только одну, поэтому придется 053e делать для каждой модели (get_random...#COPBIKE, get_random_#COPCARSF и т.д.).
переменную $asd нужно срочно убирать из скрипта, ибо глобальная. если уж так нужен таймер, можно использовать незанятые переменные типа $5, $56 и т.д. (см. CustomVariables.ini)

Offline

#45 05-06-2008 17:44

AlphaOmega
Registered: 02-06-2008
Posts: 98

Re: [SA|REL] Штраф за превышение скорости в городе

yelmi wrote:

Опкодов, проверяющих включены ли фары или мигалка НЕТ.

Только что интереса ради залез в код, который включает и выключает фары. Если я правильно понял, то он когда их первый раз включает, записывает булеан своей переменной... именно так он и знает когда лампы включать, а когда нет... но кто знает...

Offline

#46 06-06-2008 06:11

svetka
Registered: 29-12-2006
Posts: 222

Re: [SA|REL] Штраф за превышение скорости в городе

Отредактировала.

Offline

#47 06-06-2008 14:10

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

Re: [SA|REL] Штраф за превышение скорости в городе

Отредактировала.

Мне кажется скрипт не будет работать. Я ни вижу, 1) где 19@ получает свое значение, и 2) как скрипт может пройти все проверки get_random_car (не могу даже предположить, что рядом с игроком одновременно будет 4 вида полицейских машин).
Блок RemoveReferences тоже лишний, т.к., насколько я знаю, 053E не делает машину уникальной.

Offline

Board footer

Powered by FluxBB