Актёры-это все люди,которых вы видели в игре,кстати игрок тоже явл. полноправным актёром. Чтобы создать актёра,надо сначало загрузить его модель в память,делается это вот этой ко- мандой: model.load(#модель) Этой командой мы только объявили нужную для загрузки модель,а вот загружаются все модели вот этой командой: 038B: load_requested_models Эта команда пишется после объявки уже всех используемых в вашем потоке объектов.Вот как бу- дет выглядить то,что я только-что описал: model.load(#модель1) model.load(#модель2) model.load(#модель3) model.load(#модельN) 038B: load_requested_models Теперь нужно проверить,загрузились ли все модели в память,а то если не загрузились,а мы с ними что-то делаем,то игра естественно вылетит.Проверка делается следующим способом: :Check wait 0 if and model.available(#модель1) model.available(#модель2) model.available(#модель3) model.available(#модельN) jf @Check Полная загрузка делается соединением этих двух вышеописанных выражений: :MyThread // Первый label потока.Не забудьте,что поток тоже надо создать. wait 0 // Ждём 0 миллисекунд,если не напишем,то игра вылетит. model.load(#модель1) // Тут объявляем нужные для потока модели. model.load(#модель2) model.load(#модель3) model.load(#модельN) 038B: load_requested_models // А вот тут уже загружаем нужные для потока модели. :Check // Создаём другой label. wait 0 // Ждём 0 миллисекунд,если не напишем,то игра вылетит. if and // Пишем условие с выполнением всех подусловий(проверок). model.available(#модель1) // Подусловие на загруженность модели в память. model.available(#модель2) model.available(#модель3) model.available(#модельN) jf @Check // Если в условии не выполнились подусловия,то перходим в начало проверки,если же все выполнились,то выполнение скрипта идёт дальше.
Актёр создаётся следующей командой: actor.create(name,type,model,x,y,z) name - имя актёра,должно обязательно начинаться на $(глобальная переменная) или заканчивать- ся на @(переменная,действующая только в том потоке,в котором вы её объявили) type - это тип актёра,тип актёра-целое число,типы приведены ниже . model - это модель актёра,все модели обыкновенных актёров написаны во втором столбике файла "Peds.ide",который находится в папке "data" вашего GTA San Andreas.Откройте его любым тексто- вым редактором.Перед именем модели всегда надо ставить знак "#",кавычек не надо. x - координата по оси X y - координата по оси Y z - координата по оси Z Вот например: actor.create($MyAct,4,#FAM1,-2400.0,500.8,24.2) //заметьте,что координата всегда число с точкой,всё по поводу чисел попробуйте создать типа на гроуве: Я создал поток с именем MAN,вот этой командой: create_thread @MAN Затем нашёл строчку -Mission 0- и выше неё написал: :MAN //имя нашего потока wait 0 // поставил нулевую задержку,если не поставить,то игра вылетит model.load(#FAM1) // объявил нужную для загрузки модель актёра 038B: load_requested_models // загрузил ранее объявленые модели
:MAN_2 // создал второй label нашего потока wait 0 // поставил нулевую задержку,если не поставить,то игра вылетит if // Пишем условие для одной проверки model.available(#FAM1) // проверяем загрузилась ли наша модель jf @MAN_2 // если ещё не загрузилась,то выполнение скрипта переходит на label "MAN_2" // если уже загрузилась,то выполнение скрипта пойдёт дальше. actor.create($MyAct,4,#FAM1,2494.4622,-1680.92,13.3385) // написал вот эту команду,затем нашёл //координаты Coords Manager'oм,как это делать писалось в первой главе,и подставил их в ко- //манду,не забудьте про запятые между параметрами! И вот такой чувачок возле входа в дом CJ'я //получился. Model.Destroy(#FAM1) // удаляем модель из памяти end_thread // И заканчиваем наш поток.
Потренеруйтесь ,меняя координаты актёра, меняя его модель, увеличиваяя кол-во актёров. |