Вопросы по созданию скриптов
|
|
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
wmysterio |
Дата: Пятница, 17.08.2012, 19:03 | Сообщение # 3391 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
ещё один вопросе ) никак не удаётся считать количество патронов в обойме, кто может помочь?
у меня создан актёр 10@ и дан ак47. вот мой кодCode 0A96: 1@ = actor 10@ struct // получаю структуру 0A8E: 2@ = 1@ + 0x5A0 // получаю инфу о слоте оружия 0A90: 3@ = 30 * 28 // определяю размер сдвига (30 - номер оружия, 28 - размер) 0A8E: 4@ = 2@ + 3@ // сдвигаемся к инфе о ак inc(4@, 8) // получаем адрес о количестве патронов в обойме 0A8D: 5@ = read_memory 4@ size 4 virtual_protect 0//записую в переменную к-во патронов У меня почему то выводится огромное целое число 1055846128 что здесь не так? |
|
| |
SPIRITS |
Дата: Пятница, 17.08.2012, 20:48 | Сообщение # 3392 |
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
wmysterio, возможно потому что значение в float переведи float в int Добавлено (17.08.2012, 20:40) --------------------------------------------- У меня такая проблема была с моим скриптов показывающие кол. урона нанесенное игроку поставил в float вообще до фига цифр показал больше миллиона, поставил в int все норм Добавлено (17.08.2012, 20:46) --------------------------------------------- wmysterio, Есть способ по легче без лазейки
041A: 4@ = actor $PLAYER_ACTOR weapon $WEAPON ammo Записываем в переменную 4@ патрон в оружии $weapon которое у игрока
Code
0000:
:no wait 0 041A: 0@ = actor $PLAYER_ACTOR weapon $WEAPON ammo
:not wait 0 041A: 1@ = actor $PLAYER_ACTOR weapon $WEAPON ammo if 001C: 0@ > 1@ // (int) jf @not 0@ -= 1@ // значение записанное в переменной 0@ выводим jump @not2 :not2 wait 0 041A: 2@ = actor $PLAYER_ACTOR weapon $WEAPON ammo if 001C: 1@ > 2@ // (int) jf @not2 1@ -= 2@ // значение записанное в переменной 1@ выводим jump @no Я таким способом смог сделать скрипт показывающий кол. урона нанесенный игроку, то есть сколько он хп потерял
Способ проверенный работает, я почему то удалил потом скриптДобавлено (17.08.2012, 20:48) --------------------------------------------- Да и зачем узнавать кол. патронов в обойме когда вместе с иконкой оружие и так оно показано? |
|
| |
wmysterio |
Дата: Пятница, 17.08.2012, 21:21 | Сообщение # 3393 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
Quote (SPIRITS) возможно потому что значение в float переведи float в int Ну это само собой ) не будет же в обойме 12,5 патронов )) Quote (SPIRITS) Есть способ по легче без лазейки Это количество всех патронов. Мне нужно именно в обойме, к-во патронов оставшихся до перезарядки Quote (SPIRITS) Да и зачем узнавать кол. патронов в обойме когда вместе с иконкой оружие и так оно показано? Так мне нужно для актёра 10@, а не для СЖ
Сообщение отредактировал wmysterio - Пятница, 17.08.2012, 21:25 |
|
| |
SPIRITS |
Дата: Пятница, 17.08.2012, 21:48 | Сообщение # 3394 |
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
wmysterio, все же переведи флоат в инт на всякий случай |
|
| |
wmysterio |
Дата: Пятница, 17.08.2012, 22:07 | Сообщение # 3395 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
SPIRITS, это не дробное число. в место него пишет просто 0(даже не 0.0) Скорее всего адрес криво вищитал, нужна помощь людей, которые перелопатили вздовж и поперёк память. формула вроде правильная, мне DK22Pac кидал её ещё на сайте КГ |
|
| |
SPIRITS |
Дата: Суббота, 18.08.2012, 10:20 | Сообщение # 3396 |
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
Ну когда я инт в флоат перевел то у меня тоже подобные числа выводились без такого формата 0.0 |
|
| |
DK22Pac |
Дата: Суббота, 18.08.2012, 11:10 | Сообщение # 3397 |
Группа: Проверенные
Сообщений: 205
Замечания: 0%
Статус: Offline |
Индексом для CWeapon служит не Id оружия, а Id слота. В базе CWeapon назван именно как CWeaponSlot.
Мои скрипты Grand Theft Auto III HD Development Team
Сообщение отредактировал DK22Pac - Суббота, 18.08.2012, 11:48 |
|
| |
wmysterio |
Дата: Суббота, 18.08.2012, 18:23 | Сообщение # 3398 |
Группа: Проверенные
Сообщений: 51
Замечания: 0%
Статус: Offline |
DK22Pac, спасибо большое! получаетрся для ак47 слот 5. Всё работает! |
|
| |
Scripter100 |
Дата: Воскресенье, 19.08.2012, 18:17 | Сообщение # 3399 |
Группа: Проверенные
Сообщений: 108
Замечания: 0%
Статус: Offline |
Всем привет Давно небыл тут Вот у меня такой вопрос, как сделать камеру 2D, сколько не пытался не получалось Приведите пример кода, заранее спасибо
|
|
| |
SPIRITS |
Дата: Понедельник, 20.08.2012, 15:31 | Сообщение # 3400 |
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
Scripter100, Вид сверху или как платформер ? |
|
| |
Scripter100 |
Дата: Вторник, 21.08.2012, 20:36 | Сообщение # 3401 |
Группа: Проверенные
Сообщений: 108
Замечания: 0%
Статус: Offline |
SPIRITS, платформер
|
|
| |
SPIRITS |
Дата: Вторник, 21.08.2012, 20:50 | Сообщение # 3402 |
Группа: Проверенные
Сообщений: 103
Замечания: 0%
Статус: Offline |
Scripter100, Хд Я вид сверху тока делал |
|
| |
Artalus |
Дата: Суббота, 01.09.2012, 14:43 | Сообщение # 3403 |
Группа: Пользователи
Сообщений: 26
Замечания: 0%
Статус: Offline |
существует ли аналог 0AD1: show_formatted_text_highpriority, который бы выводил текст по заданным координатам, ане снизу-посередине экрана? чтобы в результате было что-нибудь вдухе ####: show_formatted_text_highpriority_pos "val1=%i" pos 250.0 314.2 time 2000 0@? именно текст вбиваемый вручную тутже в редакторе, а не через отдельные ГХТ-ключи |
|
| |
Jin |
Дата: Понедельник, 03.09.2012, 15:16 | Сообщение # 3404 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
dim1988, не помогло со статой,я фиг знает чё не так.... уже перпробовал всё,скрипт правильыйн должен быть Code thread 'WEAP' :WEAP_21 wait 0 if Player.Defined($PLAYER_CHAR) jf @WEAP_21 if 02D8: actor $PLAYER_ACTOR current_weapon == 22 jf @WEAP_21 wait 100 if 0AB0: key_pressed 49 jf @WEAP_21 0653: 3@ = float_stat 69 jump @WEAP_199
:WEAP_199 wait 0 if 3@ > 300 jf @WEAP_109 0627: update_integer_stat 69 to 10 03E6: remove_text_box jump @WEAP_21
:WEAP_109 wait 0 if not 3@ > 299 jf @WEAP_199 01B6: set_weather 1 0627: update_integer_stat 69 to 1000 03E6: remove_text_box jump @WEAP_21 может кто ещё подскажет в чём дело,или у себя проверит скрипт.
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
dim1988 |
Дата: Среда, 05.09.2012, 10:02 | Сообщение # 3405 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Jin, не знаю, чем помочь. У меня сейчас и билдер не установлен, и гта. Кстати, а если значение 3@ будет 300? У тебя ведь код не рассчитан на это.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
MrMADRYAN |
Дата: Воскресенье, 16.09.2012, 10:06 | Сообщение # 3406 |
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline |
Кто-нибудь знает опкод, заставляющий актёра (рандомного) жевать жвачку? Вроде бы такой есть, но я не нашёл. *слепой видать* |
|
| |
Jin |
Дата: Воскресенье, 16.09.2012, 13:23 | Сообщение # 3407 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
MrMADRYAN, прям рандомно нет,но можно чтоб рандомно выдовалась число и активировала жевание жевачки)
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
MrMADRYAN |
Дата: Вторник, 18.09.2012, 18:19 | Сообщение # 3408 |
Группа: Проверенные
Сообщений: 387
Замечания: 40%
Статус: Offline |
Jin, так мне сам опкод "жевание жевачки" и нужен. Я хз какой это, вот и спрашиваю. Как дальше - я знаю.. |
|
| |
dim1988 |
Дата: Четверг, 20.09.2012, 16:58 | Сообщение # 3409 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
MrMADRYAN, 05BA: AS_actor $Actor chew_gum 40000 ms
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
SHREDER |
Дата: Четверг, 20.09.2012, 19:42 | Сообщение # 3410 |
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Всем привет!
У меня тут один вопрос назрел: можно ли выпустить из какой-нибудь точки ракету? Без цели просто прямо?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
|
| |
dim1988 |
Дата: Четверг, 20.09.2012, 23:33 | Сообщение # 3411 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (SHREDER) У меня тут один вопрос назрел: можно ли выпустить из какой-нибудь точки ракету? Без цели просто прямо? Можно. Такой скрипт давно существует
Code // This file was decompiled using sascm.ini published by Seemann (http://sannybuilder.com/files/SASCM.rar) on 13.10.2007
{$VERSION 3.1.0027} {$CLEO .cs}
//-------------MAIN--------------- thread 'JPR'
:JPR_11 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @JPR_11 if 0AB0: key_pressed 8 else_jump @JPR_11 Model.Load(3065) Model.Load(3786)
:JPR_56 wait 0 if and Model.Available(3065) Model.Available(3786) else_jump @JPR_56 2@ = Actor.Angle($PLAYER_ACTOR) 04C4: store_coords_to 11@ 12@ 13@ from_actor $PLAYER_ACTOR with_offset 1.0 -0.5 1.3 1@ = Object.Create(3065, 11@, 12@, 13@) 2@ += 270.0 Object.Angle(1@) = 2@ 0750: set_object 1@ visibility 0 19@ = Object.Create(3786, 0.0, 0.0, 0.0) Object.Angle(19@) = 2@ 04D9: object 1@ set_scripted_collision_check 1 Object.CollisionDetection(1@) = True 0906: set_object 1@ mass_to 30000.0 // float 0908: set_object 1@ turn_mass_to 30000.0 // float 069A: attach_object 19@ to_object 1@ with_offset 0.0 0.0 0.0 rotation 0.0 0.0 0.0 Object.CollisionDetection(19@) = False 2@ = Actor.Angle($PLAYER_ACTOR) 0819: 18@ = actor $PLAYER_ACTOR distance_from_ground 4@ = 80.1 02F6: 5@ = cosine 2@ // (float) 02F7: 6@ = sine 2@ // (float) 006B: 5@ *= 4@ // (float) 006B: 6@ *= 4@ // (float) 5@ *= -1.0 18@ += 1.0 Object.ToggleInMovingList(1@) = True Object.Throw(1@, 5@, 6@, 18@) 33@ = 0
:JPR_376 wait 0 if Player.Defined($PLAYER_CHAR) else_jump @JPR_376 0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 0.0 0.0 095C: create_smoke_at 11@ 12@ 13@ velocity 0.0 0.0 0.0 RGBA 1.0 1.0 1.0 1.0 size 0.5 last_factor 0.1 if or 04DA: has_object 1@ collided 33@ > 7000 else_jump @JPR_376 0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 0.0 0.0 020C: create_explosion_with_radius 3 at 11@ 12@ 13@ 0565: create_soundless_explosion_at 11@ 12@ 13@ type 5 0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 5.0 0.0 0.0 020C: create_explosion_with_radius 3 at 11@ 12@ 13@ 0565: create_soundless_explosion_at 11@ 12@ 13@ type 5 0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset -5.0 0.0 0.0 020C: create_explosion_with_radius 3 at 11@ 12@ 13@ 0565: create_soundless_explosion_at 11@ 12@ 13@ type 5 0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 5.0 0.0 020C: create_explosion_with_radius 3 at 11@ 12@ 13@ 0565: create_soundless_explosion_at 11@ 12@ 13@ type 5 0400: store_coords_to 11@ 12@ 13@ from_object 1@ with_offset 0.0 -5.0 0.0 020C: create_explosion_with_radius 3 at 11@ 12@ 13@ 0565: create_soundless_explosion_at 11@ 12@ 13@ type 5 Model.Destroy(3065) Model.Destroy(3786) 095C: create_smoke_at 11@ 12@ 13@ velocity 0.0 0.0 0.0 RGBA 0.0 0.0 0.0 0.2 size 3.0 last_factor 0.1 0682: detach_object 19@ 0.0 0.0 0.0 collision_detection 1 Object.Destroy(1@) Object.Destroy(19@) jump @JPR_11 Или вроде в плагине DK22Pac что-то такое было.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Jin |
Дата: Пятница, 21.09.2012, 04:30 | Сообщение # 3412 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
Разобрался я со статистикой, пост 3404,вообщем проблема было в том что поставить статистику на опр число нельзя почему,только 1000,поэтому я восопльзовался кодом который отнимает n количество от изначальной статистики) Code 0625: decrease_integer_stat 69 by 10 И вот такой вопрос я добавил в имг архив свою модель просто модель с текстурой без колизии,и потом в скрипте загрузил эту модель и прицепил к ГГ ,но вместо нужной модели к ГГ цеплялась модель "i" есть такой пикап.Выходит что игра не видит нужную мне модель.Может где то прописать её нужно?кто подскажет?
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
SHREDER |
Дата: Пятница, 21.09.2012, 06:24 | Сообщение # 3413 |
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
dim1988, спасибо все работает!
Вот у меня еще вопрос: как сделать чтоб игрок в полете плавно поворачивал?
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
|
| |
dim1988 |
Дата: Пятница, 21.09.2012, 17:11 | Сообщение # 3414 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Jin) И вот такой вопрос я добавил в имг архив свою модель просто модель с текстурой без колизии,и потом в скрипте загрузил эту модель и прицепил к ГГ ,но вместо нужной модели к ГГ цеплялась модель "i" есть такой пикап.Выходит что игра не видит нужную мне модель.Может где то прописать её нужно?кто подскажет? А как ты вообще её загружал? Ты её id где-то прописывал? Если нет, то она и не загрузится, а знак I появляется при несуществующем id. Думаю, если ты декомпилируешь скрипт, у тебя там вместо имени модели будет -1.
Quote (SHREDER) Вот у меня еще вопрос: как сделать чтоб игрок в полете плавно поворачивал? В каком полёте?
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
SHREDER |
Дата: Пятница, 21.09.2012, 17:31 | Сообщение # 3415 |
Группа: Пользователи
Сообщений: 49
Замечания: 0%
Статус: Offline |
Quote (dim1988) В каком полёте?
Ну просто когда прямо летит. Я сделал чтоб CJ вверх и прямо летел, а вот с поворотами проблема.
[url=http://nick-name.ru/sertificates/777287/][img]http://nick-name.ru/forum/Vanya_8778.gif[/img][/url] |
|
| |
Jin |
Дата: Суббота, 22.09.2012, 04:10 | Сообщение # 3416 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
dim1988, не не прописывал,я так понимаю прописывать нужно в object.dat ,но где конкретно?и такой вопрос а много ли можно своих обьектов добавить?не хотелось бы чтоб игры вылетала.
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
dim1988 |
Дата: Суббота, 22.09.2012, 13:40 | Сообщение # 3417 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Jin) я так понимаю прописывать нужно в object.dat He только, надо ещё в default.ide. А где именно - думаю, не важно.
В default.ide прописывается сама модель и тексура к ней, а также её id и ещё что-то. А в object.dat вроде характеристики этого объекта, типа его тяжесть и т.д.
Quote (Jin) а много ли можно своих обьектов добавить? Если не ошибаюсь, то только 3, но есть же безлимитник.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Jin |
Дата: Суббота, 22.09.2012, 17:32 | Сообщение # 3418 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
dim1988, 3 вроде кол-фаила это максимум,ну если с лимитами,спасибо за подсказку по default.ide я даже не знал. Добавлено (22.09.2012, 17:32) --------------------------------------------- dim1988, спасибо,сработало модель подгрузилась,но есть такой минус,когда цепляешь модель,оружие становитсья не видимым это раз,а прицепить две модели нельзя,одни из них стновитсья не видимой так и так,ток что все мои старания прошли зря... у меня только один вариант сделать модель как элемент одежды и в нужный момент подгружать....
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
dim1988 |
Дата: Суббота, 22.09.2012, 18:07 | Сообщение # 3419 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Quote (Jin) 3 вроде кол-фаила это максимум Коллизия вообще должна быть в одном файле, а без неё я не пробовал добавлять, так что не знаю.
Quote (Jin) оружие становитсья не видимым Это естественно, так всегда и бывает. Оружие тоже прицепленнвя модель, а сразу несколько прицепить я не помню как, но вроде DK22Pac знает как.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Jin |
Дата: Воскресенье, 23.09.2012, 06:11 | Сообщение # 3420 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
dim1988, ну если знает то хорошо))поинтересуюсь у него)спасибо за помощь. Добавлено (23.09.2012, 05:31) --------------------------------------------- вопрос такой для чего нужна эта команда 08BD: set 9@ bit 1 и вот эта команда я так понимаю делат покачивание камеры? 099C: jiggle_camera type 5 timelimit 4000.0 intensity 30.0 Добавлено (23.09.2012, 06:11) --------------------------------------------- ещё один вопрос есть ли проверка не нажата,а зажата ли клавиша? есть вот такой код,суть таков что при беге камер отдаляеться,но она не отдаляеться потом опять вовразаетсья в исходную и так по кргу,а мне нужно чтоб пока нажата кнопка 16 и выполняеться анима,хуум сохранялся,и ещё есть ли опкод проверяюший позади ли игрока камера?я порылся ни чего не нашёл. Code {$CLEO .cs} 0000: NOP :TEST_11 wait 0 if Player.Defined($PLAYER_CHAR) jf @TEST_11 wait 1000 if and 00E1: key_pressed 0 16 Actor.Animation($PLAYER_ACTOR) == "sprint_civi" jf @TEST_11 0922: set_camera_zoom_in_factor 70.0 out_factor 100.0 timelimit 1000 mode 0 jump @TEST_11
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |