View Full Version : LuciferX RVS v4 Update News & V3 Intelliquipment
DarkCode
5th November 2005, 06:18
I have gotten back into coding, got rid of vacation status earlier then expected, and because of it here is a little hint on the source of previous versions, every few post's i'll update with some more things.
Here is my intelliquipment from v3:
// Target Intelliquipment
function TargetIntelliquipment ()
{
MyController.m_bHeatVisionActive = True;
MyController.ServerToggleHeatVision(True);
// Weapon Mods
R6Weapons(MyController.Pawn.EngineWeapon).m_fMaxZo om = 4;
R6Weapons(MyController.Pawn.EngineWeapon).m_fRateO fFire = 0.1;
R6Weapons(MyController.Pawn.EngineWeapon).m_fFireA nimRate = 0.1;
R6Weapons(MyController.Pawn.EngineWeapon).m_bIsSil enced = True;
R6Weapons(MyController.Pawn.EngineWeapon).m_bUnlim itedClip = True;
MyController.Pawn.Level.m_pScopeMaskTexture = None;
MyController.Pawn.Level.m_pScopeAddTexture = None;
R6Weapons.m_fRateOfFire = 0.0;
R6Weapons.m_fFireAnimRate = 0.0;
me.EngineWeapon.StopFire(False);
// me.EngineWeapon.ClientStopFire(False);
// me.EngineWeapon.LocalStopFire(False);
// me.EngineWeapon.ServerStopFire(False);
R6Weapons.m_pBulletClass.Default.m_fRange = 30000.0;
R6Weapons(MyController.Pawn.EngineWeapon).m_fReloa dEmptyTime = 0.00000000000000001;
R6Weapons(MyController.Pawn.EngineWeapon).m_fReloa dTime = 0.00000000000000001;
if ( bAutoReload )
{
if (R6Weapons(MyController.Pawn.EngineWeapon).m_InbBu lletsInWeapon <= 5)
{
StopMyWeapon();
R6Weapons(MyController.Pawn.EngineWeapon).AddClips (1);
R6Weapons(MyController.Pawn.EngineWeapon).ChangeCl ip();
R6Weapons(MyController.Pawn.EngineWeapon).PlayRelo ading();
R6Weapons(MyController.Pawn.EngineWeapon).AddClips (1);
R6Weapons(MyController.Pawn.EngineWeapon).FillClip s();
R6Weapons(MyController.Pawn.EngineWeapon).FullAmmo ();
}
}
if ( R6Controller.Pawn != None )
{
R6Pawn(Me).m_fDecrementalBlurValue = 0.00;
R6Pawn(Me).m_bHaveGasMask = true;
R6Pawn(Me).m_fBlurValue = 0.00;
R6Pawn(Me).m_fRepDecrementalBlurValue = 0.00;
R6Pawn(Me).m_bFlashBangVisualEffectRequested = false;
R6Pawn(Me).m_fFlashBangVisualEffectTime = 0.0;
}
if ( bGodMode )
{
R6Pawn(Me).ServerForceStunResult(10000);
R6Pawn(Me).ServerForceKillResult(10000);
}
else if ( !bGodMode )
{
R6Pawn(Me).ServerForceStunResult(0);
R6Pawn(Me).ServerForceKillResult(0);
}
if ( bNoRecoil )
{
R6PlayerController(MyController).m_bShakeactive=fa lse;
}
else if ( !bNoRecoil )
{
R6PlayerController(MyController).m_bShakeactive=tr ue;
}
if ( bRetlock )
{
MyController.Pawn.EngineWeapon.PerfectAim();
}
}
Enjoy!
The source is not close to the code I will have in my v4 bot, and in future releases. But this should help people get an idea on getting into coding themselves, start them off with a basic path to making a nice hack.
I will eventually release my entire v3 source in this thread, so more ppl posting, more comments / questions, more updates by me with my source snippets.
Lol, just thinking, I should make one of the snippets that I post my variables I used just to get a good laugh.
GLoGG
5th November 2005, 12:03
function GunMods ()
{
if (ValidWeapon())
{
R6Weapons.m_fMaxZoom = 4.00;
R6Weapons.m_fRateOfFire = 9999999999.00;
R6Weapons.m_fFireAnimRate = 9999999999.00;
Me.Level.m_pScopeMaskTexture = None;
Me.Level.m_pScopeAddTexture = None;
Me.EngineWeapon.StopFire(False);
Me.EngineWeapon.ClientStopFire(False);
Me.EngineWeapon.ServerStopFire(False);
Me.EngineWeapon.LocalStopFire(False);
Me.EngineWeapon.ChangeClip();
R6Weapons.m_fReloadEmptyTime = 0.0000000000000000000000000000001;
R6Weapons.m_fReloadTime = 0.0000000000000000000000000000001;
Me.EngineWeapon.AddClips(1337);
Me.EngineWeapon.m_fMaxZoom = 4.00;
r6pawn(me).m_fGunswitchSpeedMultiplier = 9999999999.00;
}
if (Me.EngineWeapon.m_iNbBulletsInWeapon == 0)
{
Me.EngineWeapon.PlayReloading();
Me.EngineWeapon.AddClips(1337);
Me.EngineWeapon.ChangeClip();
Me.EngineWeapon.AttachMagazine();
Me.EngineWeapon.GiveMoreAmmo();
Me.EngineWeapon.FullCurrentClip();
Me.EngineWeapon.FullAmmo();
}
if (Me.EngineWeapon.m_iNbBulletsInWeapon < 0)
{
Me.EngineWeapon.PlayReloading();
Me.EngineWeapon.AddClips(1337);
Me.EngineWeapon.ChangeClip();
Me.EngineWeapon.AttachMagazine();
Me.EngineWeapon.GiveMoreAmmo();
Me.EngineWeapon.FullCurrentClip();
Me.EngineWeapon.FullAmmo();
}
}
some off that will only work in SP though .. or in ur own server..
can't wait for ur next release darkcode ^^
KizZamP-
5th November 2005, 13:07
the gunswitchspeedmultiplier doesn't work,fullcurrentclip doesn't also (don't know about fullammo).
the rest should work.
Kizzamp-
GLoGG
5th November 2005, 13:09
the gunswitchspeedmultiplier doesn't work,fullcurrentclip doesn't also (don't know about fullammo).
the rest should work.
Kizzamp-
fullammo works (SP) gives u 255 clips and 200 bullets who gets refulled everytime u shot a bullet (unlimited ammo)
gunspeed... idk if it works... serversided..
superdupe
5th November 2005, 15:48
so what makes the equipment intelligent?
;)
KizZamP-
5th November 2005, 20:14
so what makes the equipment intelligent?
;)
hehe lol that's quite pwned :p
o and darkcode && glogg : that fullcurrentclip and fillclips(isn't on that list),works for sp,but doesn't for mp.
RuffianSoldier
5th November 2005, 20:25
Hahaha, Steven.
Anyway, fullammo works in MP too - doesnt do waht you want it to do - but is just as fun :)
With charge hack it makes a shit load of explosions and lags the crap out of the server. It is quite funny!
superdupe
5th November 2005, 23:51
i didnt mean to own anyone... just curious
Jurgis
5th November 2005, 23:57
hehe lol that's quite pwned :p
first, how is that pwned?
second, nice job luci, keep em coming....
DarkCode
6th November 2005, 01:24
Aiming Code from V3 (Being Updated):
Bools:
bAutoAim, bAutoFire, bPingCorrection, bCharge
Pawn Related:
foreach MyController.AllActors(Class'Pawn',Target)
{
if (ValidTarget(Target))
{
if ( bCharge )
{
if( IsEnemy(Target) )
{
if( VSize(Target.Location - MyController.Pawn.Location) / 48 >= 15 )
{
Charge(Target);
}
}
}
if (bAutoAim)
{
if (IsEnemy(Target) && IsVisible(Target) ) // MyController.CanSee(Target)
{
BestTarget = GetBestTarget(BestTarget, Target);
}
if (BestTarget != None)
{
Bone = CheckVisibility(Target);
if(Bone != 'NotVisible')
{
BestBone = Bone;
}
BoneAim(BestTarget, BestBone);
if (bAutoFire && ValidWeapon())
{
FireMyWeapon();
StopMyWeapon();
}
}
else
{
StopMyWeapon();
}
}
}
}
Charge Hack:
function Charge (Pawn Target)
{
R6Pawn(MyController.Pawn).EngineWeapon.ServerPlace Charge(Target.Location);
R6Pawn(MyController.Pawn).EngineWeapon.ServerDeton ate();
}
Check Functions:
// Valid Weapon
function bool ValidWeapon()
{
if( (Me != None) && (Me.EngineWeapon != None) && (!Me.EngineWeapon.IsA('R6Grenade')) && (Me.EngineWeapon.m_InbBulletsInWeapon > 0) && ((Me.EngineWeapon.m_eWeaponType != 7) || (Me.EngineWeapon.m_eWeaponType != 6)) )
{
return True;
}
else
{
return False;
}
}
// Is Enemy
function bool IsEnemy (Pawn Target)
{
if ( Target.m_iTeam != MyController.Pawn.m_iTeam && (Target.m_iTeam != 0))
{
return True;
}
else
{
return False;
}
}
// Valid Targets
function bool ValidTarget (Pawn Target)
{
if (( Target != None ) && ( Target != MyController.Pawn ) && Target.IsAlive())
{
return True;
}
else
{
return False;
}
}
function bool ValidActor (Actor Target)
{
if (( Target != None ) && !Target.bHidden)
{
return True;
}
else
{
return False;
}
}
// Is Visible
function bool IsVisible (Pawn Target)
{
local name Bone;
local vector MyLocation;
MyLocation = Me.GetBoneCoords('R6 Head').Origin;
Bone = CheckVisibility(Target);
if ( MyController.CanSee(Target) )
{
return true;
}
if ( MyController.FastTrace( Target.GetBoneCoords('Bone').Origin, MyLocation ) )
{
return true;
}
}
Visibility:
function name CheckVisibility(Pawn Target)
{
local vector MyLocation;
local vector Bone1, Bone2, Bone3, Bone4, Bone5, Bone6, Bone7, Bone8, Bone9, Bone10, Bone11;
// Velocity = Target.Velocity * FClamp(Me.PlayerReplicationInfo.Ping * 1000,20.0,250.0) / 740;
MyLocation = Me.GetBoneCoords('R6 Head').Origin;
Bone1 = Target.GetBoneCoords('R6 Head').Origin;
Bone2 = Target.GetBoneCoords('R6 L UpperArm').Origin;
Bone3 = Target.GetBoneCoords('R6 L ForeArm').Origin;
Bone4 = Target.GetBoneCoords('R6 L Hand').Origin;
Bone5 = Target.GetBoneCoords('R6 R UpperArm').Origin;
Bone6 = Target.GetBoneCoords('R6 R ForeArm').Origin;
Bone7 = Target.GetBoneCoords('R6 R Hand').Origin;
Bone8 = Target.GetBoneCoords('R6 L Calf').Origin;
Bone9 = Target.GetBoneCoords('R6 R Calf').Origin;
Bone10 = Target.GetBoneCoords('R6 L Foot').Origin;
Bone11 = Target.GetBoneCoords('R6 R Foot').Origin;
if (MyController.FastTrace(Bone1, MyLocation))
{
return 'R6 Head';
}
else if (MyController.FastTrace(Bone2, MyLocation))
{
return 'R6 L UpperArm';
}
else if (MyController.FastTrace(Bone3, MyLocation))
{
return 'R6 L ForeArm';
}
else if (MyController.FastTrace(Bone4, MyLocation))
{
return 'R6 L Hand';
}
else if (MyController.FastTrace(Bone5, MyLocation))
{
return 'R6 R UpperArm';
}
else if (MyController.FastTrace(Bone6, MyLocation))
{
return 'R6 R ForeArm';
}
else if (MyController.FastTrace(Bone7, MyLocation))
{
return 'R6 R Hand';
}
else if (MyController.FastTrace(Bone8, MyLocation))
{
return 'R6 L Calf';
}
else if (MyController.FastTrace(Bone9, MyLocation))
{
return 'R6 R Calf';
}
else if (MyController.FastTrace(Bone10, MyLocation))
{
return 'R6 L Foot';
}
else if (MyController.FastTrace(Bone11, MyLocation))
{
return 'R6 R Foot';
}
else
{
return 'NotVisible';
}
}
Get Best Target:
function Pawn GetBestTarget (Pawn BestTarget, Pawn Target)
{
local float BestDistance;
local float CurrentDistance;
BestDistance = VSize(BestTarget.Location - Me.Location);
CurrentDistance = VSize(Target.Location - Me.Location);
if (BestTarget == None)
{
Return Target;
}
else
{
if (CurrentDistance < BestDistance)
{
Return Target;
}
else
{
Return BestTarget;
}
}
}
Ping Correction / Rotate:
// Ping Correction
function Vector PingCorrection (Pawn BestTarget)
{
local Vector vPing;
local float ExactPing;
vPing = BestTarget.Velocity;
ExactPing = MyController.PlayerReplicationInfo.Ping / 1000;
ExactPing *= rand(5) * 0.1;
vPing *= ExactPing;
vPing += BestTarget.Velocity * 0.01;
vPing -= Me.Velocity * 0.01;
return vPing;
}
// Rotate Towards Target
function BoneAim (Pawn BestTarget, name BestBone)
{
local vector AimLocation;
local rotator AimRotation;
local vector MyLocation;
// local vector PingCorrection;
// PingCorrection = BestTarget.Velocity * FClamp(Me.PlayerReplicationInfo.Ping,20.00,200.00) / 980;
MyLocation = Me.GetBoneCoords('R6 Head').Origin + Velocity;
AimLocation = BestTarget.GetBoneCoords(BestBone).Origin;
if ( bPingCorrection )
{
Aimlocation += PingCorrection(BestTarget);
}
AimRotation = Normalize(rotator(AimLocation - MyLocation));
R6Pawn(Me).PawnLookAbsolute(AimRotation,False,Fals e);
}
Enjoy everyone.
I use alot of comments in my code, it helps me stay organized, if you look at my actual source you'd see everything almost done for every function, should help those people out there looking to make their own bots. I release in pieces, not to just make ppl want to see more about this, but to show that each part is meant to help, not just an entire bot to copy / paste.
superdupe
6th November 2005, 01:48
why do people do this ? " ExactPing *= rand(5) * 0.1;"
why rand? the randomness negates all of the work you put in in order to obtain a precise prediction....
why bother with all this?
vPing = BestTarget.Velocity;
ExactPing = MyController.PlayerReplicationInfo.Ping / 1000;
ExactPing *= rand(5) * 0.1;
vPing *= ExactPing;
vPing += BestTarget.Velocity * 0.01;
vPing -= Me.Velocity * 0
you may aswell leave it all to chance...
my opinion
DotProduct
6th November 2005, 01:50
darkcode ur my idol.... my opinion... PICK UP A BOOK!
DarkCode
6th November 2005, 01:52
darkcode ur my idol.... my opinion... PICK UP A BOOK!
LOL...
Whatever, the code is so old, and it worked.
superdupe
6th November 2005, 02:45
credits?
$T$
6th November 2005, 03:25
why do people do this ? " ExactPing *= rand(5) * 0.1;"
why rand? the randomness negates all of the work you put in in order to obtain a precise prediction....
why bother with all this?
vPing = BestTarget.Velocity;
ExactPing = MyController.PlayerReplicationInfo.Ping / 1000;
ExactPing *= rand(5) * 0.1;
vPing *= ExactPing;
vPing += BestTarget.Velocity * 0.01;
vPing -= Me.Velocity * 0
you may aswell leave it all to chance...
my opinion
Agreed, this isn't effective if u want your aimbot to own.
DarkCode
6th November 2005, 05:11
credits?
Check the LuciferX v3 Release Thread.
vBulletin® v3.8.4, Copyright ©2000-2009, Jelsoft Enterprises Ltd.