Помощь - Поиск - Пользователи - Календарь
Полная версия: Для программистов
Форум студии Seaward.Ru > Форумы аддонов к играм ПКМ, КВЛ, ГПК > Модификации для игр на ядре Storm 2.x
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14
Scatimon
Как диалог с самим собой замутить?
KoD@K
Цитата(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
Цитата
А что надо добавить что бы ГГ побежал на встречу НПС? А то НПС дает мне квест, из дверей выход другой НПС и вливается в мою модельку

А что непонятного.... все вроде доступно написано... то что у тебя какой то левый НПС вливается в ГГ, значит убирай его... Этот метод расчитан на диалог НПС и ГГ. Непись подходит или подбегает, в зависимости от расстояния к ГГ...

Делайте, пробуйте...я не вижу ваш код. Метод у вас есть? Что еще нужно?
KoD@K
Я хочу, что бы ГГ побежал на встречу НПС, а не только НПС шел на всречу ГГ. Мне нужно освободить место появление персов.
Цитата(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
Посмотри как сделано в квесте (стандарт) Артуа Вуази, там в самом начале когда сам Артуа дрался со своим капитаном, ГГ подбегает к ним. Посмотри там, я всё делаю смотря на стандартные квесты.
А вот у меня вопросик: как бы КОД скрыть если не секрет 3.gif , как в ВМЛ?
navy
Цитата
Я хочу, что бы ГГ побежал на встречу НПС, а не только НПС шел на всречу ГГ

По простому, меняй местами ГГ и НПС в методах... т.е. непись ждет, ГГ бежит. Остальное долго объяснять...

Цитата
И почему когда я ввожу ваш код, все работает

Не знаю... все должно работать, если правильно сделано...

Цитата
P.S. А какая команда нужна для того, чтобы после диалога, НПС напал на меня?

Смотрите файл LAi_Actor.c Я писал про него, и в комментраиях и так, много раз... там есть все!!! И вообще все это есть в скриптах!!! Вы думаете откуда мы это знаем? Из них же, у нас та же самая база была... даже меньше у некоторых smile.gif

Цитата
А вот у меня вопросик: как бы КОД скрыть если не секрет , как в ВМЛ?

Секрет wink.gif
Scatimon
Ой я опять этот вопросик задаю... Как сделать выбор игрока. метод Navy (описанный в теме "Вопросы") почему-то неработает, выдаёт ошибку в коде при загрузку Инайгл.ЕХЕ, вроде делал всё правильно, но Navy говорил что чтото ещё надо править! Может кто знает что?
korsar666
Вот вы программисты ответьте мне как корсары корсару, а где в игре эти файлы с расширением "С" чтобы я мог сам редактировать.
delfin_
В папке програм. smile.gif
Scatimon
Скажите пожалуйста как начать диалог с самим собой? Я уже задавал вопрос ,но ответа толком неполучил:(
KoD@K
Цитата(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
Всё всё, спосибо, у нашол в квесте(стандарт) когда барк надо потопить, там в комнате таверны убиваешь чела, а потом этот диалог самим с собой. Спосибо за ответ.
KoD@K
Кто знает, где описана РПГ система в паке Моргана с заплатками от Алексуса? Если я хочу сделать примерно такую же как в адд-оне Корсары А&М. Т.е. Дерешься шпагой - качаешь шпагу. И как добавить отдельно для пистолета строку прокачки.
Scatimon
И ещё, как мне сделать перк? Хотяб на запрет одевания кирасты буз умения?
ALexusB
2Scatimon

см пример реализвайии перков (например меткий стрелок)

2KoD@K
Ответ тут весь код - в 95% файлах это нужно прописывать.

Изичи форму персонал - вот тебе и рпг система
Scatimon
А РПГ система в ВМЛ - это для меня эдакая изюминка игры! Поэтому я понял что это делать сложно! Легче может просто преиминовать умения, например владение саблей - это сила мышц(или что-то в этом роде) при потоплении корабля противника, мышци качаются(штурвал тяжело было крутить:))
Бродяга
АТ, насколько совместимы скрипты NPS и локаторы ПКМ A&M и ВМЛ v105-106?
Не могу поставить 2 независимо работающие версии на комп чтобы сравнить...
Wilgreess
Цитата(Бродяга @ Apr 22 2006, 20:01) *

АТ, насколько совместимы скрипты NPS и локаторы ПКМ A&M и ВМЛ v105-106?
Не могу поставить 2 независимо работающие версии на комп чтобы сравнить...

Для того что-бы поставить две рабочие версии на компьютер нужно в реестре удолить записи Пиратов карибского моря, я забыл как программа называется с помощью которой удобно это сделать, можно попробовать RegCleaner wink.gif
Scatimon
А я просто переношу папку с ПКМ в другое место(что б не соответствовал с путём установки), далее просто жму "удалить игру", удаляется тока файлы из реестра! Далее мона будет установить игру ещё раз!
LexaLloyd
Цитата(Бродяга @ Apr 22 2006, 20:01) *

Не могу поставить 2 независимо работающие версии на комп чтобы сравнить...

Цитата(Scatimon @ Apr 23 2006, 14:32) *

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

А я просто копирую свежеустановленную игру несколько раз в разные папки, и потом их уже мурыжу. Тока надо всегда одну оставлять оригинальную. Было дело, сносило uninstall.exe и .dat blink.gif . И запускаешь каждую версию с engine.exe из ее папки.
Dr Livsi
В Аддоне ВМЛ были добавлены некоторые локации, кторых нет в оригинальной игре. Вопрос: как добавить подобную локацию в верию с открытыми скриптами (бордель, например), и добавить туда НПС?

И еще: как и для чего закрывать код?
Veshii Oleg
В этом топе упоминалось что нужно пробовать програмить в mod_4v, некоторные упоминают 1.02 . Так на какой базе начинать и где взять mod_4v ????
Lugger
Цитата(Dr Livsi @ Jul 11 2006, 09:04) *

В Аддоне ВМЛ были добавлены некоторые локации, кторых нет в оригинальной игре. Вопрос: как добавить подобную локацию в верию с открытыми скриптами (бордель, например), и добавить туда НПС?

И еще: как и для чего закрывать код?

Как незнаю, вроде надо перепрограммировать весь каталог Program в dll..Точно не знаю..
А вот зачем, это для того чтобы не редактировали игру. Наверное.
navy
Цитата(Veshii Oleg @ Jul 11 2006, 13:10) *

В этом топе упоминалось что нужно пробовать програмить в mod_4v, некоторные упоминают 1.02 . Так на какой базе начинать и где взять mod_4v ????

Mod_v4 берется на сайте аддона в разделе "полезное"
1.02 Это мод Моргана, брать в теме инструменты. В нем есть все наработки из mod_v4
lexNev
может здесь кто подскажет как в паке моргана 1.2 сделать нормальное соотношение сил при штурме форта?
navy
Цитата
может здесь кто подскажет как в паке моргана 1.2 сделать нормальное соотношение сил при штурме форта?

ручками... или более внятно пишем что ты не можешь сделать сам... как недонократно говорил Алекс, тарелки с каемачками кончились
Sonik
-----------------------------
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
Люди подскажите где можна достать патч Моргана 1.02?
Или пожертвуйте пожалуйста.
navy
Цитата
Люди подскажите где можна достать патч Моргана 1.02? Или пожертвуйте пожалуйста.

Откройте глаза!!! И проявите хоть грамм инициативы... Поиск есть по форуму!!!
Loss
Скажите плиз, можно ли увеличить колличество RandPhrase и LinkRandPhraseс трех ну хотя б до 6. И если можно, то с примером, а то я пробовал - нифига не получилось, ошибка если вхожу в диалог.
navy
LinkRandPhrase готовый пример, можно расширять хоть до нескольких тысяч.
Sonik
Цитата(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
Цитата(delfin_ @ Nov 21 2005, 22:48) *

Надо добавить строку

Код
    LAi_SetHP(ch, 80.0, 80.0);  

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

smile.gif

А вот проще не получилось, как было описано выше.
В самом начале игры, когда ГГ должен шпионить в
фр. колонии есть сцена со стражниками(солдатами)
у ворот Oxbay. Получилось, что они тоже стали неубиваемыми sad.gif
зы после добавления вышеозначенной строки кода игра была начата заново.
Может тут свою роль сыграл мод (А&M)?
Или данную установку бессмертия необходимо добавлять в каждый квест?
Тогда сразу рождается очень сложный вопрос - а как это делается?
Понятно, что руками и головой.
Заранее спасибо за ответ.
-=corsar=-
Люди помогите! Создал провиант и лекарства, а как сделать, чтоб команда пользовалась этим mellow.gif ? (Провиант ела, а без лекарств умирала). Зарание спасибо за ответ smile.gif !
kvu6o
Цитата(Dr Livsi @ Jul 11 2006, 09:04) *

В Аддоне ВМЛ были добавлены некоторые локации, кторых нет в оригинальной игре. Вопрос: как добавить подобную локацию в верию с открытыми скриптами (бордель, например), и добавить туда НПС?

И еще: как и для чего закрывать код?


В папке Locations\init выбераеш город где тебе надо поместитить бордель(пр.Douwesen.c).Там есть список локаций помещений(Inside) и их названия.Если хочеш использовать другую модель,то надо
указать путь в Locations[n].filespath.models = "locations\папка,где находиться модель,а так же изменить значения в полях Locations[n].models.always.locators,.....,на соответствующие новой модели.
francisc
Привет,как сделать,чтобы по квесту в какой-то колонии появился пиратский(ну или просто вражеский )корабль?
navy
Цитата
Привет,как сделать,чтобы по квесту в какой-то колонии появился пиратский(ну или просто вражеский )корабль?

не понял вопроса... что значит появился в колонии?
francisc
Рядом с островом.Типа квест на потопление корабля.
ALexusB
Group_AddCharacter("Группа", NPChar.id);
Group_SetGroupCommander("Группа", NPChar.id);
Group_SetAddress("Группа", "Остров", "Quest_Ships", "локатор");

Quest_Ships - было в моделях ПКМ, либо другая группа локаторов
francisc
2ALexusB
спасибо...долго колупался...но все таки разобрался)))
А как сделать добавление записи в квест бук при выходе в глобальную карту?
Scatimon
quests\quests.c там смотри по коментам...
Lugger
Цитата(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
есть вопрос.
как сделать так, чтобы если у гг или его компаньонов был корабль(раньше принадлежавший какому-то другому персу А), то у одного чела менялась нода в диалоге?
-=corsar=-
Цитата(zigfrid @ May 19 2007, 17:51) *

есть вопрос.
как сделать так, чтобы если у гг или его компаньонов был корабль

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

есть вопрос.
как сделать так, чтобы если у гг или его компаньонов был корабль(раньше принадлежавший какому-то другому персу А), то у одного чела менялась нода в диалоге?

можно отловить прерывание захвата корабля ГГ седе от некого НПС, в этом прерывании и нужно менять ноду.

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

если бы просто захватил корабль и менялась нода, то это просто.
но тут немного другая ситуация-нужно захватить корабль A и отвести его к одному челу. и вот у этого чела нужно в диалоге поставить проверялку на наличие у гг и его компаньонов корабля A, то открывется другой линк диалога.
не хотелось просто свой код писать, не люблю.


Можно кондишОн свой создать, а проще сделай корабль - А, квестовым, ну чтоб нигде купить его было нельзя, и его ИД другой соответственно будет, ну и проверку, когда диалог, сделай там:

Кому отдать: О привет, корабль у тебя?
ГГ: Нет
---- второй линк ------
if(ИД корабля ГГ == Ид корабля А)
{
ГГ: Да
}
if(ИД корабля Компаньона1== Ид корабля А)
{
ГГ: Да
}
if(ИД корабля Компаньона2== Ид корабля А)
{
ГГ: Да
}
if(ИД корабля Компаньона3== Ид корабля А)
{
ГГ: Да
}
ну и дальше...
zigfrid
тут сел, минут за 20 код свой написал. проверяльщик есть. уря))
ну мона и так попробовать, как scatimon сказал.
ALexusB
А можно, как я выше и написал.
Тк в момент захвата чела в море нет, пока к нему доберешься у него все это время будет нода уже новая... по факту захвата корабля ГГ
Не боитесь, с ним без ГГ никто не поговорит и ноду не собьет smile.gif
zigfrid
ну тут уже надо ему на месте проверить. мало ли ты в порту корабль продаж?))
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Invision Power Board © 2001-2024 Invision Power Services, Inc.