Перейти к публикации
Планета 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=...] правильно?

Опубликовано:
А [skin=...] правильно?

Ну если в эдиторе работает - значит правильно. Только я вот не помню моделек патронов где skin юзался...

 

Дедъ не крутой, Дедъ - 1337 н00б.

Опубликовано:

2 Ded :?: :?: :?: thanks *знаешь за чего* =)) псиб псиб псиб / *пожимая руку* ну пасибо друган =) я тебе за это ченибуть состругаю =) проси че хочешь (сигнатуру / рожу или ченить еще)

Опубликовано:

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

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

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

Опубликовано:

Шифт - это перемещать. У Зондера в Туториале написано, что вращение - это 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. Импортируешь и любуешься на свою тексу =)

Опубликовано:

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

 

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

Опубликовано:

При режиме Indexed, становится доступным пункт pallette (там же). Но если делать как описал я, то заглядывать в палитру даже не приходится.

Опубликовано:


state ActivateCamo

{

Begin:

 CloackUp();

Sleep(1.0);

CloackDown();

               Sleep(1.0);

}

 

Или так:


simulated function Timer()

{

PlaySound(ThunderSound,,255,True,1000000,);

SetTimer(1.0,False);

}

Опубликовано:

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

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

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

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

Опубликовано:

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

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

Опубликовано:

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

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

 

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

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

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

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

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

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

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

Войти

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

Войти сейчас

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