#1 01-12-2007 07:51

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Полицейские из туррета авто стреляют по Bам из TEC9

Полицейские лениво хлебая кофе, вновь выслушивают по рации сообщения о проступках Сиджея. Им это сильно не нравится, и один из копов достает TEC9 из багажника, затем водитель направялется к месту преступления. Коп увидев Сиджи немножко замешкался, заряжая автомат, зарядив автомат, он высунулся из окна и начал стрельбу...

create_thread @CopTurret

:CopTurret
wait 100
model.Load(#TEC9)
038B: load_requested_models

:CopTurretCheck
wait 100
if
Player.WantedLevel($PLAYER_CHAR) > 1
jf @CopTurretCheck

:CopTurret3
while true 
wait 3000
if
model.Available(#TEC9)
jf @CopTurret
03C0: 20@ = actor $PLAYER_ACTOR car
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 60.0 60.0 0.0 
04C4: create_coordinate 4@ 5@ 6@ from_actor $PLAYER_ACTOR offset -60.0 -60.0 0.0 
10@ = -1 
053E: 10@ = get_random_car_with_actors -1 in_area 1@ 2@ 4@ 5@
if
  10@ <> -1
then 
if or
  Car.Id(10@) == #COPCARLA
  Car.Id(10@) == #COPCARRU
  Car.Id(10@) == #COPCARSF
  Car.Id(10@) == #COPCARVG
  Car.Id(10@) == #ENFORCER
then
if
8431: not car 10@ passenger_seat_free 0
then 

:CopTurretMain
wait 100
0432: 11@ = get_actor_handle_from_car 10@ passenger_seat 0 
if
not Car.Wrecked(10@)
then

:CopTurret4
wait 100
01B2: give_actor 11@ weapon 32 ammo 30000 // Load the weapon model before using this 
01B9: set_actor 11@ armed_weapon_to 0 
01B9: set_actor 11@ armed_weapon_to 32
Actor.SetCarWeapon(11@, 32, 200000)

:CopTurret5
wait 700
if 
   not Car.Wrecked(10@)
jf @CopTurret3 
if 
   not Actor.Dead(11@)
jf @CopTurret3
if 
   Actor.Driving(11@)
jf @CopTurret5 
0713: actor 11@ driveby_actor $PLAYER_ACTOR car 20@ point 0.0 0.0 0.0 radius 5000.0 8 1 firing_rate 90
end
end
end
end
end
Car.RemoveReferences(10@)
Actor.RemoveReferences(11@)
jump @CopTurretCheck

ФИНАЛЬНАЯ ВЕРСИЯ
Решена проблема с нехваткой виртуальной памяти.

Last edited by Agenzvell (07-01-2008 06:51)

Offline

#2 01-12-2007 09:56

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

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Этот скрипт и скрипт с мегафоном почти наполовину идентичны, почему бы просто не объединить их (экономия ресурсов игры)?

Несколько общих ошибок: перед любым опкодом в котором используется игрок ($PLAYER_CHAR) нужно делать проверку на player.defined. Если игра не вылетает при тестировании, это не значит, что она вообще не вылетает wink

Я уже писал где-то здесь, что не нужно загружать модель до того, как она понадобится. Ты загружаешь TEC9, потом переходишь на цикл "поиска" машины с интервалом в 6с и только потом создаешь актера с оружием, почему бы модель не загрузить перед 01B9? И не забыть выгрузить ее wink

ОФФТОП:
Кстати, по поводу выгрузки, интересно было бы проверить кое-что. Насколько я знаю, команда release_model (0249) не выгружает модель из памяти, как этого можно было бы ожидать (ну т.е полностью освобождает память от загруженных данных), а просто "метит" данную модель как ненужную. Соответственно, реальное высвобождение памяти может произойти гораздо позже, когда у игры закончатся свободные ресурсы, и она будет избавляться от мусора (т.е от использованных моделей, актеров с ремув_референс и т.п.). Интерес заключается в том, действительно ли это работает именно так, и что будет, если игре понадобится такая же модель, которая была помечена как ненужная. Произойдет выгрузка/загрузка, либо модель просто будет помечена как "нужная" и будет использована. Либо выгрузка/загрузка происходит всегда?
listener? wink

Offline

#3 01-12-2007 10:13

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Кстати, Seemann, нашёл ошибку в этом скрипте. Если не сложно, то поставь проверку на доступность актера-пассажира. Если актера нет, то игра вылетает с ошибкой. Я бы поставил сам, но опкод не нашел.
P.S: Насчет выгрузки моделей. Если выгружать сведения о копах (как я заметил) игра вылетает. Причем настоящих копов с педтипом 6.

Offline

#4 01-12-2007 12:04

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

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Agenzvell wrote:

Если не сложно, то поставь проверку на доступность актера-пассажира.

01E9: 11@ = car 10@ num_passengers 
11@ > 0

?

Offline

#5 01-12-2007 12:10

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Нет не совсем, водитель нужен, а пассажир если его нету возле водителя, игра вылетает.

Offline

#6 01-12-2007 12:25

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

Re: Полицейские из туррета авто стреляют по Bам из TEC9

При чем здесь водитель, если ты используешь 0432? Ты же читаешь хендл пассажира, а 01E9 как раз и проверяет, есть пассажир или нет.
Вылетает, видимо из-за того, что ты используешь 03С0 не проверяя, ведет машину игрок или нет.

Offline

#7 01-12-2007 16:25

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

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Подправьте название топика , тут бувкpы перепутаны и очепятки есть

Offline

#8 02-12-2007 03:21

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Re: Полицейские из туррета авто стреляют по Bам из TEC9

o да, Alexander, я слежу за ответами второй день и ничего не заметил.
Seemann, могут быть 4 причины глюка: Взрыв машины или игра не нашла нужного актера, проверку писал но глюк все равно возникает, возможно конфликт с Roadblock.

Last edited by Agenzvell (02-12-2007 04:12)

Offline

#9 03-12-2007 06:04

Agenzvell
From: Windows/system32
Registered: 28-08-2007
Posts: 109
Website

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Глюки устранил, кажется.
Просто надо было отредактировать потоки.

КОД ОБНОВИЛ

Last edited by Agenzvell (03-12-2007 07:06)

Offline

#10 02-10-2008 22:52

Latino_Gangster
Registered: 19-09-2008
Posts: 18

Re: Полицейские из туррета авто стреляют по Bам из TEC9

Agenzvell wrote:

Глюки устранил, кажется.
Просто надо было отредактировать потоки.

КОД ОБНОВИЛ

Два вопроса!
1-ый.Как поменять Tec-9 на colt45?я сам попытался поменять нумерацию данных моделей, честно говоря получилась лажа))..или подскажите какая строка за это отвечает!?
2-ой.А можно что б  все бандюги так же как и копы гонялись за мной и лупили и огнестрелок? Заранее спасибо!

Offline

#11 03-10-2008 07:53

3Doomer
From: КаZан
Registered: 14-05-2008
Posts: 659
Website

Re: Полицейские из туррета авто стреляют по Bам из TEC9

2) набери 6 звёзд розыска)))



У меня такая интересная фигня с коповскими педами......некоторые опкоды работают на обычных людях но на копов влияния не имеют %)
примеры опкодов привести не могу, ибо непомню уже, просто интересно почему так происходит
это типо рокстары захотели ограничить сферу издеватекльств над ментами?


GIMS developer

Offline

Board footer

Powered by FluxBB