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

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


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

Да-а, ввести вторичный огонь намного проще, чем я думал. И чем сделать его нормальным.

Теперь вопрос такой - как мне сделать что-то вроде AltAmmoName и его использование?

Ковырять функции расхода и использования патронов в DeusExWeapon. Весьма нетривиальная задача.

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

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

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

Что в DeusExWeapon это понятно... а кстати можно ли скомпилить Engine? А то очень хочется.

Без проблем. Только там шрифты есть, поэтому надо будет новые вставлять, а это гемморно. Если бы не шрифты из Engine (которые довольно широко используюца в 2027, т.к. они очень маленькие, а у меня маленькие шрифты вставлять не получаеца - размываюца), то я бы без проблем переделал AI. А так - облом, либо ждать лучших времен когда смогу заменить шрифты и из Engine тоже.

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

Да не, не без проблем. Он просто не хочет компилить Engine. Говорит ошибки ошибки ошибки ошибки и выкидывает. Может есть какая-нибудь команда для того чтобы ucc.exe не прекращал компиляцию? И чтобы не просил дополнить DeusExClasses.h какой-то?

Ссылка на комментарий
Да не, не без проблем. Он просто не хочет компилить Engine. Говорит ошибки ошибки ошибки ошибки и выкидывает. Может есть какая-нибудь команда для того чтобы ucc.exe не прекращал компиляцию? И чтобы не просил дополнить DeusExClasses.h какой-то?

Хз, надо попробовать.

Ну дык если и будет на ошибки забивать (что теоретически невозможно), то тебе оно надо, с глюками-то?

А что, нажатие Y чем-то мешает?

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

Если он будет игнорировать ошибки (кои заключаются в том, что не найдены какие-то текстуры, а они на самом деле есть) тогда я смогу сделать Light bDelete true, то есть и источники света будут уничтожаться.

Нажатие Y приводит к выкидышу без завершения компиляции.

Ссылка на комментарий
Если он будет игнорировать ошибки (кои заключаются в том, что не найдены какие-то текстуры, а они на самом деле есть) тогда я смогу сделать Light bDelete true, то есть и источники света будут уничтожаться.

Нажатие Y приводит к выкидышу без завершения компиляции.

А тебе что мешает перед компиляцией экспортнуть из engine все текстуры и положить куда надо?

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

Тьфу, ну ладно, скомпилим Engine. А вот невозможность едитинга DX2 расстраивает, там уж есть что поэдитить.

Кстати, так и не нашёл я функцию расхода патронов в DeusExWeapon. Может посоветуешь как сделать, а?

Ссылка на комментарий
Тьфу, ну ладно, скомпилим Engine. А вот невозможность едитинга DX2 расстраивает, там уж есть что поэдитить.

Кстати, так и не нашёл я функцию расхода патронов в DeusExWeapon. Может посоветуешь как сделать, а?

Патроны расходуюца в функции стрельбы. State Fire кажеца.

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

Кажется я знаю как сделать разрушение ландшафта...

Летит, допустим, Projectile. Его траектория и всё подобное отслеживается. При столкновении Spawn какой-нибудь brush, допустим сферический. И brush этот сейчас же substract'ируется. Получается дырка, всё, что попадает в зону действия субстракции, уничтожается бесследно и без права восстановления. Это только набросок. Осуществить можно?

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

Я конечно точно не знаю, но: brush'и могут быть редактированы только в режиме редактирования %). То же самое со светом - карты света статичные, они не изменяются в RunTime. Если конечно это не TriggerLight :).

Ссылка на комментарий
Кажется я знаю как сделать разрушение ландшафта...

Летит, допустим, Projectile. Его траектория и всё подобное отслеживается. При столкновении Spawn какой-нибудь brush, допустим сферический. И brush этот сейчас же substract'ируется. Получается дырка, всё, что попадает в зону действия субстракции, уничтожается бесследно и без права восстановления. Это только набросок. Осуществить можно?

Пару лет назад один буржуй предлагал такой алгоритм для создания новых дурок от пуль.

Говорю: низя.

Даже если бы было можно, это бы ТАААК лагало, что гыгы. ++В двжке Деуса нет возможности компиляции отдельного куска карты, только целиком. ++ Надо ещё пути для NPC компилить. Так что хрен.

 

Раздолбаемый лоншафт я видел только в Red Faction 1. Но там движок для этого специально такой делали. С анриалом такие бизарры не пройдут.

Ссылка на комментарий
  • 2 месяца спустя...

ДедЪ, смотри.

Это кусок из ScriptedPawn.

Среди переменных я сделал var DeusExPlayer expert;

В state dying кусок

SetWeapon(None);

 

bHidden = True;

 

if (expert != None) ---то,

{ ---что

expert.SkillPointsAdd(10); ---вставил

expert.ClientMessage("Опыт за убийство!"); ---я

} ---

 

Acceleration = vect(0,0,0);

SpawnCarcass();

Destroy();

 

И ничего. Никаких сообщений, никакого опыта.

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

1. Так всё дело в GetPlayerPawn! Вот оно что!

2. Можно ли без сообщения на экране пихать что-то в логи? А то странно получается просто - сообщение, что мы кого-то укокошили. А в логах нормально, как дневник "сегодня я убил человека... второго... третьего... двадцать шестого..."*

3. Как создать пустой пак .utx, чтобы потом засунуть в него inXtremeItems?

-------------------

* На 01_NYC_UNATCOIsland у меня поставлено около 50 террористов.

 

Результаты: (всё из ScriptedPawn)


var DeusExPlayer expert;

var bool bKillerIsPlayer;

var string msgKill;

var int ExpPerKill;

 


     ...if ( carc != None )

{

 if (bStunned)

	 carc.bNotDead = True;



 carc.Initfor(self);



 // move it down to the floor

 loc = Location;

 loc.z -= Default.CollisionHeight;

 loc.z += carc.Default.CollisionHeight;

 carc.SetLocation(loc);

 carc.Velocity = Velocity;

 carc.Acceleration = Acceleration;



 if (carc.KillerBindName == "JCDenton") //add

	 bKillerIsPlayer = True; //add



 // give the carcass the pawn's inventory if we aren't an animal or robot

 if ...

 


     ...Acceleration = vect(0,0,0);

SpawnCarcass();

expert = DeusExPlayer(GetPlayerPawn()); //add

if (expert != None) //add

{ //add

 if (bKillerIsPlayer) //add

 { //add

	 expert.SkillPointsAdd(ExpPerKill); //add

	 expert.ClientMessage(msgKill); //add

 } //add

} //add



Destroy();

 

Всё работает! Очки начисляются только если убил я!

Но за роботов вроде опыт не дают.

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

У роботов наверное state dying оверрайдиццо, поэтому robots.uc тоже ковырять надо.

 

Для того чтобы в логи писать - юзай:


log("OMG WTF LOLLOL!!!1");

 

Пак - просто импортируешь в UeD текстурку, при этом в качестве пака называешь имя для будущего пака. Когда сделаешь save - новый пак появиццо.

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

Ага. Теперь сообщений вылазить не будет. Прекрасно.

Снова пункты.

1. Я хочу чтобы при установке глушителя пистолет (новый) очень много терял в мощности. Но ведь новая функция не пашет!

function HaveSilencer

if (bHasSilencer)

     HitDamage = 8...

2. Меня всё же не устраивает эта работа. Если мы кого-то взрывом разорвали, труп не спавнится, и опыт не даётся соответственно. Про роботов я уже сказал. Если мы оглушаем человека, а не убиваем, всё равно "Опыт за убийство". Может, ДедЪ, знаешь, как не через труп делать?

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

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

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

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

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

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

Войти

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

Войти сейчас

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