Скрипты для GTA от dim1988 aka d88

Главная | Регистрация | Вход

Приветствую Вас Гость | RSS
[Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Вопросы по созданию скриптов
dim1988 Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Ответы на самые часто задаваемые вопросы

Как сохранить (компилировать) скрипт?
Почему не следует использовать в клео скриптах глобальные переменные?
Как узнать координаты мест, через какую прогу?
Как поместить игрока в интерьер?
Опкод, который открывает все дома в СА
Запись в переменную ближайшего педа и проверка его модели
Как заставить актёров ходить по определённым координатам
Проверка нажатия определённой клавиши
Пак пути с анимацией
Как сделать так, чтоб 2 миссии следовали друг за другом?
Как актёру дать оружие?
Как создать транспорт
Как создать жёлтый маркер для входа в интерьер?
При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить?
Как транспорту присвоить определённый цвет?
Что делать если пишет ожидалось 'x' параметров?
Как написать цветной текст?
Номера костей актёра
Что такое gosub?
Опкоды, связанные с созданием огня
Как изменить оружие банд?
Образец добавления в игру объектов
Проверка нажатия клавиши в игре и список значений
Путь или scmpath
Как изменить цвет затемнения экрана?
Как записать в переменную случайное число из интервала
Список стилей боя
Как привязать эффект к кости актёра?
Как произвести действия, над педами, созданными игрой
Как заменить модель игрока
Как заставить актёра поднять руки, как при аресте
Сброс анимации
Как метнуть объект?
Как из одного скрипта запустить другой?

+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать
 
 
RuXman Дата: Понедельник, 07.10.2013, 15:53 | Сообщение # 3661
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Nico,
1. Никак, в игре лимит 7 человек.
2. Вводишь чит SJMAHPE и нанимай кого хочешь. Есть еще опкод

Код
0631: put_actor 1@ in_group $PLAYER_GROUP


Он нанимает актера 1@ в группу игрока $PLAYER_GROUP.
Если у педа изначально не было оружия, то он будет безоружным. А если хочешь выдать ему оружие, то вот опкод

Код
Actor.GiveWeaponAndAmmo(20@, 28, 2000)

где 20@ - хендл актера (переменная актера)
28 - номер оружия (есть в справке по SB)
2000 - кол-во патронов


Сообщение отредактировал RuXman - Пятница, 18.10.2013, 15:26
 
 
Nico Дата: Понедельник, 07.10.2013, 16:18 | Сообщение # 3662
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
RuXman, Я вот рылся в Памяти немного Нашёл чего то ))
Я тут пару скриптов создал 
передовать оружие Норм работает

А есть ли прога для проверки скрипта когда ОН вылетает Я тут слышал что можно вычислить в скрипте опкод Из за которого вылетает
 
 
dim1988 Дата: Понедельник, 07.10.2013, 16:21 | Сообщение # 3663
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата (RuXman)
У меня в скрипте 20 моделей. Их можно загрузить сразу в начале скрипта или будет лучше загружать их непосредственно перед использованием? Как будет лучше?

Наверное, можно и в начале. Если будут проблемы, попробуй второй вариант.

Ты же про синюю линию спрашивал. Если ещё надо, то вот опкод:
04F7: status_text $1924 type 0 line 1 GXT 'BB_18'


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Nico Дата: Понедельник, 07.10.2013, 16:23 | Сообщение # 3664
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
dim1988, А ты знаешь опкод чтобы Нанять больше 7 челов в банду?
 
 
dim1988 Дата: Понедельник, 07.10.2013, 16:25 | Сообщение # 3665
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата (Nico)
А есть ли прога для проверки скрипта когда ОН вылетает Я тут слышал что можно вычислить в скрипте опкод Из за которого вылетает

Не совсем. Есть такой плагин - SCMLog, он записывает все опкоды, используемые игрой. По логике, какой опкод записан последним, из-за того и вылетело, но на практике не всегда так получается, причины вылета может быть не в опкоде, либо документ просто не сохранится.
Скачать можно здесь.
http://cleo.sannybuilder.com/


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
dim1988 Дата: Понедельник, 07.10.2013, 16:26 | Сообщение # 3666
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата (Nico)
А ты знаешь опкод чтобы Нанять больше 7 челов в банду?

По-моему, больше нельзя, это предел.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Nico Дата: Понедельник, 07.10.2013, 16:27 | Сообщение # 3667
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
Цитата (dim1988)
http://cleo.sannybuilder.com/
Я зашёл на сайт куда дальше?
просто не понятно
 
 
RuXman Дата: Понедельник, 07.10.2013, 16:27 | Сообщение # 3668
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата (Nico)
04F7: status_text $1924 type 0 line 1 GXT 'BB_18

Спасибо, то что надо!
 
 
Nico Дата: Понедельник, 07.10.2013, 16:32 | Сообщение # 3669
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
Цитата (dim1988)
По-моему, больше нельзя, это предел.
А ну ок тогда Тогда Опкод у себя поищу )

Добавлено (07.10.2013, 16:29)
---------------------------------------------
а не всё Нашёл спасибо )


Сообщение отредактировал Nico - Понедельник, 07.10.2013, 16:40
 
 
RuXman Дата: Вторник, 08.10.2013, 13:41 | Сообщение # 3670
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Я делаю мини-клео миссию. На протяжении всей миссии нужно чтобы мой друг не погиб, как это сделать, чтобы проверка была всегда? Иначе там будет 50 проверок, умер ли актер...
 
 
Nico Дата: Вторник, 08.10.2013, 16:23 | Сообщение # 3671
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
А куда кинуть файлы ??
scmlog.ini
scmlog.cleo
 
 
RuXman Дата: Вторник, 08.10.2013, 16:30 | Сообщение # 3672
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата (Nico)
А куда кинуть файлы ?? scmlog.ini
scmlog.cleo

Ну думаю в папку с CLEO....
 
 
dim1988 Дата: Вторник, 08.10.2013, 17:57 | Сообщение # 3673
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата (RuXman)
Я делаю мини-клео миссию. На протяжении всей миссии нужно чтобы мой друг не погиб, как это сделать, чтобы проверка была всегда? Иначе там будет 50 проверок, умер ли актер...

Ну, придётся с этими 50 проверками. Только ничего себе мини-миссия, если у тебя там столько раз надо проверять.

Цитата (Nico)
А куда кинуть файлы ??
scmlog.ini
scmlog.cleo

В папку клео. Когда запустишь игру, там же создастся текстовый файл, куда и будут записываться используемы опкоды.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
Nico Дата: Вторник, 08.10.2013, 18:32 | Сообщение # 3674
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline
dim1988, Тперь Иногда тупит ИГРА
 
 
dim1988 Дата: Среда, 09.10.2013, 21:10 | Сообщение # 3675
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Nico, конкретный вопрос - конкретный ответ.

Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Суббота, 12.10.2013, 15:50 | Сообщение # 3676
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата
Ну, придётся с этими 50 проверками.

Жаль...
Цитата
Только ничего себе мини-миссия, если у тебя там столько раз надо проверять.
Да это я образно сказал)

Добавлено (12.10.2013, 15:50)
---------------------------------------------
Как метнуть объект в определенные координаты? Мне нужно чтобы он летел в ту сторону, куда повернута моя машина. Я взял координаты машины с офсетом 50, записал их в переменные, но как только дело доходит до метания, объект просто напросто исчезает.  Как только я не пытался.... у меня получается метать объект в одном направлении. То есть, объект будет бросаться в одну сторону, независимо от того, в какую сторону я повернулся.

Сообщение отредактировал RuXman - Суббота, 12.10.2013, 11:37
 
 
dim1988 Дата: Суббота, 12.10.2013, 16:29 | Сообщение # 3677
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Чтоб метнуть объект, нужно использовать коды
Object.ToggleInMovingList(0@) = True // вносит объект в список движений
Object.Throw(0@, 1@. 2@. 3@) // метает объект

0@ - объект.
1@ - сила удала по объекту, т.е. на сколько метров объект отлетит по оси X.
2@ - то же самое, но для оси Y.
3@ - для оси Z, т.е. насколько высоко взлетит объект.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Суббота, 12.10.2013, 18:01 | Сообщение # 3678
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Использую, всё ок. Но наверное проблема в том, что я этот объект к тачке цепляю, а потом отцепляю, поэтому и сбой какой-то происходит...
 
 
dim1988 Дата: Суббота, 12.10.2013, 18:14 | Сообщение # 3679
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата RuXman ()
Использую, всё ок. Но наверное проблема в том, что я этот объект к тачке цепляю, а потом отцепляю, поэтому и сбой какой-то происходит...

Попробуй прицепленный объект удалить, а вместо него создать новый.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Суббота, 12.10.2013, 19:24 | Сообщение # 3680
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата dim1988 ()
Попробуй прицепленный объект удалить, а вместо него создать новый.
А вот это идея! Спасибо!

Да и кстати. Я тут ищу ближайшую дорогу, ставлю на неё тачку, в тачку 4 баласа. Сделал чтобы тачка ко мне ехала, а чтобы еще быстрей было, применил опкод:

Код
00A8: set_car 9@ to_psycho_driver

Дальше нет смысла рассказывать суть скрипта, так как эти четыре барана едут по любой дороге хрен пойми куда. И главное по правилам.
Как сделать чтобы машина правилам не подчинялась? И почему координаты точки даны (куда надо приехать), а этот упёртый баран едет по-своему?

Добавлено (12.10.2013, 19:24)
---------------------------------------------
Игра ведь обязана подчиняться скрипту, машина просто обязана приехать куда надо!

Сообщение отредактировал RuXman - Суббота, 12.10.2013, 19:23
 
 
dim1988 Дата: Суббота, 12.10.2013, 22:04 | Сообщение # 3681
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата RuXman ()
Дальше нет смысла рассказывать суть скрипта, так как эти четыре барана едут по любой дороге хрен пойми куда. И главное по правилам.
Как сделать чтобы машина правилам не подчинялась? И почему координаты точки даны (куда надо приехать), а этот упёртый баран едет по-своему?

Покажи код, может там что-то надо переделать.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Воскресенье, 13.10.2013, 05:53 | Сообщение # 3682
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Вот


Прикрепления: 9231089.cs (19.9 Kb)
 
 
dim1988 Дата: Воскресенье, 13.10.2013, 11:11 | Сообщение # 3683
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Что-то не открывается.

Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Воскресенье, 13.10.2013, 11:55 | Сообщение # 3684
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
А так?
Прикрепления: 7040529.txt (2.2 Kb)
 
 
dim1988 Дата: Воскресенье, 13.10.2013, 17:10 | Сообщение # 3685
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Я не знаю, в чём дело. Вроде я так же делал, и у меня всё работало. Может, это из-за водителя-психа? Попробуй вместо 00A8: использовать 00AE: set_car 9@ traffic_behaviour_to 2

И ещё учти, что если у тебя скрипт доходит до кода Car.RemoveReferences(9@), то это удаляет все сведения об автомобиле, и он больше не будет ехать к указанным координатам.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Вторник, 15.10.2013, 15:12 | Сообщение # 3686
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата dim1988 ()
Попробуй вместо 00A8: использовать 00AE: set_car 9@ traffic_behaviour_to 2
Да, спасибо, помогло)

Цитата dim1988 ()
И ещё учти, что если у тебя скрипт доходит до кода Car.RemoveReferences(9@), то это удаляет все сведения об автомобиле, и он больше не будет ехать к указанным координатам
Ок, учту

А можно ли сделать, чтобы пункт в панели (менюшки) был как бы недоступен, пока не выполнятся все условия?

Добавлено (15.10.2013, 15:12)
---------------------------------------------
И еще, мне не хватает в скрипте переменных... можно ли использовать глобальные переменные? Говорят не рекомендуется, но мне очень надо)

 
 
dim1988 Дата: Вторник, 15.10.2013, 16:21 | Сообщение # 3687
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата RuXman ()
И еще, мне не хватает в скрипте переменных... можно ли использовать глобальные переменные? Говорят не рекомендуется, но мне очень надо)

Ну да, не рекомендуется, но вроде обычно ничего плохого не происходит, если их используют.
Но одни и те же локальные переменные можно использовать несколько раз, если в них не записано то, чем ещё нужно управлять на данном участке скрипта. Допустим, если в переменную 0@ ты записал хэндл актёра, то пока ты не удалишь все сведения об актёре, в эту переменную больше ничего записывать не надо. Но если, к примеру, ты использовал её только для того, чтоб записать в неё координату, и это значение больше не нужно, то эту переменную можно использовать повторно.

Цитата RuXman ()
А можно ли сделать, чтобы пункт в панели (менюшки) был как бы недоступен, пока не выполнятся все условия?

В какой панели? В таблице, как те, в которых был список одежды? А тебе надо чтоб строка вообще не была видна или чтоб её просто нельзя было выбрать?


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Вторник, 15.10.2013, 16:44 | Сообщение # 3688
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Ладно, для начала попытаюсь использовать локальные переменные как можно компактней, чтобы использовать их по нескольку раз. Ну а если что, буду глобальные использовать.

Цитата dim1988 ()
В таблице, как те, в которых был список одежды? А тебе надо чтоб строка вообще не была видна или чтоб её просто нельзя было выбрать?
Да, в той самой. Нужно чтобы её нельзя было выбрать. По-моему в игре я такое видел... точно не помню)
 
 
dim1988 Дата: Вторник, 15.10.2013, 19:25 | Сообщение # 3689
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline
Цитата RuXman ()
Нужно чтобы её нельзя было выбрать. По-моему в игре я такое видел... точно не помню)

Тогда не знаю, надо мэйн изучать.
Либо можно написать код так, что если игрок выберет эту строку, то потом начинается проверка условий, и если они не выполнены, то код не идёт дальше.


Mortal Kombat Conquest for GTA SA V2.0
GTA Invasion V2.0
Частная собственность
 
 
RuXman Дата: Среда, 16.10.2013, 15:48 | Сообщение # 3690
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline
Цитата dim1988 ()
Тогда не знаю, надо мэйн изучать. Либо можно написать код так, что если игрок выберет эту строку, то потом начинается проверка условий, и если они не выполнены, то код не идёт дальше.
Ну нет, так нет. Не хочу себе голову лишний раз морочить. =)

Не получается сложить и вычесть.
Даны координаты игрока, мне нужно из координаты X (допустим =30) вычесть число 15 (это получится одна переменная). Затем к этому же иксу прибавить 15. В итоге должны получиться две переменные, допустим 1@ = 15     2@ = 45. Какими опкодами это можно сделать. Я пытался, но игра не реагирует на мои расчеты.... наверное потому, что я использую не те опкоды. Координата это ведь дробное число? Вот например X = 22.0421... дробное ведь...


Сообщение отредактировал RuXman - Среда, 16.10.2013, 15:49
 
 
Поиск:

Copyright dim1988 aka d88 © 2026
Сайт управляется системой uCoz