New Mod... Possibly.

Talk about any Deus Ex game modification here, e.g. maps, package or a total conversion.

Moderator: Forum Guards

New Mod... Possibly.

Postby System » Wed Aug 08, 07 5:12 pm

I'm attempting to make a new mod for deus ex.

Using the quake sound pack... you know the one that's a real ego stroker "Ultra Kill" & "God Like" I'd like to put something together that reads the players current streak from the scoreboard.

Are there any wise tips amongst you for a noobie to the uscript world?
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Re: New Mod... Possibly.

Postby clyzm » Wed Aug 08, 07 5:17 pm

System wrote:I'm attempting to make a new mod for deus ex.

Using the quake sound pack... you know the one that's a real ego stroker "Ultra Kill" & "God Like" I'd like to put something together that reads the players current streak from the scoreboard.

Are there any wise tips amongst you for a noobie to the uscript world?


DCSB System?

:1omg
Image
User avatar
clyzm
Forum Master God
 
Posts: 16023
Joined: Sun Nov 28, 04 2:48 am
Location: Chiraq

Re: New Mod... Possibly.

Postby ~[R2K]D-BLOCK~ » Wed Aug 08, 07 5:36 pm

System wrote:I'm attempting to make a new mod for deus ex.

Using the quake sound pack... you know the one that's a real ego stroker "Ultra Kill" & "God Like" I'd like to put something together that reads the players current streak from the scoreboard.

Are there any wise tips amongst you for a noobie to the uscript world?
Can't wait for it. :D
User avatar
~[R2K]D-BLOCK~
Regular
 
Posts: 404
Joined: Tue Jul 03, 07 3:07 pm

Postby Gishank » Wed Aug 08, 07 5:46 pm

Seems simple, yet a nice idea =P
Image
Gishank
Forum Super Hero
 
Posts: 4235
Joined: Sun Aug 28, 05 9:17 am
Location: London, England.

Postby clyzm » Wed Aug 08, 07 6:01 pm

I have the original Quake III soundpack, sounds like "tied for the lead", 'impressive', 'accuracy' etc.
Image
User avatar
clyzm
Forum Master God
 
Posts: 16023
Joined: Sun Nov 28, 04 2:48 am
Location: Chiraq

Re: New Mod... Possibly.

Postby Tonnochi » Wed Aug 08, 07 6:31 pm

System wrote:I'm attempting to make a new mod for deus ex.

Using the quake sound pack... you know the one that's a real ego stroker "Ultra Kill" & "God Like" I'd like to put something together that reads the players current streak from the scoreboard.

Are there any wise tips amongst you for a noobie to the uscript world?


Fantastic. I've been waiting for something like this.
User avatar
Tonnochi
Forum Hero
 
Posts: 2719
Joined: Mon May 28, 07 11:43 pm

Postby Dae » Wed Aug 08, 07 6:34 pm

System wrote:Are there any wise tips amongst you for a noobie to the uscript world?

do you know how to compile packages and OOP basics at least?
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Postby System » Thu Aug 09, 07 12:17 am

Essentially I'm hoping that someone can point me to where the streak information is counted.
Last edited by System on Thu Aug 09, 07 3:46 am, edited 3 times in total.
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby Dae » Thu Aug 09, 07 10:06 am

You can access streak like this:
Code: Select all
DeusExPlayer.PlayerReplicationInfo.Streak


I don't think you need streak for this, though.
Last edited by Dae on Thu Aug 09, 07 10:06 am, edited 1 time in total.
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Postby System » Thu Aug 09, 07 12:25 pm

Thank you!

Please elaborate on why you don't think streak is needed?

As a player's streak hit's a certain number then the sound will play globally. What might be a better approach?

As the streak increases:

4 kills - Dominating

6 kills - Rampage

8 kills - killing spree

10 kills - Monster Kill

12k ills - Unstopable

14 kills - Ultra-Kill

16k ills - God-Like

18 kills - Wicked Sick

20 kills - Ludacrous kill

22 kills - Holy ****
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby Cyrus » Thu Aug 09, 07 12:31 pm

LOL PURE GENIUS IF U GET THIS IN DX!
Image

THANKS KEITH
User avatar
Cyrus
Commander of IRELAND
 
Posts: 682
Joined: Tue Nov 15, 05 7:59 pm
Location: IRELAND

Postby System » Thu Aug 09, 07 1:36 pm

Dae[A] wrote:
System wrote:Are there any wise tips amongst you for a noobie to the uscript world?

do you know how to compile packages and OOP basics at least?



I do thankfully. I'm a computer science student taking 3rd year classes.
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby chinny » Thu Aug 09, 07 1:38 pm

This sounds like a lot of fun, maybe you guys could combine skills and get this off the ground.
[url=http:///dxfactory.freeforums.org]Image[/url]
chinny
Wannabe
 
Posts: 75
Joined: Fri Dec 29, 06 8:08 pm
Location: East London

Postby Siva » Thu Aug 09, 07 2:51 pm

As long as you include some form of bold 24pt text on the players screen somewhere that says X name is Dominating\ on a Rampage\ etc
//..
User avatar
Siva
doesn't care about augmented people
 
Posts: 6757
Joined: Tue Dec 06, 05 4:56 pm

Postby Allan » Thu Aug 09, 07 5:02 pm

MMShowMessage style text, anyone?
User avatar
Allan
Alpha
 
Posts: 4545
Joined: Wed Dec 21, 05 1:41 pm
Location: Northamptonshire, England.

Postby Dae » Thu Aug 09, 07 5:19 pm

System wrote:Please elaborate on why you don't think streak is needed?

I don't know when these notifications sound in Quake, but in UT it says for instance, "double kill" only when you kill two players within 10 seconds.
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Postby ~[R2K]D-BLOCK~ » Thu Aug 09, 07 6:05 pm

I would love to have this mod. 8)
!!!!!Come Visit [RTK] CLAN Forums Click Here
User avatar
~[R2K]D-BLOCK~
Regular
 
Posts: 404
Joined: Tue Jul 03, 07 3:07 pm

Postby System » Fri Aug 10, 07 2:39 am

So I've decided to TRY and make a quake sounds mod for deus ex.


This is how the mod will work.

Each player in deus ex gets a kill count and a streak count. What Dae is saying is correct. There's a chance that a player gets two kills with a lam or takes out an entire spawn in say 6 seconds. There's a sound that will play called "Multi Kill". This will obviously be timed based.


However, There's also other sounds that play when a player is streaking. After a 4 kill streak the sound "Dominating" will play. After 6 kill streak "Rampage" will play... so on and so forth.

This is the actual breakdown.

4 kills - Dominating

6 kills - Rampage

8 kills - killing spree

10 kills - Monster Kill

12k ills - Unstopable

14 kills - Ultra-Kill

16k ills - God-Like

18 kills - Wicked Sick

20 kills - Ludacrous kill

22 kills - Holy ****


** So I have absolutely 0 experience with unreal script **

I've started reading the tutorials and while some of them make lots of sense they still only have bits and pieces. I'm essentially looking hopefully for someone to correct any errors I may make. I'd be happy to share credit with anyone who helps guide me =).

So far I think the best approach is to make this mod a mutator so that it works with all game types.

Code: Select all
class MultiKill extends Mutator;

#exec AUDIO IMPORT FILE="Sounds\multikill.wav" NAME="multikill" GROUP="rage"

function PostBeginPlay()
{
  Super.PostBeginPlay(); // Run the super class function (Mutator.PostBeginPlay).
}


I have a Directory in the DeusEx root folder named MultiKill that has a "classes" folder and a "Sounds" folder. The code above is located in the classes folder as a .uc file.

So to figure out how to actually work with the deus ex object tree I've decided to see how to just get the multikill part to work. At this point I haven't been into much of the docs/tutorials but I assume that I need to figure out how the engine calculates time. I'm assuming it's Ticks.

Thanks for any input. I think this would be a really useful and enjoyable mod for DXMP.
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby ~ô¿ô~Nobody~ » Fri Aug 10, 07 5:28 am

I'd suggest a Mutator which takes care of a linked list of timer like objects, where each of the objects is owned by a player.
If a player gets a kill, a notification will be send to the belonging timer object, owned by the player, which will record the time where the kill occurred.
Basing on the time of the prior kill and the amount of kills in the current kill sequence, it will play the sounds (i.e. multikill, ultrakill, etc) accordingly.


Apart of all that.. wasn't that multi- and ultrakill stuff from UT? :?
Nobody is perfect...
------------------------------
Longc[A]t wrote:I still think Dae is a russian spambot.

~[A]Daedalus~ wrote:There will be a day when my patience goes away and you, along with all who rant with you, will get banned.

ô¿ô¥[GODZ]¥NOCHANC wrote:I can ban any one I want ANY time I want. You have no rights here.
User avatar
~ô¿ô~Nobody~
Alpha
 
Posts: 2520
Joined: Fri Dec 31, 04 3:20 pm
Location: Proclarush Taonas

Postby Dae » Fri Aug 10, 07 9:39 am

System
The best tutorial site I would recommend is wiki.beyondunreal.com. The best way to learn something is to take WOTGreal Exporter and see how others scripts work.

Basically your mutators consists of two parts. The part I was talking about with time is slightly harder, why not start from this:

System wrote:However, There's also other sounds that play when a player is streaking. After a 4 kill streak the sound "Dominating" will play. After 6 kill streak "Rampage" will play... so on and so forth.


Basically, what you need to do is to get ScoreKill function, and then pick the sound depending upon the streak which accessable like Killer.PlayerReplicationInfo.Streak

You can see how ScoreKill works in my mutator, here.
Last edited by Dae on Fri Aug 10, 07 9:40 am, edited 1 time in total.
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Postby clyzm » Fri Aug 10, 07 10:25 am

Yo, System, what about sounds like "You are tied for the lead" and "You have lost the lead" etc?
Image
User avatar
clyzm
Forum Master God
 
Posts: 16023
Joined: Sun Nov 28, 04 2:48 am
Location: Chiraq

Postby System » Fri Aug 10, 07 2:27 pm

Thanks for the tip Dae. That looks exactly like what I want!


So I'm assuming it could look something like this? If I'm missing any key concepts feel free to call me a noobie!! LOL

Code: Select all

class MultiKill extends Mutator;

#exec AUDIO IMPORT FILE="Sounds\multikill.wav" NAME="multikill" GROUP="rage"

function PostBeginPlay()
{
  Super.PostBeginPlay(); // Run the super class function (Mutator.PostBeginPlay).
}

function ScoreKill(Pawn Killer, Pawn Other)
{
  if( Killer.PlayerReplicationInfo.Streak == 4 )
    PlaySound(multikill, SLOT_Interact, 1, false, , 1.0); //Sound, SLOT,Volume, bNoOveride, Radius, Pitch
}

defaultproperties
{
multikill=Sound 'MultiKill.multikill';
}
Last edited by System on Fri Aug 10, 07 2:51 pm, edited 2 times in total.
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby System » Fri Aug 10, 07 2:54 pm

~[A]Nobody~ wrote:I'd suggest a Mutator which takes care of a linked list of timer like objects, where each of the objects is owned by a player.
If a player gets a kill, a notification will be send to the belonging timer object, owned by the player, which will record the time where the kill occurred.
Basing on the time of the prior kill and the amount of kills in the current kill sequence, it will play the sounds (i.e. multikill, ultrakill, etc) accordingly.


Apart of all that.. wasn't that multi- and ultrakill stuff from UT? :?



Yes good thoughts!

I think UT2k3 incorporated streaking.
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby Dae » Fri Aug 10, 07 4:03 pm

System wrote:So I'm assuming it could look something like this? If I'm missing any key concepts feel free to call me a noobie!! LOL

I'd suggest that you add AddMutator to PostBeginPlay.

Code: Select all
function PostBeginPlay()

   Level.Game.BaseMutator.AddMutator(Self);
   Super.PostBeginPlay();
}


I'm not sure PlaySound will work in this way (if you want it to be played on Killer's and victim's machines, you need to do like Killer.PlaySound() and Other.PlaySound(), otherwise sound will play in the place where mutator spawned).
If you wish that all players to hear the sound, you need to do
local DeusExPlayer DXP;

foreach Allactors(class'DeusExPlayer', DXP)
{ DXP.PlaySound... }



after all, compile the mutator. To test it, add to ServerActors in DeusEx.ini (like serveractors=mypackage.mymutatorclass).
:D
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Postby System » Fri Aug 10, 07 5:52 pm

Great advice!

My intent is to make it so that all players hear the sound. So I'll read up on your example.
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby System » Sat Aug 11, 07 3:38 am

So I think I have a test mutator. How do I spawn an enemy actor?

summon DeusExPlayer ?
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby Allan » Sat Aug 11, 07 3:55 am

That'd work, but the target would be invisible.

Try 'summon MPNSF' or 'summon MPMJ12'.

That way, you can destroy the classes without messing up the normal playerclasses.
User avatar
Allan
Alpha
 
Posts: 4545
Joined: Wed Dec 21, 05 1:41 pm
Location: Northamptonshire, England.

Postby System » Sat Aug 11, 07 4:49 am

Hmm... I'm trying to get a basic sound to play but I seemingly am missing something.

It might be that I'm not loading it properly in the DeusEx.ini


Here's what I've added to the .ini

EditPackages=MultiKill
ServerActors=MultiKill.MultiKill
ServerPackages=MultiKill


Here's my sample code:

Code: Select all
class MultiKill extends Mutator;

#exec AUDIO IMPORT FILE="Sounds\multikill.wav" NAME="multikill" GROUP="rage"

function PostBeginPlay()
{
  Level.Game.BaseMutator.AddMutator(Self);
  Super.PostBeginPlay();
 
}

function ScoreKill(Pawn Killer, Pawn Other)
{
  local DeusExPlayer DXP;
 
  if( Killer.PlayerReplicationInfo.Streak == 1 )
    foreach Allactors(class'DeusExPlayer', DXP)
      DXP.PlaySound(Sound 'multikill', SLOT_Interact, 1, false, 4096.0, 1.0);
    
  Super.ScoreKill(Killer, Other);
}


Thanks again guys... you've really pointed me in the proper direction =)
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby System » Sat Aug 11, 07 5:34 am

Heck... I've even just tried this to see if I can hear the sound... with no luck

Code: Select all
#exec AUDIO IMPORT FILE="Sounds\multikill.wav" NAME="multikill" GROUP="rage"
class MultiKill extends Mutator;

function PostBeginPlay()
{
  Level.Game.BaseMutator.AddMutator(Self);
  Super.PostBeginPlay();
 
}

function ScoreKill(pawn Killer, pawn Other)
{
   PlaySound(Sound 'MultiKill.multikill');
   Super.ScoreKill(Killer, Other);
}
System
Newbie
 
Posts: 40
Joined: Mon Oct 24, 05 4:21 am

Postby Dae » Sat Aug 11, 07 10:14 am

Maybe the sound has to be converted to another .wav format.

To do that you may either send the file to me (you can attach files, if you press "post reply" button) or convert it by yourself using a program called Switch. The output format should be .wav, PCM, something less than 40 000 kHz.
User avatar
Dae
Alpha
 
Posts: 12086
Joined: Sat Sep 06, 03 4:40 pm

Next

Return to Modifications

Who is online

Users browsing this forum: No registered users and 9 guests
cron