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

Temp Tutor: Импортирование модели ствола & Создание клас


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

Специально для Dwarf'а

О да. Это я.

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

О даааааААА!!!!1 Хочу АВТОМАТЪ!!!1 И ПИСТОЛЬЕТЪ!!!!111

Будем считать что вы сделали модель (в трех вариантах), наложили текстуры и анимировали ее

Не будем считать! Мы её не анимировали!

ПОТОМ ДОПИШУ, ага

Давай уже быстрей пишЫ!!1

=)

Ссылка на комментарий
  • 2 недели спустя...
ДедЪ, не пугай меня!

Будет через часа 4. Точно не знаю. Но сегодня.

Почему так нескоро - я на информатику иду. Смешно, правда?

Нет. Смешно - это когда препод по информатике exe-шки вордом открывает.

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

Часть первая. Для параметров, начинающихся на b, имеется в виду эффект будет, если правда.

 

Основные (коренные) параметры. Из Engine/weapon. Некоторые из этих значений не встречаются в параметрах.

 

Основные параметры.

MaxTargetRange; // Максимальное расстояние до цели

AmmoName; // Тип используемых боеприпасов (если их несколько - ammonames(3))

ReloadCount; // Количество боеприпаса, которое расходуется до перезарядки(может встречаться 2 раза)

PickupAmmoCount; // Количество боеприпаса, которое находится в обойме при подборе оружия

AmmoType; // Тип используемых боеприпасов

bPointing; // Показывает что оружие направлено на цель

bInstantHit; // "Мнговенный удар", в смысле подразумевается что стреляет пулями (не прожектайлами)

bAltInstantHit; // Аналогично, только для вторичного огня

bWarnTarget; // Когда стреляет прожектайлами, предостерегает цель

bAltWarnTarget; // Аналогично, только для вторичного оружия

bWeaponUp; // Скрипт *подобрано*

bChangeWeapon; // Скрипт *сменил оружие*

bLockedOn; // Скрипт *цель взята* или зафиксирована, другими словами.

bSplashDamage; // Скрипт *боты стреляют не всегда в одну точку*, т.е. есть "надёжная" дистанция огня

bCanThrow; // Оружие может быть выброшено

bRecommendSplashDamage; // Бот старается чтоб в него не попали только на "надёжной" дистанции

bRecommendAltSplashDamage; // Аналогично, только для вторичного огня

bWeaponStay; // Оружие остаётся (не исчезает как в UT)

bOwnsCrosshair; // Рисуется прицел при использовании данного оружия

bHideWeapon; // Оружие не прорисовывается вообще (скрыто), но тем не менее есть.

bMeleeWeapon; // Оружие ближнего боя

bRapidFire; // Анимация *неполная прорисовка*, для того чтобы не использовать полный цикл анимации для автоматического оружия

bSpecialIcon; // Используется специальная иконка оружия

FiringSpeed; // Анимация *скорость стрельбы*

FireOffset; // Где начинает полёт прожектайл или трейсер (не Тонг!)

ProjectileClass; // Какой прожектайл используется для первичного огня

AltProjectileClass; // Аналогично, только для вторичного огня

MyDamageType; // Тип урона, наносимый врагам при повреждении от InstantHit

AltDamageType; // Аналоично, только для вторичного огня

ProjectileSpeed; // Скорость полёта прожектайла при выбросе (может встречаться два раза)

AltProjectileSpeed; // Аналогично, только для вторичного огня

AimError; // "Ошибка прицела" для ботов (они не будут стрелять при этом значении, а побегут на нужную позицию) Внимание! Это значение удваивается, если оружие использует InstantHit!

ShakeMag; // Коэффициент тряски оружия

ShakeTime; // Время на тряску оружие

ShakeVert; // Расстояние вертикальной тряски

AIRating; // Значение оружия для ботов (чем больше коэффициент, тем с большим удовольствием бот возьмёт в руки это оружие)

RefireRate; // Время, которое должно пройти между выстрелами (чем меньше значение, тем больше скорострельность)

AltRefireRate; // Аналогично, только для вторичного огня

 

Звуковые параметры.

FireSound; // Звук, используемый при выстреле

AltFireSound; // Аналогично, только для вторичного огня

CockingSound; // Звук, используемый для падения оружия (столкновения в смысле)

SelectSound; // Звук, с которым данное оружие выбирается

Misc1Sound; // Звуки ударов о стену (для MeleeWeapon)

Misc2Sound; // -||-

Misc3Sound; // -||-

 

Сообщения.

MessageNoAmmo; // Сообщение, которое выводится при иссякании боезапаса

DeathMessage; // Сообщение, которое выводится при успешном уничтожении цели

NameColor; // Цвет названия оружия на HUD

 

Разное.

AdjustedAim; // Прицельный огонь (боты стремятся к этому расстоянию)

 

Вспышка при стрельбе.

bSetFlashTime; // Время прорисовки вспышки используется

bDrawMuzzleFlash; // Прорисовывать вспышку

bMuzzleFlash; // Имеет ли оружие вспышку вообще

FlashTime; // Время прорисовки вспышки

MuzzleScale, FlashY, FlashO, FlashC, FlashLength; // Коэффициент размера вспышки, позиция по трём измерениям, длина

FlashS; // Площадь (размер) текстуры, делённая на два

MFTexture; // Текстура вспышки

MuzzleFlare; // Текстура светового эффекта

FlareOffset; // Позиция светового эффекта (откуда он исходит)

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

А что с RapidFire? Как оно должно работать и как оно работает?

 

concealability - это в DeusExWeapon, да? Да (уже глянул!). Это что-то вроде видимости оружия для NPC: может ли он визуально обнаружить оружие в руках у других, или не может. Metal - это, возможно, невостребованная фича для металлодетекторов. Ну а All - любой вариант.

 

Не на 100% уверен!

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

Часть вторая.

 

Параметры из DeusEx/DeusExWeapon

 

Для начала значения переменных (сами переменные объяснены в списке)

 

EEnemyEffective

ENMEFF_All, // Против всех

ENMEFF_Organic, // Против органических противников

ENMEFF_Robot // Против механических противников

 

EEnviroEffective

ENVEFF_All, // Стреляет во всех средах

ENVEFF_Air, // Стреляет только в воздухе

ENVEFF_Water, // Стреляет только под водой

ENVEFF_Vacuum, // Стреляет только в вакууме

ENVEFF_AirWater, // Стреляет в воздухе и под водой

ENVEFF_AirVacuum, // Стреляет в воздухе и вакууме

ENVEFF_WaterVacuum // Стреляет в вакууме и под водой

 

EConcealability

CONC_None, //

CONC_Visual, //

CONC_Metal, //

CONC_All //

 

EAreaType

AOE_Point, // Стреляет одной пулей

AOE_Cone, // Обладает рассеивающейся зоной поражения

AOE_Sphere // Не используется

 

ELockMode

LOCK_None, // *цели нет*

LOCK_Invalid, // *неверная цель*

LOCK_Range, // *цель вне зоны поражения*

LOCK_Acquire, // *цель получена*

LOCK_Locked // *цель зафиксирована*

 

bReadyToFire; // Оружие в боевой готовности и готово к стрельбе

LowAmmoWaterMark; // При этом значении боезапаса он выделяется красным на HUD

ClipCount; // Сколько патронов вмещает магазин

 

GoverningSkill; // Какое умение агента необходимо для использования этого оружия

NoiseLevel; // Уровень шума, производимый этим оружием при стрельбе

EnemyEffective; // Против какого типа врагов эффективно это оружие

EnviroEffective; // В какой окружающей среде может использоваться это оружие

Concealability; // concealability of weapon

bAutomatic; // Данное оружие автоматическое

ShotTime; // Количество секунд, которое должно пройти между выстрелами

ReloadTime; // Количество секунд, которое необходимо агенту для перезарядки оружия

HitDamage; // Урон, производимый оружием (InstantHit) за одну точку поражения

MaxRange; // Абсолютно максимальное расстояние, при котором цель может быть поражена

AccurateRange; // Надёжное расстояние до цели

BaseAccuracy; // Точность оружия (0 - близко, 1 - точно)

 

bCanHaveScope; // Можно ли установить на это оружие снайперский прицел

bHasScope; // Имеет ли оружие снайперский прицел

ScopeFOV; // Какое приближение при включении прицела (меньше - дальше)

bZoomed; // В данный момент используется снайперский прицел

bWasZoomed; // Будет ли после перезарядки прицел включён автоматически

 

bCanHaveLaser; // Можно ли установить на это оружие лазерный целеуказатель

bHasLaser; // Имеет ли оружие лазерный целеуказатель

bLasing; // Включён ли в данный момент лазерный целеуказатель

Emitter; // Какой генератор эффекта (emitter) используется

 

bCanHaveSilencer; // Можно ли установть на это оружие глушитель

bHasSilencer; // Имеет ли оружие глушитель

 

bCanTrack; // Может ли это оружие использовать систему наведения

LockTime; // Как долго нужно держать цель, чтобы она зафиксировалась

LockTimer; // В данный момент идёт отсчёт времени для LockTime

MaintainLockTimer; // По истечении какого времени цель сбросится из памяти

LockTarget; // Какая цель сохранена в памяти последней

Target; // Какая цель находится в данный момент под прицелом

LockMode; // Каким образом цель отслеживается

TargetMessage; // Какое сообщение будет напечатано, пока идёт фиксация цели

TargetRange; // Расстояние до текущей цели

LockedSound; // Какой звук будет проигрываться при фиксации цели

TrackingSound; // Какой звук будет проигрываться при отслеживании цели

SoundTimer; // Сколько времени будет проигрываться звук

 

AmmoNames[3]; // Три возможных типа боеприпасов, которые может использовать это оружие

ProjectileNames[3]; // Три возможных типа прожектайлов, которые будут использоваться в соответствии с AmmoNames

AreaOfEffect; // Зона поражения данного оружия

bPenetrating; // Выстрелы будут наносить повреждения, вызывать кровотечения и разрывать трупы

StunDuration; // Как долго цель трясётся после шокирования

bHasMuzzleFlash; // Имеет ли данное оружие вспышку при стрельбе

bHandToHand; // Это оружие ближнего боя (нет боезапаса для него)

SwingOffset; // Позиция для качания оружия

recoilStrength; // Мощность отдачи (0 - нет отдачи, 10 - агент сделает сальто после выстрела)

bFiring; // Оружие в данный момент стреляет

bOwnerWillNotify; // Зависимость оружие HandToHand от анимации

bFallbackWeapon; // Это оружие будет использоваться лишь тогда, когда другого не осталось

bNativeAttack; // Это оружие при стрельбе вызывает реакцию

bEmitWeaponDrawn; // Это оружие, будучи взято в руки, спровоцирует соответственную реакцию

bUseWhileCrouched; // Боты будут стремиться приседать при стрельбе из этого оружия

bUseAsDrawnWeapon; // Для использования этого оружия боты обнажат его

bWasInFiring; // В данный момент из этого оружия ведётся огонь

 

bNearWall; // Стена близко

placeLocation; // Куда устанавливается мина

placeNormal; // Позиция мины

placeMover; // Мина устанавливается на mover

 

ShakeTimer; // Время тряски оружия

ShakeYaw; // Позиционирование тряски

ShakePitch; // Аналогично, вертикально

 

AIMinRange; // Минимальное наилучшее расстояние для стрельбы ботов (0 - по умолчанию)

AIMaxRange; // Максимальное наилучшее расстояние для стрельбы ботов (0 - по умолчнанию)

AITimeLimit; // Сколько времени бот может держать это оружие в руках (0 - сколько угодно)

AIFireDelay; // Какое время после выстрела бот будет использовать оружие как "последнее" (0 - нет ограничения)

 

standingTimer; // Как долго нужно стоять, чтобы повысть точность

currentAccuracy; // Какая точность в текущий момент

 

flash; // Объект вспышка

 

MinSpreadAcc; // Минимальная точность для оружия с рассеяной зоной поражения. MP

MinProjSpreadAcc; // Минимальная точность для оружия с рассеяной зоной поражения, стреляющего прожектайлами. MP

MinWeaponAcc; // Минимальная точность данного оружия. MP

bNeedToSetMPPickupAmmo; // Для использования необходимо обладать боеприпасом. MP

 

bDestroyOnFinish; // В конце анимации уничтожить данное оружие

 

mpReloadTime; // Уже обяснённые переменные, но для MP

mpHitDamage; //-||-

mpBaseAccuracy; //-||-

mpAccurateRange; //-||-

mpMaxRange; //-||-

mpReloadCount; //-||-

mpPickupAmmoCount; //-||-

 

bCanHaveModBaseAccuracy; // На данное оружие можно установить мод точности

bCanHaveModReloadCount; // На данное оружие можно установить мод объёма обоймы

bCanHaveModAccurateRange; // На данное оружие можно установить мод надёжной дальности

bCanHaveModReloadTime; // На данное оружие можно установить мод скорости перезарядки

bCanHaveModRecoilStrength; // На данное оружие можно установить мод мощности отдачи

ModBaseAccuracy; // На данное оружие установлено модов точности

ModReloadCount; // На данное оружие установлено модов объёма обоймы

ModAccurateRange; // На данное оружие установлено модов надёжной дальности

ModReloadTime; // На данное оружие установлено модов скорости перезарядки

ModRecoilStrength; // На данное оружие установлено модов мощности отдачи

 

Хм, Concealability сами придумаете. По-моему, они вообще не используются. Вон Зондер скажет - он ведь в DeusExWeapon больше ничего про них не нашёл? А я и ScriptedPawn посмотрел - тоже ничего. И не только ScriptedPawn. Вообще нигде нет.

Ссылка на комментарий
Хм, Concealability сами придумаете.
Может опяь незадействованный элемент %). Хотя вот у батона none стоит. Вроде бы на него мирные жители не реагируют. Надо будет проверить...

 

Всмысле стою я face-to-face к цивилу, и достаю шотган. Цивил "смотрит" на обьект, если это оружие и Concealability он тоже может распознать, то он типа "понимает" что у тебя пушка в руке. А вот какой-нибудь перец (перцовку всмысле) в руке незаметен.

 

Щас проверю в игре %)

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

RapidFire - достаём мы автомат, стреляем, он мелко у нас в руках трясётся, а потом после отпускания кнопки стрельбы он чуть вверх дернётся, и на исходную позицию. Достаём пистолет - он выстрелил, и анимация проигралась целиком, пока пистолет тоже не встал на исходную позицию. У автомата значит bRapidFire=true. Понял?

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

Это в теории так должно быть? А на практике неработат что ли?

 

На батон люди не реагируют. В отличие от ГЕПа :D Для полноты тестинга надо две свои пушки сделать с разными значениями...

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

Да, у собственной пушки (поставь пистолету bRapidFire=True и ShotTime=0.000001 и bAutomatic=True и проверь) не работает.

 

Давай, проверь это дело, и я пост исправлю, если твои догадки верны.

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

Для bAutomatic кажется модель должна быть с каким-то Mesh Notify... во всяком случае rifle с bAutomatic=True, и работает. Если ей поставить модель писстолета или еще что - то после выстрела разряжается вся обойма, беспрерывно.

Тоже надо бы глянуть %)

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

Нифига concealability не изменил %). Как не боялись цивилы обычного батона, так и ZloiBaton тоже не был для них страшен 8). Fear weapon выставлял true, пистолета шугались тут же. Тогда что отвечает за этот самый страх?

 

Да, и у assault riffle у модели есть mesh notify связанный с muzzle flash. Типа на все три выстрела (она же стреляет тремя пулями за один цикл) один цикл анимации.

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

Ну, понимаешь, я искал асолютно во всех файлах, и кроме названия от Concealability ничего там нет.

Это видимо для ДедЪа - Уоррен специально для него сделал переменную, которую ДедЪ мог бы использовать в 2027. Ну, чтобы не писать лишнюю строчку...

А в принципе, я могу реализовать в inXtreme эту переменную (абсолютно ничего сложного, и Зондер может). Но кому она нужна?

Могу ещё сделать для роботов, допустим, bHasMetalDetector, и при его true будет реакция на conc_metal.

Но какая странность получается - идём мы в Гонг-Конге мимо робота, у нас в инвентаре куча всякого оружия, включая ГЕП, ЛЭМ, и всякое прочее. Он - ноль реакции. Возвращаемся мы обратно... ну... с ножом который выскакивает из рукава, в боевой готовности (т.е. в руках) и он реагирует. Странно, не находите? У агента в плаще подавители сигналов?

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

Зачем боевым роботам металлодетекторы? А на ключи, металические брошки и т.п. тоже будет реагироать? А если череп титано-иридиевый? Или он не магнитится? %)

 

Вещь хорошая, но это уже для custom поделок 8)

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

Придумал с роботами и их встроенными детекторами: запихнуть в какой-нибудь их state еще один блок: если игрок на расстоянии X, то делать проверку всего инвентаря игрока.

 

Мои познания слишком абстрактны, что бы сказать конкретнее %).

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

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

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

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

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

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

Войти

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

Войти сейчас
×
×
  • Создать...