В этом уроке рассмотрим мелкие, но возможно некоторым очень нужные детали: что и как изменяется в разных скриптах.
1.Для тех, кто делает аддон, пригодится следующее: изменение версии и названия игры в нижнем правом углу меню, начальный год игры и т.д. Скрипты такого плана хранятся в PROGRAMMS/_LSC_on_off.h
2. Новая озвучка. К примеру, вы создали нового НПС с именем "MouNPC" и хотите добавить ему озвучку. Для этого, помещаем в папку RESOURCE/Sounds/VOICE\Russian ваш звук в формате wav с названием MouNPC, а в файле RESOURCE/INI/aliases/russian/Greetings_alias.ini вставляем строки (советую вставлять их в самом конце)
в конце стоит -1. Значит, у предмета -10 авторитет. Если поставить -5, то соответственно будет -50 авторитет. Если поставить 9, то будет 90. и так далее.
Вот пример, допустим предмету +20 авторитет и +10 удача, но -50 пистолеты.
Кстати если прописывать описание в ItemsDescribe, то нужно обязательно писать: (+10 авторитет) ну или что там. Говорю потому, что допустим мы же не прописываем урон пистолета в описании, он прописывается сам.
4. Не знаю, нужно или нет, но мож кому-нить пригодится: изменим движение чаек, акул, бабочек и "чего-то" еще, сам не знаю))))
Открывайте RESOURCE/INI/animals.ini и изменяйте любые значения. Вот, что обозначают некоторые из них:
angle speed /////скорость height ///// высота circle time /////время кружения (короче, сколько летают) count ///// кол-во radius /////радиус их передвижения
Ну, и вообщем, seagulls-это чайки, sharks-акулы, butterflies-бабочки. Эксперементируйте)))
5. Теперь изменим любой текст игры: т.е., к примеру, самая легка сложность игры-матрос, а вы хотите переименовать в..."легко". Все скрипты такого типа находятся в RESOURCE/INI/texts/russian/
Вот, какие описание где хранятся:
AbilityDescribe.txt ////- описания перков; commands_name.txt ////- команды "причалить", "отчалить" и т.д.; common.ini ////- куча всего остального; ControlsNames.txt ////- настройки игры; MapDescribe.txt ////- описание карт; RPGDescribe.txt ////- РПГ описание; RumourTexts.txt ////- слухи;
Статью подготовил Igorek-96. Будут вопросы - задавайте!
Сообщение отредактировал Igorek-96 - Суббота, 28.05.2011, 16:03
Some Case поменять на свой Это если нужно вызвать мысли вслух в любом месте кода. Если Вам нужно через Enter (типа "что бы мне сейчас хотелось сбацать?"), то в MainHero_dialog.c организвать проверочку на локацию, в данном случе - ваш дом
Сообщение отредактировал DrXakep - Суббота, 10.09.2011, 19:44
Это если нужно вызвать мысли вслух в любом месте кода. Если Вам нужно через Enter (типа "что бы мне сейчас хотелось сбацать?"), то в MainHero_dialog.c организвать проверочку на локацию, в данном случе - ваш дом
А по подробней про проверочку? (я тока начинающий скриптер)
Добавлено (10.09.2011, 23:38) --------------------------------------------- Вот кусочек кода из КПС
//navy <-- Dialog.Text = RandPhraseSimple("Хм... Что бы мне сейчас хотелось сделать?", "Чем бы заняться?"); bool bGGHovernor = PChar.location == "Caiman_townhall" && PChar.ColonyBuilding.Hovernor == PChar.id; bool bInCabin = !bDisableMapEnter && PChar.location == Get_My_Cabin(); bool bInPearlHouse = PChar.location == "PearlTown1_House1" && PChar.DestinyGift.PearlVillageLive == true;
if (bInCabin || bGGHovernor || bInPearlHouse) { if (makeint(environment.time) >= 22.0 || makeint(environment.time) < 10.0) { link.l1 = "Отдыхать до утра."; link.l1.go = "TalkSelf_room_day"; } else { link.l1 = "Отдыхать до ночи."; link.l1.go = "TalkSelf_room_night"; link.l2 = "Отдыхать до следующего утра."; link.l2.go = "TalkSelf_room_day"; }
Куда мне вставить "My_House"
Добавлено (11.09.2011, 00:39) --------------------------------------------- Вопрос отпадает. У меня получилось. Спасибо за помощь.
Добавлено (11.09.2011, 00:50) --------------------------------------------- Еще вопрос. У кого есть инфа как загрузить в игру скрипт, тем у кого нет папки Програмс. Я читал на одном форуме как это сделать, но увы нигде не сохранил написаное, щас этой темы там нет, ее удалили. У меня готов скрипт на отличную карту и я готов его выложить. Осталось тока написать в редми, как загрузить скрипт в игру, для тех у кого нет папки Програмс и я готов выложить работу для скачивания.
Сообщение отредактировал Джин-Бейн - Суббота, 10.09.2011, 23:34
Да, была тема на ГК, но ее удалили... Нужно создать папку "program", закинуть файл в эту папку и через окно отладки (F5) вызвать метод "LoadSegment". Пишу по памяти, можно найти файл, где есть эта строчка и по его примеру замутить свое.
Еще попутный вопрос: В 1.2 закрыто окно отладки, а т.к. скрипты открыты думаю можно заставить его открыться, только никак не могу найти (если бы тупо закомментировали строчку, было бы просто, но в коде на эту клавшиу забиндено Log_Info с текстом "Test F5 Button", или как-то так) Скорее всего просто удалили строчку, поэтому кто знает, как открыть окно отладки?
Сообщение отредактировал DrXakep - Воскресенье, 11.09.2011, 16:19
Смотри. В левой колонке пишешь некоторую функцию, а в правой колонке будет показано то, что возвратила эта функция(это основы процедурного программирования). Или же можно слева написать имя переменной, например iTemp (или же ветку(не знаю, как здесь зовется), например pchar.ship.type). При этом в правой колонке появится значения переменной, и можно его изменить
Если с программированием не сталкивался, то представь, что есть какой-то чел, он может сделать ТОЛЬКО одно дело. Ты например, просишь его: "Назови мне производителя пятого по счету компьютера слева". Он тебе отвечает "Depo". Тоже самое, например функция string ReturnBrandNameByID(int order) возвратит тебе в правой колонке некоторую строку. ReturnBrandNameByID(5) возвратит "Depo"(в моем примере)
Пример может не очень удачный
Сообщение отредактировал DrXakep - Вторник, 13.09.2011, 14:49
Если с программированием не сталкивался, то представь, что есть какой-то чел, он может сделать ТОЛЬКО одно дело. Ты например, просишь его: "Назови мне производителя пятого по счету компьютера слева". Он тебе отвечает "Depo". Тоже самое, например функция string ReturnBrandNameByID(int order) возвратит тебе в правой колонке некоторую строку. ReturnBrandNameByID(5) возвратит "Depo"(в моем примере)
Немного путанно. но будем пробовать.
Сообщение отредактировал Джин-Бейн - Вторник, 20.09.2011, 10:04
Жестко. Как мне кажется количество солдат, по моему генерится, в зависимости от того, один ГГ или с офами и скока их у тебя с собой.
Добавлено (20.09.2011, 15:10) --------------------------------------------- Попробуй найти мушкетеров, через поиск в проге Notepad++ Как я понял скрипты ты смотриш через нее.
Добавлено (20.09.2011, 15:12) --------------------------------------------- Пропиши в поиске название модели мушкетера. Мож и найдеш что тебе надо.
Да, была тема на ГК, но ее удалили... Нужно создать папку "program", закинуть файл в эту папку и через окно отладки (F5) вызвать метод "LoadSegment". Пишу по памяти, можно найти файл, где есть эта строчка и по его примеру замутить свое.
В общем попробовал, ни че не вышло. В левой колонке пишу "LoadSegment("PROGRSM\Interface\BaseInterface.c")" правой колонке пишет ноль, скрипт не грузится ()проверено) и при переключении из окна отладки в игру выкидывает из игры. До этого тоже выкидывало, при переключении через Tab. У тебя точного описания не осталос с того форума, как загрузить свой скрипт?
Сообщение отредактировал Джин-Бейн - Вторник, 20.09.2011, 20:53
Скорее первый вариант ПС Они отличаются слешем в начале пути файла
Первыы раз я пробовал печатать LoadSegment("Interface\BaseInterface.c") в правой калонке прописывало, что то типа invaled ну тоесть не прокатило конкретно пишет.
Quote (DrXakep)
Если пошаманить, то может и найду кешированную копию страницы ГК.
Пошамань пожалуйста а.
Добавлено (20.09.2011, 21:53) --------------------------------------------- О ща гляну ссылки
Добавлено (20.09.2011, 21:54) --------------------------------------------- Не работают ссылки пишет Bad Request