Семь Футов под Килем
Форма входа
 
Приветствуем тебя, корсар Юнга!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!
Логин:
Пароль:


Купить игры
 




Чат
 
500


Статистика
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Страница 1 из 141231314»
Модератор форума: NikK 
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Всего по чуть-чуть.
Всего по чуть-чуть.
Igorek-96Дата: Суббота, 28.05.2011, 16:00 | Сообщение # 1
Мичман
Группа: Корсар
Сообщений: 102
Награды: 5
Репутация: 23
Статус: В открытом море
В этом уроке рассмотрим мелкие, но возможно некоторым очень нужные детали: что и как изменяется в разных скриптах.


1.Для тех, кто делает аддон, пригодится следующее: изменение версии и названия игры в нижнем правом углу меню, начальный год игры и т.д. Скрипты такого плана хранятся в PROGRAMMS/_LSC_on_off.h

2. Новая озвучка. К примеру, вы создали нового НПС с именем "MouNPC" и хотите добавить ему озвучку. Для этого, помещаем в папку RESOURCE/Sounds/VOICE\Russian ваш звук в формате wav с названием MouNPC, а в файле RESOURCE/INI/aliases/russian/Greetings_alias.ini вставляем строки (советую вставлять их в самом конце)

Code
[Gr_MouNPC]
minDistance = 0.45
maxDistance = 50.0
volume = 1.0
name = VOICE\Russian\MouNPC.wav


И не забудьте, что в скрипте с самим НПС должна быть строчка

ch.greeting = "Gr_MouNPC";

3. Возможно об этом уже говорилось, так что извините за повтор. Рассмотрим добавление скиллов к предметам.

Открываем файл .../Корсары Город Потерянных кораблей/PROGRAM/characters/RPGUtilite

Находи строки:


Это прописанны скиллы к предметам.

допустим у вас предмет с ID "My111". Соответственно, вставляете эти две строки:

// itmname_My111 {Мой личный предмет}
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_FORTUNE, "My111", 1);

Если нужно добавить, что б у предмета было скиллы двух разновидностей, соответственно:

// itmname_My111 {Мой личный предмет}
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_FORTUNE, "My111", 1);
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_LEADERSHIP, "My111", 1);

И что бы все правильно с пробелами:

// itmname_jewelry8 {Bronze Ring} +1 удача
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_FORTUNE, "jewelry8", 1);

// itmname_My111 {Мой личный предмет}
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_FORTUNE, "My111", 1);

// Идол Пикахуатла +1 удача
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_FORTUNE, "indian7", 1);

// Weird Animal Figurine (-1 авторитет)
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_LEADERSHIP, "indian2", -1);

Теперь, насчет названий и кол-ва:

Там где SKILL_LEADERSHIP вместо LEADERSHIP вставляете нужное (к какому скиллу добавляется)



теперь собственно по клличеству.

skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_LEADERSHIP, "indian2", -1);

в конце стоит -1. Значит, у предмета -10 авторитет. Если поставить -5, то соответственно будет -50 авторитет. Если поставить 9, то будет 90. и так далее.

Вот пример, допустим предмету +20 авторитет и +10 удача, но -50 пистолеты.

// itmname_My111 {Мой личный предмет}
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_LEADERSHIP, "My111", 2);
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_FORTUNE, "My111", 1);
skillN = skillN + SetCharacterSkillByItem(_refCharacter, skillName, SKILL_PISTOL, "My111", -5);

Кстати если прописывать описание в 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
Джин-БейнДата: Пятница, 09.09.2011, 08:08 | Сообщение # 2
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
А где обрабатывать мысли в слух? Я зделал свой дом с сундуком,где барахло не проподает, хочу сделать там и начевку. Какие скрипты за это отвечают?

korsary4Дата: Пятница, 09.09.2011, 09:16 | Сообщение # 3
Адмирал
Группа: Администратор
Сообщений: 5124
Награды: 475
Репутация: 1659
Статус: В открытом море
Quote (Джин-Бейн)
А где обрабатывать мысли в слух?

Файл PROGRAM\dialogs\russian\MainHero_dialog.c
кейс TalkSelf_Main



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
Джин-БейнДата: Пятница, 09.09.2011, 17:53 | Сообщение # 4
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Quote (korsary4)
Файл PROGRAM\dialogs\russian\MainHero_dialog.c
кейс TalkSelf_Main

Спасибо. Но как мне сделать, чтоб он ночевал в нужной мне комнате???
Т.е. какой скрипт отвечает за вызов мыслей в слух?




Сообщение отредактировал Джин-Бейн - Пятница, 09.09.2011, 17:55
DrXakepДата: Суббота, 10.09.2011, 19:42 | Сообщение # 5
Матрос
Группа: Корсар
Сообщений: 27
Награды: 1
Репутация: 2
Статус: В открытом море
Вот:
Code
StartActorSelfDialog("Some Case");

Some Case поменять на свой
Это если нужно вызвать мысли вслух в любом месте кода. Если Вам нужно через Enter (типа "что бы мне сейчас хотелось сбацать?"), то в MainHero_dialog.c организвать проверочку на локацию, в данном случе - ваш дом


Сообщение отредактировал DrXakep - Суббота, 10.09.2011, 19:44
Джин-БейнДата: Воскресенье, 11.09.2011, 00:50 | Сообщение # 6
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Quote (DrXakep)
Это если нужно вызвать мысли вслух в любом месте кода. Если Вам нужно через Enter (типа "что бы мне сейчас хотелось сбацать?"), то в MainHero_dialog.c организвать проверочку на локацию, в данном случе - ваш дом

А по подробней про проверочку? (я тока начинающий скриптер)

Добавлено (10.09.2011, 23:38)
---------------------------------------------
Вот кусочек кода из КПС


Куда мне вставить "My_House"

Добавлено (11.09.2011, 00:39)
---------------------------------------------
Вопрос отпадает. У меня получилось. Спасибо за помощь. -give_rose-

Добавлено (11.09.2011, 00:50)
---------------------------------------------
Еще вопрос. У кого есть инфа как загрузить в игру скрипт, тем у кого нет папки Програмс. Я читал на одном форуме как это сделать, но увы нигде не сохранил написаное, щас этой темы там нет, ее удалили. У меня готов скрипт на отличную карту и я готов его выложить. Осталось тока написать в редми, как загрузить скрипт в игру, для тех у кого нет папки Програмс и я готов выложить работу для скачивания.




Сообщение отредактировал Джин-Бейн - Суббота, 10.09.2011, 23:34
DrXakepДата: Воскресенье, 11.09.2011, 14:35 | Сообщение # 7
Матрос
Группа: Корсар
Сообщений: 27
Награды: 1
Репутация: 2
Статус: В открытом море
Да, была тема на ГК, но ее удалили... Нужно создать папку "program", закинуть файл в эту папку и через окно отладки (F5) вызвать метод "LoadSegment". Пишу по памяти, можно найти файл, где есть эта строчка и по его примеру замутить свое.

Нашел, в seadogs.c есть метод
Code
LoadSegment("Interface\BaseInterface.c")

Т.е. будет выглядеть примерно так:
Code
LoadSegment("Файл относительно папки program")


Добавлено (11.09.2011, 14:35)
---------------------------------------------
Quote (Джин-Бейн)
я тока начинающий скриптер

Я тоже)))

Еще попутный вопрос: В 1.2 закрыто окно отладки, а т.к. скрипты открыты думаю можно заставить его открыться, только никак не могу найти (если бы тупо закомментировали строчку, было бы просто, но в коде на эту клавшиу забиндено Log_Info с текстом "Test F5 Button", или как-то так) Скорее всего просто удалили строчку, поэтому кто знает, как открыть окно отладки?


Сообщение отредактировал DrXakep - Воскресенье, 11.09.2011, 16:19
Джин-БейнДата: Вторник, 13.09.2011, 05:34 | Сообщение # 8
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Quote (DrXakep)
Т.е. будет выглядеть примерно так:
Кусочек кода
LoadSegment("Файл относительно папки program")

Очередной раз спасибо. И последний вапрос. Я не совсем понял, (я про окно отладчика) что прописывать в левой колонке, а что в правой?

Quote (DrXakep)
т.к. скрипты открыты думаю можно заставить его открыться,

Ооо было бы не плохо Pirat6 Очень удобно для проведения тестов.


DrXakepДата: Вторник, 13.09.2011, 14:41 | Сообщение # 9
Матрос
Группа: Корсар
Сообщений: 27
Награды: 1
Репутация: 2
Статус: В открытом море
Quote (Джин-Бейн)
что прописывать в левой колонке, а что в правой?

Смотри. В левой колонке пишешь некоторую функцию, а в правой колонке будет показано то, что возвратила эта функция(это основы процедурного программирования). Или же можно слева написать имя переменной, например iTemp (или же ветку(не знаю, как здесь зовется), например pchar.ship.type). При этом в правой колонке появится значения переменной, и можно его изменить

Если с программированием не сталкивался, то представь, что есть какой-то чел, он может сделать ТОЛЬКО одно дело. Ты например, просишь его: "Назови мне производителя пятого по счету компьютера слева". Он тебе отвечает "Depo". Тоже самое, например функция string ReturnBrandNameByID(int order) возвратит тебе в правой колонке некоторую строку. ReturnBrandNameByID(5) возвратит "Depo"(в моем примере)

Пример может не очень удачный Pirat6


Сообщение отредактировал DrXakep - Вторник, 13.09.2011, 14:49
Джин-БейнДата: Вторник, 20.09.2011, 10:02 | Сообщение # 10
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Quote (DrXakep)
Если с программированием не сталкивался, то представь, что есть какой-то чел, он может сделать ТОЛЬКО одно дело. Ты например, просишь его: "Назови мне производителя пятого по счету компьютера слева". Он тебе отвечает "Depo". Тоже самое, например функция string ReturnBrandNameByID(int order) возвратит тебе в правой колонке некоторую строку. ReturnBrandNameByID(5) возвратит "Depo"(в моем примере)

OldPirat Немного путанно. но будем пробовать. -drinks-




Сообщение отредактировал Джин-Бейн - Вторник, 20.09.2011, 10:04
BabДата: Вторник, 20.09.2011, 13:30 | Сообщение # 11
Мичман
Группа: Пират
Сообщений: 89
Награды: 7
Репутация: 12
Статус: В открытом море
Помогите разобраться, как прописать патруль в джунглях в смысле изменить уже существующий.
Джин-БейнДата: Вторник, 20.09.2011, 13:41 | Сообщение # 12
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Bab, Посмотри там: \Корсары Город Потерянных Кораблей\PROGRAM\quests\quests_reaction.c

BabДата: Вторник, 20.09.2011, 14:23 | Сообщение # 13
Мичман
Группа: Пират
Сообщений: 89
Награды: 7
Репутация: 12
Статус: В открытом море
Спасибо, нашла строка 1533, здесь описание действий патруля, а где собственно его свойства описаны, герои ,их ранг, оружие.
Джин-БейнДата: Вторник, 20.09.2011, 14:30 | Сообщение # 14
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
А что ты задумала??? Характеристики ГГ в файле PROGRAM\characters\characters_init.c



Сообщение отредактировал Джин-Бейн - Вторник, 20.09.2011, 14:31
BabДата: Вторник, 20.09.2011, 15:03 | Сообщение # 15
Мичман
Группа: Пират
Сообщений: 89
Награды: 7
Репутация: 12
Статус: В открытом море
Quote (Джин-Бейн)
А что ты задумала??? Характеристики ГГ в файле PROGRAM\characters\characters_init.c

Сделать в патруле двух мушкетчиков и добавить солдат что-бы всего было семь.

В characters_init.c общее описание персонажей, где-то должно быть описание самого патруля мне так кажется.


Сообщение отредактировал Bab - Вторник, 20.09.2011, 15:09
Джин-БейнДата: Вторник, 20.09.2011, 15:12 | Сообщение # 16
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Жестко. Как мне кажется количество солдат, по моему генерится, в зависимости от того, один ГГ или с офами и скока их у тебя с собой.

Добавлено (20.09.2011, 15:10)
---------------------------------------------
Попробуй найти мушкетеров, через поиск в проге Notepad++ Как я понял скрипты ты смотриш через нее.

Добавлено (20.09.2011, 15:12)
---------------------------------------------
Пропиши в поиске название модели мушкетера. Мож и найдеш что тебе надо. OldPirat


BabДата: Вторник, 20.09.2011, 15:18 | Сообщение # 17
Мичман
Группа: Пират
Сообщений: 89
Награды: 7
Репутация: 12
Статус: В открытом море
Нет патруль всегда три содата и один мушкетчик, не зависит от уровня сложности и количества офов.
Джин-БейнДата: Вторник, 20.09.2011, 20:49 | Сообщение # 18
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Обращаюсь к DrXakep
Quote (Джин-Бейн)
Да, была тема на ГК, но ее удалили... Нужно создать папку "program", закинуть файл в эту папку и через окно отладки (F5) вызвать метод "LoadSegment". Пишу по памяти, можно найти файл, где есть эта строчка и по его примеру замутить свое.

В общем попробовал, ни че не вышло. В левой колонке пишу "LoadSegment("PROGRSM\Interface\BaseInterface.c")" правой колонке пишет ноль, скрипт не грузится ()проверено) и при переключении из окна отладки в игру выкидывает из игры. До этого тоже выкидывало, при переключении через Tab. У тебя точного описания не осталос с того форума, как загрузить свой скрипт?




Сообщение отредактировал Джин-Бейн - Вторник, 20.09.2011, 20:53
DrXakepДата: Вторник, 20.09.2011, 21:51 | Сообщение # 19
Матрос
Группа: Корсар
Сообщений: 27
Награды: 1
Репутация: 2
Статус: В открытом море
Quote (Джин-Бейн)
У тебя точного описания не осталос с того форума

Если пошаманить, то может и найду кешированную копию страницы ГК.
Quote (Джин-Бейн)
LoadSegment("PROGRSM\Interface\BaseInterface.c")

Думаю проблема в этом, т.к. нужно указывать путь относительно папки PROGRAM, а не установочной директории. Т.е. вид должен быть такой:
Code

LoadSegment("\Interface\BaseInterface.c")

или
Code

LoadSegment("Interface\BaseInterface.c")

Скорее первый вариант
ПС Они отличаются слешем в начале пути файла

Добавлено (20.09.2011, 21:51)
---------------------------------------------
_Скрипты_ К_ГПК-Вопросы по кодингу - Страница 4 - Форум сайта '_Гавань_ _Ко
_Скрипты_ К_ГПК-Вопросы по кодингу - Форум сайта '_Гавань_ _Корсаров_'.mht


Сообщение отредактировал DrXakep - Вторник, 20.09.2011, 21:57
Джин-БейнДата: Вторник, 20.09.2011, 21:54 | Сообщение # 20
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1024
Награды: 38
Репутация: 174
Статус: В открытом море
Quote (DrXakep)
Скорее первый вариант ПС Они отличаются слешем в начале пути файла

Первыы раз я пробовал печатать LoadSegment("Interface\BaseInterface.c") в правой калонке прописывало, что то типа invaled ну тоесть не прокатило конкретно пишет.
Quote (DrXakep)
Если пошаманить, то может и найду кешированную копию страницы ГК.

Пошамань пожалуйста а.

Добавлено (20.09.2011, 21:53)
---------------------------------------------
О ща гляну ссылки

Добавлено (20.09.2011, 21:54)
---------------------------------------------
Не работают ссылки пишет Bad Request


Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Всего по чуть-чуть.
Страница 1 из 141231314»
Поиск:

Copyright Pirates-Life.Ru © 2008-2016


Семь Футов под Килем - Бухта Корсаров и Пиратов!