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

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


Купить игры
 



Чат
 
500


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

Модератор форума: NikK  
Вопросы по созданию модификаций
ChemshenikДата: Четверг, 07.08.2014, 22:42 | Сообщение # 1481
Пороховая обезьяна
Группа: Пират
Сообщений: 17
Награды: 0
Репутация: 0
Статус: В открытом море
Цитата Mett ()
поисковик винды вам в руки

Не удалось найти. Нужно сделать так, что после получения перка, во время контрабанды патруль не появляется.
NathanielДата: Четверг, 07.08.2014, 23:00 | Сообщение # 1482
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата Chemshenik ()
Не удалось найти

А вы искали? )))

Цитата Chemshenik ()
после получения перка, во время контрабанды патруль не появляется

И при чём же здесь получение перка? Патруль появляется из-за недостатка "скрытности", а не после получения перка. А это значит - нужно менять условие появления патруля.

Вам ведь правильно написал Mett - нужно уметь пользоваться поиском... Как? Мы знаем, что это диалоги патруля, который появляется после сделки с контрабандистами. Вспоминаем какую-нибудь строку из этого диалога. Например: "Я раздаю золото..." Вбиваете её в поиск и находите файл Smuggler_Guards_dialog.c. Теперь просматриваете, в каких файлах встречается упоминанание этого диалога. Результат поиска выдаёт только данный файл и файл quest_reactions.c. Ищем вхождение указанной строки в этом файле. Находим фрагмент "Rand_ContrabandInterruption", который просматриваем. Не найдя в нём условия, ищем дальше...

Этот поиск укажет вам на ещё один файл - Smuggler_OnShore_dialog.с. Открываем его и находим замечательный фрагмент кода!

Цитата
if (GetSummonSkillFromNameToOld(Pchar, SKILL_SNEAK) < frandSmall(13.0*(1.0 - pow(0.9, sti(PChar.rank)))) && !CheckAttribute(PChar, "GenQuest.contraTravel.PatrolFight"))
{
AddDialogExitQuest("Rand_ContrabandInterruption");
PChar.GenQuest.contraTravel.PatrolFight = true;
}


Меняем выделенное условие, напрямую зависящее от "скрытности" (SKILL_SNEAK), и прыгаем до потолка от счастья! Или же убираем условие в фигурных скобках, отвечающее за появление (процедура "Rand_ContrabandInterruption") в локации патруля.


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


Сообщение отредактировал Nathaniel - Четверг, 07.08.2014, 23:08
ReborodaДата: Среда, 20.08.2014, 22:39 | Сообщение # 1483
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
Как правильно прочекать какой нибудь из SPECIALов у офицера? Никак не получается разобраться.

В case "hired" диалога нанятого оффа я прописал условие на каюту, а в нем - условие на силу и выносливость перса (она потом будет бонуситься, таким образом после должен остаться только пункт в else):

Код
            if (PChar.location == Get_My_Cabin())
             {
      Link.l3 = RandPhraseSimple("У тебя есть какая-нибудь нужда? Что-то ты совсем раскис...",
                    "Почему такой хмурый? Выкладывай, что у тебя на душе...");

                  if (CheckAttribute(npchar, SPECIAL_S) == 4 && CheckAttribute(npchar, SPECIAL_E) == 5)
                  {
                      Link.l3.go = "Need_Tabak_Yes";
                  }
                  else
                  {
                      Link.l3.go = "Need_Tabak";
                  }
             }


Сила у оффа = 4, выносл = 5, но срабатывает только кейс в else. Не хочет он сообщать, что ему надо курнуть табаку, чтоб взбодриться.


- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
NathanielДата: Среда, 20.08.2014, 22:59 | Сообщение # 1484
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата Reboroda ()
срабатывает только кейс в else

Если не ошибаюсь, вместо CheckAttribute(npchar, SPECIAL_S) == 4 надо писать условия для проверки PIRATES вот так:

например
Код
if (GetCharacterSPECIAL(npchar, "Power") == 4)  
{
...
}


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


Сообщение отредактировал Nathaniel - Среда, 20.08.2014, 23:10
ReborodaДата: Среда, 20.08.2014, 23:37 | Сообщение # 1485
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
Nathaniel, не чекается. Я пробовал и SPECIAL_S прописать вместо Power, результат = 0.

Ну да ладно. Я уже обыграл по-другому, через метку события в темп (типа story event создал). Метка легко чекается, потом ее удаляю и все дела. Спс за ответ. Вопрос снят.


- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
NathanielДата: Среда, 20.08.2014, 23:42 | Сообщение # 1486
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата Reboroda ()
не чекается

Но это условие встречается не один раз в коде игры... И там оно работает исправно...


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
ReborodaДата: Среда, 20.08.2014, 23:48 | Сообщение # 1487
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
Nathaniel, странно, значит я где-то напортачил. Буду проверять.

- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
korsary4Дата: Пятница, 22.08.2014, 00:35 | Сообщение # 1488
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Код
LAi_SetFanatic

А что, нынче в гпк такая тема не работает?



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
NathanielДата: Пятница, 22.08.2014, 22:21 | Сообщение # 1489
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата korsary4 ()
А что, нынче в гпк такая тема не работает?

Встречается, но только в одной процедуре во всей игре. В английской линейке такой тип приписан квестовой девушке Джиллиан Эттербери.


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
korsary4Дата: Пятница, 22.08.2014, 22:43 | Сообщение # 1490
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Цитата Nathaniel ()
В английской линейке такой тип приписан квестовой девушке Джиллиан Эттербери.

А оно работает вообще? Я пытался прописать и ничего. НПС в церкви я так и не увидел, продолжал в городе бродить в указанное время. Или это только означает, что он может быть в церкви, но не факт что он там будет?



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
NathanielДата: Пятница, 22.08.2014, 22:51 | Сообщение # 1491
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата korsary4 ()
Или это только означает, что он может быть в церкви, но не факт что он там будет?

Если верить квестовому диалогу - может быть как в церкви, так и в городе... Вот так задаётся:

Код
LAi_SetFanatic(sld, "PortRoyal_church", "sit", "sit1", 11.0, 14.0);

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


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


Сообщение отредактировал Nathaniel - Пятница, 22.08.2014, 22:51
Джин-БейнДата: Вторник, 26.08.2014, 16:53 | Сообщение # 1492
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды: 40
Репутация: 197
Статус: В открытом море
Цитата Nathaniel ()
То есть, вероятно, банально может получиться так, что не окажется свободного локатора..

korsary4, Да сделаю я тебе локатор, где и когда скажешь....


korsary4Дата: Вторник, 26.08.2014, 17:47 | Сообщение # 1493
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Цитата Джин-Бейн ()
korsary4, Да сделаю я тебе локатор, где и когда скажешь....

Да не, не в этом беда)) jokingly Локатор я и сам сделаю, ну почти везде.
При прописывании подобного рода - LAi_SetFanatic(sld, "PortRoyal_church", "sit", "sit1", 11.0, 14.0);
я не застаю нпс в церкви в нужное время, он тупо по городу бродит. На занятый локатор вроде и не свалить, так как он никем и не занят там.



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
NathanielДата: Вторник, 26.08.2014, 18:48 | Сообщение # 1494
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата korsary4 ()
я не застаю нпс в церкви в нужное время, он тупо по городу бродит

Тогда, наверное, надо писать другой код. В обход этой функции. Принудительно переместить нужного NPC в заданную локацию, а потом вернуть на место. Это возможно?


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
korsary4Дата: Вторник, 26.08.2014, 18:58 | Сообщение # 1495
Адмирал
Группа: Администратор
Сообщений: 5204
Награды: 496
Репутация: 1935
Статус: В открытом море
Цитата Nathaniel ()
Тогда, наверное, надо писать другой код. В обход этой функции. Принудительно переместить нужного NPC в заданную локацию, а потом вернуть на место. Это возможно?

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



Единственное, что можно сказать об удаче с уверенностью — она изменит.
--------
ReborodaДата: Четверг, 28.08.2014, 12:17 | Сообщение # 1496
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
Мастера кодинга, кто-нибудь знает функцию, чтобы перезагрузить текущую локацию (ту в которой ГГ), тобишь рефрэшнуть ее? Что-т не могу найти никак поиском.

- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
NathanielДата: Четверг, 28.08.2014, 14:52 | Сообщение # 1497
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата Reboroda ()
кто-нибудь знает функцию, чтобы перезагрузить текущую локацию

Знаем, это процедура DoQuestReloadToLocation()

Пример перегрузки в ту же локацию:
DoQuestReloadToLocation(pchar.location, pchar.location.group, pchar.location.locator, "");


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
Джин-БейнДата: Четверг, 28.08.2014, 16:06 | Сообщение # 1498
Капитан I ранга
Группа: Команда Аддона
Сообщений: 1073
Награды: 40
Репутация: 197
Статус: В открытом море
в дебагере же можно, через F25



Сообщение отредактировал Джин-Бейн - Четверг, 28.08.2014, 16:10
NathanielДата: Четверг, 28.08.2014, 17:32 | Сообщение # 1499
Контр-адмирал
Группа: Капитан
Сообщений: 8036
Награды: 347
Репутация: 1845
Статус: В открытом море
Цитата Джин-Бейн ()
в дебагере же можно

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


Я был на краю земли, на краю бескрайних озёр, за горизонтом и на вершинах самых высоких гор.
Но я не нашёл там никого, кто не был бы моим другом!
ReborodaДата: Четверг, 28.08.2014, 17:42 | Сообщение # 1500
Мичман
Группа: Корсар
Сообщений: 146
Награды: 10
Репутация: 111
Статус: В открытом море
Nathaniel, точно! me Снова спасибо, все работает.

Добавлено (28.08.2014, 17:42)
---------------------------------------------
Я был не внимателен. Такая функция уже была у тебя в коде гашения костров...)


- Бизнесмен убъет в вас зрителя, но ты... Билли... Неужели тебе это могло понравиться?
- Да я вообще только одним глазком...
Поиск:

Copyright Pirates-Life.Ru © 2008-2024


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