Мой сайт
Архив статей

Меню сайта

Статистика


Онлайн всего: 1
Гостей: 1
Пользователей: 0

События актёров
Каждый актёр выполняет какое то действие. Оно записывается в специальную переменную, в которой хранится событие, совершающее актёром в текущий момент. Событий не так уж много, но из них можно сделать неплохие скрипты. Давайте рассмотрим список событий:
ID 
Константа 
Описание 
EVENT_VEHICLE_COLLISION 
*
EVENT_PED_COLLISION_WITH_PED 
Педа касается другой пед 
EVENT_PED_COLLISION_WITH_PLAYER 
Педа каксается игрок 
EVENT_PLAYER_COLLISION_WITH_PED 
Игрока касается другой пед 
EVENT_BUILDING_COLLISION 
*
EVENT_DRAGGED_OUT_CAR 
*
EVENT_KNOCK_OFF_BIKE 
Удар при падении с велосипеда 
EVENT_DAMAGE 
Пед повреждён (поранился) 
10 
EVENT_DEAD 
Актёр умер 
11 
EVENT_DEAD_PED 
Актёр убил кого-либо 
12 
EVENT_POTENTIAL_GET_RUN_OVER 
Есть вероятность наспупить не туда 
13 
EVENT_POTENTIAL_WALK_INTO_PED 
Есть вероятность наткнуться на прохожего 
15 
EVENT_SHOT_FIRED 
Актёр сфотографирован 
16 
EVENT_COP_CAR_BEING_STOLEN 
Украл полицейскую машину(?) 
17 
EVENT_PED_ENTERED_MY_VEHICLE 
В его машину кто-то залез 
18 
EVENT_REVIVED 
Актёр вылечен медиком 
20 
EVENT_SEXY_PED 
Видит сексуальную жещину 
25 
EVENT_PED_TO_CHASE 
Гонится за кем-то 
26 
EVENT_PED_TO_FLEE 
Убегает от кого-то 
27 
EVENT_ATTRACTOR 
(Аттрактор) 
28 
EVENT_VEHICLE_TO_STEAL 
Украл машину 
30 
EVENT_VEHICLE_THREAT 
Угроза быть сбитым машиной 
31 
EVENT_GUN_AIMED_AT 
*
32 
EVENT_SCRIPT_COMMAND 
создается при назначении любого действия из скрипта 
33 
EVENT_ACTOR_JUMPING 
Пед прыгает 
36 
EVENT_ACQUAINTANCE_PED_HATE 
Отношение - ненависть 
37 
EVENT_ACQUAINTANCE_PED_DISLIKE 
Отношение - недолюбливание 
38 
EVENT_ACQUAINTANCE_PED_LIKE 
Отношение - Like 
39 
EVENT_ACQUAINTANCE_PED_RESPECT 
Отношение - уважение 
41 
EVENT_VEHICLE_DAMAGE_WEAPON 
*
42 
EVENT_SPECIAL 
*
43 
EVENT_GOT_KNOCKED_OVER_BY_CAR 
*
44 
EVENT_POTENTIAL_WALK_INTO_OBJECT 
Есть вероятность наступить на объект 
45 
EVENT_CAR_UNDRIVEABLE 
Машина неуправляема (?) 
46 
EVENT_POTENTIAL_WALK_INTO_FIRE 
Есть вероятность попасть в огонь 
48 
EVENT_SCRIPTED_ATTRACTOR 
*
49 
EVENT_SHOT_FIRED_WHIZZED_BY 
Мимо просвистела пуля 
50 
EVENT_LOW_ANGER_AT_PLAYER 
Малый гнев на игрока 
51 
EVENT_HIGH_ANGER_AT_PLAYER 
Большой гнев на игрока 
52 
EVENT_HEALTH_REALLY_LOW 
Здоровья очень мало 
53 
EVENT_HEALTH_LOW 
Здоровья мало 
54 
EVENT_LEADER_ENTERED_CAR_AS_DRIVER 
Лидер группы сел в машину 
55 
EVENT_LEADER_EXITED_CAR_AS_DRIVER 
Лидер группы вышел из машины 
56 
EVENT_POTENTIAL_WALK_INTO_VEHICLE 
Есть вероятность наткнуться на машину 
58 
EVENT_BURNING 
Пед горит 
59 
EVENT_FIRE_NEARBY 
Близко огонь 
61 
EVENT_SOUND_LOUD 
Слышит громкий звук 
62 
EVENT_SOUND_QUIET 
Слышит тихий звук 
63 
EVENT_ACQUAINTANCE_PED_HATE_BADLY_LIT 
Отношение - очень сильная ярость 
64 
* Сбила струя воды от пожарной машины 
65 
EVENT_SEEN_PANICKED_PED 
Увидел паникующего педа 
66 
EVENT_DIVING 
Актёр тонет 
71 
EVENT_PLAYER_COMMAND_TO_GROUP 
Команда игрока группе 
72 
EVENT_SEEN_COP 
Коп увидел педа 
73 
EVENT_VEHICLE_DAMAGE_COLLISION 
*
75 
EVENT_DANGER 
Опасность (?) 
76 
EVENT_PLAYER_COMMAND_TO_GROUP_GATHER 
Найм в группу игрока 
78 
EVENT_PLAYER_LOCK_ON_TARGET 
*
79 
EVENT_VEHICLE_ON_FIRE 
Машина актёра в огне 
83 
EVENT_PED_ON_CAR_ROOF 
Пед на крыше машины 
93 
EVENT_STUCK_IN_AIR 
Пед заходит в кабину самолёта 
* - точное описание неизвестно мне,
Таблица 1
 
А теперь рассмотрим опкоды для работы с событиями:
074F:   actor 1@ ped_event == 10
Проверка: "Актёр выполняет событие 10?"
Здесь:
1@ - хендл актёра
10 - ID события(см. таблица 1)
 
080E: get_actor 1@ ped_event_to 0@
Опкод записывает в переменную текущее событие актёра
Здесь:
1@ - хендл актёра
0@ - в эту переменную будет записан ID события, выполняющегося в данный момент
 
Используя эти опкоды, давайте напишем скрипт, который будет хранить количество убитых CJ-ем персов. Для этого создадим в папке Cleo ini-файл kill.ini, содержание которого:
[a]
kill=0
Здесь будет хранится количество убитых персов. Вот код самого скрипта:
{$CLEO}
0000:
 
while true  
    03F0: enable_text_draw 1 
    0AF0: 0@ = get_int_from_ini_file "CLEO\kill.ini" section "a" key "kill"
    045A: draw_text_1number 20.0 20.0 GXT 'GXTNAME' number 0@  // Kills: ~1~
    if
    0AD2: 1@ = player $PLAYER_CHAR targeted_actor //IF and SET
    then
        if
        074F:   actor 1@ ped_event == 10
        then
        0@ += 1
        0AF1: write_int 0@ to_ini_file "CLEO\kill.ini" section "a" key "kill"
        end
    end
wait 0
end
Так же на экране будет выведено количество жертв  Правда минус в том, что нужно всегда целится в актёра, иначе не сработает условие. Вы можете использовать события актёров для написания то вперёд! wink



Категория: Скриптинг | Добавил: Bura22 (09.10.2012)
Просмотров: 584 | Рейтинг: 5.0/1
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Вход на сайт

Поиск