00060. События актёров

События актёров|В этом уроке мы рассмотрим события актёров.|wmysterio|wmysterio||||Каждый актёр выполняет какое то действие. Оно записывается в специальную переменную, в которой хранится событие, совершающее актёром в текущий момент. Событий не так уж много, но из них можно сделать неплохие скрипты. Список всех известных событий вы можете найти в нашей базе данных - события. А теперь рассмотрим опкоды для работы с событиями:

074F: actor 1@ ped_event == 10

Проверка: "Актёр выполняет событие 10?" Здесь: 1@ - хендл актёра 10 - ID события

080E: get_actor 1@ ped_event_to 0@

Опкод записывает в переменную текущее событие актёра Здесь: 1@ - хендл актёра 0@ - в эту переменную будет записан ID события, выполняющегося в данный момент

Используя эти опкоды, давайте напишем скрипт, который будет хранить количество убитых CJ-ем персов. Для этого создадим в папке Cleo ini-файл "kill.ini", содержание которого:

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

Last updated