тогда будет нелогично собирать колечки да цепочки с крабов
Зачем тогда их добавлять? Для халявы? ))) Я однажды поставил этот мини-мод, погонял крабов... Не понравилось... Скорость замедлил, текстуру перерисовал... Всё равно не понравилось, атмосферы мало... Не знаю как для К:ГПК, но для ККС точно не в тему, как мне кажется... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Среда, 29.01.2014, 01:13
я с такой мод у себя тоже не ставил только в КПС с крабами играл)
но если бы я портировал такое к себе, то сделал бы свой персональный лут для крабов - например клешни или что-нибудь в таком роде) Что толку, если не можешь сделать мир лучше.
Mett, Nathaniel, не знаю почему, но у меня кулаки у дохлых крабов не выпадают. Они пустые. Не помню че я уже поменял в коде, но кулаков не выпадает. Я бы даже лучше ввернул им новый итем: "крабье мясо" либо "крабий панцирь", не как пищу персам, а как ингредиент для какого-нибудь рецепта. На этом можно будет делать некоторые бабки по началу игры, сбывая торгашам, а после приобретения рецепта - создавать какую-нибудь дельную штуку, в комбе с каким-нибудь кораллом, серебряным стаканом и хз чем еще. )
Добавлено (29.01.2014, 14:23) --------------------------------------------- Но это понятно не всем нравится, возиться с этим. Знаю некоторых, кого К:КС поначалу вообще дико взбесил, и именно своими танцами с бубном. А мне так нравится что-то шаманить в игре.) - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Сообщение отредактировал Reboroda - Среда, 29.01.2014, 14:26
Я бы даже лучше ввернул им новый итем: "крабье мясо" либо "крабий панцирь"
Так сделайте: - добавьте нужный предмет в инвентарь; - пропишите им sld.SaveItemsForDead = true;
Должно работать!..
ЦитатаReboroda ()
мне так нравится что-то шаманить в игре
А кому не нравится! Сам копаюсь в скриптах разных игр серии с 2005 года, начиная с ПКМ и заканчивая ККС. Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Сообщение отредактировал Nathaniel - Среда, 29.01.2014, 14:33
Согласен, для К:КС крабы не катят. Как-то глуповато это, тем более если нападают на ГГ. Поменял им кстати пол на man, а то crab делает их атаки ядовитыми.)
...Упс. У них теперь здоровья как у людей прибавилось! Придется обратно краба прописывать. - Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Сообщение отредактировал Reboroda - Среда, 29.01.2014, 15:06
сначала что-то делаешь, чтоб потом поиграть, а потом понимаешь, что делаешь ради того, чтоб делать.
Точно. Раньше я не понимал ту касту умельцев, что сидела в нашем клубе в стороне, не резалась в мультиплеерные и тд, и пускала посмотреть свои наработки "раз в месяц по четвергам", а в остальном - посылала подальше. Теперь меня самого затянуло в это дело по уши. извиняюсь.
Добавлено (29.01.2014, 20:02) --------------------------------------------- В завершение крабьей темы: мои текстуры для пляжных крабов. yandex Теперь они болотно-зеленого цвета, для разнообразия. Перекопировал с фотки краба в фотопе.
- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться? - Да я вообще только одним глазком...
Сообщение отредактировал Reboroda - Среда, 29.01.2014, 15:38
Многие из вас, я думаю, помнят "фишку" из ВМЛ. Можно было нажать на клавиатуре функциональную кнопку и бегать сколько влезет по локации, зафиксировав камеру в одной точке. Нашёл способ отвязать камеру от ГГ, что называется, "малой кровью", без излишней рутины с камерой...
Вот скриншоты!..
Как сделал... В файле MainHero_dialog.c прописал две простые функции.
Код
Link.l10 = RandPhraseSimple("Не сейчас. Нет времени.", "Некогда. Дела ждут."); Link.l10.go = "exit";
link.l15 = "Перенести устаревшие записи в архив в судовом журнале!"; link.l15.go = "Close_SB";
link.l16 = "Погулять по местности!"; link.l16.go = "FreeWalk";
link.l17 = "Установить камеру на себя!"; link.l17.go = "SetCameraOnMe";
Первая функция задаёт саму возможность "погулять" по местности в пределах экрана. Вторая отменяет этот режим. Можно было, конечно, всё это на кнопку привязать, но я не очень умею это делать...
Ниже сами простенькие функции, прописанные внутри switch(Dialog.CurrentNode):
Код
case "FreeWalk": DialogExit(); break; case "SetCameraOnMe": DialogExit_Self(); break;
Буду признателен тому, кто мне разъяснит способ, с помощью которого можно всё это запилить на кнопки и усовершенствовать... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Nathaniel, чтоб действия к кнопкам привязать нужно дописывать функцию void ProcessControls() она в файле seadogs.c там есть свич где прописаны названия для кнопок
я бы делал так: один кейс для управления камерой булом задал проверку на привязку к ГГ/свободную камеру бул лучше бцудет вынести в глобальные переменные case "xxx": if(булево значение) { //отвязать камеру }else{ //привязать камеру } break;
дальше нужно править файл controls_init.c
CI_CreateAndSetControls( "", "название кейса", CI_GetKeyCode("VK_F11"), 0, false ); первые кавычки - группа клавиш (в данном случае пустые) вторые кавычки - название кейса в ProcessControls дальше задаешь кнопку последние два значения уже не помню, надо смореть в коде функции Что толку, если не можешь сделать мир лучше.
Безусловно, так лучше... Но я не умею вообще назначать управление на кнопки... Тысячу раз пытался, у меня игра намертво останавливается практически всегда. Очевидно, где-то чего-то не дописываю или неверно задаю... В особенности не разобрался именно в процедуре [i]CI_CreateAndSetControls(), почему и решил сделать через меню диалогов.
Но спасибо, нужно разобраться и попытаться ещё раз!..
ЦитатаMett ()
первые кавычки - группа клавиш (в данном случае пустые)
Но что из себя представляет вот эта "группа клавиш"? Допустим, я не хочу назначать кнопку на ряд функциональных клавиш F1 - F12, а задать, к примеру, другую? Прошу прощения за, быть может, тупые вопросы, но я действительно в настройки кнопок ещё не лез вообще. Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
Но что из себя представляет вот эта "группа клавиш"?
их несколько типов: 1. клавиши на суше 2. клавиши в море от 1-ого лица 3. клавиши в море от 3-его лица 4. клавиши для глобалки 5. интерфейсные 6. диалоговые
а список всех доступных клавиш для использования находится в самом низу файла Что толку, если не можешь сделать мир лучше.
Наверное, некоторые из вас замечали уже не раз, что при потоплении корабля фортом или другим судном в лог выводится записи вроде: - "корабль <название> был потоплен <имя>"; - "корабль <название> был потоплен форт <название>";
Без склонений, без разделения текста в логе в случае потопления фортом или другим кораблём... Меня, например, это не устроило (предпочитаю писать грамотно) и я решил это дело переписать...
Результат: - "корабль <название> был потоплен капитаном по имени <имя>"; - "корабль <название> был потоплен гарнизоном форта <название_колонии>";
Необходимое условие: названия фортов в указанном файле и в файле common.ini должны быть идентичны!
Установка: - открыть \program\sea_ai\aiship.c; - найти процедуру ShipDead(); - найти секцию Ship sunk log; - сделать резервную копию файла aiship.с; - скопировать содержимое файла, прикреплённого к этому сообщению, и заменить секцию Ship sunk log; - играть (новая игра не требуется);
На этот раз хотелось бы рассказать немного о "тушении" оставшихся "на века" от индейцев и бандитов костров в локациях игры К:КС... Очень уж долго это явление действовало мне на нервы. В связи с этим решено было добавить в MainHero_dialog.c небольшую процедуру...
Решение нашлось не сразу... Чего только не перепробовал: и локатор обновлял, и пытался удалить партикл огня, и пытался создать новый партикл...
Итак, как же это сделать, если вы играете со скриптами игры К:КС? Оказывается, до неприличия просто... Можно, например, открыть файл MainHero_dialog.c и вписать в главный кейс дополнительную ветку для диалога. У меня она получилась восьмой по счёту.
Код
link.l8 = "Погасить брошенный костёр на этой местности..."; link.l8.go = "fire_off";
Теперь ниже можно создать (хотя бы в самом низу файла) вот такой кейс...
Код
case "fire_off": dialog.text = "Хорошо... У меня как раз есть с собой бутылка с водой. Пригодится..."; link.l1 = "Приступим!"; link.l1.go = "fire_off_1"; // антураж PlayStereoSound("ambient\tavern\krujki_001.wav"); PlayStereoSound("ambient\tavern\naliv_003.wav"); break;
case "fire_off_1": DialogExit_Self();
// основной блок ref rFire = &Locations[FindLocation(pchar.location)]; DeleteAttribute(rFire, "fire");
// эта процедура необходима, чтобы не менять локацию DeleteParticles();
// антураж WaitDate("", 0, 0, 0, 0, 10); break;
И всё. Сохраняйте файл, запускайте игру и гасите оставшиеся от индейцев и бандитов костры по всем Карибам... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!
В ККС, многие фразы озвучки уличных торговцев не подходят для отображения ситуации: общение ГГ - торговец. Торгаши словно обращаются к толпе, а не к нам. Этот момент напомнил мне, что давным-давно, копаясь в скриптах ГПК, я набрёл на заинтересовавшую меня фичу. Но мне лень было искать подходящие звуки и я благополучно забил на это. А в ККС нужные звуковые ресурсы есть!
К сути: в файле PROGRAM\Loc_ai\types\LAi_merchant.c ищем функцию:
void LAi_type_merchant_Ask(aref chr).
Вместо строчки LAi_CharacterPlaySound(chr, "merchant");, пишем:
Код
if(rand(100) < 5) // добавим рандома, чтобы часто не орали { if (chr.sex == "man") LAi_CharacterPlaySound(chr, "item_trader_man"); // разбитие по половому признаку else LAi_CharacterPlaySound(chr, "item_trader_woman"); }
Функция целиком:
Код
//Проиграть анимацию зазывания покупанелей void LAi_type_merchant_Ask(aref chr) { //Выбираем анимацию string animation; switch(rand(2)) { case 0: if (chr.sex == "man") animation = "Merchant_invite"; else animation = "dialog_stay2"; break; case 1: animation = "dialog_stay4"; break; case 2: animation = "dialog_stay5"; break; } LAi_tmpl_ani_PlayAnimation(chr, animation, 2.0 + frand(2.0)); //Выбираем проигрываемый звук if(rand(100) < 5) // добавим рандома, чтобы часто не орали { if (chr.sex == "man") LAi_CharacterPlaySound(chr, "item_trader_man"); // разбитие по половому признаку else LAi_CharacterPlaySound(chr, "item_trader_woman"); } }
item_trader_man(мужские голоса) и item_trader_woman(женские) добавляем в любой .ini файл, используемый игрой(для порядка, в sound_alias.ini). Заполняем эти секции подходящими файлами из ККС, или других игр. Подбираем уровни звука и расстояния. Всё.
Приятно, например, пробегая по торговой площади Бриджтауна, краем уха слышать: "Спешите! Только сегодня, over9000 товаров по цене over8999'ти!". С частотой воспроизведения главное не перемудрить...
Сообщение отредактировал PirateModder - Вторник, 26.08.2014, 21:47
Если вдруг вы решили добавь солдат в город, или поменять их модельки, а также поменять или добавить модели при абордаже, вот как это можно сделать. Открываем файл nations_init.с путь program\nations и видим такой код;
Это, код для Англичан, далее в файле есть все остальные нации. Добавим солдат в город. Копируем строку
Код
rNation.fantomModel.m9 = "sold_eng_8";
И меняем m9 на m10, m11 и т.д. в зависимости, сколько солдат добавляете. А чтобы сменить модель солдата, меняете sold_eng_8 на имя другой модели, которую желаете. Все модели можно найти в папке RESOURCE\MODELS\Characters
С абордажем почти тоже самое, только там все завязано на анимации боя. Это, к тому, что, если добавляете на абордаж женские модели, убедитесь, что у них есть соответствующая анимация, иначе, модель будет дербанить во все стороны. Итак, копируем строки
Меняем m10 на m11, m12 и т.д.в зависимости сколько моделей добавляем, саму модель меняем как и в первом случае. Меняете sold_eng_8 на имя другой модели, и если вы выбрали женскую модель, то во второй строке пишите woman, а если модель мужская, то оставте все как есть.
Джин-Бейн, дык это же обычные геометрические функции в двиге ГПК их нет, поэтому я написал скриптовый аналог, вдруг для каких-нибудь расчетов пригодится мне они уже не надо, вот и выложил тут Что толку, если не можешь сделать мир лучше.
А что тут понимать? Те, кто в школе прилежно учил алгебру, геометрию и тригонометрию, всё прекрасно поймут. Функцию определения арксинуса я и сам писал аналогичным образом, ибо в логе постоянно ошибка вылезает: "Неопределённая функция..." (её действительно нет в двиге), а она нужна для расчётов. По тем же соображениям, изучаемым ещё в средней школе.
Mett, я могу ошибаться, но в первом случае числитель и знаменатель надо поменять местами...
Со второй пока не разбирался... Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор. Но я не нашёл там никого, кто не был бы моим другом!