You are not logged in.
Недавно появился такой вопрос: как же создавать актеров, как, например, в миссии полицейского, чтобы они создавались близко к игроку, при этом создавались всегда на дорогах?
Kim wrote:Еще раз помощь нужна, пишу вот так: 4@ = Actor.Create(24,#SFR1,-2443.4973, 501.8636, 30.0928). При этом создается два актера сразу.
Сам по себе он не создаёт несколько актёров. Скорее всего дубликат скрипта есть. По коду легче будет понять где что пошло не так. Покажите этот код, будем разгребать проблему
А, все! Я нашел ошибку, спасибо за помощь!
Еще раз помощь нужна, пишу вот так: 4@ = Actor.Create(24,#SFR1,-2443.4973, 501.8636, 30.0928). При этом создается два актера сразу.
kim wrote:как написать скрипт на смену скина при загрузке?
Что-то типа этого:
:CJ_MODL thread 'JC_MODL' Model.Load(#WMYDRUG) 038B: load_requested_models 09C7: change_player $PLAYER_CHAR model_to #WMYDRUG Model.Destroy(#WMYDRUG) :CJ_MODL_CKECK wait 0 if 82F2: not actor $PLAYER_ACTOR model == #WMYDRUG jf @CJ_MODL_CKECK jump @CJ_MODLЕсли пишется в MAIN.SCM, то не забываем запустить поток.
Блин, спасибо вам огромное.
Kim wrote:После сохранения скин остается, а после загрузки - нет.
Игрок создаётся при загрузке/новой игры со моделью #NULL. Вы можете сменить скин, но не можете его сохранить. Нужно отдельный поток/внешний скрипт, который делал бы автоматическое изменения скина на нужный.
Kim wrote:При запуске новой игры он идет сначала, а если загрузить игру через сохранение, то откуда будет начинаться скрипт?
Вас это не должно беспокоить
Там реализована своя система сохранения. Просто пишите код так, как будто скрипты будут выполняться за один подход.
О, великий мастер, как написать скрипт на смену скина при загрузке? Помогите ((
Kim wrote:Очень серьезный вопрос от меня: меняю опкодом 09C7 скин CJ, но после сохранения и дальнейшней загрузки скин снова меняется на стандартный CJ-я, как это исправить?
Проверить опкодом 03D9 завершено ли сохранение, после изменить скин.
Мне нужно, чтобы скин менялся, когда загружается сохранение, а не делается сохранение. После сохранения скин остается, а после загрузки - нет.
Очень серьезный вопрос от меня: меняю опкодом 09C7 скин CJ, но после сохранения и дальнейшней загрузки скин снова меняется на стандартный CJ-я, как это исправить?
Он будет работать сначала.
В начале main стоит создание игрока, помещение его в определенные координаты и начало 0 миссии, это тоже все будет выполняться после загрузки сохранения?
Kim wrote:Можно подробнее как так сделать?
Можете почитать статью RRR-файлы в GTA SA на моём сайте. Там я более-менее рассказал как делать RRR-файлы. Маршрут будет гарантировать, что транспорт будет ехать строго по указанному маршруту.
Я надеюсь, вам не надоели мои вопросы. Такое назрело спросить: как работает main.scm? При запуске новой игры он идет сначала, а если загрузить игру через сохранение, то откуда будет начинаться скрипт?
Вроде с помощью путей автомобилей такой параметр задаётся. Иначе говоря, с помощью RRR файлов.
Можно подробнее как так сделать?
Такой вопрос появился: в миссиях машины едут прямо очень аккуратно, как заставить их ехать так же? Я слышал, что так можно заставить ехать даже лодку.
Kim wrote:То есть скрипт должен работать 3 секунды
wait в этом случае не гарантирует Вам, что пройдут реальные 3 секунды. Будет погрешность в любом случае ( часто колосальная ). Вообще для таких случаев лучше использовать переменные-таймеры ( хотя не обязательно ):
{$CLEO .cs} 32@ = 0 // чистим таймер :Main_Loop wait 0 if 32@ > 3000 // нужно примерно рассчитать когда будет 3 реальных секунды then jump @Main_Loop_end end // здесь мутим воду... jump @Main_Loop :Main_Loop_end 0A93: end_custom_threadТакое задавайте в общих вопросах, как Вы изначально сделали. Мне пришлось удалить пост из за этого )
Ооо, спасибо огромное! Чтобы я делал без вас.
Нужна помощь, господа!
Через цикл увеличиваю переменную 1@ до тех пор, пока она не равна 3000, но вот в чём беда: переменная не увеличивается больше 1,
{$CLEO .cs} :Main wait 0 int 1@ 1@ = 0 :Loop wait 1 1@++ if 1@ >= 3000 then 0A93: end_custom_thread end jump @Loop
То есть скрипт должен работать 3 секунды, но работает бесконечно. Можно убедиться, вписав в цикл вывод текста, текст выводится бесконечно.
Kim wrote:Как заставить актёров, сидящих в транспорте атаковать врагов(ну или СЖ)? Не по опкоду, в которому актёр стреляет в координаты, а скажем как в миссии, где от Русских с BS на байке уходишь, в коде миссии ничего такого не нашёл, сделал тестовую миссию, но враги просто сидят.
Вроде как Wmysterio делал гайд по использованию турелей на RU-SCRIPT.3DN.RU, и там в конце скрипта говорилось о возможности заставить актёра1 убивать актёра2.
Я даже ссылку нашёл: ссылка
Спасибо, но в таких миссиях не использовался режим турели, а актёра садили в машину скажем опкодом 01C8: 0@ = create_actor_pedtype 23 model #SPECIAL01 in_car 35@ passenger_seat 0
Как заставить актёров, сидящих в транспорте атаковать врагов(ну или СЖ)? Не по опкоду, в которому актёр стреляет в координаты, а скажем как в миссии, где от Русских с BS на байке уходишь, в коде миссии ничего такого не нашёл, сделал тестовую миссию, но враги просто сидят.
В начале, как уже сказано выше, нужно написать {$CLEO .cs}, если хочешь файл .cm пиши {$CLEO .cm}. Пробел обязательно надо ставить.
в клео только локальные переменные от 0@ до 31@ включительно на каждый поток юзаются
32 и 33 - это динамические переменные таймеры
Спасибо ещё раз.
Спасибо, помогло!
Kim wrote:Есть проблема, когда я использую опкод 0633 для актёра, который сидит на пассажирском месте игра вылетает. Какой же опкод для этого использовать?
ты бы код показал что ли
0633: AS_actor 31@ exit_car //31 на водительском,
0633: AS_actor 32@ exit_car
0633: AS_actor 33@ exit_car
Какой же опкод для этого использовать?
Может покажете как Вы его используете? Мы не телепаты
А как же ещё его использовать? 0633: AS_actor 1@ exit_car. Ещё использовал 05CD: AS_actor 1@ exit_Car 2@, тоже вылетает, не вылетает если на вод. месте только
Есть проблема, когда я использую опкод 0633 для актёра, который сидит на пассажирском месте игра вылетает. Какой же опкод для этого использовать?
Спасибо, но мне нужно как на 4:49. Это ведь режим турели для актёра?
Вопрос, как сделать так, как в миссии Воссоеденение Семей с вертолётом, где спецнзовцы были прикреплены в вертушке?
Спасибо
[/code]Скорее всего нужно было посадить актёра 4@ в машину 3@. Если не помогло, то попробуйте использовать опкоды 00A7 или 02C2 в место 05D1.[/quote]
Я уже разобрался, спасибо, только вот есть опкод, чтобы сделать актёра смелым? Т.е чтобы он не пригибался постоянно из-за выстрелов?