LoadLine Calibration Опубликовано: 16 ноября 2006 Опубликовано: 16 ноября 2006 В этой теме я постараюсь предоставить общественности интересные на мой взгляд скрипты и возможно карты и возможно еще какую-то интересную информацию по DeusEx Editing. :) Я создала эту тему потому-что мои «Вопросы...» не совсем для этого подходят. Да и вопросов я уже не задаю, стараюсь разобраться во всем сама. ;)
Kronos Опубликовано: 16 ноября 2006 Опубликовано: 16 ноября 2006 А можно как-то сделать следы от снега? Мне очень надо.
LoadLine Calibration Опубликовано: 16 ноября 2006 Автор Опубликовано: 16 ноября 2006 А можно как-то сделать следы от снега? Мне очень надо. Я пока не собиралась такого делать и мне это вряд-ли понадобиться, так как в моем моде даже погоды нормальной нет--измерение другое. Но я думаю можно сделать звук шагов по снегу, см. DeusExPlayer.uc,Function PlayFootStep. Вопрос только в том где взять этот звук шагов. Хотя в NOLF2 должен быть такой звук...
Kronos Опубликовано: 16 ноября 2006 Опубликовано: 16 ноября 2006 Да) звуки я все свои юзал. Это работает, и по снегу ходит с нормальными звуками, под водой тоже изменил. Из Rune вытащил.
LoadLine Calibration Опубликовано: 17 ноября 2006 Автор Опубликовано: 17 ноября 2006 Я сделала себе нормальную консоль, так как она была отключена. Вызываеться клавишей ~ (Тильда) Скрипт я взяла из Engine.u и изменила так чтобы консоль работала.Также я заменила шрифт в консоли так как те что по умолчанию--слишком мелкие на разрешении 1024x768. // Добавить (Точнее заменить) Console=Veronika_mod_01_Core.Rus_Console в файл DeusEx.ini. class Rus_Console expands Console; //----------------------------------------------------------------------- Var Font SmallFont; Var Font MedFont; Var Font BigFont; Var Font LargeFont; #Exec new TrueTypeFontFactory Name=LargeFont FontName=«HarRierBold Tygra» Height=18 CharactersPerPage=128 AntiAlias=1 #Exec new TrueTypeFontFactory Name=BigFont FontName=«HarRierBold Tygra» Height=18 CharactersPerPage=128 AntiAlias=1 #exec new TrueTypeFontFactory Name=MedFont FontName=«DPix_8pt» Height=8 CharactersPerPage=128 AntiAlias=1 #exec new TrueTypeFontFactory Name=SmallFont FontName=«DPix_8pt» Height=8 CharactersPerPage=128 AntiAlias=1 // Size the view up. exec function ViewUp() { BorderSize = Clamp( BorderSize-1, 0, MaxBorder ); } // Size the view down. exec function ViewDown() { BorderSize = Clamp( BorderSize+1, 0, MaxBorder ); } // Called by the engine when a single key is typed. event bool KeyType( EInputKey Key ); // Called by the engine when a key, mouse, or joystick button is pressed // or released, or any analog axis movement is processed. event bool KeyEvent( EInputKey Key, EInputAction Action, FLOAT Delta ) { if( Action!=IST_Press ) { return false; } // DEUS_EX CNN — Shift-Tilde is console now else if( Key==IK_Tilde ) { if( ConsoleDest==0.0 ) { // ConsoleDest=0.6; ConsoleDest=0.3; GotoState('Typing'); } else GotoState(''); return true; } else return false; } simulated function DrawConsoleView( Canvas C ) { local int Y, I, Line; local float XL, YL; // Console is visible; display console view. Y = ConsoleLines — 1; MsgText[(TopLine + 1 + MaxLines) % MaxLines] = «(>»@TypedStr; for ( I = Scrollback; I < (NumLines + 1); I++ ) { // Display all text in the buffer. Line = (TopLine + MaxLines*2 — (I-1)) % MaxLines; C.DrawColor.R = 255; C.DrawColor.G = 255; C.DrawColor.B = 255; C.Font = /*C.*/MedFont; if (( MsgType[Line] == 'Say' ) || ( MsgType[Line] == 'TeamSay' )) C.StrLen( MsgPlayer[Line].PlayerName$«:»@MsgText[Line], XL, YL ); else C.StrLen( MsgText[Line], XL, YL ); // Half-space blank lines. if ( YL == 0 ) YL = 5; Y —= YL; if ( (Y + YL) < 0 ) break; C.SetPos(4, Y); C.Font = /*C.*/MedFont; if (( MsgType[Line] == 'Say' ) || ( MsgType[Line] == 'TeamSay' )) C.DrawText( MsgPlayer[Line].PlayerName$«:»@MsgText[Line], false ); else C.DrawText( MsgText[Line], false ); } } simulated function DrawSingleView( Canvas C ) { local string TypingPrompt; local int I, J; local float XL, YL; local string ShortMessages[4]; local int ExtraSpace; // Console is hidden; display single-line view. C.SetOrigin(0.0, 0.0); // Ask the HUD to deal with messages. if ( Viewport.Actor.myHUD != None && Viewport.Actor.myHUD.DisplayMessages© ) return; C.DrawColor.R = 255; C.DrawColor.G = 255; C.DrawColor.B = 255; // If the HUD doesn't deal with messages, use the default behavior if (!Viewport.Actor.bShowMenu) { if ( bTyping ) { TypingPrompt = «(>»@TypedStr$«_»; C.Font = /*C.*/MedFont; C.StrLen( TypingPrompt, XL, YL ); C.SetPos( 2, FrameY — ConsoleLines — YL — 1 ); C.DrawText( TypingPrompt, false ); } } if ( TextLines > 0 && (!Viewport.Actor.bShowMenu || Viewport.Actor.bShowScores) ) { J = TopLine; I = 0; while ((I < 4) && (J >= 0)) { if ((MsgText[J] != "") && (MsgTick[J] > 0.0) && (MsgTick[J] > MsgTickTime) ) { if (MsgType[J] == 'Say') ShortMessages[i] = MsgPlayer[J].PlayerName$«:»@MsgText[J]; else ShortMessages[i] = MsgText[J]; I++; } J--; } J = 0; C.Font = /*C.*/MedFont; for ( I = 0; I < 4; I++ ) { if (ShortMessages[3 — I] != "") { C.SetPos(4, 2 + (10 * J) + (10 * ExtraSpace)); C.StrLen( ShortMessages[3 — I], XL, YL ); C.DrawText( ShortMessages[3 — I], false ); if ( YL == 18.0 ) ExtraSpace++; J++; } } } } //----------------------------------------------------------------------------- // State used while typing a command on the console. state Typing { exec function Type() { TypedStr=""; gotoState( '' ); } function bool KeyType( EInputKey Key ) { // DEUS_EX CNN — bring up the console if we hit shift-tilde if (Key == Asc(«~»)) { if( ConsoleDest==0.0 ) { // ConsoleDest=1.0; // DEUS_EX CNN — fullscreen console // ConsoleDest=0.6; ConsoleDest=0.3; GotoState('Typing'); } else GotoState(''); } else if( Key>=0x20 && Key<0x80 && Key!=Asc(«~») && Key!=Asc(«`») ) { if ( bNoStuff ) { bNoStuff = false; return true; } TypedStr = TypedStr $ Chr(Key); Scrollback=0; return true; } } function bool KeyEvent( EInputKey Key, EInputAction Action, FLOAT Delta ) { local string Temp; bNoStuff = false; if( Key==IK_Escape ) { if( Scrollback!=0 ) { Scrollback=0; } else if( TypedStr!="" ) { TypedStr=""; } else { ConsoleDest=0.0; GotoState( '' ); } Scrollback=0; } else if( global.KeyEvent( Key, Action, Delta ) ) { return true; } else if( Action != IST_Press ) { return false; } else if( Key==IK_Enter ) { if( Scrollback!=0 ) { Scrollback=0; } else { if( TypedStr!="" ) { // Print to console. if( ConsoleLines!=0 ) Message( None, «(>» @ TypedStr, 'Console' ); // Update history buffer. History[HistoryCur++ % MaxHistory] = TypedStr; if( HistoryCur > HistoryBot ) HistoryBot++; if( HistoryCur — HistoryTop >= MaxHistory ) HistoryTop = HistoryCur — MaxHistory + 1; // Make a local copy of the string. Temp=TypedStr; TypedStr=""; if( !ConsoleCommand( Temp ) ) Message( None, Localize(«Errors»,«Exec»,«Core»), 'Console' ); Message( None, "", 'Console' ); } if( ConsoleDest==0.0 ) GotoState(''); Scrollback=0; } } else if( Key==IK_Up ) { if( HistoryCur > HistoryTop ) { History[HistoryCur % MaxHistory] = TypedStr; TypedStr = History[--HistoryCur % MaxHistory]; } Scrollback=0; } else if( Key==IK_Down ) { History[HistoryCur % MaxHistory] = TypedStr; if( HistoryCur < HistoryBot ) TypedStr = History[++HistoryCur % MaxHistory]; else TypedStr=""; Scrollback=0; } else if( Key==IK_PageUp ) { if( ++Scrollback >= MaxLines ) Scrollback = MaxLines-1; } else if( Key==IK_PageDown ) { if( —-Scrollback < 0 ) Scrollback = 0; } else if( Key==IK_Backspace || Key==IK_Left ) { if( Len(TypedStr)>0 ) TypedStr = Left(TypedStr,Len(TypedStr)-1); Scrollback = 0; } return true; } function BeginState() { bTyping = true; Viewport.Actor.Typing(bTyping); } function EndState() { bTyping = false; Viewport.Actor.Typing(bTyping); //log(«Console leaving Typing»); ConsoleDest=0.0; } } defaultproperties { LoadingMessage=«Выполняется загрузка» SavingMessage=«Выполняется сохранение» PausedMessage=«--==[ ПАУЗА В ИГРЕ ]==--» PrecachingMessage=«Предварительное кэширование» FrameRateText=«Кадры в секунду» AvgText=«Примерно» LastSecText=«За послед. секунду» MinText=«Мин.» MaxText=«Макс.» fpsText=«Кадр/сек» SecondsText=«секунд.» FramesText=«кадров пририсовано в» TimeDemoFont=SmallFont SmallFont=Font'ВАШ_ПАК.SmallFont' MedFont=Font'ВАШ_ПАК.MedFont' BigFont=Font'ВАШ_ПАК.BigFont' LargeFont=Font'ВАШ_ПАК.LargeFont' } ВАЖНО: В Windows Должны быть установлены следующие шрифты:HarRierBold TygraDPix_8pt Необходимо отредактировать файл DeusEx.ini, заменив класс консоли на собственный.Console=ВАШ_ПАК.Rus_Console в файл DeusEx.ini. Лично мне такая коносоль удобнее чем обычная и даже фон у нее есть ;)
Dae Опубликовано: 17 ноября 2006 Опубликовано: 17 ноября 2006 Вероника, используй, пожалуйста тэг codebox вместо code для длинных скриптов. А то страница становится слишком длинной и её неудобно читать.
LoadLine Calibration Опубликовано: 18 ноября 2006 Автор Опубликовано: 18 ноября 2006 Я полагаю что многие знают про конвертер UNr2De, преобразующий модели Unreal в формат DeusEx. Но видимо в этом конвертере есть какие-то ошибки, так как не удаеться нормально преобразовать некоторые модели вытащенные из UnrealTournament. То есть из них вылазят какие-то длинные треугольники. Среди таких моделей есть Plant2m и Plant4m а может и еще какие-то. Но оказалось что есть альтернативный способ: через MilkShape 3d.Чтобы использовать этот способ: 1. На Альфе скачайте модуль для экспорта в формат DeusEx (правда я не помню раздел где я нашла этот модуль) и установите его. 2. В Милке откройте файл модели (Import-Unreal/UT .3D)3. Из Милки экспортируйте в формат DeusEx (Export-DeusEx .3D) Модель при этом будет нормальной, в этом можно убедиться посмотрв не нее в WotGrealExporter ;) Лично я этот способ через Милку обнаружила только вчера :/
Dae Опубликовано: 18 ноября 2006 Опубликовано: 18 ноября 2006 Ага, причём можно анимации вытаскивать.
LoadLine Calibration Опубликовано: 18 ноября 2006 Автор Опубликовано: 18 ноября 2006 А как их вытаскивать?
Dae Опубликовано: 18 ноября 2006 Опубликовано: 18 ноября 2006 По-моему, процесс аналогичен. Я точно не знаю — у меня этим знакомый занимался.
Kronos Опубликовано: 19 ноября 2006 Опубликовано: 19 ноября 2006 Я полагаю что многие знают про конвертер UNr2De, преобразующий модели Unreal в формат DeusEx. Но видимо в этом конвертере есть какие-то ошибки, так как не удаеться нормально преобразовать некоторые модели вытащенные из UnrealTournament. То есть из них вылазят какие-то длинные треугольники. Среди таких моделей есть Plant2m и Plant4m а может и еще какие-то. Но оказалось что есть альтернативный способ: через MilkShape 3d.Чтобы использовать этот способ: 1. На Альфе скачайте модуль для экспорта в формат DeusEx (правда я не помню раздел где я нашла этот модуль) и установите его. 2. В Милке откройте файл модели (Import-Unreal/UT .3D)3. Из Милки экспортируйте в формат DeusEx (Export-DeusEx .3D) Модель при этом будет нормальной, в этом можно убедиться посмотрв не нее в WotGrealExporter :) Лично я этот способ через Милку обнаружила только вчера :/ И ещё Plant3M.. Долго помню возился с этими растениями, а так хотелось. Не знал, кстати что милк в деус конвертирует.
Dae Опубликовано: 19 ноября 2006 Опубликовано: 19 ноября 2006 Не знал, кстати что милк в деус конвертирует.По-моему, плагин выпустили относительно недавно.
Zzz Опубликовано: 23 ноября 2006 Опубликовано: 23 ноября 2006 Я полагаю что многие знают про конвертер UNr2De, преобразующий модели Unreal в формат DeusEx. (...) Но оказалось что есть альтернативный способ: через MilkShape 3d.Чтобы использовать этот способ: 1. На Альфе скачайте модуль для экспорта в формат DeusEx (правда я не помню раздел где я нашла этот модуль) и установите его. Я нашел где его можно там скачать, второе вложение в первом посте: Milkshape2DeusEx (нужно иметь акк на альфе что бы скачать)
Dae Опубликовано: 24 ноября 2006 Опубликовано: 24 ноября 2006 Перезалил в наш родной архив. Milkshape to Deus Ex plugin
LoadLine Calibration Опубликовано: 27 ноября 2006 Автор Опубликовано: 27 ноября 2006 Я на днях залезла в класс ScriptedPawn и обратила внимание на переменную SurprisePeriod. Оказалось что она отвечает за то как долго противник будет разглядывать игрока перед тем как кинуться на него :-k Вот если значение этой переменной установить в 0.00 (по умолчанию стоит 2.00) то враги не будут разглядывать игрока и сразу будут кидаться на него :D По умолчанию переменная SurprisePeriod скрыта от редактирования но это поправимо. ;) Запустив редактор открываем для редактирования класс DeusEx.ScriptedPawn. Находим такое: var float EnemyReadiness; var float ReactionLevel; var float SurprisePeriod; // ВОТ ЭТО!!!!!!! var float SightPercentage; var float CycleTimer; var float CyclePeriod; var float CycleCumulative; var Pawn CycleCandidate; var float CycleDistance; И меняем так: var() float SurprisePeriod; // ВОТ ЭТО!!!!!!! Затем в меню Script выбираем Compile Changed, ждем и сохраняем пак DeusEx. Затем перезагружаем редактор и открываем любую карту и выбираем любого NPC. В свойствах в категории ScriptedPawn ,будет новая переменная SurprisePeriod. Её можно будет менять по желанию, например я себе везде поставила 0.00 но можно выставить больше, скажем 10.00 :trunk: Все это для UED1 но можно сделать и в UED2, почти все аналогично.
Dae Опубликовано: 27 ноября 2006 Опубликовано: 27 ноября 2006 В UEd2, думаю, не пойдёт — там свой, переделанный DeusEx.u
LoadLine Calibration Опубликовано: 27 ноября 2006 Автор Опубликовано: 27 ноября 2006 Да нет, пойдет, главное чтобы переменную можно было редактировать.
Dae Опубликовано: 27 ноября 2006 Опубликовано: 27 ноября 2006 Ну, если в паке вообще нет скриптов, то врядли игре это понравится.
LoadLine Calibration Опубликовано: 27 ноября 2006 Автор Опубликовано: 27 ноября 2006 Да нет же, значение переменной сохраниться на карте.
Lgs Опубликовано: 29 ноября 2006 Опубликовано: 29 ноября 2006 Помню как-то просил Деда сделать мини-мод позволяющий использовать copy/paste во время сеанса взлома компьютеров (копировать и вставлять себе в notes). Чтобы было все взаправду и по-хакерски: взломал, урал информацию, отключился, а потом читаешь спокойно и с наслаждением. Но Деда похитили прешельтсы, и мод он не сделал.Вероника, сможешь такое реализовать ?
Kronos Опубликовано: 29 ноября 2006 Опубликовано: 29 ноября 2006 Сразу скажу это не легко, по этому думаю что только Дед сможет.
LoadLine Calibration Опубликовано: 30 ноября 2006 Автор Опубликовано: 30 ноября 2006 использовать copy/paste во время сеанса взлома компьютеров (копировать и вставлять себе в notes). LGS, ты имеешь в виду: текст из E-Mail будет сохраняться в Заметках (Notes). Я правильно поняла? Я не могу ничего обещать но попробовать никто не мешает ;)
Lgs Опубликовано: 30 ноября 2006 Опубликовано: 30 ноября 2006 (изменено) LGS, ты имеешь в виду: текст из E-Mail будет сохраняться в Заметках (Notes). Я правильно поняла? Я не могу ничего обещать но попробовать никто не мешает ;)прсто чтобы можно было выделять текст е-мэйлов Изменено 30 ноября 2006 пользователем LGS
Dima Опубликовано: 30 ноября 2006 Опубликовано: 30 ноября 2006 Поддерживаю Легуса. Вот если бы еще и книги так можно было копировать, а то бывают моменты, когда враги дышат в спину 8) и нет времени прочесть. Вот только в всплывающем окне нельзя выделять текст, но может можно сделать чтобы текст книг автоматически добавлялся в закладку «Разговоры» ?
Рекомендованные сообщения