Cheats UC?

The best and quickest support by a group of top-notch editing specialists, guaranteed!

Moderator: Forum Guards

Cheats UC?

Postby {17}Ales » Thu Oct 19, 06 9:04 pm

Hey how would you use cheats like tantalus in uc for something like a tantalus gun.
My msn is now updated add me xD.
Image
User avatar
{17}Ales
Regular
 
Posts: 462
Joined: Tue Sep 05, 06 3:41 pm
Location: On the seat!

Postby Bob » Fri Oct 20, 06 12:12 am

Forgive my ignorance, but what is UC?
Bob
Forum God
 
Posts: 8552
Joined: Sun Apr 25, 04 9:14 pm
Location: Scotland - Marco's House =P

Postby Allan » Fri Oct 20, 06 12:26 am

Unreal Console? or Unreal Code(Script)?
User avatar
Allan
Alpha
 
Posts: 4545
Joined: Wed Dec 21, 05 1:41 pm
Location: Northamptonshire, England.

Postby Mastakilla » Fri Oct 20, 06 8:58 am

Why make a gun that uses a tantalus cheat, why not just make it a very high hitdamage.
When life gives you lemons... Squeeze them into your eyes and run across a busy intersection, faggot.
User avatar
Mastakilla
Forum Super Hero
 
Posts: 3634
Joined: Wed Aug 17, 05 7:47 pm

Postby MainMan » Fri Oct 20, 06 10:47 am

So what you're saying is... you want a gun, that kills people? 'Cause that's a new idea... :P
<center>ty m7
</center>
User avatar
MainMan
<i>Tru' Playa' Fer Defs</i>
 
Posts: 4655
Joined: Sun Jun 05, 05 7:38 am
Location: London, UK

Postby Gishank » Fri Oct 20, 06 3:22 pm

Ales, what IS the point in having a gun which tantalus's people...
Image
Gishank
Forum Super Hero
 
Posts: 4235
Joined: Sun Aug 28, 05 9:17 am
Location: London, England.

Postby Cozmo » Fri Oct 20, 06 4:25 pm

So it can kill invincible stuff as well? And that boomy effect. :roll:
Cozmo_RPG (v1 & v2)
MPConversations - A tool for creating multiplayer RPG stuff
Cozmo
Master
 
Posts: 1266
Joined: Tue Jun 28, 05 10:53 am
Location: UK

Postby {17}Ales » Fri Oct 20, 06 5:36 pm

~Cozmo~ wrote:So it can kill invincible stuff as well? And that boomy effect. :roll:

Its was an example now is there anyway to do this?
My msn is now updated add me xD.
Image
User avatar
{17}Ales
Regular
 
Posts: 462
Joined: Tue Sep 05, 06 3:41 pm
Location: On the seat!

Postby Mastakilla » Fri Oct 20, 06 6:43 pm

If you mean a weapon that can give the effect of a cheat, then yeah probably.

If you mean a weapon that cheats, then your out of your mind.
When life gives you lemons... Squeeze them into your eyes and run across a busy intersection, faggot.
User avatar
Mastakilla
Forum Super Hero
 
Posts: 3634
Joined: Wed Aug 17, 05 7:47 pm

Postby MainMan » Fri Oct 20, 06 9:53 pm

Yeah it is possible. Just take a look at the code in exec function tantalus in the player class, and put it into the processtracehit() in the weapon class. Hang on I'll find the code for ya.
<center>ty m7
</center>
User avatar
MainMan
<i>Tru' Playa' Fer Defs</i>
 
Posts: 4655
Joined: Sun Jun 05, 05 7:38 am
Location: London, UK

Postby Spiderbot01 » Fri Oct 20, 06 9:56 pm

Make me a gun that flys around and tries to tantalus me and I will truly be impressed.
<center>------</center><center>
Image</center>
<center>Image</center><
User avatar
Spiderbot01
Alpha
 
Posts: 5363
Joined: Wed Nov 30, 05 8:24 pm
Location: LONDON!!!!

Postby MainMan » Fri Oct 20, 06 10:09 pm

From the player class we can extract:

Code: Select all
exec function Tantalus()
{
   local Actor            hitActor;
   local Vector           hitLocation, hitNormal;
   local Vector           position, line;
   local ScriptedPawn     hitPawn;
   local DeusExMover      hitMover;
   local DeusExDecoration hitDecoration;
   local bool             bTakeDamage;
   local int              damage;

   if (!bCheatsEnabled)
      return;

   bTakeDamage = false;
   damage      = 1;
   position    = Location;
   position.Z += BaseEyeHeight;
   line        = Vector(ViewRotation) * 4000;

   hitActor = Trace(hitLocation, hitNormal, position+line, position, true);
   if (hitActor != None)
   {
      hitMover = DeusExMover(hitActor);
      hitPawn = ScriptedPawn(hitActor);
      hitDecoration = DeusExDecoration(hitActor);
      if (hitMover != None)
      {
         if (hitMover.bBreakable)
         {
            hitMover.doorStrength = 0;
            bTakeDamage = true;
         }
      }
      else if (hitPawn != None)
      {
         if (!hitPawn.bInvincible)
         {
            hitPawn.HealthHead     = 0;
            hitPawn.HealthTorso    = 0;
            hitPawn.HealthLegLeft  = 0;
            hitPawn.HealthLegRight = 0;
            hitPawn.HealthArmLeft  = 0;
            hitPawn.HealthArmRight = 0;
            hitPawn.Health         = 0;
            bTakeDamage = true;
         }
      }
      else if (hitDecoration != None)
      {
         if (!hitDecoration.bInvincible)
         {
            hitDecoration.HitPoints = 0;
            bTakeDamage = true;
         }
      }
      else if (hitActor != Level)
      {
         damage = 5000;
         bTakeDamage = true;
      }
   }

   if (bTakeDamage)
      hitActor.TakeDamage(damage, self, hitLocation, line, 'Tantalus');
}



Therefore, the bits we are interested in are:

Code: Select all
      hitMover = DeusExMover(hitActor);
      hitPawn = ScriptedPawn(hitActor);
      hitDecoration = DeusExDecoration(hitActor);
      if (hitMover != None)
      {
         if (hitMover.bBreakable)
         {
            hitMover.doorStrength = 0;
            bTakeDamage = true;
         }
      }
      else if (hitPawn != None)
      {
         if (!hitPawn.bInvincible)
         {
            hitPawn.HealthHead     = 0;
            hitPawn.HealthTorso    = 0;
            hitPawn.HealthLegLeft  = 0;
            hitPawn.HealthLegRight = 0;
            hitPawn.HealthArmLeft  = 0;
            hitPawn.HealthArmRight = 0;
            hitPawn.Health         = 0;
            bTakeDamage = true;
         }
      }
      else if (hitDecoration != None)
      {
         if (!hitDecoration.bInvincible)
         {
            hitDecoration.HitPoints = 0;
            bTakeDamage = true;
         }
      }
      else if (hitActor != Level)
      {
         damage = 5000;
         bTakeDamage = true;
      }
   }

   if (bTakeDamage)
      hitActor.TakeDamage(damage, self, hitLocation, line, 'Tantalus');


These deal with the checking if what you tantalused was a pawn, a mover (door) or a decoration.



Next we can place it into the weapon class. Firstly I had a look at the ProcessTraceHit function:

Code: Select all
simulated function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z)
{
   local float        mult;
   local name         damageType;
   local DeusExPlayer dxPlayer;

   if (Other != None)
   {
      // AugCombat increases our damage if hand to hand
      mult = 1.0;
      if (bHandToHand && (DeusExPlayer(Owner) != None))
      {
         mult = DeusExPlayer(Owner).AugmentationSystem.GetAugLevelValue(class'AugCombat');
         if (mult == -1.0)
            mult = 1.0;
      }

      // skill also affects our damage
      // GetWeaponSkill returns 0.0 to -0.7 (max skill/aug)
      mult += -2.0 * GetWeaponSkill();

      // Determine damage type
      damageType = WeaponDamageType();

      if (Other != None)
      {
         if (Other.bOwned)
         {
            dxPlayer = DeusExPlayer(Owner);
            if (dxPlayer != None)
               dxPlayer.AISendEvent('Futz', EAITYPE_Visual);
         }
      }
      if ((Other == Level) || (Other.IsA('Mover')))
      {
         if ( Role == ROLE_Authority )
            Other.TakeDamage(HitDamage * mult, Pawn(Owner), HitLocation, 1000.0*X, damageType);

         SelectiveSpawnEffects( HitLocation, HitNormal, Other, HitDamage * mult);
      }
      else if ((Other != self) && (Other != Owner))
      {
         if ( Role == ROLE_Authority )
            Other.TakeDamage(HitDamage * mult, Pawn(Owner), HitLocation, 1000.0*X, damageType);
         if (bHandToHand)
            SelectiveSpawnEffects( HitLocation, HitNormal, Other, HitDamage * mult);

         if (bPenetrating && Other.IsA('Pawn') && !Other.IsA('Robot'))
            SpawnBlood(HitLocation, HitNormal);
      }
   }
   if (DeusExMPGame(Level.Game) != None)
   {
      if (DeusExPlayer(Other) != None)
         DeusExMPGame(Level.Game).TrackWeapon(self,HitDamage * mult);
      else
         DeusExMPGame(Level.Game).TrackWeapon(self,0);
   }
}


We can see that the part here calling the damage is:

Code: Select all
      if ((Other == Level) || (Other.IsA('Mover')))
      {
         if ( Role == ROLE_Authority )
            Other.TakeDamage(HitDamage * mult, Pawn(Owner), HitLocation, 1000.0*X, damageType);

         SelectiveSpawnEffects( HitLocation, HitNormal, Other, HitDamage * mult);
      }
      else if ((Other != self) && (Other != Owner))
      {
         if ( Role == ROLE_Authority )
            Other.TakeDamage(HitDamage * mult, Pawn(Owner), HitLocation, 1000.0*X, damageType);
         if (bHandToHand)
            SelectiveSpawnEffects( HitLocation, HitNormal, Other, HitDamage * mult);

         if (bPenetrating && Other.IsA('Pawn') && !Other.IsA('Robot'))
            SpawnBlood(HitLocation, HitNormal);
      }




Therefore, when I put in code based on the tantalus command, the completed function will look like:

Code: Select all
simulated function ProcessTraceHit(Actor Other, Vector HitLocation, Vector HitNormal, Vector X, Vector Y, Vector Z)
{
   local float        mult;
   local name         damageType;
   local DeusExPlayer dxPlayer;

   local ScriptedPawn     hitPawn;
   local DeusExMover      hitMover;
   local DeusExDecoration hitDecoration;

   local bool             bTakeDamage;

   if (Other != None)
   {
      if (Other != Self)
      {
         //MM: ADDED===
         hitMover = DeusExMover(hitActor);
         hitPawn = ScriptedPawn(hitActor);
         hitDecoration = DeusExDecoration(hitActor);
         //=======

         if (Other.bOwned)
         {
            dxPlayer = DeusExPlayer(Owner);
            if (dxPlayer != None)
               dxPlayer.AISendEvent('Futz', EAITYPE_Visual);
         }
      }

      //MM: ADDED=======
      if (hitMover != None)
      {
         if (hitMover.bBreakable)
         {
            hitMover.doorStrength = 0;
            bTakeDamage = true;
         }
         SelectiveSpawnEffects( HitLocation, HitNormal, Other, 5000);
      }
      //==========




      //MM: ADDED=======
      else if ( (hitPawn != None) && (hitPawn != Pawn(Owner) )
      {
         if (!hitPawn.bInvincible)
         {
            hitPawn.HealthHead     = 0;
            hitPawn.HealthTorso    = 0;
            hitPawn.HealthLegLeft  = 0;
            hitPawn.HealthLegRight = 0;
            hitPawn.HealthArmLeft  = 0;
            hitPawn.HealthArmRight = 0;
            hitPawn.Health         = 0;
            bTakeDamage = true;
         }

         if (bHandToHand)
            SelectiveSpawnEffects( HitLocation, HitNormal, Other, 5000);

         SpawnBlood(HitLocation, HitNormal);
      }
      //===========


      //MM: ADDED=======
      else if (hitDecoration != None)
      {
         if (!hitDecoration.bInvincible)
         {
            hitDecoration.HitPoints = 0;
            bTakeDamage = true;
         }
      }
      //=======


      //MM: ADDED=======
      if (bTakeDamage)
      {
         //MM: Take Damage must be called on the server (that's what Role_authority means)
         if(Role == ROLE_Authority)
         {
            Other.TakeDamage(5000, self, hitLocation, line, 'Tantalus');
         }
      }
      //======

   }
   if (DeusExMPGame(Level.Game) != None)
   {
      if (DeusExPlayer(Other) != None)
         DeusExMPGame(Level.Game).TrackWeapon(self,5000);
      else
         DeusExMPGame(Level.Game).TrackWeapon(self,0);
   }
}


Hope it helped!
<center>ty m7
</center>
User avatar
MainMan
<i>Tru' Playa' Fer Defs</i>
 
Posts: 4655
Joined: Sun Jun 05, 05 7:38 am
Location: London, UK

Postby ~ô¿ô~Nobody~ » Fri Oct 20, 06 10:31 pm

I doubt it will have helped him.
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 MainMan » Fri Oct 20, 06 10:32 pm

~[A]Nobody~ wrote:I doubt it will have helped him.

Why? :?
<center>ty m7
</center>
User avatar
MainMan
<i>Tru' Playa' Fer Defs</i>
 
Posts: 4655
Joined: Sun Jun 05, 05 7:38 am
Location: London, UK

Postby ~ô¿ô~Nobody~ » Fri Oct 20, 06 10:33 pm

Because he is not that experienced at coding. He cannot use the code without knowing the basics.
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 MainMan » Fri Oct 20, 06 10:35 pm

~[A]Nobody~ wrote:Because he is not that experienced at coding. He cannot use the code without knowing the basics.


Yes, but I was just explaining what I was doing, to try and help him learn. But at the end, I just gave him a block of code that he can copy-and-paste, without understanding.
<center>ty m7
</center>
User avatar
MainMan
<i>Tru' Playa' Fer Defs</i>
 
Posts: 4655
Joined: Sun Jun 05, 05 7:38 am
Location: London, UK

Postby ~ô¿ô~Nobody~ » Fri Oct 20, 06 10:46 pm

hmm. i see.
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 ICE » Fri Oct 20, 06 11:00 pm

~[A]Nobody~ wrote:Because he is not that experienced at coding. He cannot use the code without knowing the basics.

heh i know abit |:
ЛЕДImage
The recent message was not spam but was a topic warmer and the message was copyrighted for eternity!Im in czech at the moe.
User avatar
ICE
Poster
 
Posts: 155
Joined: Fri Jul 14, 06 9:40 pm
Location: UK

Postby MainMan » Fri Oct 20, 06 11:03 pm

ICE wrote:
~[A]Nobody~ wrote:Because he is not that experienced at coding. He cannot use the code without knowing the basics.

heh i know abit |:

Just copy and paste the last bit into your weapon script dude. Try to read my explanation of how I made that code too, though - it will help you to learn :)
<center>ty m7
</center>
User avatar
MainMan
<i>Tru' Playa' Fer Defs</i>
 
Posts: 4655
Joined: Sun Jun 05, 05 7:38 am
Location: London, UK

Postby Mastakilla » Sat Oct 21, 06 12:27 am

I still think making it a really high hitdamage would've been easyer.
When life gives you lemons... Squeeze them into your eyes and run across a busy intersection, faggot.
User avatar
Mastakilla
Forum Super Hero
 
Posts: 3634
Joined: Wed Aug 17, 05 7:47 pm

Postby clyzm » Sat Oct 21, 06 4:26 am

Spiderf[A]g01 wrote:Make me a gun that flys around and tries to tantalus me and I will truly be impressed.


Actually that's easy. Just change a player class mesh to "pistol" or whatever, make its weapon the "tantaluspistol" (coding it beforehand) and unlimited ammo.

Either that or just make the GM or GF meshes invincible so that the third person mesh is viewable only.
Image
User avatar
clyzm
Forum Master God
 
Posts: 16023
Joined: Sun Nov 28, 04 2:48 am
Location: Chiraq


Return to Editing issues

Who is online

Users browsing this forum: No registered users and 4 guests