Chim3ra
28th April 2008, 17:41
hey evryone, i just started learning about coding a bot for myself and i as far as i found good tutorials i made this :
//----- Class Definition -----
class MyInteraction extends Interaction;
//----- Global Variables -----
var bool AutoAim;
var bool AutoFire;
var bool ESP;
var bool Wallhack;
var bool Menu;
var vector MyLocation;
var vector ESPVec;
var vector CurrentTargetLocation;
var int I;
var PlayerController PC;
var Pawn Target;
var PlayerReplicationInfo PRI;
var Load Load;
var Canvas MyCanvas;
//----- Main Bot Functions -----
function PostRender(Canvas Canvas)
{
PC = ViewPortOwner.Actor;
MyLocation = PC.Pawn.EyePosition();
Canvas.Font = Canvas.TinyFont;
if (Menu)
{
DrawMyMenu(Canvas);
}
If ( PC.Pawn != None && PC.Pawn.Weapon != None )
{
if ( AutoAim )
{
foreach PC.Pawn.Level.AllActors(Class'Pawn', Target)
{
if ( Target != None && Target.PlayerReplicationInfo.Team.TeamIndex != PC.Pawn.PlayerReplicationInfo.Team.TeamIndex && Target != PC.Pawn && !Target.bHidden && !Target.IsInState('dying'))
{
if ( pc.fasttrace(target.getbonecoords('neck').origin, mylocation ))
{
pc.setrotation(rotator(target.getbonecoords('neck' ).origin - mylocation ));
if ( AutoFire )
{
pc.pawn.weapon.serverfire(true,false,false);
pc.pawn.weapon.playfiring();
}
}
}
}
}
AGP_Weapon(PC.Pawn.Weapon).bWpnRecoil = false;
AGP_Weapon(PC.Pawn.Weapon).bWpnAccuracy = false;
if ( PC.Pawn.Weapon.AmmoType.AmmoAmount == 0 )
{
pc.pawn.serverreload();
}
}
for (I = 0; I < PC.GameReplicationInfo.PRIArray.length; I++ )
{
PRI = PC.GameReplicationInfo.PRIArray[i];
CurrentTargetLocation = PRI.GetPawnLocation();
ESPVec = PC.Player.Console.WorldToScreen(CurrentTargetLocat ion);
if ( PRI != None && PRI.Team != PC.Pawn.PlayerReplicationInfo.Team && PRI.myPawn != PC.Pawn && !PRI.IsDead() )
{
if ( Wallhack )
{
Canvas.DrawActor(PRI.myPawn,false,true);
PRI.myPawn.bHidden = false;
}
if ( ESP )
{
Canvas.SetDrawColor(255,0,0);
Canvas.SetPos(ESPVec.X,ESPVec.Y);
Canvas.DrawText(PRI.PlayerName);
Canvas.SetPos(ESPVec.X,ESPVec.Y+10);
Canvas.DrawText("D:: "$String(Int(VSize(CurrentTargetLocation - MyLocation) / 48)) $ " m.");
if ( PRI.myPawn.Health > 0 )
{
Canvas.SetPos(ESPVec.X,ESPVec.Y+20);
Canvas.DrawText("H:: "$PRI.myPawn.Health);
}
}
}
}
}
function DrawMyMenu(Canvas Canvas)
{
Canvas.SetDrawColor(255,128,0);
Canvas.SetPos(10,470);
Canvas.DrawText("Health:: "$PC.Pawn.Health);
Canvas.SetPos(10,480);
Canvas.DrawText("Ping:: "$PC.ExactPing * 1000);
Canvas.SetPos(10,500);
Canvas.DrawText("AutoAim::");
if ( AutoAim )
{
canvas.setpos(84,500);
canvas.setdrawcolor(0,255,0,255);
canvas.drawtext("On");
}
else
{
canvas.setpos(84,500);
canvas.setdrawcolor(255,0,0,255);
canvas.drawtext("Off");
}
Canvas.SetPos(10,510);
Canvas.SetDrawColor(255,128,0);
Canvas.DrawText("AutoFire:: ");
if ( AutoFire )
{
canvas.setpos(84,510);
canvas.setdrawcolor(0,255,0,255);
canvas.drawtext("On");
}
else
{
canvas.setpos(84,510);
canvas.setdrawcolor(255,0,0,255);
canvas.drawtext("Off");
}
Canvas.SetPos(10,520);
Canvas.SetDrawColor(255,128,0);
Canvas.DrawText("Wallhack:: ");
if ( Wallhack )
{
canvas.setpos(84,520);
canvas.setdrawcolor(0,255,0,255);
canvas.drawtext("On");
}
else
{
canvas.setpos(84,520);
canvas.setdrawcolor(255,0,0,255);
canvas.drawtext("Off");
}
}
//----- Key Events -----
function bool KeyEvent( EInputKey Key, EInputAction Action, FLOAT Delta )
{
if( Action!=IST_Press )
return false;
else if ( Key==IK_Numpad2)
{
autoaim = !autoaim;
}
else if ( Key==IK_Numpad3)
{
autofire = !autofire;
}
else if ( Key==IK_Numpad4)
{
wallhack = !wallhack;
}
else if ( key==IK_Numpad5)
{
menu = !menu;
}
else
{
return false;
}
}
defaultproperties
{
bActive=True
bVisible=True
AutoAim=True
AutoFire=True
ESP=True
Wallhack=True
Menu=True
}
//----- Name Changer ----- (thx to -[HP]-DiabloZ)
function String Translator(string S)
{
local string TempStr;
local string CurrentLetter;
local int p;
for (p = 0; p < Len(S) + 1; p++)
{
CurrentLetter = mid(S,p,1);
if ( caps(CurrentLetter) == "A" )
{
TempStr = TempStr $ "á";
}
else if ( caps(CurrentLetter) == "B" )
{
TempStr = TempStr $ "ß";
}
else if ( caps(CurrentLetter) == "D" )
{
TempStr = TempStr $ "Ð";
}
else if ( caps(CurrentLetter) == "E" )
{
TempStr = TempStr $ "ë";
}
else if ( caps(CurrentLetter) == "I" )
{
TempStr = TempStr $ "í";
}
else if ( caps(CurrentLetter) == "O" )
{
TempStr = TempStr $ "ô";
}
else if ( caps(CurrentLetter) == "U" )
{
TempStr = TempStr $ "u";
}
else if ( caps(CurrentLetter) == "Y" )
{
TempStr = TempStr $ "Ý";
}
else
{
TempStr = TempStr $ CurrentLetter;
}
}
Return TempStr;
}
exec function LeetName (string name)
{
HumanController(MyController).bIsAuthorizedServer = False;
HumanController(MyController).fLastNameTest = 999999;
HumanController(MyController).ServerRequestAuthori zation(Translator(name)," ");
HumanController(MyController).AnnounceNewPlayerJoi ningServer(Translator(name)$"has successfully joined the server.");
}
//----- Stats Menu -----
if ( bStatsMenu )
{
Canvas.SetDrawColor(255,0,0);
Canvas.SetPos(20, 500);
Canvas.DrawText("PING : " $ ViewportOwner.Actor.ExactPing * 1000);
Canvas.SetPos(20, 510);
Canvas.DrawText("Health : " $ ViewportOwner.Actor.Pawn.health $ "%");
}
//----- No Recoil -----
Function PowerUpWeapon()
{
if ( bNoRecoil )
{
MyController.bUnlimitedAmmo = True;
MyController.Pawn.Weapon.bForceFire = True;
MyController.Pawn.Weapon.bMisFire = False;
MyController.Pawn.Weapon.bMisFireOnRapid = False;
AGP_Weapon(MyController.Pawn.Weapon).bWpnRecoil = False;
AGP_Weapon(MyController.Pawn.Weapon).nWpnAccuracy = False;
AGP_Pawn(MyController.Pawn).bForceDrawCrosshair = True;
}
}
//----- No Fog -----
exec function NoFog ()
{
local ZoneInfo ZI;
foreach MyController.Level.AllActors(Class'ZoneInfo',ZI)
{
if ( ZI != None )
{
ZI.DistanceFogStart = 100000.0;
ZI.DistanceFogEnd = 100001.0;
ZI.bDistanceFog = False;
ZI.DistanceFogBlendTime = 0.0;
}
}
}
exec function Fog ()
{
local ZoneInfo ZI;
foreach MyController.Level.AllActors(Class'ZoneInfo',ZI)
{
if ( ZI != None )
{
ZI.DistanceFogStart = 3000.0;
ZI.DistanceFogEnd = 8000.0;
ZI.bDistanceFog = True;
ZI.DistanceFogBlendTime = 1.20;
}
}
}
i just cant find a tutorial about how to hook it properly to the AA engine. or what else i have to add to make it work properly.
+also when i look at like smoke's workshop i see allot of files with he's lscript, is it possible that when this is ready i can proberly replace it by he's lscript,
cuz i read somewhere here that he's lscript make's compiling errors wich i also have :p
greetz
//----- Class Definition -----
class MyInteraction extends Interaction;
//----- Global Variables -----
var bool AutoAim;
var bool AutoFire;
var bool ESP;
var bool Wallhack;
var bool Menu;
var vector MyLocation;
var vector ESPVec;
var vector CurrentTargetLocation;
var int I;
var PlayerController PC;
var Pawn Target;
var PlayerReplicationInfo PRI;
var Load Load;
var Canvas MyCanvas;
//----- Main Bot Functions -----
function PostRender(Canvas Canvas)
{
PC = ViewPortOwner.Actor;
MyLocation = PC.Pawn.EyePosition();
Canvas.Font = Canvas.TinyFont;
if (Menu)
{
DrawMyMenu(Canvas);
}
If ( PC.Pawn != None && PC.Pawn.Weapon != None )
{
if ( AutoAim )
{
foreach PC.Pawn.Level.AllActors(Class'Pawn', Target)
{
if ( Target != None && Target.PlayerReplicationInfo.Team.TeamIndex != PC.Pawn.PlayerReplicationInfo.Team.TeamIndex && Target != PC.Pawn && !Target.bHidden && !Target.IsInState('dying'))
{
if ( pc.fasttrace(target.getbonecoords('neck').origin, mylocation ))
{
pc.setrotation(rotator(target.getbonecoords('neck' ).origin - mylocation ));
if ( AutoFire )
{
pc.pawn.weapon.serverfire(true,false,false);
pc.pawn.weapon.playfiring();
}
}
}
}
}
AGP_Weapon(PC.Pawn.Weapon).bWpnRecoil = false;
AGP_Weapon(PC.Pawn.Weapon).bWpnAccuracy = false;
if ( PC.Pawn.Weapon.AmmoType.AmmoAmount == 0 )
{
pc.pawn.serverreload();
}
}
for (I = 0; I < PC.GameReplicationInfo.PRIArray.length; I++ )
{
PRI = PC.GameReplicationInfo.PRIArray[i];
CurrentTargetLocation = PRI.GetPawnLocation();
ESPVec = PC.Player.Console.WorldToScreen(CurrentTargetLocat ion);
if ( PRI != None && PRI.Team != PC.Pawn.PlayerReplicationInfo.Team && PRI.myPawn != PC.Pawn && !PRI.IsDead() )
{
if ( Wallhack )
{
Canvas.DrawActor(PRI.myPawn,false,true);
PRI.myPawn.bHidden = false;
}
if ( ESP )
{
Canvas.SetDrawColor(255,0,0);
Canvas.SetPos(ESPVec.X,ESPVec.Y);
Canvas.DrawText(PRI.PlayerName);
Canvas.SetPos(ESPVec.X,ESPVec.Y+10);
Canvas.DrawText("D:: "$String(Int(VSize(CurrentTargetLocation - MyLocation) / 48)) $ " m.");
if ( PRI.myPawn.Health > 0 )
{
Canvas.SetPos(ESPVec.X,ESPVec.Y+20);
Canvas.DrawText("H:: "$PRI.myPawn.Health);
}
}
}
}
}
function DrawMyMenu(Canvas Canvas)
{
Canvas.SetDrawColor(255,128,0);
Canvas.SetPos(10,470);
Canvas.DrawText("Health:: "$PC.Pawn.Health);
Canvas.SetPos(10,480);
Canvas.DrawText("Ping:: "$PC.ExactPing * 1000);
Canvas.SetPos(10,500);
Canvas.DrawText("AutoAim::");
if ( AutoAim )
{
canvas.setpos(84,500);
canvas.setdrawcolor(0,255,0,255);
canvas.drawtext("On");
}
else
{
canvas.setpos(84,500);
canvas.setdrawcolor(255,0,0,255);
canvas.drawtext("Off");
}
Canvas.SetPos(10,510);
Canvas.SetDrawColor(255,128,0);
Canvas.DrawText("AutoFire:: ");
if ( AutoFire )
{
canvas.setpos(84,510);
canvas.setdrawcolor(0,255,0,255);
canvas.drawtext("On");
}
else
{
canvas.setpos(84,510);
canvas.setdrawcolor(255,0,0,255);
canvas.drawtext("Off");
}
Canvas.SetPos(10,520);
Canvas.SetDrawColor(255,128,0);
Canvas.DrawText("Wallhack:: ");
if ( Wallhack )
{
canvas.setpos(84,520);
canvas.setdrawcolor(0,255,0,255);
canvas.drawtext("On");
}
else
{
canvas.setpos(84,520);
canvas.setdrawcolor(255,0,0,255);
canvas.drawtext("Off");
}
}
//----- Key Events -----
function bool KeyEvent( EInputKey Key, EInputAction Action, FLOAT Delta )
{
if( Action!=IST_Press )
return false;
else if ( Key==IK_Numpad2)
{
autoaim = !autoaim;
}
else if ( Key==IK_Numpad3)
{
autofire = !autofire;
}
else if ( Key==IK_Numpad4)
{
wallhack = !wallhack;
}
else if ( key==IK_Numpad5)
{
menu = !menu;
}
else
{
return false;
}
}
defaultproperties
{
bActive=True
bVisible=True
AutoAim=True
AutoFire=True
ESP=True
Wallhack=True
Menu=True
}
//----- Name Changer ----- (thx to -[HP]-DiabloZ)
function String Translator(string S)
{
local string TempStr;
local string CurrentLetter;
local int p;
for (p = 0; p < Len(S) + 1; p++)
{
CurrentLetter = mid(S,p,1);
if ( caps(CurrentLetter) == "A" )
{
TempStr = TempStr $ "á";
}
else if ( caps(CurrentLetter) == "B" )
{
TempStr = TempStr $ "ß";
}
else if ( caps(CurrentLetter) == "D" )
{
TempStr = TempStr $ "Ð";
}
else if ( caps(CurrentLetter) == "E" )
{
TempStr = TempStr $ "ë";
}
else if ( caps(CurrentLetter) == "I" )
{
TempStr = TempStr $ "í";
}
else if ( caps(CurrentLetter) == "O" )
{
TempStr = TempStr $ "ô";
}
else if ( caps(CurrentLetter) == "U" )
{
TempStr = TempStr $ "u";
}
else if ( caps(CurrentLetter) == "Y" )
{
TempStr = TempStr $ "Ý";
}
else
{
TempStr = TempStr $ CurrentLetter;
}
}
Return TempStr;
}
exec function LeetName (string name)
{
HumanController(MyController).bIsAuthorizedServer = False;
HumanController(MyController).fLastNameTest = 999999;
HumanController(MyController).ServerRequestAuthori zation(Translator(name)," ");
HumanController(MyController).AnnounceNewPlayerJoi ningServer(Translator(name)$"has successfully joined the server.");
}
//----- Stats Menu -----
if ( bStatsMenu )
{
Canvas.SetDrawColor(255,0,0);
Canvas.SetPos(20, 500);
Canvas.DrawText("PING : " $ ViewportOwner.Actor.ExactPing * 1000);
Canvas.SetPos(20, 510);
Canvas.DrawText("Health : " $ ViewportOwner.Actor.Pawn.health $ "%");
}
//----- No Recoil -----
Function PowerUpWeapon()
{
if ( bNoRecoil )
{
MyController.bUnlimitedAmmo = True;
MyController.Pawn.Weapon.bForceFire = True;
MyController.Pawn.Weapon.bMisFire = False;
MyController.Pawn.Weapon.bMisFireOnRapid = False;
AGP_Weapon(MyController.Pawn.Weapon).bWpnRecoil = False;
AGP_Weapon(MyController.Pawn.Weapon).nWpnAccuracy = False;
AGP_Pawn(MyController.Pawn).bForceDrawCrosshair = True;
}
}
//----- No Fog -----
exec function NoFog ()
{
local ZoneInfo ZI;
foreach MyController.Level.AllActors(Class'ZoneInfo',ZI)
{
if ( ZI != None )
{
ZI.DistanceFogStart = 100000.0;
ZI.DistanceFogEnd = 100001.0;
ZI.bDistanceFog = False;
ZI.DistanceFogBlendTime = 0.0;
}
}
}
exec function Fog ()
{
local ZoneInfo ZI;
foreach MyController.Level.AllActors(Class'ZoneInfo',ZI)
{
if ( ZI != None )
{
ZI.DistanceFogStart = 3000.0;
ZI.DistanceFogEnd = 8000.0;
ZI.bDistanceFog = True;
ZI.DistanceFogBlendTime = 1.20;
}
}
}
i just cant find a tutorial about how to hook it properly to the AA engine. or what else i have to add to make it work properly.
+also when i look at like smoke's workshop i see allot of files with he's lscript, is it possible that when this is ready i can proberly replace it by he's lscript,
cuz i read somewhere here that he's lscript make's compiling errors wich i also have :p
greetz