You are not logged in.
Полицейские лениво хлебая кофе, вновь выслушивают по рации сообщения о проступках Сиджея. Им это сильно не нравится, и один из копов достает 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
Этот скрипт и скрипт с мегафоном почти наполовину идентичны, почему бы просто не объединить их (экономия ресурсов игры)?
Несколько общих ошибок: перед любым опкодом в котором используется игрок ($PLAYER_CHAR) нужно делать проверку на player.defined. Если игра не вылетает при тестировании, это не значит, что она вообще не вылетает
Я уже писал где-то здесь, что не нужно загружать модель до того, как она понадобится. Ты загружаешь TEC9, потом переходишь на цикл "поиска" машины с интервалом в 6с и только потом создаешь актера с оружием, почему бы модель не загрузить перед 01B9? И не забыть выгрузить ее
ОФФТОП:
Кстати, по поводу выгрузки, интересно было бы проверить кое-что. Насколько я знаю, команда release_model (0249) не выгружает модель из памяти, как этого можно было бы ожидать (ну т.е полностью освобождает память от загруженных данных), а просто "метит" данную модель как ненужную. Соответственно, реальное высвобождение памяти может произойти гораздо позже, когда у игры закончатся свободные ресурсы, и она будет избавляться от мусора (т.е от использованных моделей, актеров с ремув_референс и т.п.). Интерес заключается в том, действительно ли это работает именно так, и что будет, если игре понадобится такая же модель, которая была помечена как ненужная. Произойдет выгрузка/загрузка, либо модель просто будет помечена как "нужная" и будет использована. Либо выгрузка/загрузка происходит всегда?
listener?
Offline
Кстати, Seemann, нашёл ошибку в этом скрипте. Если не сложно, то поставь проверку на доступность актера-пассажира. Если актера нет, то игра вылетает с ошибкой. Я бы поставил сам, но опкод не нашел.
P.S: Насчет выгрузки моделей. Если выгружать сведения о копах (как я заметил) игра вылетает. Причем настоящих копов с педтипом 6.
Offline
Если не сложно, то поставь проверку на доступность актера-пассажира.
01E9: 11@ = car 10@ num_passengers 11@ > 0
?
Offline
При чем здесь водитель, если ты используешь 0432? Ты же читаешь хендл пассажира, а 01E9 как раз и проверяет, есть пассажир или нет.
Вылетает, видимо из-за того, что ты используешь 03С0 не проверяя, ведет машину игрок или нет.
Offline
Подправьте название топика , тут бувкpы перепутаны и очепятки есть
Offline
o да, Alexander, я слежу за ответами второй день и ничего не заметил.
Seemann, могут быть 4 причины глюка: Взрыв машины или игра не нашла нужного актера, проверку писал но глюк все равно возникает, возможно конфликт с Roadblock.
Last edited by Agenzvell (02-12-2007 04:12)
Offline
Глюки устранил, кажется.
Просто надо было отредактировать потоки.КОД ОБНОВИЛ
Два вопроса!
1-ый.Как поменять Tec-9 на colt45?я сам попытался поменять нумерацию данных моделей, честно говоря получилась лажа))..или подскажите какая строка за это отвечает!?
2-ой.А можно что б все бандюги так же как и копы гонялись за мной и лупили и огнестрелок? Заранее спасибо!
Offline
2) набери 6 звёзд розыска)))
У меня такая интересная фигня с коповскими педами......некоторые опкоды работают на обычных людях но на копов влияния не имеют %)
примеры опкодов привести не могу, ибо непомню уже, просто интересно почему так происходит
это типо рокстары захотели ограничить сферу издеватекльств над ментами?
GIMS developer
Offline