|
Вопросы по созданию модификаций
| |
mcleod-s | Дата: Воскресенье, 31.05.2020, 22:52 | Сообщение # 2441 |
Матрос
Группа: Корсар
Сообщений: 50
Награды: 0
Репутация: 1
Статус: В открытом море
| Цитата Мартышка ( ) sld=characterFromID("Milton_Maydes"); // с кем работает А если тот ,с кем работаем , будет рандомный персонаж с заранее неизвестным ID ...как тогда?
да и не убирать труп 200 секунд не так важно )
|
|
| |
Мартышка | Дата: Понедельник, 01.06.2020, 10:43 | Сообщение # 2442 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| mcleod-s, никак. Нужно сохранить id в какую либо переменную А потом подставить.
|
|
| |
mcleod-s | Дата: Понедельник, 01.06.2020, 11:21 | Сообщение # 2443 |
Матрос
Группа: Корсар
Сообщений: 50
Награды: 0
Репутация: 1
Статус: В открытом море
| Цитата Мартышка ( ) Нужно сохранить id в какую либо переменную ну или к какой либо группе подставить . к банде например . но как это - фиг знает )
|
|
| |
Мартышка | Дата: Понедельник, 01.06.2020, 11:28 | Сообщение # 2444 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| mcleod-s, к группе никак. Работать можно лишь с одним нпс за раз. Смотрите момент найма офицеров в таверне. Там как раз есть пример работы с неизвестным id.
|
|
| |
mcleod-s | Дата: Понедельник, 01.06.2020, 17:58 | Сообщение # 2445 |
Матрос
Группа: Корсар
Сообщений: 50
Награды: 0
Репутация: 1
Статус: В открытом море
| Цитата Мартышка ( ) к группе никак. только что проверил . выделить главного в группе ( как пример - кораблекрушенцы ) и дать ему сторту . всё работает .при убийстве пиратов сторта сохраняется на главном из группы.
if(model[iMassive] != "") { chr = GetCharacter(NPC_GenerateCharacter("PirateOnUninhabited_" + i, model[iMassive], "man", "man", iRank, PIRATE, -1, true, "marginal")); SetFantomParamFromRank(chr, iRank, true); locator = GetAttributeName(GetAttributeN(grp, i)); ChangeCharacterAddressGroup(chr, location.id, encGroup, locator); //ChangeCharacterAddressGroup(chr, location.id, "goto", "goto" + (i + 1)); chr.dialog.filename = "GenQuests_Dialog.c"; chr.dialog.currentnode = "First time"; chr.greeting = "robinzons_1"; // Enc_Raiders LAi_SetImmortal(chr, true); // До поры нельзя убить LAi_SetActorTypeNoGroup(chr);
if(i == 0) { GiveItem2Character(chr, "blade_29"); // Дать предмет персонажу chr.SaveItemsForDead = true;// сохранять на трупе вещи LAi_ActorDialog(chr, PChar, "", -1, 0.0); } else { LAi_ActorFollow(chr, PChar, "", -1); }
LAi_Group_MoveCharacter(chr, "PiratesOnUninhabitedGroup"); LAi_Group_SetRelation("PiratesOnUninhabitedGroup", LAI_GROUP_PLAYER, LAI_GROUP_NEITRAL);
i++; model[iMassive] = ""; }
Сообщение отредактировал mcleod-s - Понедельник, 01.06.2020, 18:24 |
|
| |
Мартышка | Дата: Понедельник, 01.06.2020, 19:14 | Сообщение # 2446 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| mcleod-s, это не группа, а очередь персонажей.
|
|
| |
mcleod-s | Дата: Понедельник, 01.06.2020, 20:01 | Сообщение # 2447 |
Матрос
Группа: Корсар
Сообщений: 50
Награды: 0
Репутация: 1
Статус: В открытом море
| Цитата Мартышка ( ) это не группа, а очередь персонажей. а для чего нужна очередь персонажей? для формирования группы , которую можно поссорить с группой игрока. а вот и ID этой группы "PirateOnUninhabited_" . В общем мы говорим об одном и том же..думаю ответ на вопрос - как дать оружие трупу - дан ))
|
|
| |
Мартышка | Дата: Понедельник, 01.06.2020, 20:35 | Сообщение # 2448 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| mcleod-s, фактически просто уменьшает кол-во строк в файле, ведь каждого персонажа не нужно прописывать отдельно. PirateOnUninhabited_ это не id группа, а маска по которой задаются id персонажей. Группа в данном случае: PiratesOnUninhabitedGroup Добавлено (10.07.2020, 14:33) --------------------------------------------- Подскажите мне два момента: 1) Не могу понять: какой кусок кода подсвечивает сохранение золотым? 2) Сделал маленькое окно, которое открывается поверх интерфейса настроек. Все работает, кроме одного: окошко не закрывается по нажатию esc. А крестик работает.
|
|
| |
zzoldate | Дата: Понедельник, 03.08.2020, 13:22 | Сообщение # 2449 |
Пороховая обезьяна
Группа: Пират
Сообщений: 1
Награды: 0
Репутация: 0
Статус: В открытом море
| Всем добрый день! Хочу создать мод на два дополнительных перка, на + к регенерации выносливости и на + к шансу критического удара. Добавил сами перки в perks_init, добавил действие перков в LAi_fightparams. Для выносливости я скопировал перк Tireless и он работает нормально, но когда копирую SwordplayProfessional, то при запуске выдает ошибку
COMPILE ERROR - file: Loc_ai\LAi_fightparams.c; line: 573 Duplicate variable name: attack
Хотя указаное место я не трогал. Если убрать в коде добавленного перка на крит все пробелы и скобочки, то он работает первый бой, но потом все персонажи становятся бессмертными и саблями нанести урон нельзя ни мне , ни нпс. Можно лишь из пистолета.
Если кто-то знает решение данной проблемы, то я буду очень признателен. Заранее спасибо.
|
|
| |
Мартышка | Дата: Понедельник, 03.08.2020, 13:56 | Сообщение # 2450 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| zzoldate, нарушили пару фигурных скобок скорее всего. Все условия и функции используют их, чтобы указывать границы выполняемого кода. Где то поставили лишнюю скобку или наоборот нехватка. За деталями - ко мне в ЛС. Добавлено (26.08.2020, 14:31) --------------------------------------------- Прописал нового четвертого абордажника, все работает кроме одного. Новая ячейка абордаже в меню сохранения не хочет принимать портрет самого НПС. Там вечно 2 скрещенных сабли. Как это исправить? Спасибо.
|
|
| |
Malleus | Дата: Четверг, 24.09.2020, 19:26 | Сообщение # 2451 |
Пороховая обезьяна
Группа: Корсар
Сообщений: 15
Награды: 5
Репутация: 17
Статус: В открытом море
| Господа, подскажите как заменить экипировку и инвентарь квестовых нпс ( остинцы и джа престон по кондотьеру)?
|
|
| |
kacatik | Дата: Четверг, 08.10.2020, 08:21 | Сообщение # 2452 |
Мичман
Группа: Корсар
Сообщений: 93
Награды: 1
Репутация: -31
Статус: В открытом море
| error
Сообщение отредактировал kacatik - Пятница, 09.10.2020, 05:26 |
|
| |
Timonzin | Дата: Вторник, 27.10.2020, 19:31 | Сообщение # 2453 |
Пороховая обезьяна
Группа: Пират
Сообщений: 1
Награды: 0
Репутация: 0
Статус: В открытом море
| Доброго времени суток! Подскажите пожалуйста какой файл в игре отвечает за иконку на загрузочном экране (справа внизу) ?? Обычно это череп в дефолтной версии или книппель в ГПК. Не нашёл отдельного мода для замены.
|
|
| |
korsar01 | Дата: Четверг, 26.11.2020, 17:07 | Сообщение # 2454 |
Мичман
Группа: Корсар
Сообщений: 186
Награды: 6
Репутация: 46
Статус: В открытом море
| Timonzin, RESOURCE\Textures\Loading\progress.tga.tx
|
|
| |
Loggsies236 | Дата: Вторник, 22.12.2020, 15:48 | Сообщение # 2455 |
Пороховая обезьяна
Группа: Пират
Сообщений: 8
Награды: 0
Репутация: 0
Статус: В открытом море
| Приветствую всех, есть вопрос по кодингу диалогов, надеюсь кто поможет. Суть проблемы заключается в следующем, нужно чтоб НПС в процессе разговора выбирал случайный кейс диалога из 2 доступных. Это нужно для диалога подкупа, то есть ГГ предлагает НПС взятку, НПС рандомно выбирает кейс диалога с принятием взятки или отказом. Смотрел пример подкупа патруля во время контрабанды, но там оказывается завязка на скиллы героя, а я бы хотел полный рандом. Есть ещё функция диалога LinkRandPhrase если не ошибаюсь, но это не совсем то что нужно, так как выдаёт рандомную фразу из пула, а не запускает кейс. Есть у кого-то идеи на этот счёт? Заранее благодарен за помощь.
|
|
| |
Мартышка | Дата: Вторник, 22.12.2020, 16:01 | Сообщение # 2456 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| Loggsies236, условие будет таким
if(rand (1) == 0)
тут вероятность 50 на 50
if(rand (2) == 0)
33 процента
Ну и так далее.
|
|
| |
Loggsies236 | Дата: Вторник, 22.12.2020, 16:54 | Сообщение # 2457 |
Пороховая обезьяна
Группа: Пират
Сообщений: 8
Награды: 0
Репутация: 0
Статус: В открытом море
| Ладно, предыдущий вопрос решён, раз уж на форуме по прежнему отвечают задам ещё один вопрос который меня волнует уже очень давно. Не знаю у меня одного такое или же у всех, столкнулся с проблемой, что error log работает правильно через раз, то есть иногда он действительно указывает правильно где и в чем ошибка, а иногда и чаще всего нет. К примеру лог ссылается на ошибку синтаксиса в строке которая вообще не редактировалась и ошибки там быть не может, так как это родной код игры. Чаще всего пишет что пропущена ")" хотя она в строке либо есть либо её там и не должно быть, а реальная ошибка совсем в другом. Есть ли способ заставить лог работать как надо? Насколько я понимаю он пишется движком и тогда сделать ничего нельзя, но может есть какие-то советы по этому поводу, так как крайне неудобно проверять работоспособность каждой строчки сразу после её добавления или же писать сразу большие куски кода, а потом недоумевать в чем проблема из-за того что лог выдаёт какой-то бред
Сообщение отредактировал Loggsies236 - Вторник, 22.12.2020, 16:56 |
|
| |
Мартышка | Дата: Вторник, 22.12.2020, 17:01 | Сообщение # 2458 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| Loggsies236, нет. Вот тут то особенность в том, что все проверяется по закрывающей скобке как правило. Если работаешь с кодом в notepad ++ смотри чтобы боковые линии были корректными. Или покопайся в настройках notepad ++ там можно включить сразу парные скобки и кавычки. Смотри раздел "Автозавершение"
Сообщение отредактировал Мартышка - Вторник, 22.12.2020, 17:03 |
|
| |
Loggsies236 | Дата: Вторник, 22.12.2020, 17:15 | Сообщение # 2459 |
Пороховая обезьяна
Группа: Пират
Сообщений: 8
Награды: 0
Репутация: 0
Статус: В открытом море
| Мартышка, точно знаю что ошибка не в этом, а именно в неправильной работе лога, без понятия почему так, но сталкивался с таким не один раз, лог пишет что ошибка в синтаксисе строки которая никак не редактировалась мной, а по факту ошибка например совсем в другой строке и суть ошибки в том что не объявлена какая-то функция или она она вообще некоректно прописана. В notepad у меня и так включены парные скобки и кавычки. А вот насчёт боковых линий возможно я не понял тебя правильно, так как я не программист и код корсаров изучают путём опытов. Если ты имеешь ввиду саму так сказать разметку кода типа соответствие отступов в строках чтоб они были в рамках кейса типа case и break были на одном уровне, то с этим тоже проблем нет, проблема в самом логе.
|
|
| |
Мартышка | Дата: Вторник, 22.12.2020, 17:22 | Сообщение # 2460 |
Мичман
Группа: Корсар
Сообщений: 103
Награды: 4
Репутация: 14
Статус: В открытом море
| Loggsies236,
Смотри когда ты ставишь { или } появляются линии сбоку рядом с номер строки. Если Где то скобки порушены - линия оборвет.
|
|
| |
|