You are not logged in.
В этом спидометре такой проблемы нет
ну что ж я буду чужим пользоваться, когда свой есть? ладно, забей. может сам найду
Offline
какая может быть ошибка в этом скрипте?
create_thread @TURRETCOP :TURRETCOP wait 100 model.Load(#TEC9) model.Load(#SFPD1) 038B: load_requested_models :TURRETCOP2 wait 300 if and model.Available(#TEC9) model.Available(#SFPD1) Player.WantedLevel($PLAYER_CHAR) > 1 jf @TURRETCOP2 03C0: 3@ = actor $PLAYER_ACTOR car :TURRETCOP3 var //$x1 :float // ?? ??????????? //$x2 :float // ?.?. ??? ?? ???????????? //$y1 :float // ? ?????????????? //$y2 :float // ?????????? //$z1_no :float //$z2_no :float $step: integer = 1 $copcar: array 100 of car end :TURRETMODE while true wait 2000 04C4: create_coordinate $x1 $y1 $z1_no from_actor $PLAYER_ACTOR offset 500.0 500.0 0.0 04C4: create_coordinate $x2 $y2 $z1_no from_actor $PLAYER_ACTOR offset -500.0 -500.0 0.0 1@ = -1 053E: 1@ = get_random_car_with_actors -1 in_area $x1 $y1 $x2 $y2 if 1@ <> -1 then if Car.Id(1@) == #COPBIKE then :TURRETMODE2 wait 1000 01C8: 2@ = create_actor_pedtype 6 model #SFPD1 in_car 1@ passenger_seat 0 01B2: give_actor 2@ weapon 32 ammo 99999 Actor.WeaponAccuracy(2@) = 90 0713: actor 2@ drive_by actor $PLAYER_ACTOR car 3@ point 0.0 0.0 0.0 radius 200.0 8 1 firing_rate 60 return :TURRETMODEREFERENCE wait 100 Actor.RemoveReferences(2@) end end jump @TURRETCOP
Offline
какая может быть ошибка в этом скрипте?
А что, это типа работало O_o ??? У тебя один ляп за другим.
Вот примерно так надо.
:start while true if 010F: player $PLAYER_CHAR wanted_level > 1 then model.Load(#TEC9) model.Load(#SFPD1) 038B: load_requested_models :cont if and Model.Available(#TEC9) Model.Available(#SFPD1) then :create_and_set 04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 200.0 200.0 0.0 04C4: create_coordinate 4@ 5@ 3@ from_actor $PLAYER_ACTOR offset -200.0 -200.0 0.0 053E: 6@ = get_random_car_with_actors -1 in_area 1@ 2@ 4@ 5@ if Car.Id(6@) == #COPBIKE then 01C8: 7@ = create_actor_pedtype 6 model #SFPD1 in_car 6@ passenger_seat 0 01B2: give_actor 7@ weapon 32 ammo 99999 Actor.WeaponAccuracy(7@) = 90 gosub @plahavecar 0713: actor 7@ drive_by actor $PLAYER_ACTOR car 8@ point 0.0 0.0 0.0 radius 200.0 8 1 firing_rate 60 // дальше надо либо искать другую машину и проверять, что бы она не была равна 6@, // либо продолжать код дальше. в противном случае его надо завершить. 004E: end_thread end goto @create_and_set end goto @cont end end :plahavecar if Actor.Driving($PLAYER_ACTOR) then 0811: 8@ = actor $PLAYER_ACTOR car // versionC return else 8@ = -1 return end
Offline
:plahavecar
if
Actor.Driving($PLAYER_ACTOR)
then
0811: 8@ = actor $PLAYER_ACTOR car // versionC
return
else
8@ = -1
return
end
эту часть надо заменить на
:plahavecar if Actor.Driving($PLAYER_ACTOR) then 03C0: 8@ = actor $PLAYER_ACTOR car else 8@ = -1 end return
Используйте только 03С0 для получения хэндла машины.
Модели нужно загружать непосредственно перед созданием оружия
Для поиска машины подошел бы Interceptor.
Offline
Используйте только 03С0 для получения хэндла машины.
вопрос - почему? в чем отличие? вроде еще есть какой-то третий опкод на получение хендла(если есть, то чем он отличается?)?
Offline
вопрос - почему? в чем отличие? вроде еще есть какой-то третий опкод на получение хендла(если есть, то чем он отличается?)?
00D9, 0A33, 0811. Все, кроме 03С0, ставят получение хэндла в зависимость от различных условий (текущий таск (Task) актера, его флаги и т.д.). 03С0 гарантированно возвращает хендл машины.
Offline
хмм, спасибо.. и зачем, интересно, они тогда нужны, эти опкоды, которые не гарантируют получение хэндла? веть наверняка не просто так...
Offline
FlashTrash,
А что если не морочиться и записать пасссажира-копа в хэндл?
0432: $Act = get actor handle from car $Car passenger 0
и заставить его палить по актеру?
Я пробовал но он не хочет.
ну прально не хочет, он же не пасажир.
046C: 125@ = car 42@ driver
Offline
Кхм, кхм.
Вскрывать чужие технологии я не намерен.
Опкод создания нашел, но хорошо бы узнать типы роадблоков.
04C0: create_roadblock_in_area_cornerA 2336.63 -1548.68 23.99 cornerB 2347.01 -1548.37 23.68 type 1
Координаты это как и police_trigger видимо противоположные углы прямоугольника?
Last edited by Agenzvell (01-12-2007 04:17)
Offline
Координаты это как и police_trigger видимо противоположные углы прямоугольника?
да.
хорошо бы узнать типы роадблоков.
их там всего два. 0 - это каркас машины, 1 - это барьер с двумя ментами по бокам, если мне не изменяет память.
Offline
2Agenzvell:
Перед применением
04C0: create_roadblock_in_area_cornerA 2336.63 -1548.68 23.99 cornerB 2347.01 -1548.37 23.68 type 1
IMHO, нужно отключать движение по прилегающим путям, типа:
01E8: create_forbidden_for_cars_cube 2336.63 -1548.68 23.99 2347.01 -1548.37 23.68
Ну и наверное, после всего - всё назад восстанавливать:
04C1: remove_references_to_roadblocks 01E7: remove_forbidden_for_cars_cube 2336.63 -1548.68 1.0 2347.01 -1548.37 5.0
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
2Agenzvell. это шутка, да? заменить транспорт на здание...
Offline
У меня несколько вопросов:
1) Как отключить прыжок у игрока?
2) Как отключить спринт у игрока?
3) Когда игрок падает, или там например когда в него стреляют, воспроизводятся звуки (ор, визги например , как выключить эти звуки чтобы он вообще молчал? вроде бы есть такой опкод, но я не нашел.
Offline
1. 2. Можно отключить соответствующие кнопки.
3. Зашито в ехе.
Offline
ок, только как их отключить?
Offline
2Sub:
1) Как отключить прыжок у игрока?
0901: set_player $PLAYER_CHAR jump_disabled 1
2) Как отключить спринт у игрока?
06AF: set_player $PLAYER_CHAR sprint 1 ;; 0 (enabled)/ 1 (disabled)
3) Когда игрок падает, или там например когда в него стреляют, воспроизводятся звуки (ор, визги например , как выключить эти звуки чтобы он вообще молчал? вроде бы есть такой опкод, но я не нашел.
Возможно (не уверен):
0A09: set_actor $PLAYER_ACTOR muted 1
Сначала ты надежда и гордость,
Потом о спину ломают аршин. (c)БГ
Offline
Еще есть опкод отключающий любую клавишу:
07CC: set_player $PLAYER_CHAR button_15 0
Offline