Scatimon
Mar 19 2006, 22:56
Как диалог с самим собой замутить?
Цитата(navy @ Jan 23 2006, 13:45)

в quest_reaction.c добавляем следующие кейсы...
Код
case "Case1":
LAi_SetActorType(PChar);
LAi_SetActorType(characterFromID("NPC_ID"));
Characters[GetCharacterIndex("NPC_ID")].Dialog.CurrentNode = "First time";
LAi_ActorFollow(pchar, characterFromID("NPC_ID"), "", 1.0);
LAi_ActorWaitDialog(Pchar, characterFromID("NPC_ID"));
LAi_ActorDialog(characterFromID("NPC_ID"), Pchar, "Case2", 5.0, 0);
break;
case "Case2":
LAi_SetPlayerType(Pchar);
LAi_SetGuardianType(characterFromID("NPC_ID"));
break;
А что надо добавить что бы ГГ побежал на встречу НПС? А то НПС дает мне квест, из дверей выход другой НПС и вливается в мою модельку.
Цитата
А что надо добавить что бы ГГ побежал на встречу НПС? А то НПС дает мне квест, из дверей выход другой НПС и вливается в мою модельку
А что непонятного.... все вроде доступно написано... то что у тебя какой то левый НПС вливается в ГГ, значит убирай его... Этот метод расчитан на диалог НПС и ГГ. Непись подходит или подбегает, в зависимости от расстояния к ГГ...
Делайте, пробуйте...я не вижу ваш код. Метод у вас есть? Что еще нужно?
Я хочу, что бы ГГ побежал на встречу НПС, а не только НПС шел на всречу ГГ. Мне нужно освободить место появление персов.
Цитата(navy @ Jan 23 2006, 13:45)

Код
pchar.quest.Case1.win_condition.l1 = "location";
pchar.quest.Case1.win_condition.l1.location = "Conceicao_port";
pchar.quest.Case1.win_condition = "Case1";
И почему когда я ввожу ваш код, все работает, а как только хочу его немного изминить, даже не сам код, он не работает?
Код
pchar.quest.Case3.win_condition.l1 = "location";
pchar.quest.Case3.win_condition.l1.location = "Conceicao_port";
pchar.quest.Case3.win_condition = "Case3";
Я заменил case1 на case3. И в квест реакшене все поменял на case3, но не работает.
P.S. А какая команда нужна для того, чтобы после диалога, НПС напал на меня?
Scatimon
Mar 20 2006, 23:07
Посмотри как сделано в квесте (стандарт) Артуа Вуази, там в самом начале когда сам Артуа дрался со своим капитаном, ГГ подбегает к ним. Посмотри там, я всё делаю смотря на стандартные квесты.
А вот у меня вопросик: как бы КОД скрыть если не секрет

, как в ВМЛ?
Цитата
Я хочу, что бы ГГ побежал на встречу НПС, а не только НПС шел на всречу ГГ
По простому, меняй местами ГГ и НПС в методах... т.е. непись ждет, ГГ бежит. Остальное долго объяснять...
Цитата
И почему когда я ввожу ваш код, все работает
Не знаю... все должно работать, если правильно сделано...
Цитата
P.S. А какая команда нужна для того, чтобы после диалога, НПС напал на меня?
Смотрите файл LAi_Actor.c Я писал про него, и в комментраиях и так, много раз... там есть все!!! И вообще все это есть в скриптах!!! Вы думаете откуда мы это знаем? Из них же, у нас та же самая база была... даже меньше у некоторых

Цитата
А вот у меня вопросик: как бы КОД скрыть если не секрет , как в ВМЛ?
Секрет
Scatimon
Mar 31 2006, 21:34
Ой я опять этот вопросик задаю... Как сделать выбор игрока. метод Navy (описанный в теме "Вопросы") почему-то неработает, выдаёт ошибку в коде при загрузку Инайгл.ЕХЕ, вроде делал всё правильно, но Navy говорил что чтото ещё надо править! Может кто знает что?
korsar666
Apr 2 2006, 23:36
Вот вы программисты ответьте мне как корсары корсару, а где в игре эти файлы с расширением "С" чтобы я мог сам редактировать.
delfin_
Apr 3 2006, 20:42
В папке програм.
Scatimon
Apr 4 2006, 21:45
Скажите пожалуйста как начать диалог с самим собой? Я уже задавал вопрос ,но ответа толком неполучил:(
Цитата(Scatimon @ Apr 4 2006, 21:45)

Скажите пожалуйста как начать диалог с самим собой? Я уже задавал вопрос ,но ответа толком неполучил:(
Если ответ еще нужен, то вот он:
Код
LAi_SetActorType(Pchar);
Pchar.Temp.self.dialog = Pchar.dialog.currentnode;
Pchar.dialog.currentnode = "dialog";
LAi_ActorSelfDialog(Pchar, "player_back");
Где dialog указывает на case в файле blaze_dialog.c.
Scatimon
Apr 9 2006, 16:07
Всё всё, спосибо, у нашол в квесте(стандарт) когда барк надо потопить, там в комнате таверны убиваешь чела, а потом этот диалог самим с собой. Спосибо за ответ.
Кто знает, где описана РПГ система в паке Моргана с заплатками от Алексуса? Если я хочу сделать примерно такую же как в адд-оне Корсары А&М. Т.е. Дерешься шпагой - качаешь шпагу. И как добавить отдельно для пистолета строку прокачки.
Scatimon
Apr 11 2006, 12:17
И ещё, как мне сделать перк? Хотяб на запрет одевания кирасты буз умения?
ALexusB
Apr 11 2006, 13:03
2Scatimon
см пример реализвайии перков (например меткий стрелок)
2KoD@K
Ответ тут весь код - в 95% файлах это нужно прописывать.
Изичи форму персонал - вот тебе и рпг система
Scatimon
Apr 11 2006, 17:18
А РПГ система в ВМЛ - это для меня эдакая изюминка игры! Поэтому я понял что это делать сложно! Легче может просто преиминовать умения, например владение саблей - это сила мышц(или что-то в этом роде) при потоплении корабля противника, мышци качаются(штурвал тяжело было крутить:))
Бродяга
Apr 22 2006, 19:01
АТ, насколько совместимы скрипты NPS и локаторы ПКМ A&M и ВМЛ v105-106?
Не могу поставить 2 независимо работающие версии на комп чтобы сравнить...
Wilgreess
Apr 22 2006, 19:09
Цитата(Бродяга @ Apr 22 2006, 20:01)

АТ, насколько совместимы скрипты NPS и локаторы ПКМ A&M и ВМЛ v105-106?
Не могу поставить 2 независимо работающие версии на комп чтобы сравнить...
Для того что-бы поставить две рабочие версии на компьютер нужно в реестре удолить записи Пиратов карибского моря, я забыл как программа называется с помощью которой удобно это сделать, можно попробовать RegCleaner
Scatimon
Apr 23 2006, 13:32
А я просто переношу папку с ПКМ в другое место(что б не соответствовал с путём установки), далее просто жму "удалить игру", удаляется тока файлы из реестра! Далее мона будет установить игру ещё раз!
LexaLloyd
Jun 4 2006, 00:20
Цитата(Бродяга @ Apr 22 2006, 20:01)

Не могу поставить 2 независимо работающие версии на комп чтобы сравнить...
Цитата(Scatimon @ Apr 23 2006, 14:32)

А я просто переношу папку с ПКМ в другое место(что б не соответствовал с путём установки), далее просто жму "удалить игру", удаляется тока файлы из реестра! Далее мона будет установить игру ещё раз!
А я просто копирую свежеустановленную игру несколько раз в разные папки, и потом их уже мурыжу. Тока надо всегда одну оставлять оригинальную. Было дело, сносило uninstall.exe и .dat

. И запускаешь каждую версию с engine.exe из ее папки.
Dr Livsi
Jul 11 2006, 08:04
В Аддоне ВМЛ были добавлены некоторые локации, кторых нет в оригинальной игре. Вопрос: как добавить подобную локацию в верию с открытыми скриптами (бордель, например), и добавить туда НПС?
И еще: как и для чего закрывать код?
Veshii Oleg
Jul 11 2006, 12:10
В этом топе упоминалось что нужно пробовать програмить в mod_4v, некоторные упоминают 1.02 . Так на какой базе начинать и где взять mod_4v ????
Lugger
Jul 11 2006, 12:22
Цитата(Dr Livsi @ Jul 11 2006, 09:04)

В Аддоне ВМЛ были добавлены некоторые локации, кторых нет в оригинальной игре. Вопрос: как добавить подобную локацию в верию с открытыми скриптами (бордель, например), и добавить туда НПС?
И еще: как и для чего закрывать код?
Как незнаю, вроде надо перепрограммировать весь каталог Program в dll..Точно не знаю..
А вот зачем, это для того чтобы не редактировали игру. Наверное.
Цитата(Veshii Oleg @ Jul 11 2006, 13:10)

В этом топе упоминалось что нужно пробовать програмить в mod_4v, некоторные упоминают 1.02 . Так на какой базе начинать и где взять mod_4v ????
Mod_v4 берется на сайте аддона в разделе "полезное"
1.02 Это мод Моргана, брать в теме инструменты. В нем есть все наработки из mod_v4
может здесь кто подскажет как в паке моргана 1.2 сделать нормальное соотношение сил при штурме форта?
Цитата
может здесь кто подскажет как в паке моргана 1.2 сделать нормальное соотношение сил при штурме форта?
ручками... или более внятно пишем что ты не можешь сделать сам... как недонократно говорил Алекс, тарелки с каемачками кончились
-----------------------------
2Forum
-----------------------------
У меня вопрос:
В скриптах К3 есть возможность делать кораблю повреждения (в принципе, как и в К1 и в К2, - отнимать ХиПы корабля при попадании), также при попадании по корпусу корабля используются эффекты частиц (Particles, например дым или огонь) и система добавления "дыр" (Textures/blots.tga.tx), так вот о последних речь и пойдет.
Как реализовывается "дыра" в скриптах, точнее каким образом работает скрипт, да и в скрипте ли все дело (имеется ввиду, может это возможность движка, а не скрипта)? И можно ли добавлять "свои разновидности повреждений от разных снарядов" (имеется ввиду не то, что уже реализовано: ядра-корпус, картечь-люди, книппели-паруса, и бомбы-все по-немногу), т.е. можно ли, к примеру сделать вот так:
Вводим новые свойства целостности корабля: HP (Hit Points - очки жизни) КОРПУСА = состояние кормы + левого борта + правого борта + участок корпуса, что ниже ватерлинии + состояние рулевого механизма + состояние дна. Все это складывается в привычную нам цифру, например HP=580 (корпус обычного Люгера).
Берем рассчет на состояние HPкормы (вот здесь, как я полагаю, работает скрипт наподобии blots-эффекта, да и вообще скрипт повреждения корпуса, только в нашем случае, - его участка - кормы (вопрос: как это проще сделать, рассчитать HP кормы, вычислить ее координаты из всего корпуса?)). Это один из главных вопросов, как рассчитать то, что снаряд попал именно в корму, а не в корпус в целом, - разбирать саму 3D-модель корабля на корму, борта и т.д.?
Далее, при повреждении кормы, ее HP уменьшается, тем самым, меняется у нее либо своя 3d-модель, если мы разбирали все корабли на части, либо ее текстура - это к примеру, но можно добавить изменение состояния каких-либо перков, или других как старых, так и новых, придуманных параметров судна, но это для меня не проблема... не в этом дело.
И так делать со всеми составляющими HP корпуса судна. Кораблей в архипелаге К3 много, но все они жутко одинаковы, а такие параметры могут сильно изменить игру к лучшему. К сожалению мне сейчас приходится тестить все на ПКМ:модВ4 от AlexusB и Morgan, но в скором времени мне удастся все это тестить и кодить на К3 (УРА!), поэтому вот задаю такой вопрос тем, кто уже разобрал скрипты К3. По крайней мере, сейчас они у меня плавают с HPкорп=HPкорпуса + HPдна (HPдна - если скрябаешь о землю или слишком долго плаваешь, то HPдна уменьшается, что приводит со временем к течи (постепенной потере HPдна) и потере скорости корабля) и максимальное значение HPдна=max(HPкорп)/2, т.е. половине максимального HP всего корпуса.
Tail of Devil
Sep 22 2006, 11:44
Люди подскажите где можна достать патч Моргана 1.02?
Или пожертвуйте пожалуйста.
Цитата
Люди подскажите где можна достать патч Моргана 1.02? Или пожертвуйте пожалуйста.
Откройте глаза!!! И проявите хоть грамм инициативы... Поиск есть по форуму!!!
Скажите плиз, можно ли увеличить колличество RandPhrase и LinkRandPhraseс трех ну хотя б до 6. И если можно, то с примером, а то я пробовал - нифига не получилось, ошибка если вхожу в диалог.
LinkRandPhrase готовый пример, можно расширять хоть до нескольких тысяч.
Цитата(SONIkom @ Sep 12 2006, 13:34)

-----------------------------
2Forum
-----------------------------
У меня вопрос:
В скриптах К3 есть возможность делать кораблю повреждения (в принципе, как и в К1 и в К2, - отнимать ХиПы корабля при попадании), также при попадании по корпусу корабля используются эффекты частиц (Particles, например дым или огонь) и система добавления "дыр" (Textures/blots.tga.tx), так вот о последних речь и пойдет.
Как реализовывается "дыра" в скриптах, точнее каким образом работает скрипт, да и в скрипте ли все дело (имеется ввиду, может это возможность движка, а не скрипта)? И можно ли добавлять "свои разновидности повреждений от разных снарядов" (имеется ввиду не то, что уже реализовано: ядра-корпус, картечь-люди, книппели-паруса, и бомбы-все по-немногу), т.е. можно ли, к примеру сделать вот так:
Вводим новые свойства целостности корабля: HP (Hit Points - очки жизни) КОРПУСА = состояние кормы + левого борта + правого борта + участок корпуса, что ниже ватерлинии + состояние рулевого механизма + состояние дна. Все это складывается в привычную нам цифру, например HP=580 (корпус обычного Люгера).
Берем рассчет на состояние HPкормы (вот здесь, как я полагаю, работает скрипт наподобии blots-эффекта, да и вообще скрипт повреждения корпуса, только в нашем случае, - его участка - кормы (вопрос: как это проще сделать, рассчитать HP кормы, вычислить ее координаты из всего корпуса?)). Это один из главных вопросов, как рассчитать то, что снаряд попал именно в корму, а не в корпус в целом, - разбирать саму 3D-модель корабля на корму, борта и т.д.?
Далее, при повреждении кормы, ее HP уменьшается, тем самым, меняется у нее либо своя 3d-модель, если мы разбирали все корабли на части, либо ее текстура - это к примеру, но можно добавить изменение состояния каких-либо перков, или других как старых, так и новых, придуманных параметров судна, но это для меня не проблема... не в этом дело.
И так делать со всеми составляющими HP корпуса судна. Кораблей в архипелаге К3 много, но все они жутко одинаковы, а такие параметры могут сильно изменить игру к лучшему. К сожалению мне сейчас приходится тестить все на ПКМ:модВ4 от AlexusB и Morgan, но в скором времени мне удастся все это тестить и кодить на К3 (УРА!), поэтому вот задаю такой вопрос тем, кто уже разобрал скрипты К3. По крайней мере, сейчас они у меня плавают с HPкорп=HPкорпуса + HPдна (HPдна - если скрябаешь о землю или слишком долго плаваешь, то HPдна уменьшается, что приводит со временем к течи (постепенной потере HPдна) и потере скорости корабля) и максимальное значение HPдна=max(HPкорп)/2, т.е. половине максимального HP всего корпуса.
Если кто интересовался, то раздельных частей 3д модели невозможно реализовать на скриптовом уровне, что по-повреждением, скрипт blot - лишь обработка движка, который невозможно изменить, лишь только систему просчета попадания. Кароче фишка, что я задумал выше, реализуема только в мечтах.. пока что...
Alex755
Sep 27 2006, 02:08
Цитата(delfin_ @ Nov 21 2005, 22:48)

Надо добавить строку
Код
LAi_SetHP(ch, 80.0, 80.0);
Или сколько ты хочешь чтоб было вместо 80. А ещё проще:
Код
LAi_SetImmortal(ch, true);

А вот проще не получилось, как было описано выше.
В самом начале игры, когда ГГ должен шпионить в
фр. колонии есть сцена со стражниками(солдатами)
у ворот Oxbay. Получилось, что они тоже стали неубиваемыми
зы после добавления вышеозначенной строки кода игра была начата заново.
Может тут свою роль сыграл мод (А&M)?
Или данную установку бессмертия необходимо добавлять в каждый квест?
Тогда сразу рождается очень сложный вопрос - а как это делается?
Понятно, что руками и головой.
Заранее спасибо за ответ.
-=corsar=-
Apr 26 2007, 19:07
Люди помогите! Создал провиант и лекарства, а как сделать, чтоб команда пользовалась этим

? (Провиант ела, а без лекарств умирала). Зарание спасибо за ответ

!
Цитата(Dr Livsi @ Jul 11 2006, 09:04)

В Аддоне ВМЛ были добавлены некоторые локации, кторых нет в оригинальной игре. Вопрос: как добавить подобную локацию в верию с открытыми скриптами (бордель, например), и добавить туда НПС?
И еще: как и для чего закрывать код?
В папке Locations\init выбераеш город где тебе надо поместитить бордель(пр.Douwesen.c).Там есть список локаций помещений(Inside) и их названия.Если хочеш использовать другую модель,то надо
указать путь в Locations[n].filespath.models = "locations\папка,где находиться модель,а так же изменить значения в полях Locations[n].models.always.locators,.....,на соответствующие новой модели.
francisc
May 17 2007, 08:48
Привет,как сделать,чтобы по квесту в какой-то колонии появился пиратский(ну или просто вражеский )корабль?
Цитата
Привет,как сделать,чтобы по квесту в какой-то колонии появился пиратский(ну или просто вражеский )корабль?
не понял вопроса... что значит появился в колонии?
francisc
May 17 2007, 09:53
Рядом с островом.Типа квест на потопление корабля.
ALexusB
May 17 2007, 13:47
Group_AddCharacter("Группа", NPChar.id);
Group_SetGroupCommander("Группа", NPChar.id);
Group_SetAddress("Группа", "Остров", "Quest_Ships", "локатор");
Quest_Ships - было в моделях ПКМ, либо другая группа локаторов
francisc
May 18 2007, 17:16
2ALexusB
спасибо...долго колупался...но все таки разобрался)))
А как сделать добавление записи в квест бук при выходе в глобальную карту?
Scatimon
May 18 2007, 19:05
quests\quests.c там смотри по коментам...
Lugger
May 18 2007, 20:10
Цитата(francisc @ May 18 2007, 18:16)

2ALexusB
спасибо...долго колупался...но все таки разобрался)))
А как сделать добавление записи в квест бук при выходе в глобальную карту?
По видимому так:
Код
case "Case_0":
Pchar.quest.case_1.win_condition.l1 = "MapEnter";
Pchar.quest.case_1.win_condition = "case_1";
break;
case "Case_1":
AddQuestRecord("ID_QUEST", "ID_TEXT");
break;
zigfrid
May 19 2007, 16:51
есть вопрос.
как сделать так, чтобы если у гг или его компаньонов был корабль(раньше принадлежавший какому-то другому персу А), то у одного чела менялась нода в диалоге?
-=corsar=-
May 19 2007, 21:27
Цитата(zigfrid @ May 19 2007, 17:51)

есть вопрос.
как сделать так, чтобы если у гг или его компаньонов был корабль
Задай вопрос пожалуйсто покантретней, может кто понял, а я к сожалению ничего...
ALexusB
May 19 2007, 22:57
Цитата(zigfrid @ May 19 2007, 17:51)

есть вопрос.
как сделать так, чтобы если у гг или его компаньонов был корабль(раньше принадлежавший какому-то другому персу А), то у одного чела менялась нода в диалоге?
можно отловить прерывание захвата корабля ГГ седе от некого НПС, в этом прерывании и нужно менять ноду.
Если корабль переходит как-то еще (не абордажем), то прерывания такого базового нет - можно в момент передачи (по диалогу, к примеру) прописать свой код.
zigfrid
May 20 2007, 10:02
если бы просто захватил корабль и менялась нода, то это просто.
но тут немного другая ситуация-нужно захватить корабль A и отвести его к одному челу. и вот у этого чела нужно в диалоге поставить проверялку на наличие у гг и его компаньонов корабля A, то открывется другой линк диалога.
не хотелось просто свой код писать, не люблю.
Scatimon
May 20 2007, 10:25
Цитата(zigfrid @ May 20 2007, 11:02)

если бы просто захватил корабль и менялась нода, то это просто.
но тут немного другая ситуация-нужно захватить корабль A и отвести его к одному челу. и вот у этого чела нужно в диалоге поставить проверялку на наличие у гг и его компаньонов корабля A, то открывется другой линк диалога.
не хотелось просто свой код писать, не люблю.
Можно кондишОн свой создать, а проще сделай корабль - А, квестовым, ну чтоб нигде купить его было нельзя, и его ИД другой соответственно будет, ну и проверку, когда диалог, сделай там:
Кому отдать: О привет, корабль у тебя?
ГГ: Нет
---- второй линк ------
if(ИД корабля ГГ == Ид корабля А)
{
ГГ: Да
}
if(ИД корабля Компаньона1== Ид корабля А)
{
ГГ: Да
}
if(ИД корабля Компаньона2== Ид корабля А)
{
ГГ: Да
}
if(ИД корабля Компаньона3== Ид корабля А)
{
ГГ: Да
}
ну и дальше...
zigfrid
May 20 2007, 10:52
тут сел, минут за 20 код свой написал. проверяльщик есть. уря))
ну мона и так попробовать, как scatimon сказал.
ALexusB
May 21 2007, 12:59
А можно, как я выше и написал.
Тк в момент захвата чела в море нет, пока к нему доберешься у него все это время будет нода уже новая... по факту захвата корабля ГГ
Не боитесь, с ним без ГГ никто не поговорит и ноду не собьет
zigfrid
May 21 2007, 17:28
ну тут уже надо ему на месте проверить. мало ли ты в порту корабль продаж?))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста,
нажмите сюда.