|
Вопросы по созданию модификаций
| |
Nathaniel | Дата: Понедельник, 25.01.2016, 12:10 | Сообщение # 1781 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата ШЕЛЕН ( ) я не знаю,как мне понравившиеся идеи должны работать! А между тем, именно это - постановка конкретной задачи! - и очень важно! Если Вы хотите, чтобы Вам помогли - распишите подробно: что и как должно работать, а как - не должно. Иначе Вам могут посоветовать совсем не то, что Вам нужно...
Я согласен с тем, что написал Mett - это делается довольно просто. В первом случае - просто ограничить количество кораблей. Во втором - изменить принцип начисления НЗГ.
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
ШЕЛЕН | Дата: Вторник, 26.01.2016, 06:28 | Сообщение # 1782 |
Мичман
Группа: Корсар
Сообщений: 85
Награды: 0
Репутация: 11
Статус: В открытом море
| Цитата Nathaniel ( ) В первом случае - просто ограничить количество кораблей. Во втором - изменить принцип начисления НЗГ. Хорошо, тогда вот мои вопросы! 1.Как ограничить максимальное количество кораблей в ОЗГ, допустим до 5 ед.?К примеру до 20 тыс. награды один корабль,до 40 тыс. уже два,ну и т.д., чтобы к 100 тыс. награды было 5 кораблей!! 2.Как изменить принцип начисления НЗГ?А именно если не остаются свидетели, то и нет начисления награды.
|
|
| |
Nathaniel | Дата: Вторник, 26.01.2016, 11:20 | Сообщение # 1783 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата ШЕЛЕН ( ) Как ограничить максимальное количество кораблей в ОЗГ, допустим до 5 ед.? Откройте файл \program\scripts\bountyhunters.c, там найдётся несколько функций генерации этих самых ОЗГ. Сначала рассмотрим SeaHunterCheck() и её содержимое...
Код for (i = 1; i <= 7; i++) { sld = GetCharacter(NPC_GenerateCharacter(sCapId + i, "off_hol_2", "man", "man", 5, j, 20, true)); SetShipHunter(sld); ..... ..... sld.mapEnc.type = "war"; sld.mapEnc.Name = "охотники за головами"; }
Обратите внимание на то, что часть кода я вырезал, заменив его многоточием. Это не существенно... Обратите внимание на первый цикл и заданное в нём количество повторений - от 1 до 7. Вот это и есть именно то количество, которое будет генерировать игра. Кроме того, можете подправить там желаемые параметры NPC - крутость, ранги, количество боеприпасов и остальные параметры...
То же самое ищете и в теле функции LandHunterReactionResult() по желанию...
Цитата ШЕЛЕН ( ) Как изменить принцип начисления НЗГ? Частично это можно сделать в этом же файле... В теле функции LandHunterReactionResult() есть строчки типа:
Код pchar.HunterCost = abs(ChangeCharacterNationReputation(pchar, j, 0)); pchar.HunterCost = makeint(PChar.HunterCost)*2000 + rand(5000); Можно изменить цифры или переписать эту формулу.
Теперь можете воспользоваться поиском по ключевым словам и найти файл, в котором ведётся расчёт НЗГ... Я обычно ищу строку типа: "награду за Вашу голову" в папке со скриптами. В итоге, нашёлся один файл RPGUtiilite.c, а в нём функция ChangeCharacterHunterScore() - там можно "навести свой порядок" и поменять формулы. Можно даже изменить размер максимальной и минимальной НЗГ.
Теперь вбиваете в поиск название этой же самой функции, но без скобочек. Дожидаетесь окончания поиска и видите примерно такой результат...
Это все те файлы, откуда эта функция вызывается для изменения НЗГ! Открываете каждый из них (разумеется, кроме текстовых) и ищете там место, откуда вызывается эта функция. Убираете или изменяете её местоположение или условие, из которого она вызывается. Надеюсь, понятно?
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Вторник, 26.01.2016, 11:22 |
|
| |
ШЕЛЕН | Дата: Вторник, 26.01.2016, 21:20 | Сообщение # 1784 |
Мичман
Группа: Корсар
Сообщений: 85
Награды: 0
Репутация: 11
Статус: В открытом море
| Цитата Nathaniel ( ) Надеюсь, понятно? О-о да!! Большой мерси!!
|
|
| |
SIG | Дата: Воскресенье, 31.01.2016, 09:36 | Сообщение # 1785 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 3
Репутация: 5
Статус: В открытом море
| Как найти папку программ в Корсарах ПС 1.01.0112. Все облазил не нашел или как достать из игры хотел изменить скорость Монавра ???
WQR
|
|
| |
Mett | Дата: Воскресенье, 31.01.2016, 09:47 | Сообщение # 1786 |
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
| SIG, а КПС папка program скрыта
Что толку, если не можешь сделать мир лучше.
|
|
| |
SIG | Дата: Воскресенье, 31.01.2016, 10:12 | Сообщение # 1787 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 3
Репутация: 5
Статус: В открытом море
| Походу что скрыта как открыть ??? Добавлено (31.01.2016, 10:12) --------------------------------------------- Кто не будь помогите найти PROGRAM в кпс 1.01.0112 ?
WQR
|
|
| |
Джин-Бейн | Дата: Воскресенье, 31.01.2016, 12:12 | Сообщение # 1788 |
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды: 40
Репутация: 197
Статус: В открытом море
| Вряд ли тебе тут помогут, эта тема табу, разве что только если кто в личку напишет.
|
|
| |
SIG | Дата: Вторник, 02.02.2016, 21:55 | Сообщение # 1789 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 3
Репутация: 5
Статус: В открытом море
| Подскажите КПС хочу сделать у Летучего голанца что бы пушки были 42калибр а не 32 пробовал чеоез ships сделать не получается ?
WQR
|
|
| |
Nathaniel | Дата: Вторник, 02.02.2016, 22:20 | Сообщение # 1790 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата SIG ( ) хочу сделать у Летучего голанца что бы пушки были 42калибр а не 32 Калибр и прочие параметры корабля, выгруженного в скриптовый сценарий конкретного квеста, нужно менять в том же файле, где описан и сам сценарий. В К:ГПК 1.2.12 этот квест и корабль инициализируются в файле \program\scripts\treasure.c в GhostShipInit() и GhostShipOnMap(), в теле этих двух функций. Где описан квест в К:ПС - я не знаю. Но, возможно, там же...
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
SIG | Дата: Вторник, 02.02.2016, 22:22 | Сообщение # 1791 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 3
Репутация: 5
Статус: В открытом море
| Спасибо буду искать
WQR
|
|
| |
korsary4 | Дата: Вторник, 02.02.2016, 22:48 | Сообщение # 1792 |
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
| Никто случайно не смотрел, как определять какая погода в данной локации? Ну и там такие параметры как дождь, шторм. Из-за некоторой специфики локации, в такую погоду не надо будет грузить людей в определенные места. Поэтому за подсказку по условиям буду благодарен.
Единственное, что можно сказать об удаче с уверенностью — она изменит. --------
|
|
| |
Nathaniel | Дата: Вторник, 02.02.2016, 23:11 | Сообщение # 1793 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата korsary4 ( ) Из-за некоторой специфики локации, в такую погоду не надо будет грузить людей в определенные места Кстати, отличная идея! Меня давным-давно напрягает обилие горожан на улицах во время жуткого шторма на суше!..
Сам я таких условий не находил... Сам хочу найти... Но вот интересно - можно ли, например, ввести в игру какие-нибудь глобальные переменные, скажем, логического или целочисленного типа. Которые при запуске определённого типа погоды будут принимать заданные значения. И потом по квестам проверять их значения?..
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
Nathaniel | Дата: Вторник, 02.02.2016, 23:39 | Сообщение # 1794 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата korsary4 ( ) Кому тоже будет интересно, смотрите вот эту переменную Но это ведь только для проверки дождя... А если я, например, захочу проверить грозу, смерч в море (опасно же выходить в море в такую погоду) или мёртвый штиль?..
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
korsary4 | Дата: Вторник, 02.02.2016, 23:43 | Сообщение # 1795 |
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
| Nathaniel, ой, я свое сообщение удалил уже))
Цитата Nathaniel ( ) грозу, смерч В них дождь должен иметь место быть) Для шторма есть bWeatherIsStorm
Про штиль, не пойму что ты именно имеешь ввиду. Тогда смотреть по самой погоде в локации, которая в данный момент.
Единственное, что можно сказать об удаче с уверенностью — она изменит. --------
|
|
| |
Mett | Дата: Среда, 03.02.2016, 18:24 | Сообщение # 1796 |
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
| Цитата korsary4 ( ) Никто случайно не смотрел, как определять какая погода в данной локации? Ну и там такие параметры как дождь, шторм. Из-за некоторой специфики локации, в такую погоду не надо будет грузить людей в определенные места. Поэтому за подсказку по условиям буду благодарен. проверить какой сейчас час потом найти в массиве погоды этот час и проверять на разные атрибуты
Код Weathers[n].Storm = false; Weathers[n].Tornado = false; Weathers[n].Shark = true; Weathers[n].Lights = 0; Weathers[n].Night = false;
и проверить
Код Weathers[n].Rain.NumDrops = 0; если капелек больше 0, то какой-никакой дождь да есть
Что толку, если не можешь сделать мир лучше.
|
|
| |
SIG | Дата: Четверг, 04.02.2016, 10:53 | Сообщение # 1797 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 3
Репутация: 5
Статус: В открытом море
| Подскажите пожалуйста какой файл в ПРОГРАММ отвечает за улучшение каробля на верфи Бермодов ?
WQR
|
|
| |
Nathaniel | Дата: Четверг, 04.02.2016, 11:57 | Сообщение # 1798 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата SIG ( ) улучшение каробля на верфи \program\dialogs\russian\shipyard\Pirates_Shipyard.c
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
SIG | Дата: Четверг, 04.02.2016, 12:12 | Сообщение # 1799 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 3
Репутация: 5
Статус: В открытом море
| Спасибо
Добавлено (04.02.2016, 12:12) --------------------------------------------- КАК добавить 48калибр в игру что бы продавалось верфи ? Сами они есть в игре . Пробывал прописывать InitGoods выдает ошибку .
WQR
Сообщение отредактировал SIG - Четверг, 04.02.2016, 12:18 |
|
| |
Nathaniel | Дата: Четверг, 04.02.2016, 12:26 | Сообщение # 1800 |
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
| Цитата SIG ( ) Пробывал прописывать InitGoods Этого явно недостаточно... Пушки должны ещё и логически стать пушками 48-го калибра. Для этого...
Их нужно прописать: - в файле cannons.c внутри функции GetCannonByTypeAndCaliber() в кейсах "cannon" и(или) "culverine"; - в файле ispyglass.c внутри функции SetSpyGlassData() в условии вывода наименования калибра на экран; - проверить наличие соответствующей записи в заголовочном файле cannons.h и в теле функции GetCannonCaliber(); - в файле InitGoods проверить правильность, должно быть так:
Код Goods[GOOD_CANNON_48].Name = "Cannon_48"; Goods[GOOD_CANNON_48].CannonIdx = CANNON_TYPE_CANNON_LBS48; Goods[GOOD_CANNON_48].Cost = Cannon[CANNON_TYPE_CANNON_LBS48].Cost; Goods[GOOD_CANNON_48].Weight = Cannon[CANNON_TYPE_CANNON_LBS48].Weight; Goods[GOOD_CANNON_48].Units = 1; Goods[GOOD_CANNON_48].AfraidWater = 0; Goods[GOOD_CANNON_48].type = TRADE_TYPE_CANNONS; Goods[GOOD_CANNON_48].canbecontraband = 0; Goods[GOOD_CANNON_48].FireRange = Cannon[CANNON_TYPE_CANNON_LBS48].FireRange; Goods[GOOD_CANNON_48].DamageMultiply = Cannon[CANNON_TYPE_CANNON_LBS48].DamageMultiply; Goods[GOOD_CANNON_48].ReloadTime = sti(GetCannonReloadTime(&Cannon[CANNON_TYPE_CANNON_LBS48]));
Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
|
|
| |
|