Вопросы по созданию скриптов
| |
dim1988 |
Дата: Воскресенье, 19.07.2009, 18:43 | Сообщение # 1 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Ответы на самые часто задаваемые вопросы
Как сохранить (компилировать) скрипт? Почему не следует использовать в клео скриптах глобальные переменные? Как узнать координаты мест, через какую прогу? Как поместить игрока в интерьер? Опкод, который открывает все дома в СА Запись в переменную ближайшего педа и проверка его модели Как заставить актёров ходить по определённым координатам Проверка нажатия определённой клавиши Пак пути с анимацией Как сделать так, чтоб 2 миссии следовали друг за другом? Как актёру дать оружие? Как создать транспорт Как создать жёлтый маркер для входа в интерьер? При компиляции выдаёт ошибку перехода на нулевой оффсет,что это и как исправить? Как транспорту присвоить определённый цвет? Что делать если пишет ожидалось 'x' параметров? Как написать цветной текст? Номера костей актёра Что такое gosub? Опкоды, связанные с созданием огня Как изменить оружие банд? Образец добавления в игру объектов Проверка нажатия клавиши в игре и список значений Путь или scmpath Как изменить цвет затемнения экрана? Как записать в переменную случайное число из интервала Список стилей боя Как привязать эффект к кости актёра? Как произвести действия, над педами, созданными игрой Как заменить модель игрока Как заставить актёра поднять руки, как при аресте Сброс анимации Как метнуть объект? Как из одного скрипта запустить другой?
+ файл от пользователя нашего сайта Absolute . Здесь перечислены все вопросы из этой этой темы и ответы на них. Скачать |
|
| |
RuXman |
Дата: Понедельник, 03.03.2014, 09:15 | Сообщение # 3871 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Цитата dim1988 ( ) для чего тебе это нужно? Это долго объяснять... как только у меня получится завершить свой скрипт, я выложу весь код и объясню тебе для чего мне это нужно. |
|
| |
Jin |
Дата: Понедельник, 03.03.2014, 09:56 | Сообщение # 3872 |
Группа: Друзья
Сообщений: 193
Замечания: 0%
Статус: Offline |
RuXman, Просто использование циклов и вообще высоко-уровневого языка упрощает код и кстать часто увиливает скорость выполнения кода. Ну а так да, можно теже циклы и на метках написать, вообщем то СБ это и делает после компиляции кода.В метках можно запутаться когда их много. Добавлено (03.03.2014, 09:56) --------------------------------------------- И кстать 7 циклов не обязательно делать, можно было сделать 1 цикл на все 7 действий.
Скачать альбом Лумен-Лучшее(2008) Скачать Хиты Европы Плюс(2000-2010) |
|
| |
RuXman |
Дата: Понедельник, 03.03.2014, 11:28 | Сообщение # 3873 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Цитата Jin ( ) И кстать 7 циклов не обязательно делать, можно было сделать 1 цикл на все 7 действий. Я скрипт почти доделал и не очень охота его переписывать) |
|
| |
Artalus |
Дата: Понедельник, 10.03.2014, 00:15 | Сообщение # 3874 |
Группа: Пользователи
Сообщений: 26
Замечания: 0%
Статус: Offline |
1. Требуется определить, когда актёр начинает размахивать руками при разговоре (в основном это одногрувники понтующиеся после успешного убийства) и пресечь это каким-либо образом. Если пресекание можно осуществить хоть телепортацией на 0.1 координаты вверх, то вот с автоматическим определенеим перепробовал всё, 0611: actor 0@ performing_animation "IDLE_chat" не работает - практика показала что размахивание руками на ходу это ВООБЩЕ не анимация, а чёрт знает что... Help, anyone?.. 2. Можно ли как-нибудь получить хендл педа, в которого целится\стреляет\атакует актёр (НЕ игрок)? Грубоговоря, 0A96: 1@ = actor 0@ struct 000A: 1@ += 1234 //адрес по которому лежит указатель на цель, например 0A8D: 2@ = read_memory 1@ size 4 virtual_protect 0 0AEA: 3@ = actor_struct 2@ handle 05BE: AS_kill_actor 3@ |
|
| |
dim1988 |
Дата: Понедельник, 10.03.2014, 14:01 | Сообщение # 3875 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Цитата Artalus ( ) 0611: actor 0@ performing_animation "IDLE_chat" не работает А ты пробовал проверять другие анимации? В файле GANGS тоже есть анимации разговора, может, актёр выполняет какие-то из них? Насчёт пресекания - есть опкоды 05B9: AS_actor -1 stay_idle 1 ms 0792: disembark_instantly_actor $PLAYER_ACTOR Первый останавливает плавно, но не всегда срабатывает. Второй сбрасывает все анимации, но резко.
Цитата Artalus ( ) Можно ли как-нибудь получить хендл педа, в которого целится\стреляет\атакует актёр (НЕ игрок)? Есть такой срипт обидчика http://sannybuilder.com/forums/viewtopic.php?id=250
Там указатель смещения по структуре такой - 0x764. Хотя в описании говорится, что это указатель на педа, который убил этого педа. Может, он и здесь подойдёт? Либо можно перебирать всех ближайших актёров и проверять, получили ли они повреждение от конкретного педа.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Artalus |
Дата: Понедельник, 10.03.2014, 22:34 | Сообщение # 3876 |
Группа: Пользователи
Сообщений: 26
Замечания: 0%
Статус: Offline |
Цитата dim1988 ( ) Либо можно перебирать всех ближайших актёров и проверять, получили ли они повреждение от конкретного педа. небольшая проблема - у меня нет возможности изучать анимации лично, ввиду отсутствия какого-либо их просмотрщика) IDLE_chat нашёл где-то в интернетах, а потом друг подтвердил что-де да, есть такая анимация.
Цитата dim1988 ( ) Либо можно перебирать всех ближайших актёров и проверять, получили ли они повреждение от конкретного педа. Самое простое, но мимо - мне нужно перехватывать именно "намерение" актёра1 атаковать актёра2, и заменять обычный актёр1 AS_attack актёр2 на хитрый алгоритм, в результате которого актёр1 будет стрелять в актёра2 длинными очередями, и с большего расстояния при наличии дальнобойного оружия. собственно алгоритм то уже есть, но пока для него игроку нужно вручную "подсвечивать" требуемую цель - я же хочу чтобы алгоритм включался каждый раз когда актёр1 решит кого-то атаковать.
//edit: форум СБ упорно не открывается, но со смещением 0х764 при случае попробую поработать
Сообщение отредактировал Artalus - Понедельник, 10.03.2014, 22:35 |
|
| |
dim1988 |
Дата: Вторник, 11.03.2014, 12:01 | Сообщение # 3877 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Цитата Artalus ( ) небольшая проблема - у меня нет возможности изучать анимации лично, ввиду отсутствия какого-либо их просмотрщика
Анимации удобно просматривать с помощью Anim Manager. http://gtascriptd88.ucoz.ru/Anim_Manager.rar
Цитата Artalus ( ) я же хочу чтобы алгоритм включался каждый раз когда актёр1 решит кого-то атаковать. Помнится, можно сделать проверку на событие актёра, собирается ли он кого-либо атаковать. Но при этом остаётся неизвестно, кого именно атаковать.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
RuXman |
Дата: Суббота, 15.03.2014, 15:46 | Сообщение # 3878 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Здрасте! У меня такой вопрос... Я пытаюсь сложить стринговые переменные (в качестве эксперимента), вот часть кода, в ней вся суть скрипта:
Доступно только для пользователей
И так, скрипт должен прочитать 5 строк в ини файле. В первой строке значение 1, во второй 2 и т.д. Первые 3 раза скрипт складывает переменные нормально, но на 4 раз всё время вылетает. Почему он не может сложить четвертый раз? Вот еще скрин с того самого ини файла: |
|
| |
dim1988 |
Дата: Суббота, 15.03.2014, 16:42 | Сообщение # 3879 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
RuXman, не знаю, не в теме. Эксперимента ради - попробуй 13@s заменить на глобальную стринговую переменную.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
RuXman |
Дата: Суббота, 15.03.2014, 17:22 | Сообщение # 3880 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Цитата dim1988 ( ) Эксперимента ради - попробуй 13@s заменить на глобальную стринговую переменную. Ты просто ГЕНИЙ!!! Спасибо большое! Все работает без вылетов! Ты мне очень помог)
Сообщение отредактировал RuXman - Суббота, 15.03.2014, 17:23 |
|
| |
dim1988 |
Дата: Суббота, 15.03.2014, 17:46 | Сообщение # 3881 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Цитата RuXman ( ) Ты просто ГЕНИЙ!!! Просто я подумал, что возможно, в локальную переменную не удаётся записать столько информации.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
RuXman |
Дата: Воскресенье, 16.03.2014, 06:52 | Сообщение # 3882 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Text-BOX. В игре выскакивают черные окошки с текстом, называемые текст-боксом. Для их создания есть не один опкод. Но я так и не нашел, как создать такой box, чтобы он брал текст из FXT файла? |
|
| |
dim1988 |
Дата: Воскресенье, 16.03.2014, 10:51 | Сообщение # 3883 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Цитата RuXman ( ) как создать такой box, чтобы он брал текст из FXT файла? Опкодом 03E5:.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
RuXman |
Дата: Суббота, 24.05.2014, 11:28 | Сообщение # 3884 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Всем привет! Недавно поучаствовал в гонках в GTA SA и решил попробовать сделать свою. Единственное чего я не понял, это как сделать табличку, которая отображает позицию игрока и номер круга. Она в игре есть, а как её сделать в своем скрипте не знаю... Подскажите как быть? |
|
| |
Nico |
Дата: Суббота, 07.06.2014, 17:33 | Сообщение # 3885 |
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline |
Здаров всем кто меня помнит =) , я тут столкнулся со скриптом вообщем, не могу сменить педа после лечении его, когда я его лечу Например КОПА то он не остаётся копом а стоновится обычным педом, подскажите что мне нужно изменить в нём чтобы он остался как есть
|
|
| |
dim1988 |
Дата: Суббота, 07.06.2014, 23:06 | Сообщение # 3886 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Nico, поищи этот скрипт в интернете, его давно уже сделали.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Nico |
Дата: Воскресенье, 08.06.2014, 21:34 | Сообщение # 3887 |
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline |
dim1988, Нашёл скрипт под названием "CJ Врач" там пишется: Тип педов сохраняется после лечения Но когда я лечу нифига не сохраняется в чём тут проблема? позыркай чё за опкод мешает
Сообщение отредактировал Nico - Понедельник, 09.06.2014, 18:57 |
|
| |
RuXman |
Дата: Понедельник, 28.07.2014, 05:50 | Сообщение # 3888 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Тут все просто... Если у педа отнять допустим 50 хп, а потом скриптом восстановить ему здоровье, то всё будет нормально. А ты собрался лечить убитых педов, когда в игре убивают человека, игра автоматически стирает о нём все сведения, включая его педтип. Тот скрипт, который ты закинул, основан не на лечении убитого педа, а на создании нового. Вот в чем проблема: Код 11@ = Actor.Create(CivMale, 2@, 22@, 23@, 24@) У тебя в скрипте вечно будет создаваться актер с педтипом CivMale. На данный момент я могу предложить тебе написать проверку модели актера, если модель копа - значит переходим на ту часть скрипта где будет создаваться коп. Но есть проблема... проверок будет много... ведь есть несколько видов банд, есть проститутки, бомжи и т.д. И в каждой группе актеров по несколько моделей скина. Пока больше ничего в голову не лезет как решить эту проблему... только так.Добавлено (28.07.2014, 05:50) --------------------------------------------- У меня проблема. Вот допустим у меня есть 2 скрипта. Они должны работать одновременно. Если я засуну их в 1 файл, то будет выполняться только 1 скрип, потому что на выполнение второго просто не остается времени.
Вопрос: как в 1 файле скрипта запустить сразу 2 скрипта? Возможно ли такое без внешних скриптов?
Сообщение отредактировал RuXman - Суббота, 26.07.2014, 14:50 |
|
| |
dim1988 |
Дата: Понедельник, 28.07.2014, 11:54 | Сообщение # 3889 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Цитата RuXman ( ) Вопрос: как в 1 файле скрипта запустить сразу 2 скрипта? Возможно ли такое без внешних скриптов? Смотря какие скрипты. Можно изменить переходы на метки так, чтобы они стали одним скриптом. Но они ведь могут мешать друг другу. Если в одном из скриптов, например, будет ожидание, второй в это время не будет работать. Или переменные могут спутаться, если они у обоих скриптов общие.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
RuXman |
Дата: Суббота, 02.08.2014, 19:48 | Сообщение # 3890 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Что происходит? Игра вылетает при выполнении опкода Код 0AE2: 0@ = random_vehicle_near_point 5@ 6@ 7@ in_radius 10.0 find_next 1 pass_wrecked 1 //IF and SET Причем не важно куда я запихну этот опкод, как только игра до него доходит, то сразу же вылетает. Хотя раньше работал на ура! |
|
| |
dim1988 |
Дата: Воскресенье, 03.08.2014, 11:52 | Сообщение # 3891 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
RuXman, клео 4 установлена?
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
RuXman |
Дата: Вторник, 12.08.2014, 11:56 | Сообщение # 3892 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
Цитата dim1988 ( ) клео 4 установлена? Да, я разобрался в чем причина. Либо клео дает сбой при выполнении данного опкода, либо санни билдер не так компилирует. Переустановил несколько версий клео и билдела и все заработало.
Добавлено (12.08.2014, 11:56) --------------------------------------------- Как добавить в игру модель, а потом поставить её на карту с помощью клео? При компиляции санни билдер выдает ошибку и просит id модели, а я не знаю как её узнать.
Сообщение отредактировал RuXman - Вторник, 12.08.2014, 12:00 |
|
| |
dim1988 |
Дата: Среда, 13.08.2014, 21:46 | Сообщение # 3893 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Цитата RuXman ( ) а я не знаю как её узнать. Ты сам должен его прописать в каком-нибудь файле .ide из папки maps. Там первый параметр - id, потом название модели, потом название текстуры, следующий, если не ошибаюсь, дальность виденья, последний - что-то связанное с отображением текстуры.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Nico |
Дата: Пятница, 22.08.2014, 21:38 | Сообщение # 3894 |
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline |
Здарово всем, я тут позабыл 1 мелочь, хочу изменить модель игрока(скин) но незнаю как называется txd и dff в gta3.img |
|
| |
RuXman |
Дата: Суббота, 23.08.2014, 15:40 | Сообщение # 3895 |
Группа: Проверенные
Сообщений: 109
Замечания: 0%
Статус: Offline |
1) Можно поменять скин игрока с помощью скрипта на любой скин, который есть в игре. Id и названия всех моделей можно вычислить, написав простенький скрипт или же зайти в интернет (там сразу найдешь) 2) А вот если ты хочешь заменить модель игрока без помощи скриптов, то есть заменить dff и txd файлы СJ, то тебе нужно не gta3.img, а в player.img, если мне не изменяет память, то именно там они и хранятся. Но этот способ довольно таки трудоёмкий, тут недостаточно просто заменить 2 файла, как в случае с обычным педом. Так что уточни свой вопрос, что именно тебе нужно.
Добавлено (23.08.2014, 15:40) --------------------------------------------- А вообще модель и текстуры игрока называются player.dff player.txd
Сообщение отредактировал RuXman - Суббота, 23.08.2014, 15:41 |
|
| |
Nico |
Дата: Суббота, 23.08.2014, 19:23 | Сообщение # 3896 |
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline |
Ладно , думаю пока не буду нечего трогать, но спс за совет |
|
| |
dim1988 |
Дата: Воскресенье, 24.08.2014, 13:06 | Сообщение # 3897 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Для просмотра моделей в gta3.img можно воспользоваться PedEditor’ом или ещё какой-нибудь программой. Правда, в PedEditor’е видно только тех, кто прописан в peds.ide, т.е. специальных актёров там нет.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Nico |
Дата: Воскресенье, 24.08.2014, 15:34 | Сообщение # 3898 |
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline |
dim1988, эти все проги у меня есть
Добавлено (24.08.2014, 15:34) --------------------------------------------- У меня вот вопрос, знаете ли вы Педа(2pac) и как сделать так чтобы он не боялся, я просто в скрипте сделал его бандитом(ped type), но когда я его вызываю и происходят выстрелы или его бьют он убегает и ссыт, где изменить его характер? чтобы не ссал
Сообщение отредактировал Nico - Воскресенье, 24.08.2014, 15:38 |
|
| |
dim1988 |
Дата: Воскресенье, 24.08.2014, 16:06 | Сообщение # 3899 |
Создатель
Группа: Администраторы
Сообщений: 2242
Статус: Offline |
Посмотри здесь.
Mortal Kombat Conquest for GTA SA V2.0 GTA Invasion V2.0 Частная собственность |
|
| |
Nico |
Дата: Воскресенье, 24.08.2014, 16:44 | Сообщение # 3900 |
Группа: Проверенные
Сообщений: 91
Замечания: 0%
Статус: Offline |
dim1988, спс, а куда вставить то строчку? в скрипте (DM 3)
|
|
| |
|