Перейти к публикации
Планета Deus Ex

Вопросы от новичка!


Рекомендованные сообщения

Про глушитель:


function bool LoadAmmo(int ammoNum)

{

    local class<Ammo> newAmmoClass;

    local Ammo newAmmo;

    local Pawn P;



    if ((ammoNum < 0) || (ammoNum > 2))

        return false;

        p = Pawn(Owner);

    if (P == None)

        return false;



    newAmmoClass = AmmoNames[ammoNum];



    if (newAmmoClass !=None)

    {

       if (newAmmoClass !=AmmoName)

       {

       newAmmo = Ammo(P.FindInventoryType(newAmmoClass));

          if (newAmmo == None)

          {

          P.ClientMessage(Sprintf(msgOutOf, newAmmoClass.Default.ItemName));

                  return False;

          }

      if (NewAmmo !=None)

          if (NewAmmo.IsA('RAmmo556mm'))

          {

            shakemag = Default.shakemag;



            if (bHasSilencer)

            {

               bHasMuzzleFlash = False;

               NoiseLevel = 0.4;

               FireSound = Sound'Game.Weapons.MP5FireSil';

            }

            else

            {

               bHasMuzzleFlash = True;

               NoiseLevel = Default.NoiseLevel;

               FireSound = Sound'Game.Weapons.MP5Fire';

            }

               EnemyEffective = Default.EnemyEffective;

               HitDamage = Default.HitDamage;

     }

     else

       if (NewAmmo !=None)

       if (NewAmmo.IsA('RAmmo556mmJHP'))

          {

            shakemag = 350.000000;



            if (bHasSilencer)

            {

               NoiseLevel = 1.0;

               FireSound = Sound'Game.Weapons.MP5FireSil';

            }

            else

            {

               NoiseLevel = 2.0;

               FireSound = Sound'Game.Weapons.MP5Fire2';

            }

               HitDamage = 4;

               EnemyEffective = ENMEFF_Organic;

          }



          AmmoName = newAmmoClass;

          AmmoType = newAmmo;





   if (DeusExPlayer(P) !=None)

        DeusExPlayer(P).UpdateBeltText(Self);



        ReloadAmmo();

        P.ClientMessage(Sprintf(msgNowHas, ItemName, newAmmoClass.Default.ItemName));

        return True;

 }

 else

 {

    P.ClientMessage(Sprintf(msgNowHas, ItemName, newAmmoClass.Default.ItemName));

 }

}

       return False;

}

Это функция работы с патронами в 2027. При использовании разного вида патронов она меняет повреждение, а также уровень шума при стрельбе. Модифицируй.

Правда это только тестовый вариант. Я ещё не проводил испытания на правильную работу. В частности у меня есть сомнения что она правильно работает при разных уровнях навыка. Надо смотреть.

 

Если не через труп, то можно поискать - где там перед спавниваем трупа делается destroy() и вставить код туда.

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

Ссылка на комментарий
  • Ответы 196
  • Создано
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Хм, модифицировать это сложно. Лучше пройти путь от weaponmodsilencer до deusexweapon.

Так, конкретный вопрос. Сделал я Ammo12mm, текстуру в паке inXtremeItems, набрал

skin=texture'inXtremeItems.Ammo12mmTex'

(с названиями всё правильно), а при спавне текстура обычная (10мм). Самое интересное, в эдиторе нажимаю Ammp12mm properties..., выбираю там пункт skin, ввожу эту строку, и всё становится хорошо. Где-то надо текстурный пак загружать что ли? В каком-нибудь ini или в настройках уровня?

С контуженными разобрался. Там

if (carc.bNotDead && carc.KillerBindName=="JCDenton")...

Но всё же, в моих скриптах убийца проверяется через труп [KillerBindName], а нужно чтобы в самом ScriptedPawn.

Я про логи игрока, куда добавляются все сообщения, а не про технический лог.

Ссылка на комментарий

Через скрипт веапонмода ты нифига приличного не сделаешь. Способ выше - самый оптимальный и простой.

 

В лог игрока без появления на экране не добавить.

 

Если это utx пак, то конечно надо. Это u паки сами загружаюццо. Юзай:


#exec OBJ LOAD FILE=Name

Суй это в начало скрипта, между объявлением переменных и именем класса.

Ссылка на комментарий

2Wildchild

ДедЪ крутой. А я учусь. Играй в inXtreme 0.97, пока 2027 не вышел. Хотя нет, не надо. Я скоро начну карты выкладывать и iX 0.98.

 

2ДедЪ

Да-а-а... как я мог про #exec забыть... я ж его столько раз видел... А [skin=...] правильно?

Ссылка на комментарий

Так-с. Как в Эдиторе поворачивать? А то у меня должны в одном месте люди стоять и смотреть (прикрывать друг друга), а повернуть их не получается. Так и смотрят друг на друга, и их батоном можно вырубить.

Ссылка на комментарий
Так-с. Как в Эдиторе поворачивать? А то у меня должны в одном месте люди стоять и смотреть (прикрывать друг друга), а повернуть их не получается. Так и смотрят друг на друга, и их батоном можно вырубить.

Шыфт и левой мышко тянуть.

Ссылка на комментарий

Шифт - это перемещать. У Зондера в Туториале написано, что вращение - это Alt. У меня ничего не вращается при зажатом Alt'е. Только у brush крестик двигается, а у моделей ничего не происходит.

Ссылка на комментарий
Шифт - это перемещать. У Зондера в Туториале написано, что вращение - это Alt. У меня ничего не вращается при зажатом Alt'е. Только у brush крестик двигается, а у моделей ничего не происходит.

Хз, какая кнопка, у меня за её нажатием только спинной москъ следит.

Ну тогда юзай с контролом инструмент вращения (по значку узнаеш думаю).

Ссылка на комментарий

Оказывается, что нужны всё-таки другие экраны, а я-то только в Perspective был. Ладно, с этим разобрались.

Создал я иконку оружия для HUD, на фиолетовом фоне. А в игре она не прозрачная. Что делать? Вроде бы в UnrealEd я указал, что она "Transparent".

Ссылка на комментарий
Оказывается, что нужны всё-таки другие экраны, а я-то только в Perspective был. Ладно, с этим разобрались.

Создал я иконку оружия для HUD, на фиолетовом фоне. А в игре она не прозрачная. Что делать? Вроде бы в UnrealEd я указал, что она "Transparent".

Цвет фона должен быть самым последним в палитре цветов данного файла. Юзаем фотошоп.

При импорте текстуры нужно указать что они bMasked. Если импорт через эдитор - там такая опция есть. Если через скрипты, делаем так:


#exec TEXTURE IMPORT FILE="TexturesIconsLargeIcon3006.pcx"             NAME="LargeIcon3006"                   GROUP="Icons" FLAGS=2

FLAGS=2 - это и есть bMasked.

Transparent - это совсем не то, это простая прозрачность.

Ссылка на комментарий

Угу. А ты можешь сказать точные настройки R:G:B: или HEX этого самого последнего в палитре цвета? И класть этот цвет надо при режиме Indexed Color или RGB Color?

И ещё - как в скриптах между операциями пропустить 0.1 секунды?

Ссылка на комментарий
Угу. А ты можешь сказать точные настройки R:G:B: или HEX этого самого последнего в палитре цвета? И класть этот цвет надо при режиме Indexed Color или RGB Color?

И ещё - как в скриптах между операциями пропустить 0.1 секунды?

Текстуры - они все в index, иначе ересь будет.

В RGB палитры нет по определению.

Сам последний цвет неважен, главное что ОН был последним.

 

Юзай tick и его deltatime.

Ещё если в state'ах, то можно юзать sleep(X); (X - float-значение секунды)

Ссылка на комментарий
Угу. А ты можешь сказать точные настройки R:G:B: или HEX этого самого последнего в палитре цвета? И класть этот цвет надо при режиме Indexed Color или RGB Color?
Я делал так: в RGB делаешь все то что должно быть прозрачным прозрачным, а потом переводишь в Indexed режим (256 цветный который). После этого последний цвет (прозрачный) и будет последним в палитре.

File>Save As>BMP или PCX. Импортируешь и любуешься на свою тексу =)

Ссылка на комментарий

Да где эта палитра? Как называется вообще это окно? Где этот последний цвет?

 

И ДедЪ, я совсем не понял, как делать таймер. Ты напиши мне пожалуйста пример кода, где просто пропускается одна секунда.

Ссылка на комментарий

Ух ты, смотрите-ка:

AreaOfEffect убран. Переделан в SlugsPerShot, ProjectilesPerShot. Удобней?

Для weaponpistolm (12мм пистолет) в DeusExWeapon добавлено несколько строчек, отвечающих за тип урона при смене боеприпасов. Там же я обнаружил то, что очень просто сделать ухудшение характеристик при установке глушителя.

Если мне кто-нибудь расскажет, как самому переделать движение камеры в dx.dx, сделаю его красивым.

Ссылка на комментарий

Хм. Сделал скилл. В начале игры его видно (он сверху), скилл плавания видно слегка, а скроллера нет. Как добавить? И желательно в нормальное окно?

И как заставлять работать InterpolationPoint (самому)?

Ссылка на комментарий

Я с окном скиллов очень долго парился. Окно со скроллингом - это совсем другое. Просто так не сделать, нужно много со скриптами ковыряццо.

Проблему решил перерисовкой окна скиллов.

 

Про ip есть очень хороший тутор на сайте Стива Така.

Ссылка на комментарий
И как заставлять работать InterpolationPoint (самому)?
Может быть прблема в том что номер миссии не "-2"... там где-то в deusexplayer т.н. "hack for cutscenes" таким образом сделали, кажтся :mrgreen:
Ссылка на комментарий

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

×
×
  • Создать...