Здравствуйте, гость ( Вход | Регистрация )
Отправлено: Dec 8 2007, 17:27 | |
Level 1 Группа: Newbie Сообщений: 2 Регистрация: 07.12.2007 Из: С-Пб Пользователь №: 4,907 |
Обычно функция описывается. надо навести на нее курсор и в инфопанели внизу будет описание. Как ни печально, но описания этих отладочных функций(PrettyDebug,PrettyError) в инфопанели я не нашел. Цитата Но честно, говоря лучше сделать простую дебаг инклюду и пользоваться. Подключать к рабочему скрипту свой отладочный? Зачем писать свой, если есть уже написанные? Цитата Вы собсвенно что хотите увидеть в дебаге? Давайте попробуем по порядку: Возьмем глобальный скрипт : Neverwinter Script Source // ga_influence( int nCompanion, int nChange ) /* This adjusts the influence rating of the companion to the PC ( the players as a whole technically ). The influence rating is based on a scale between -100( worst ) and 100( best ). ( 0 being neutral ) Parameters: int nCompanion = This is the integer value of the companion to adjust. ( See ginc_companions ) int nChange = This is the amount to adjust influence by. 1 Khelgar 2 Neeshka 3 Elanee 4 Qara 5 Sand 6 Grobnar 7 Casavir 8 Bishop 9 ShandraJerro 10 Construct 11 Zhjaeve 12 AmmonJerro 13 Bevil */ // FAB 10/4 // ChazM 5/4/05 // BMA 5/5/05 ginc_companions id look up // BMA-OEI 8/22/05 added companion id table // ChazM 12/16/05 added bevil // ChazM 4/18/06 prepped for adding influence indicator // ChazM 4/25/06 added string ref constants // ChazM 5/1/06 fixed "temp text" bug. // EPF 7/10/06 - added debug strings for balance testing // BMA-OEI 7/10/06 -- Updated to use GetInfluenceByNumber( ) #include "kinc_companion" const int STRING_REF_LOST_INFLUENCE = 178842; const int STRING_REF_GAINED_INFLUENCE = 178841; int GetCompanionNameStringRef( int nCompanion ) { // companions str refs are 178843 - 178855 return ( 178842 + nCompanion ); } void main( int nCompanion, int nChange ) { if ( nChange == 0 ) { PrettyError( "ga_influence: companion " + IntToString( nCompanion ) + " no influence change" ); return; } int nOldInfluence = GetInfluenceByNumber( nCompanion ); IncInfluenceByNumber( nCompanion, nChange ); int nNewInfluence = GetInfluenceByNumber( nCompanion ); string sOut; int nDelta = nNewInfluence - nOldInfluence; //nChange; // Actual nDelta may not == nChange if ( nDelta > 0 ) sOut = GetStringByStrRef( STRING_REF_GAINED_INFLUENCE ); else sOut = GetStringByStrRef( STRING_REF_LOST_INFLUENCE ); sOut += " " + GetStringByStrRef( GetCompanionNameStringRef( nCompanion )) + ": " + IntToString( nDelta ); object oPC = ( GetPCSpeaker( )==OBJECT_INVALID?OBJECT_SELF:GetPCSpeaker( ) ); SendMessageToPC( oPC, sOut ); PrettyDebug( sOut ); PrettyDebug( "Total influence with " + GetStringByStrRef( GetCompanionNameStringRef( nCompanion )) + " = " + IntToString( nNewInfluence )); } 31 строка: Цитата // EPF 7/10/06 - added debug strings for balance testing и далее в теле идут отладочные функции PrettyError и PrettyDebug Раз авторы их добавлялм ,они ими пользовались. Значит режим отладки где то должен включаться. Во встроенных функциях этих нет. Вопросы: могут эти функции быть только в тулсете, а не в игре? Возможно ли их как то задействовать в самой игре? Как вариант , могут ли они после завершения создания модуля удалены из тулсета/игры? Существует ли в тулсете система отладки скриптов, (которая мне не известна,но может быть известна вам)? Цитата Дебаг НВН-а это место куда идут все сообщения во время игры. Внизу окно такое растягивается. Мы говорим об окне сообщений, или о чем то другом? В режиме DebugMode 0 все сообщения в игре отправляются в окно сообщений, в частности строка : Цитата SendMessageToPC( oPC, sOut ); А при включенном режиме DebugMode 1 некоторые команды ,например showfps выводятся просто на экран. Значит стандартный вывод можно менять? А вэтих строках получается , что выводится 3 сообщения: Цитата SendMessageToPC( oPC, sOut ); // вывод в окно сообщений PrettyDebug( sOut ); // повторение той же строки не понятно куда PrettyDebug("Total influence with " + GetStringByStrRef(GetCompanionNameStringRef(nCompa ion)) + " = " + IntToString(nNewInfluence)); // и вывод третьей строки с отладочной информацией Вот и все же хотелось бы узнать как режим включить если это возможно, и как сделать такой вывод отладки во время игры(с возможностью отключения конечно) как в своих скриптах,так и в оригинальных(раз уж функции там уже прописаны). Как вариант ,как выводить просто текст на экран в любом произвольном месте,накладывая на игру, возможно ли это? |
Форум: Neverwinter Nights 2 Obsidian Toolset · Просмотр сообщения: #116298 · Ответов: 336 · Просмотров: 217,990 |
Отправлено: Dec 7 2007, 20:37 | |
Level 1 Группа: Newbie Сообщений: 2 Регистрация: 07.12.2007 Из: С-Пб Пользователь №: 4,907 |
Здравствуйте уважаемые мастера. Вот наткнулся в скриптах на отладочную функцию: Neverwinter Script Source PrettyDebug( sOut ); PrettyDebug( "Total influence with " + GetStringByStrRef( GetCompanionNameStringRef( nCompanion )) + " = " + IntToString( nNewInfluence )); ИМХО понятно, что срабатывает она при включении отладки и выводит текст. Вопрос: 1.где и как включается этот отладочный режим. 2. куда выводиться отладочная информация(окно сообщений,экран, что нить особое...). P.S. Сорри, если вопрос нубский или написал не в том топике, прошу не бить больно (IMG:style_emoticons/kolobok_light/smile.gif) P.P.S.(поиск юзал (IMG:style_emoticons/kolobok_light/sad.gif) ) |
Форум: Neverwinter Nights 2 Obsidian Toolset · Просмотр сообщения: #116269 · Ответов: 336 · Просмотров: 217,990 |
Открытая тема (есть новые ответы) Открытая тема (нет новых ответов) Горячая тема (есть новые ответы) Горячая тема (нет новых ответов) |
Опрос (есть новые голоса) Опрос (нет новых голосов) Закрытая тема Тема перемещена |
Текстовая версия | Сейчас: 29th March 2024 - 04:32 |