Вопросы по созданию КЛЕО-скриптов 2
|
|
Vital | Дата: Понедельник, 23.07.2012, 17:27 | Сообщение # 151 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Den_spb, scm log показывает, что вылет происходит из-за опкода 09C7, который вообще не работает без вызова тех или иных скриптов. При всём этом, программа указывает на скрипт ped.cs, в котором этого опкода нет вообще... Но если удалить этот скрипт, то вылеты исчезают... Как может такой скрипт привести к вылету совершенно другого скрипта? Code :Ped wait 0 if player.Defined($PLAYER_CHAR) jf @Ped if and not actor.Dead($PLAYER_ACTOR) not actor.Driving($PLAYER_ACTOR) 0ADC: test_cheat "MAKEMAN" jf @Ped 04C4: store_coords_to 1@ 2@ 3@ from_actor $PLAYER_ACTOR with_offset 0.0 3.0 0.5 0376: 4@ = create_random_actor_at 1@ 2@ 3@ actor.RemoveReferences(4@) 0ACA: show_text_box "Random man cheat" wait 850 jump @Ped Очень странно... Кстати, вылетавшая возможность активируется на F7, а этот скрипт - читом. Опкод 09С7 меняет модель игрока, но обе возможности, содержащие этот опкод, в моём моде работают без вылетов... Как игра подумала, что этот опкод есть там, где его нет?
SCRIPTER
Сообщение отредактировал Vital - Понедельник, 23.07.2012, 17:30 |
|
| |
Rozelainen[Border-worlds] | Дата: Четверг, 26.07.2012, 02:39 | Сообщение # 152 |
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Привет всем. Как узнать координаты, места где хочу поставить Обьект?
|
|
| |
Vital | Дата: Четверг, 26.07.2012, 17:43 | Сообщение # 153 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Rozelainen[Border-worlds], открой карту города в Map Editor, там можно несколькими способами посмотреть текущие координаты: -можно посмотреть на низ экрана, где указаны координаты положения камеры -можно поставить объект, по которому увидишь координаты Также можно с помощью Sanny Builder'а прямо из игры скопировать координаты. Посмотри подробнее в справке.
SCRIPTER
|
|
| |
Rozelainen[Border-worlds] | Дата: Пятница, 27.07.2012, 04:33 | Сообщение # 154 |
Группа: Пользователи
Сообщений: 3
Статус: Offline
| Vital, Cпасибо!!!
|
|
| |
ILYALION | Дата: Вторник, 31.07.2012, 10:15 | Сообщение # 155 |
Группа: Проверенные
Сообщений: 325
Статус: Offline
| Как можно узнать текущий уроень кислорода у CJ'я? И как его изменить? Добавлено (31.07.2012, 10:15) --------------------------------------------- Как можно по-нормальному вывести на экран float число?
|
|
| |
Den_spb | Дата: Вторник, 31.07.2012, 16:53 | Сообщение # 156 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (ILYALION) Как можно по-нормальному вывести на экран float число? С помощью 0AD1. Пример: http://modsforgta.ucoz.ru/forum/12-62-2777-16-1324761611
|
|
| |
DK22Pac | Дата: Среда, 01.08.2012, 23:55 | Сообщение # 157 |
$player_actor
Группа: Проверенные
Сообщений: 559
Статус: Offline
| У меня были разные причины. Попробуй посмотреть на код после компиляции. У меня была такая проблема, что именованные глобальные переменные неправильно нумеровались.
|
|
| |
Den_spb | Дата: Четверг, 02.08.2012, 00:00 | Сообщение # 158 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Vital, а зачем работать с main? Ведь есть возможность использовать КЛЕО-скрипты.
|
|
| |
Vital | Дата: Суббота, 04.08.2012, 18:25 | Сообщение # 159 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| DK22Pac, Den_spb, всё, можно больше ничего не искать, у меня, как всегда "ложная тревога". Вы уж извините, по глупости засуетился. DK22Pac, посмотрел скомпилированный текст кода, сравнил его с исходным и, увидев, что различий в переменных нету, понял, что проблема в каком-нибудь из скриптов. Несколько раз просмотрел скрипты и нашёл глупую ошибку. Как обычно, моё внимание куда-то исчезло во время написания одного из скриптов, и я забыл поменять переменную актёра на $PLAYER_ACTOR. В результате игра проверяла состояние здоровья несуществующего актёра. Извините, если зря потратил ваше время. Постараюсь быть внимательнее.Добавлено (02.08.2012, 17:09) --------------------------------------------- Den_spb, в main мне удобнее работать над модами, где много возможностей, так как все они видны сразу. Добавлено (02.08.2012, 22:05) --------------------------------------------- Как в GTA 3 при помощи опкодов вообще починить машину? car.health(1@) = 1000 не работает, как нужно. Если машина серьёзно повреждена и горит, то она лишь ненадолго перестаёт гореть, причём звук горения сохраняется (и чёрный дым), если потом машину немного повредить, то загорается...Даже серый дым (при небольших повреждениях) остаётся... И как можно вытащить игрока из машины? 012A: put_player $PLAYER_CHAR at 3@ 4@ 5@ and_remove_from_car также не хочет работать... Странно, что в 3-ей части некоторые опкоды вообще не хотят работать нормально. Добавлено (04.08.2012, 18:25) --------------------------------------------- Хотел спросить насчёт опкода. Code 0209: 1@ = random_int 2 11 2 и 11 входят в этот промежуток? Т.е., строгие ли эти неравенства?
SCRIPTER
|
|
| |
Den_spb | Дата: Суббота, 04.08.2012, 19:04 | Сообщение # 160 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| 2 входит, 11 не входит.
|
|
| |
Vital | Дата: Понедельник, 06.08.2012, 15:27 | Сообщение # 161 |
Группа: Проверенные
Сообщений: 206
Статус: Offline
| Den_spb, спасибо за ответ, учту. Где-то слышал, что модели машин можно не загружать, т.к. они грузятся в начале игры. Попробовал поставить парковку машины (в GTA 3), не загружая модель, всё работает. Выходит, грузить надо лишь модели оружия, людей и объектов. И как раз по этому делу есть вопрос тем, кто умеет создавать и редактировать опкоды: можно ли отредактировать опкод создания объектов, людей, оружия (в общем, всего, что требует загрузки моделей) таким образом, чтобы игра перед созданием, например объекта, сама загружала его модель и удаляла её из памяти? Это сократило бы размер кода и, следовательно, усилия того, кто пишет скрипт. P.S. Быть может, это очередная нубская нереальная идея, простите, если достаю этим "потоком" идей.
SCRIPTER
|
|
| |
Den_spb | Дата: Понедельник, 06.08.2012, 18:56 | Сообщение # 162 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Quote (Vital) Где-то слышал, что модели машин можно не загружать, т.к. они грузятся в начале игры. Попробовал поставить парковку машины (в GTA 3), не загружая модель, всё работает. Модели транспорта загружать тоже нужно. Парковка не требует загрузки моделей потому, что создавая парковку, ты не создаёшь транспорт, а только даёшь игре команду - создавать транспорт в указанном месте при каждом приближении игрока к данному месту. При этом всю работу по загрузке моделей и созданию транспорта игра выполняет сама.
Quote (Vital) можно ли отредактировать опкод создания объектов, людей, оружия (в общем, всего, что требует загрузки моделей) таким образом, чтобы игра перед созданием, например объекта, сама загружала его модель и удаляла её из памяти? Существующий опкод трогать не стоит, так как нередко приходится создавать несколько транспортных средств одной модели. Загружать при этом несколько раз одну и ту же модель - нерационально. Создавать новый опкод ради того, чтобы объединить 3-4 команды в одну - большого смысла не вижу. В крайнем случае можно воспользоваться scm-функциями.
|
|
| |
Nick | Дата: Вторник, 14.08.2012, 14:49 | Сообщение # 163 |
Группа: Пользователи
Сообщений: 1
Статус: Offline
| Den_spb , есть скайп/ася ? Нужна помощь по вызову опкода и записи в него из Delphi) Skype: login.deleted ICQ: 408175504 Добавь если не сложно =)
|
|
| |
EmilioDurhamCop | Дата: Понедельник, 20.08.2012, 11:21 | Сообщение # 164 |
Группа: Пользователи
Сообщений: 33
Статус: Offline
| Всем привет! Извините за ОТВ (очень тупой вопрос). Я первый раз пользуюсь Sanny Builder'ом, документацию не очень понимаю. Выложите, пожалуйста, сурс или код, в котором можно создать актера (желательно из миссии в GTASA, такие как Свит, Райдер, Смоук.), чтобы прицелом и G нанять.
|
|
| |
Den_spb | Дата: Понедельник, 20.08.2012, 14:04 | Сообщение # 165 |
Создатель сайта
Группа: Администраторы
Сообщений: 1595
Статус: Offline
| Информация по созданию специальных актёров есть в справке СБ (Статьи - Специальные актёры). Код выглядит примерно так: Code {$CLEO} // команда начала клео-скрипта 023c: request_special_actor 'sweet' as 1 // объявление модели на загрузку 038b: load requested models // загрузка объявленных моделей actor.create(1@,8, #special01, 2252.299, -1260.216, 23.962) // создание актёра 0A93: // команда завершения клео-скрипта Параметры в команде создания актёра: 1) переменная, в которую будет записан указатель на актёра 2) педтип 3) модель 4)5)6) координаты Педтип №8 - Groove Street (см. справку: Документация по SCM - GTA SA - Типы пешеходов. Устанавливаем тип Groove Street, чтобы актёра можно было нанять).
|
|
| |