|
|
25.04.2008, 12:53
|
#2043
|
|
Re: М: Скриптинг в Готике
2360:
Да собственно в Г1 можно и в штанах рудокопа до 1 главы все что можно вырезать. Броня не решает, спросите манчей, они вам расскажут страшные истории ;D
|
Да не в этом дело. Можно и без штанов и Г1 и Г2, вовремя отбегая, но удовольствия мало. А получение новой брони - ключевой момент, к которому в игре я полагаю надо стремиться. Остаётся одно - усилить противников настолько, чтобы до некоторых пор было бы невозможным на некоторых нападать, но и в самом конце они должны быть достаточно серьёзными врагами. Я попытаюсь это сделать. И наверное падальщиков надо сделать сильнее шершней (неубедительно выглядит, когда какая-то муха убивает хищную птицу,которая кстати сама начинает охотиться на шершня). И рудокопов вооружить тяжёлыми булавами и ещё что-нибудь. Добавление от 04/25/08, в 13:13:17
А нельзя ли сделать так, чтобы персонаж использовал вместо меча и арбалета меч и магию?
|
|
|
25.04.2008, 13:21
|
#2044
|
|
Re: М: Скриптинг в Готике
2niccolo:
А нельзя ли сделать так, чтобы персонаж использовал вместо меча и арбалета меч и магию?
|
Конечно можно, шукай в файле B_SelectWeapon.d
|
|
|
25.04.2008, 16:29
|
#2045
|
|
Re: М: Скриптинг в Готике
2Ukur:
Конечно можно, шукай в файле B_SelectWeapon.d
|
Я посмотрел файл, пока не понимаю почему там нет: FAI_HUMAN_MASTER
|
|
|
25.04.2008, 16:45
|
#2046
|
|
Re: М: Скриптинг в Готике
2niccolo:
Я посмотрел файл, пока не понимаю почему там нет: FAI_HUMAN_MASTER
|
А никто не говорил, что будет легко :) И на кой она вам сдалась? Если уж так необходима, кто мешает дописать? Да и вообще в скриптах Г1 отвечающих за общий AI по сравнению с Г2а все выглядит гораздо плачевнее, попробуй сравнить эту же функцию B_SelectWeapon.d в Г2а Собственно я раньше занимался модостроением на движке Г1 и переносил всю скриптовую начинку из Г2а, можешь скачать альфа-версию мода StrongHand для Г1 и изучить. Эта версия было выложена два года назад и для игры малопригода, но для изучения сойдет. Тем не менее, есть и те кто отважился играть в это чудо :) http://forums.gothic.ag/showthread.php?&s=0&t=1113515834&start=500 (Ответ #515)
|
|
|
26.04.2008, 02:31
|
#2047
|
|
Re: М: Скриптинг в Готике
2Ukur:
...переносил всю скриптовую начинку из Г2а, можешь скачать ... альфа-версию мода StrongHand для Г1[/url] и изучить....
|
Да, изучить это всегда хорошая идея. Посоветуй (и, если возможно, дай ссылку) хорошее дополнение к руководству VAM. Ковырять это интуитивно наверное не стоит. ----- Если отредактировать B_SelectWeapon.d, то изменения каснутся всех NPC с данной тактикой боя. Я хотел бы заставить конкретного чувака (Ангара)пользоваться мечом и магией. ---------- Смотрел я ZS_Attack.d, нашёл там:
Код:
{ if((self.fight_tactic == FAI_HUMAN_COWARD) && (self.attribute[ATR_HITPOINTS] < (self.attribute[ATR_HITPOINTS_MAX] / 2))) { PrintDebugNpc(PD_ZS_Check,"...coward flees!"); AI_StartState(self,ZS_Flee,0,""); }; if((self.fight_tactic == FAI_HUMAN_Strong) && (self.attribute[ATR_HITPOINTS] < ((self.attribute[ATR_HITPOINTS_MAX] / 4) * 3))) { PrintDebugNpc(PD_ZS_Check,"...strong flees!"); AI_StartState(self,ZS_Flee,0,""); }; if((self.fight_tactic == FAI_HUMAN_MAGE) && (self.attribute[ATR_MANA] < (self.attribute[ATR_MANA_MAX] / 5)))
Понял, что трусливый чувак (COWARD) убегает, когда у него 0.5 жизни остаётся, проверил - так и есть, но никак не понимаю, почему силач (strong) по проверке игрой не драпает, когда у него остаётся 3/4 жизни. (self.attribute[ATR_HITPOINTS_MAX] / 4) * 3) - это ведь 3/4, я не ошибаюсь? С магом другая заморочка, когда у того 1/5 маны (по скрипту), он должен убегать, но по проверке у мага никогда не бывает так мало маны - она держится на постоянном уровне после того, как достигнет некоторого значения < максимального. А где сидит эта хрень, делающая мага нечестным противником? И зачем 1/5, если этого не происходит никогда? Спасибо.
|
|
|
03.05.2008, 21:15
|
#2048
|
|
Re: М: Скриптинг в Готике
2niccolo:
(self.attribute[ATR_HITPOINTS_MAX] / 4) * 3) - это ведь 3/4, я не ошибаюсь?
|
Легко проверить - (40/4)*3=30, 3/4 да. Странная логикаб если честно - т.е. если у сильного бойца оставется менее 30 из 40 то он бежит, в то время как слабый бежит, когда у него осталось меньше 20 из 40. ИМХО сильный должен сражатсья до тех пор, пока у него не останется меньше 1/3 или 1/4.
С магом другая заморочка, когда у того 1/5 маны (по скрипту), он должен убегать, но по проверке у мага никогда не бывает так мало маны - она держится на постоянном уровне после того, как достигнет некоторого значения < максимального. А где сидит эта хрень, делающая мага нечестным противником? И зачем 1/5, если этого не происходит никогда?
|
Возможно, движок вообще не вычитает затраты маны на заклы, кастуемые НПЦ, не проверял, но судя по вашему рассказу это так ;) М.б. раньше так было, но потом в целях баланса упразднили, а строчка о мане осталась неубранная.
|
|
|
04.05.2008, 16:56
|
#2050
|
|
Re: М: Скриптинг в Готике
2360:
Возможно, движок вообще не вычитает затраты маны на заклы, кастуемые НПЦ, не проверял, но судя по вашему рассказу это так *М.б. раньше так было, но потом в целях баланса упразднили, а строчка о мане осталась неубранная.
|
2s@m:
У всех НПЦ по умолчанию ставят бесканечную ману, ну гдето 10000. Тоже не реально.
|
Вот прям как дети малые, ей богу :) Найдите в функции ZS_Attack.d строчку с функцией B_SelectWeapon(self,other); Теперь открываем файл B_SelectWeapon.d и что мы видим! А-я-яй! [pre] if(slf.fight_tactic == FAI_HUMAN_MAGE) { PrintDebugNpc(PD_ZS_Check,"...Magier-Kampftaktik!"); manaLeft = slf.attribute[ATR_MANA]; manaMax = slf.attribute[ATR_MANA_MAX]; if(manaLeft < (manaMax / 2)) { PrintDebugInt(PD_ZS_Check,"...Mana ьbrig: ",manaLeft); manaRefill = (manaMax / 2) - manaLeft; Npc_ChangeAttribute(slf,ATR_MANA,manaRefill); PrintDebugInt(PD_ZS_Check,"...Mana hinzugefьgt: ",manaRefill); }; };[/pre]
|
|
|
04.05.2008, 21:01
|
#2052
|
|
Re: М: Скриптинг в Готике
2360:
Но хоть насчет неубранной строчки я был прав?
|
Ну, судя по тому, что она все равно никогда бы не сработала, думаю да.. Хотя как я уже не раз упоминал, скрипты Г1 один большй подарок извращенных фантазий разработчиков :) В Г2а все существенно переработали.
|
|
|
06.05.2008, 13:19
|
#2054
|
|
Re: М: Скриптинг в Готике
Цитата:
Сообщение от Skaarj link=board=gothic&t=1105030050&goto=4190474 date=05/06/08, в 13:07:29
Как расшифровать строку: func void dia_lord_hagen_pickpocket_doit() { * * *if(Hlp_Random(other.attribute[ATR_DEXTERITY]) >= Hlp_Random(120)) * * *{ * * * * * *B_GiveInvItems(self,other,itke_hagen_secretkey,1) ;
|
Я так понимаю это идет воровство. Значится так - если атрибут ворующего (ГГ) [ATR_DEXTERITY] - то бишь ловкость, больше либо равен значению в случайном промежутке от 0 до 119 то кража успешна *- получаем ключ. Т.е. при ловкости 119 и выше кража будет успешна всегда, а при меньшей - есть шанс провалиться, притом чем ловкость ниже - тем сильнее шанс провалиться.
|
|
|
06.05.2008, 14:34
|
#2055
|
|
Re: М: Скриптинг в Готике
2360:
Т.е. при ловкости 119 и выше кража будет успешна всегда, а при меньшей - есть шанс провалиться, притом чем ловкость ниже - тем сильнее шанс провалиться.
|
было 200, поймали при краже, со 2й - удачно.
|
|
|
06.05.2008, 20:28
|
#2057
|
|
Re: М: Скриптинг в Готике
2360:
при ловкости в 200 воровство удается, когда случайное число от ловкости ГГ (0..199) больше чем случайное число от 0 до 119.
|
Понятно, авторы мода решили этим способом немного пошутить над игроком, ввели элемент случайности. Не принимая во внимания теорию вероятности и прочие факторы, как лимит прокачки в статах на уровень. Редиски :)
|
|
|
06.05.2008, 22:25
|
#2058
|
|
Re: М: Скриптинг в Готике
2 Skaarj & 360:
2360: при ловкости в 200 воровство удается, когда случайное число от ловкости ГГ (0..199) больше чем случайное число от 0 до 119. Понятно, авторы мода решили этим способом немного пошутить над игроком, ввели элемент случайности. Не принимая во внимания теорию вероятности и прочие факторы, как лимит прокачки в статах на уровень. Редиски :)
|
Пожалуйста уточните, авторы какого мода так пошутили - Глобала или Возвращения? :-[
|
|
|
07.05.2008, 10:08
|
#2059
|
|
Re: М: Скриптинг в Готике
2Dimus:
Пожалуйста уточните, авторы какого мода так пошутили - Глобала или Возвращения?
|
это из скриптов мода "Возвращение" и это не единственный случай, примерно у 40% населения такие проверки.
|
|
|
15.06.2008, 20:39
|
#2064
|
|
Re: М: Скриптинг в Готике
2360:
Вопрос, возможно ли использовать в скриптах параметр, считанный из INI-шника Готэки, или это привилегия только для движка?
|
Кроме включения быстрого приема напитков и рандома кода для влома сундуков, помоему нет ничего более существенного что как бы то ни было влияло на скрипты и игру.
|
|
|
04.07.2008, 19:39
|
#2068
|
|
Re: М: Скриптинг в Готике
Столкнулся с вот таким багом, не знаю, даже как его точнее описать. Прислали мне сейв - мол квест не сдается. Диалог на сдачу квеста:
instance DIA_5012_Food_success(C_Info) { npc = STT_5012_Ralph; nr = 2; condition = DIA_5012_Food_success_Condition; information = DIA_5012_Food_success_Info; permanent = 1; description = "Я принес тебе все, что ты просил!"; };
func int DIA_5012_Food_success_Condition() { if((QUEST_5012_1 == LOG_RUNNING)&& (Npc_HasItems(other,ItFoMutton) >= 1) && (Npc_HasItems(other,ItFoMeatbugragout) >= 1) && (Npc_HasItems(other,ItFoBeer) >= 1)) { return 1; }; };
func void DIA_5012_Food_success_Info() { [...] };
|
У ГГ в инвентаре все это есть - пива 15 бутылок, жареного мяса 4 десятка, хлеб, в общем - все условия выполнены. Но это я вперед забежал. Итак, подхожу к НПЦ - заговариваю - нет строчки, ладно, думаю. Открываю инвентарь, проверяю - все есть, заговариваю - есть строчка. WTF?! Проверяю второй раз. Выходжу, загружаю по-новой. Подхожу к НПЦ - нет строчки, открываю и закрываю инвентарь - строчка появляется. Что это такое и как с этим бороться? >:(
|
|
|
05.07.2008, 23:18
|
#2071
|
|
Re: М: Скриптинг в Готике
Продолжаю копать. Со ссылкой на ГГ все в порядке, добавил в диалог простой скрипт:
var string msg; msg = ConcatStrings("МЯСО - ",IntToString(Npc_HasItems(other,ItFoMutton))) ; msg = ConcatStrings(msg," РАГУ - "); msg = ConcatStrings(msg,IntToString(Npc_HasItems(other,I tFoMeatbugragout))); msg = ConcatStrings(msg," ПИВО - "); msg = ConcatStrings(msg,IntToString(Npc_HasItems(other,I tFoBeer))); PrintScreen(msg,-1,-1,"FONT_OLD_20_WHITE.TGA",7);
|
При загрузке с сейва выводит: МЯСО - 0 РАГУ - 4 ПИВО - 56 После открытия\закрытия инвентаря: МЯСО - 34 РАГУ - 4 ПИВО - 56. Ничего не понимаю, м.б. глюк в первоначальном сейве?
|
|
|
31.07.2008, 20:02
|
#2077
|
 |
|
 |
|
A.G.F.C.
Регистрация: 04.09.2006
Сообщений: 20
|
|
 |
|
 |
|
Re: М: Скриптинг в Готике
2DDEN-ON:
Раньше такого не наблюдалось. Способ лечения имеется?
|
Имеются, изучить для начала теорию по работе со скриптами Готики, а потом браться за их вставку в игру и теститнг... ;) Ps. После внесения изменений в скрипты, нужно начинать новую игру, а не загружать сейвы. ;D
|
|
|
31.07.2008, 20:56
|
#2079
|
|
Re: М: Скриптинг в Готике
2DDEN-ON:
Раньше я загружал сэйвы и все работало. Сейчас-же, даже если начать новую игру, то изменения не проявляються.
|
Как я понял из темы "Декомпилятора", уши растут из Г2а (кстати на будущее советую указывать платформу). G2MDK не ставили случаем? При запуске из ГотикСтартера скрипты грузятся из другого места.
|
|
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
|
|
Опции темы |
Поиск в этой теме |
|
|
Ваши права в разделе
|
|
|
|
Текущее время: 19:06. Часовой пояс GMT +4.
|
|
|
|
 |
|
 |
|
|
|
|
|
|
|
|
|