зачем в функции SetTimer(1.0,True);? ты получается устанавливаешь таймер, чтобы он выполнялся каждую секунду, и потом таймер опять устанавливает себя без надобности и эта функция, если заработает, будет просто всем здоровье каждую секунду до ста восстанавливать тебе надо найти функцию в волюмах (или что там в ут99?), которая запускается, когда игрок покидает волюм
зачем в функции SetTimer(1.0,True);? ты получается устанавливаешь таймер, чтобы он выполнялся каждую секунду, и потом таймер опять устанавливает себя без надобностии эта функция, если заработает, будет просто всем здоровье каждую секунду до ста восстанавливать тебе надо найти функцию в волюмах (или что там в ут99?), которая запускается, когда игрок покидает волюм
Разве таймер будет выполняться каждую секунду? Я ведь условие напишу при котором таймер будет работать. Например, если у игрока здоровье ниже 100, то здоровье снимается до ноля и игрок при попадании в кислоту или лаву умирает. А у бота, наоборот восстанавливается до ста моментально для компенсации ошибок навигации ботов допущенных мепмейкерами.
Честно говоря не встречался в UT99 с термином "волюм" хотя давно интересуюсь кодингом. Не против узнать что он означает в UT2004.
кстати может лучше будет?
Код
SetTimer(1.0,False)
Я так понимаю False как раз и не даст возможности постоянного выполнения таймера.
Поиграл вот упорно в STALKER, зов припяти и по механике нашел кучу всякой херни, начиная от звуков и текстур которые можно оттуда нагло спиздить и заканчивая тем, что в движке предусмотрен очень интересный lod, который превращает объекты в текстуры на дальней дистанции. Играл не в чистый зов припяти, а в мод Call of Chernobyl, не знаю чем отличается от оригинала ибо в оригинал не играл, но вот то, что при уровне fov 100 и кучей обектов на экране, включая здания с открытыми внутри пространствами, шейдерами dx10, игра совершенно не лагает и скажу даже большее, в UT такое колличество херни вызвало бы 5-10 fps без должной оптимизации, однако, я не понял почему все текстуры в игре в tga, почему не dds. Так же хочу отметить растительность, ее много и на фпс она тоже не особо влияет, наверное из-за того же самого LODa. Захотелось конечно попробывать сделать в UT какой нибудь большой город со всякой херней типа открытых пространств в зданиях и посмотреть как будет работать это там. Небольшой минус за эффекты, кроме искажающегося воздуха, остальные эффекты.... их почти нет Ну и неебически сделанная погода, типа ночь, дождь, гроза, молнии, свет.
(оружий в моде более 100, воткнуть бы все в баллистик )
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
в пейнкиллере например текстурки тоже в tga, в видеопамяти оно всеровно сидит несжатое, поэтому тут вопрос места занимаемого игрой места и быстродействия алгоритма движка, имхо.
ЦитатаUberSoldier ()
предусмотрен очень интересный lod,
идея небойсь старше меня, ручной lod-контроллер я тебе кидал, но там можно просто поставить другой меш. Насколько припустимо будет менять DrawType на DT_Sprite даже не знаю
У меня еще такой вопрос, можно ли сделать так, что бы лод менялся не резко, а постепенно, методом замещения, плавное исчезновение старого и появление нового? Просто когда лод меняется, это происходит резко и бросается в глаза.
Infinite War v5.0.2 construction UIP 2.0 - UIPP(UIP 2.1)
ну в этот момент будет два меша (или что там), тоесть нагрузка будет больше, добавь сюда еще прозрачность. Не то дело как DeadSpace-е, пока комната не прогрузитса то двери не откроютса, а когда комната выгружаетса, то все декорацыи которые ты оттуда вынес исчезают .
GP, Прошу Вас сердечно посмотреть мой тестовый мутатор RegenArmor и попытаться исправить его, чтобы он заработал. У меня все скомпилировалось правильно. Но регенерации брони у игрока и бота не происходит по заданным значениям!!! Почему? Для Вашего удобства я выложил source и сами файлы. Также приложил source мутатора ReGeneration, который помог мне понять идею регенерации здоровья. Возможно как то по этому принципу можно сделать регенерацию брони.
Добавлено (07 Ноября 16, 21:51) --------------------------------------------- исправлю все таки чуток секцию для игрока для мутатора RegenArmor
Или в 99 все наоборот сделано или вот косяк... точнее косяка самого то даже нет.
Код
function Timer() { local pawn TargetPawn; local Inventory Inv; //вот тут описали переменную, типа Inv это у нас какой-то инвентарь
for(TargetPawn = Level.PawnList; TargetPawn != None; TargetPawn = TargetPawn.NextPawn) { if( TargetPawn.IsA('PlayerPawn' <img rel="usm" src="/smil/wink.gif" border="0" align="absmiddle" alt=" <img rel="usm" src="/smil/wink.gif" border="0" align="absmiddle" alt=";)" /> " /> ) { if ( Armor(Inv).Charge > 50 ) // и тут дальше как давай переменню юзать! а там пусто... { Armor(Inv).Charge = 0; и тут пусто, хотя сюда код не доходит } }
if( TargetPawn.IsA('Bot' <img rel="usm" src="/smil/wink.gif" border="0" align="absmiddle" alt=" <img rel="usm" src="/smil/wink.gif" border="0" align="absmiddle" alt=";)" /> " /> ) { if ( Armor(Inv).Charge > 50 ) и тут пусто, хотя сюда код не доходит { Armor(Inv).Charge = 150; и тут пусто, хотя сюда код не доходит }
} } }
короче перед тем как роботать с инвентарем, надо пойтись по всему инвентарю павна, найти там броню и сней роботать, а не с пустой переменной.
То есть любое повреждение брони обнулит ее. Правильно я записал?
Добавлено (07 Ноября 16, 23:46) --------------------------------------------- Не выходит. UCC пишет мне ошибку: Error, bad or missing expression in parenthesis
так писать это тоже самое что "если возраст Васи болше веса пакета то включить 25-й"... Какой Вася? Какой пакет? Вес пакета в чем, кг или унцыях, 25 это что вообще такое... Компилятор по вашему сам должен догадыватса о чем програмист думает в момент написания?
GP, ну вот, куда еще правильней сделать? Щит обозначен инвентарем игрока, указана переменная Charge как свойство класса щита Belt. Посмотрите? Я уже все, новых идей нет...