20 июля 2013 г.

Гранатомётчик (VC)

Скрипт для Vice City
Теперь при уровне розыска больше 1 звезды за Вами будет охотиться не только обычная полиция, но и гранатомётчик, который хорошо кидает гранаты, при этом сам не подверен урону от взрывов. Он взрывается, как камикадзе, при малом уровне здоровья или при удалении игрока на большое расстояние, а также если уровень розыска спал до нуля.

:Kamik
wait 0
if
player.Defined(0)
jf @Kamik
if and
not actor.Dead($PLAYER_ACTOR)
010F:   player 0 wanted_level > 1
84C9:   not player 0 driving_plane
jf @Kamik
model.Load(#SWAT)
model.Load(#GRENADE)
038B: load_requested_models
04C4: create_coordinate 1@ 2@ 3@ from_actor $PLAYER_ACTOR offset 0.0 -10.0 0.0
02C0: set 1@ 2@ 3@ to_ped_path_coords_closest_to 1@ 2@ 3@
actor.Create(0@,Cop,#SWAT,1@,2@,3@)
Actor.Health(0@) = 150
02AB: set_actor 0@ immunities 0 0 1 0 0
01B2: give_actor 0@ weapon 12 ammo 9999
01C9: actor 0@ kill_actor $PLAYER_ACTOR
model.Destroy(#SWAT)
model.Destroy(#GRENADE)
while true //1
wait 0
    if or //2
    actor.Dead($PLAYER_ACTOR)
    actor.Dead(0@)
    051A:   actor 0@ damaged_by_actor $PLAYER_ACTOR
    810F:   not player 0 wanted_level > 0
    8104:   not actor 0@ near_actor $PLAYER_ACTOR radius 100.0 100.0 30.0 sphere 0
    then
    02AB: set_actor 0@ immunities 0 0 0 0 0
    actor.StorePos(0@,1@,2@,3@)
    020C: create_explosion_with_radius 6 at 1@ 2@ 3@
    actor.RemoveReferences(0@)
    break
    end //2
end //1
wait 25000
jump @Kamik
end_thread

2 комментария:

SaveliiM комментирует...

Vital, подскажи пожалуйста, как записать условие, чтобы можно было найти в зоне игрока нужную мне машину?

Vital комментирует...

Для нахождения случайной машины (или другого транспорта) используй следующие опкоды (один из них)
0327
053E
073E
09C0
0AB5

Точную разницу между ними я не знаю, посмотри на сайте
http://gtag.gtagaming.com/opcode-database/
Вводи в поиск (рядом с кнопкой Go) опкод и получишь информацию о нём. А то я сейчас занят, ВУЗ начался.