Форма входа
 
Приветствуем тебя, корсар Юнга!

Гость, мы рады вас видеть. Пожалуйста зарегистрируйтесь или авторизуйтесь!
Логин:
Пароль:


Купить игры
 



Чат
 
500


Статистика
 
Пользователи, посетившие сайт за текущий день:
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Модератор форума: NikK  
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Кодинг квестов (Рассмотрим написание квестов)
Кодинг квестов
МилошДата: Воскресенье, 17.03.2013, 09:28 | Сообщение # 301
Капитан I ранга
Группа: Заблокированные
Сообщений: 1072
Награды: 0
Репутация: 0
Статус: В открытом море
Mett, я не разбираюсь в скриптах, и вряд ли бы нашел ошибку. А ты молодец! Помог человеку!



Muv by Redline
Кор$@RДата: Понедельник, 18.03.2013, 13:47 | Сообщение # 302
Матрос
Группа: Пират
Сообщений: 29
Награды: 0
Репутация: 0
Статус: В открытом море
Цитата (Mett)
sld - должно заработать
Я понимаю вы мне помогаете! Спасибо! НО только фигня это все, даже заменил ее все равно. вот скину остальную часть законченную

ЧТо впринципе я если сотру 20 игра пашет, как воткну то фигушки!


Мы славные Морские волки
MettДата: Понедельник, 18.03.2013, 14:55 | Сообщение # 303
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
Кор$@R, так-с, проверь что пишет error
---
вот счас вставил себе и игру и кажись нашел твою ошибочку:
Locations[FindLocation("Terks_Grot")].box1.items.map_full = 1; map_full = 1; <--- че этот тут делает?
я у себя удалил это и игра запустилась


Что толку, если не можешь сделать мир лучше.

Сообщение отредактировал Mett - Понедельник, 18.03.2013, 15:00
Кор$@RДата: Пятница, 29.03.2013, 09:04 | Сообщение # 304
Матрос
Группа: Пират
Сообщений: 29
Награды: 0
Репутация: 0
Статус: В открытом море
Цитата (Mett)
я у себя удалил это и игра запустилась
Да этот квест я потом им займусь!
Как сделать чтобы после выхода из таверны к тебе подходили люди (2 пирата), диалог а потом нападали?
Заранее Спасибо!


Мы славные Морские волки
МилошДата: Среда, 10.04.2013, 14:41 | Сообщение # 305
Капитан I ранга
Группа: Заблокированные
Сообщений: 1072
Награды: 0
Репутация: 0
Статус: В открытом море
korsary4, Mett, помогите! Скодировал я квест, а при запуске игры вылезает ошибка! Что делать?

Код
////////////////////////////////////////////////////////////////  
///////////////Квест Ром Начало//////////////////////  
////////////////////////////////////////////////////////////////  
Case“rom_1”:  
SetQuestHeader("rom");  
AddQuestRecord("rom", "1");  
         
ChangeCharacterAddressGroup(characterFromID("azzy"), "PortRoyal_town", "goto", LAi_FindNearestFreeLocator("goto", locx, locy, locz));     
         
Characters[GetCharacterIndex("azzy")].Dialog.CurrentNode = "rom_2";  
break;

Case“rom_2”:  
AddQuestRecord("rom", "2");  
Break;
////////////////////////////////////////////////////////////////  
///////////////Квест Ром Конец//////////////////////  
////////////////////////////////////////////////////////////////
 
Что я не так сделал?




Muv by Redline
LoisomerДата: Среда, 10.04.2013, 15:45 | Сообщение # 306
Пороховая обезьяна
Группа: Пират
Сообщений: 10
Награды: 0
Репутация: -2
Статус: В открытом море
Милош, держи.

case "rom_1":  
SetQuestHeader("rom");  
AddQuestRecord("rom", "1");  
ChangeCharacterAddressGroup(characterFromID("azzy"), "PortRoyal_town", "goto", LAi_FindNearestFreeLocator("goto", locx, locy, locz));     
Characters[GetCharacterIndex("azzy")].Dialog.CurrentNode = "rom_2";  
break;

case "rom_2":  
AddQuestRecord("rom", "2");  
break;
////////////////////////////////////////////////////////////////  
///////////////Квест Ром Конец//////////////////////  
////////////////////////////////////////////////////////////////
МилошДата: Среда, 10.04.2013, 16:25 | Сообщение # 307
Капитан I ранга
Группа: Заблокированные
Сообщений: 1072
Награды: 0
Репутация: 0
Статус: В открытом море
Loisomer, Ура, заработало!



Muv by Redline
АндреевичДата: Суббота, 18.05.2013, 10:50 | Сообщение # 308
Пороховая обезьяна
Группа: Пират
Сообщений: 16
Награды: 0
Репутация: 0
Статус: В открытом море
Пытался сделать квест по уроку, но почему-то в этом квесте не меняется ветка диалога персонажа и он просто молчит и выйти нельзя из диалога.

Вот сам персонаж
Код
makeref(ch,Characters[n]);   //Шарль де Мор
   ch.id  = "Sharl";
   ch.model    = "Blad_4";
   ch.name     = "Шарль";
   ch.lastname = "де Мор";
   ch.sex = "man";
   ch.nation = FRANCE;
   ch.Dialog.Filename = "Quest\ForAll_dialog.c";
   LAi_group_MoveCharacter(ch, "FRANCE_CITIZENS");
   n = n + 1;


Вот квест где я этого персонажа создаю:
Код
////////////////////////////////////////////////////////////////   
///////////////Начало первого квеста линейки за Мэри Каспер.////   
////////////////////////////////////////////////////////////////   
    case "OriginMary":
     SetQuestHeader("OriginMary");   
     AddQuestRecord("OriginMary", "1");
     sld = characterFromID("Sharl");
     ChangeCharacterAddressGroup(sld, "PortRoyal_town", "goto", "goto1");      
     LAi_SetCitizenType(sld);   
     sld.dialog.currentnode = "OrangeMary_1";   
    break;

Персонаж спавнится в заданной точке и ходит по городу, а вот диалог, который я назначаю не работает.
А если не назначать диалог то срабатывает стандартный, но мне нужно сам диалог под названием OrangeMary_1.
И скажите в чём у меня тут ошибка.
Хотя в квесте должно присваивать данному персонажу ветку с диалогом который я указал
Но он почему то не присваивается
А вот сам диалог, в файле Quest\ForAll_dialog.c
Код

case "OrangeMary_1":
     pchar.money + 100000;
     dialog.text = "Держи свои деньги";
     link.l1 = "Спасибо";
     link.l1.go = "exit";
     EndQuestMovie("OriginMary");
    break;


Очень прошу помощи, так мучаюсь второй день уже.
Заранее спасибо
NathanielДата: Суббота, 18.05.2013, 16:24 | Сообщение # 309
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата (Андреевич)
Код
case "OrangeMary_1":
        pchar.money + 100000;
        dialog.text = "Держи свои деньги";
        link.l1 = "Спасибо";
        link.l1.go = "exit";
        EndQuestMovie("OriginMary");
       break;


Оформление кейса - явная ошибка. Инкремент работает неправильно...
Нужно писать:
AddMoneyToCharacter(pchar, 100000);


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!


Сообщение отредактировал Nathaniel - Суббота, 18.05.2013, 16:34
АндреевичДата: Суббота, 18.05.2013, 17:03 | Сообщение # 310
Пороховая обезьяна
Группа: Пират
Сообщений: 16
Награды: 0
Репутация: 0
Статус: В открытом море
Nathaniel, да не в этом проблема, проблема в присвоении диалога через квест. Просто из другого квеста я могу назначить этот диалог а из квеста нет
MettДата: Суббота, 18.05.2013, 17:28 | Сообщение # 311
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
Андреевич, а вы установили стартовое прерывание на запуск квеста?

Что толку, если не можешь сделать мир лучше.
АндреевичДата: Суббота, 18.05.2013, 17:45 | Сообщение # 312
Пороховая обезьяна
Группа: Пират
Сообщений: 16
Награды: 0
Репутация: 0
Статус: В открытом море
Mett, а это как?=)
MettДата: Суббота, 18.05.2013, 17:55 | Сообщение # 313
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
Андреевич, короче мне взаадло объяснять, но я попытаюсь)

итак: прерывания на запуск квеста - это его старт, это задается такой структурой (в твоем случае, как я понимаю, тебе нужно чтоб квеста стартовал в Порт Рояле):
Код

pchar.quest.название прерывания.win_condition.l1 = "location";
pchar.quest.название прерывания.win_condition.l1.location = "ID локации";
pchar.quest.название прерывания.win_condition = "название нужного кейса";


пример (сразу готовое прерывание тебе скину):
Код

pchar.quest.OriginMaryStart.win_condition.l1 = "location";
pchar.quest.OriginMaryStart.win_condition.l1.location = "PortRoyal_town";
pchar.quest.OriginMaryStart.win_condition = "OriginMary";


в оригинале ГПК все квестовы прерывания задаются в файле PROGRAM\characters\LSC_Q2Utilite.с

думаю, дальше сам разберешься ;)


Что толку, если не можешь сделать мир лучше.
АндреевичДата: Суббота, 18.05.2013, 18:05 | Сообщение # 314
Пороховая обезьяна
Группа: Пират
Сообщений: 16
Награды: 0
Репутация: 0
Статус: В открытом море
Mett, не помогло всё равно все вот высвечивает.
Картинка в прикреплении

Прикрепления: 4168119.png (1.96 Mb)
NathanielДата: Суббота, 18.05.2013, 18:10 | Сообщение # 315
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата (Андреевич)
не в этом проблема

И в этом тоже. Ибо если в скрипте есть хоть одна ошибка, он обрабатываться вообще не будет и возникнет баг!..


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
АндреевичДата: Суббота, 18.05.2013, 18:12 | Сообщение # 316
Пороховая обезьяна
Группа: Пират
Сообщений: 16
Награды: 0
Репутация: 0
Статус: В открытом море
Nathaniel, ну это я уже убрал. Но главная проблема в том что персонажу не назначается диалог через квест
MettДата: Воскресенье, 19.05.2013, 01:26 | Сообщение # 317
Капитан I ранга
Группа: Корсар
Сообщений: 586
Награды: 91
Репутация: 565
Статус: В открытом море
еще раз присмотрелся - шо это: EndQuestMovie("OriginMary");??
удаляй, или блочь, дальше, как писал Nathaniel, заменяешь pchar.money + 100000; на AddMoneyToCharacter(pchar, 100000);
и проверяшь в игре ;)


Что толку, если не можешь сделать мир лучше.
АндреевичДата: Воскресенье, 19.05.2013, 09:00 | Сообщение # 318
Пороховая обезьяна
Группа: Пират
Сообщений: 16
Награды: 0
Репутация: 0
Статус: В открытом море
Mett, Да я говорю пока что не в этом проблема. Я уже и простой диалог сделал, но он тоже не присваивается персонажу через кейс квеста
Код

case "OrangeMary_1":
    dialog.text = "Testing";
    link.l1 = "Стой куда-же ты.";
    link.l1.go = "exit";
   break;


Если этот диалог из другого диалога, тоесть вот так, то он работает
Код
case "First time":
    dialog.text = "Нам неочем разговаривать.";
    link.l1 = "Извините...";
    link.l1.go = "exit";  
    NextDiag.TempNode = "OrangeMary_1";
   break;


Но мне надо что в кейсе квеста ставился тот диалог который мне нужен

Код

case "OriginMary":
    SetQuestHeader("OriginMary");  
    AddQuestRecord("OriginMary", "1");
    sld = characterFromID("Sharl");
    ChangeCharacterAddressGroup(sld, "PortRoyal_town", "goto", "goto1");
                        
    //sld.dialog.currentnode = "OrangeMary_1";// ВОТ В ЭТОМ ПРОБЛЕМА
                        //Characters[GetCharacterIndex("Sharl")].Dialog.CurrentNode = "OrangeMary_1";//Тоже не работает  

   break;
KappanfilДата: Среда, 22.05.2013, 11:36 | Сообщение # 319
Пороховая обезьяна
Группа: Пират
Сообщений: 11
Награды: 1
Репутация: 4
Статус: В открытом море
подскажите, можно ли редактировать квесты в ККС?
хочу изменить условия для квеста Голландский гамбит
korsary4Дата: Среда, 22.05.2013, 11:49 | Сообщение # 320
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Цитата (Kappanfil)
подскажите, можно ли редактировать квесты в ККС?

Нельзя, скрипты закрыты.



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Кодинг квестов (Рассмотрим написание квестов)
Поиск:

Copyright Pirates-Life.Ru © 2008-2024


Семь Футов под Килем - Бухта Корсаров и Пиратов!