Пятница, 19.04.2024, 12:53
Качественные скрипты, моды и дополнения для GTA без регистрации
Главная Регистрация Вход
Приветствую Вас, Гость · RSS
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Вопросы по созданию КЛЕО-скриптов 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, чтобы актёра можно было нанять).
 
Форум » Игры серии ГТА » Скриптинг » Вопросы по созданию КЛЕО-скриптов 2
Поиск: