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

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


Купить игры
 



Чат
 
500


Статистика
 
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Модератор форума: NikK  
Форум » Ад-доны для игр серии Корсары » FAQ по модам - "Сделай мод сам" » Кодинг квестов (Рассмотрим написание квестов)
Кодинг квестов
korsary4Дата: Понедельник, 17.05.2010, 21:33 | Сообщение # 41
Адмирал
Группа: Администратор
Сообщений: 5200
Награды: 486
Репутация: 1871
Статус: В открытом море
Quote (diversant)
такое возможно зделать?

Возможно.

Тогда вот такой код для боя с НПС.

Code
   LAi_SetCheckMinHP(pchar, 10, true, "DepLine_PortRoyl_64");
     
     sld =  CharacterFromID("WillTerner");   
     LAi_SetActorTypeNoGroup(sld);
     LAi_SetCheckMinHP(sld, 10, true, "DepLine_PortRoyl_64");     
     LAi_group_MoveCharacter(sld, "WillTernerGroup");   
       
     LAi_group_SetRelation("WillTernerGroup", LAI_GROUP_PLAYER, LAI_GROUP_ENEMY);
     LAi_group_FightGroups("WillTernerGroup", LAI_GROUP_PLAYER, true);   
     LAi_SetFightMode(pchar, true);  

LAi_SetCheckMinHP(pchar, 10, true, "DepLine_PortRoyl_64");
DepLine_PortRoyl_64 - это квест, который будет выполняться когда у НПС будет 10 HP
WillTerner - ид НПС
WillTernerGroup - Группа НПС

А следующий кейс после драки, в данном случае это DepLine_PortRoyl_64 должен содержать:

Code
   LAi_SetFightMode(pchar, false);  
             LAi_group_SetRelation("WillTernerGroup", LAI_GROUP_PLAYER, LAI_GROUP_NEITRAL);
     
    LAi_SetCurHPMax(pchar);
    LAi_SetImmortal(pchar, false);

    sld = characterFromID("WillTerner");
    LAi_SetCurHPMax(sld);
    LAi_SetImmortal(sld, false);

    sld =  CharacterFromID("WillTerner");
    LAi_SetActorType(sld);    
    LAi_ActorDialog(sld, pchar, "", 0.3, 0);
    sld.dialog.currentnode = "Smithy_WillTerner_Dialog2";    

Здесь восстановление HP НПС и запуск диалога.



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
diversantДата: Четверг, 20.05.2010, 14:04 | Сообщение # 42
Капитан II ранга
Группа: Корсар
Сообщений: 372
Награды: 6
Репутация: 5
Статус: В открытом море
как можно проверить в игровом режиме квест если он еще не дописан допустим первая часть его готова встреча с определнным НПСом можно как нибуть проверить это в игре?

Лучше иметь повернутую психику, безумные идеи, быть непонятным и немного странным, чем не отличаться от тумбочки, что стоит возле постели....
korsary4Дата: Пятница, 21.05.2010, 07:32 | Сообщение # 43
Адмирал
Группа: Администратор
Сообщений: 5200
Награды: 486
Репутация: 1871
Статус: В открытом море
Quote (diversant)
как можно проверить в игровом режиме квест если он еще не дописан допустим первая часть его готова встреча с определнным НПСом можно как нибуть проверить это в игре?

Конечно можно. Можно играть хоть даже в небольшую часть квеста, главное чтобы начало было.



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
diversantДата: Пятница, 21.05.2010, 07:54 | Сообщение # 44
Капитан II ранга
Группа: Корсар
Сообщений: 372
Награды: 6
Репутация: 5
Статус: В открытом море
Quote (korsary4)
Конечно можно. Можно играть хоть даже в небольшую часть квеста, главное чтобы начало было.

значит у меня начало было не правильно потому что игра не запускалась ошибка выходила ну спасибо буду искать ошибку


Лучше иметь повернутую психику, безумные идеи, быть непонятным и немного странным, чем не отличаться от тумбочки, что стоит возле постели....
WillTerДата: Воскресенье, 13.06.2010, 16:03 | Сообщение # 45
Матрос
Группа: Пират
Сообщений: 31
Награды: 4
Репутация: 4
Статус: В открытом море
Quote
значит у меня начало было не правильно потому что игра не запускалась ошибка выходила ну спасибо буду искать ошибку

посмотри файлы error.log, compile.log, system.log


...Ты либо бeзумeц, либо гeний... Это двe крaйности одной и той жe сущности...
Vitek5Дата: Четверг, 19.08.2010, 10:09 | Сообщение # 46
Матрос
Группа: Корсар
Сообщений: 58
Награды: 3
Репутация: 3
Статус: В открытом море
Вот ещё несколько функций.

// Делаем город к примеру испанским

Code
SetCaptureTownByNation("Ид Города", Нация);

// Забираем корабль у Игрока

Code
DeleteAttribute(Pchar, "ship");
DeleteAttribute(Pchar, "ShipSails.gerald_name");
Pchar.ship.type = SHIP_NOTUSED;

// Забираем предметы у игрока

Code
DeleteAttribute(Pchar, "items");

Может кому пригодятся.

И ещё функции...

Добавим Адмирала Кристофера в пассажиры этой функцией.

Code
AddPassenger(pchar, characterFromID("AdmiralLineKristofer"), false);

Удалим Адмирала Кристофера из пассажиров этой функцией.

Code
RemovePassenger(Pchar,CharacterFromID("AdmiralLineKristofer"));

Запустить кейс AdmiralLineKristofer_2 через 3 секунды.

Code
LAi_QuestDelay("AdmiralLineKristofer_2", 3.0);

========================================
Эта функция делает затопление локации как в ГПК в конце линейки.

Code
i = FindLocation("ID Локации");
DeleteAttribute(&locations[i], "alwaysStorm");
DeleteAttribute(&locations[i], "QuestlockWeather");
DeleteAttribute(&locations[i], "MaxWaveHeigh");
locations[i].alwaysStorm_2 = true;
locations[i].alwaysStorm_2.WaveHeigh = true;
locations[i].storm = true;
locations[i].tornado = true;

Пака всё....
Потом ещё чёнибудь наскребу.... Pirat6

Pirat6 И ещё функции...

Code
LaunchShipHold(); - Меню трюма корабля.
LaunchShipyard(); - Меню верфера. Ремонт, покупка/продажа - корабля.
LaunchHireCrew(); - Меню в котором надо нанимать людей.
LaunchCannons(); - Меню смены пушек.


Сообщение отредактировал Vitek5 - Четверг, 19.08.2010, 10:14
VladAtamanUaДата: Пятница, 20.08.2010, 11:33 | Сообщение # 47
Пороховая обезьяна
Группа: Пират
Сообщений: 14
Награды: 0
Репутация: 0
Статус: В открытом море
Ктонить знает функцию на смену нации ГГ -blink-

Україна або смерть
Свобода або смерть
Vito88vitДата: Четверг, 26.08.2010, 11:16 | Сообщение # 48
Мичман
Группа: Корсар
Сообщений: 147
Награды: 4
Репутация: 4
Статус: В открытом море
Прошу прощения а как сделать так чтобы появилась папка "PROGRAM"?

Wind gehuil zee van boos, kapers we geen huur! We zijn weer terug op de mast tegen de duizenden twee!
diversantДата: Пятница, 27.08.2010, 03:48 | Сообщение # 49
Капитан II ранга
Группа: Корсар
Сообщений: 372
Награды: 6
Репутация: 5
Статус: В открытом море
Vito88vit, nocd устоновить на версию игры 1.2

Лучше иметь повернутую психику, безумные идеи, быть непонятным и немного странным, чем не отличаться от тумбочки, что стоит возле постели....
Vito88vitДата: Пятница, 27.08.2010, 10:29 | Сообщение # 50
Мичман
Группа: Корсар
Сообщений: 147
Награды: 4
Репутация: 4
Статус: В открытом море
diversant, Значит это только на 1.2 а на 1.3 никак нельзя?

Добавлено (27.08.2010, 10:29)
---------------------------------------------
diversant, Значит это только на 1.2 а на 1.3 никак нельзя?


Wind gehuil zee van boos, kapers we geen huur! We zijn weer terug op de mast tegen de duizenden twee!
Igorek-96Дата: Пятница, 27.08.2010, 10:47 | Сообщение # 51
Мичман
Группа: Корсар
Сообщений: 102
Награды: 5
Репутация: 23
Статус: В открытом море
Quote (Vito88vit)
Значит это только на 1.2 а на 1.3 никак нельзя?

Можно. Можно ВООБЩЕ на ВСЕ версии, только с возможными багами после установки на 1.3 играть будет нельзя.
К примеру: 1.2.3-пропадает часть слов(НОвая игра,загрузка и т.п)
1.3.-с журналом такое...
MarseilleДата: Суббота, 30.10.2010, 12:10 | Сообщение # 52
Пороховая обезьяна
Группа: Пират
Сообщений: 3
Награды: 0
Репутация: 0
Статус: В открытом море
как изменить бриг Королева ("BrigQeen") в квесте "зачарованный город" на корабль с другим id ("Nightmare" например) и чтобы соответственно изменилось название?

Сообщение отредактировал Marseille - Воскресенье, 31.10.2010, 16:21
-Морган-Адамс-Дата: Суббота, 30.10.2010, 12:37 | Сообщение # 53
Мичман
Группа: Корсар
Сообщений: 119
Награды: 19
Репутация: 21
Статус: В открытом море
Quote (Igorek-96)
Можно ВООБЩЕ на ВСЕ версии

Это надо что бы была доступна папка program.
А в 1.3.2 АТ как ее сделать доступной (а главнее всего чтобы изменения были доступны в игре)?


Ловите ветер всеми парусами!
К чему гадать! Любой корабль - враг.
Удача - здесь! И эту веру сами
Мы создали, поднявши черный флаг.


Сообщение отредактировал -Морган-Адамс- - Суббота, 30.10.2010, 22:15
BpuДата: Вторник, 28.12.2010, 12:37 | Сообщение # 54
Боцман
Группа: Пират
Сообщений: 249
Награды: 24
Репутация: 26
Статус: В открытом море
Как создовать линейки для главных героев.

Jack-sparrowДата: Пятница, 31.12.2010, 20:15 | Сообщение # 55
Мичман
Группа: Корсар
Сообщений: 168
Награды: 4
Репутация: 10
Статус: В открытом море
Как сделать чтоб:
ГГ подходит в Сан-Хуане около причала к пирату и он спрашивет ГГ хочит ли тот крутой меч.
1. ГГ соглашается
2. ГГ не соглашается
1. пират предлогает ГГ заплатить 30 тыс. и рассказывает где он спрятал меч
2. Пират убегает
1. Пират рассказывает и убигат. После чего на Терксе в гроте (item, item2) появляется меч.
2.На Терксе нечего не появляется -dance2-
meloman08071993Дата: Четверг, 06.01.2011, 14:12 | Сообщение # 56
Мичман
Группа: Корсар
Сообщений: 68
Награды: 8
Репутация: 3
Статус: В открытом море
попробую сделаь что нибудь, если получится скину
WillTerДата: Суббота, 22.01.2011, 20:32 | Сообщение # 57
Матрос
Группа: Пират
Сообщений: 31
Награды: 4
Репутация: 4
Статус: В открытом море
Quote
как изменить бриг Королева ("BrigQeen") в квесте "зачарованный город" на корабль с другим id ("Nightmare" например) и чтобы соответственно изменилось название?

Названия кораблей(да и не только их) находятся в файле RESOURCE\INI\texts\russian\common.ini - поищи
А ид корабля можно изменить в файле PROGRAM\Ships\Ships_init.c - находишь нужный корабль и меняешь (только стоит помнить, что если изменишь ид, то нужно чтобы название папки с моделью соответствовало ему)


...Ты либо бeзумeц, либо гeний... Это двe крaйности одной и той жe сущности...
Ford22Дата: Среда, 02.03.2011, 12:47 | Сообщение # 58
Пороховая обезьяна
Группа: Корсар
Сообщений: 19
Награды: 1
Репутация: 0
Статус: В открытом море
Как назначить диалог нпс, которого я сделал капитаном корабля.
Пошарился в скриптах, понял как вставить корабль, а как назначить диалог так и не понял.
Вставляю корабль возле Антигуа.

Group_FindOrCreateGroup("Trade");
Group_SetType("Trade", "trade");
sld = characterFromID("xy2");
FantomMakeCoolSailor(sld, SHIP_FLEUT, "ррррррррр", CANNON_TYPE_CULVERINE_LBS24, 90, 90, 90);
FantomMakeCoolFighter(sld, 20, 90, 50, "blade25", "pistol3", 80);
sld = characterFromID("xy2");
sld.dialog.filename = "Quest\Indeec\z3.c";
sld.dialog.currentnode "First time";
Group_AddCharacter("Trade", "xy2");
Group_SetGroupCommander("Trade", "xy2");
sld.DontRansackCaptain = true;
Group_SetAddress("Trade", "Antigua", "", "");

Пишу чтоб мой нпс xy2 начал разговор с First time, а он все равно говорит как обычный капитан.
sld = characterFromID("xy2");
sld.dialog.filename = "Quest\Indeec\z3.c";
sld.dialog.currentnode "First time";

Добавлено (02.03.2011, 12:47)
---------------------------------------------
Все сам понял, вместо sld.dialog.currentnode "First time"; надо было sld.DeckDialogNode = "First time";


The_JokerДата: Пятница, 08.04.2011, 19:23 | Сообщение # 59
Профессор-Икс
Группа: Корсар
Сообщений: 1532
Награды: 51
Репутация: 177
Статус: В открытом море
подскажите пожалуйста! Я так и не понял что надо писать в ch.id . И в каком файле мне найти названия идов?

уже понял)

Добавлено (28.03.2011, 17:30)
---------------------------------------------
Ребята, подскажите кто знает.
Хочу закодить вот это:
Поговорил с персом, и после окончания диалога, я себе сам выхожу в море. Но когда я выхожу в глобалку, чуть отплываю от острова, то резкий релоад в море, и на меня нападает корабль. и когда я этот корабль прикончу, то наступает релоад на палубу.
и ещё такой вопрос, как добавить после окончания диалога компаньёна, и после того, когда я зделаю то что он просит, он выходит из компаньёны.

Добавлено (08.04.2011, 19:23)
---------------------------------------------
Ребят, с этим всем разобрался, но кто может подсказать :
КАк сделать требование в начале квеста?
В смысле, я начинаю диалог с персом, но если у меня репутация ниже чем герой то у перса один диалог, а если репутация герой, то у перса совсем другой диалог. Кто знает, помогите пожалуйста!






Сообщение отредактировал Captain_America - Воскресенье, 27.03.2011, 23:53
korsary4Дата: Пятница, 08.04.2011, 19:48 | Сообщение # 60
Адмирал
Группа: Администратор
Сообщений: 5200
Награды: 486
Репутация: 1871
Статус: В открытом море
Quote (Captain_America)
В смысле, я начинаю диалог с персом, но если у меня репутация ниже чем герой то у перса один диалог, а если репутация герой, то у перса совсем другой диалог. Кто знает, помогите пожалуйста!

Code
       case "First time":
     if (sti(Pchar.reputation) >= 50)
     {
     dialog.text = ""+ GetFullName(Pchar)+"? ";
     link.l1 = "Откуда ты знаешь моё имя?";
     link.l1.go = "dialog1";
     }
     else
     {
     dialog.text = "Я не желаю с тобой разговаривать.";
     link.l1 = "Я и сам не горю желанием.";
     link.l1.go = "Exit";   
     }
    break;

Значение репы смотри в PROGRAM\characters\RPGUtilite.c

Code
    if(reputation<11)
          return "REPUTATIONT_BAD_4";
      if(reputation<21)
          return "REPUTATIONT_BAD_3";
      if(reputation<31)
          return "REPUTATIONT_BAD_2";
      if(reputation<41)
          return "REPUTATIONT_BAD_1";
      if(reputation<51)
          return "REPUTATIONT_NEUTRAL";
      if(reputation<61)
          return "REPUTATIONT_GOOD_1";
      if(reputation<71)
          return "REPUTATIONT_GOOD_2";
      if(reputation<81)
          return "REPUTATIONT_GOOD_3";
      if(reputation<=90)
          return "REPUTATIONT_GOOD_4";

REPUTATIONT_BAD_4,"Кровавый убийца"
REPUTATIONT_BAD_3,"Негодяй"
REPUTATIONT_BAD_2,"Пройдоха"
REPUTATIONT_BAD_1,"Мошенник"
REPUTATIONT_NEUTRAL,"Обычный моряк"
REPUTATIONT_GOOD_1,"Славный малый"
REPUTATIONT_GOOD_2,"Честный капитан"
REPUTATIONT_GOOD_3,"Человек чести"
REPUTATIONT_GOOD_4,"Герой"

Как-то так) -give_rose-



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

Copyright Pirates-Life.Ru © 2008-2018


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