View Full Version : [USCRIPT] AAO2.5 Training Hack
SmokeZ
2nd November 2005, 00:29
just used the good old devmode to get it working again..
the problem is i cant pass the new mission "MOUT (ShotHouse)"
so it does only the first 3 missions ^^
if you do this one "manual" you can do the rest again whit the code..
im sure someone will get this working.. i dont need a training hack
and are to lazy today to check whats the problem..
i fix this later if nobody else does it
ok here we go..
we need this in HumanController:
function SetAuthMissionPassFlag (bool bAMissionPass){}
and this anywhere in the bot..
exec function DoTraining ()
{
local int x1, x2;
Zcontroller.iRifleRangeRating = 40;
Humancontroller(Zcontroller).SetAuthMissionPassFla g(true);
For (x1 = 0; x1 != 10; x1++)
{
//yes i know that looks crapy but it does the work..
//i only made 2 loops coz i didnt want to test all from 0-10 * 10 ...
For (x2 = 0; x2 != 10; x2++)
{
privateset("engine.levelinfo iTour "$string(x1));
privateset("engine.levelinfo iMission "$string(x2));
Humancontroller(Zcontroller).GotoState('MissionCom pleted');
Humancontroller(Zcontroller).SendMissionComplete(x 1,x2);
}
}
}
Zcontroller is MyController or whatever you defined as PlayerController Link
privateset ?!?.. you can find this function here:
http://www.mpcforum.com/showthread.php?t=97159&highlight=privateset
EDIT:
ok i tested quick what iTour and Imission this training has..
and it is:
iMission 3
iTour 0
.. something else is missing to complete this training :I
squirrel5153
2nd November 2005, 05:54
cool ill definatly mess with this and see if i cant get it to work. btw have you tried SimulateTrainingComplete(); ? not sure if it will work cuz it seems to be mostly clientside:mad:
KizZamP-
2nd November 2005, 09:18
nice job smoke ;)
i'll try fnding it too...
HUMM3R
2nd November 2005, 10:23
Hey Smoke00, you are on the right way to find it, but its simpler. ;)
All you have to do is set you controllers bMissionPassed to true, set your controller levels' iTour to wanter tour, and its iMission to wanted mission.
No need for gotostates, you just have to call sendmissioncomplete.
Three lines of code ;) A good way is to call the mission trainings using tick, so even with bad connection, busy server will work reliable. Since I don't have sources here, Killa will post a working uscript code, for which 100% credits go to him (I made only c++ version of it). Even contains an elegant way to get on the scoreboard (which is removed now, btw :), the method can be applied to even more elegant way of auto training; since Killa find the scoreboard exploit point, credits for that go to him, I just came up with the elegant way.
Killa
2nd November 2005, 10:25
Here you go. :rambo:
Credits:
50% of credits to Humm3r
Smoke00 for trying
Rest for me
Var bool bTrain;
//PostRender
if(bTrain)
{
TrainAll();
}
function TrainAll()
{
if(!MyController.IsInState('ClientMissionComplete' ))
{
switch (iTrainStep)
{
case 0:
HumanController(MyController).iAuthMissionDataFiel ds = 0;
HumanController(MyController).AddAuthExtraMissionD ata("40");
TrainMission(0,0);
break;
case 1:TrainMission(0,1);break;
case 2:TrainMission(0,2);break;
case 3:TrainMission(4,0);break;
case 4:TrainMission(4,1);break;
case 5:TrainMission(5,0);break;
case 6:TrainMission(5,1);break;
case 7:TrainMission(9,0);break;
case 8:TrainMission(9,1);break;
case 9:TrainMission(9,2);break;
case 10:TrainMission(9,3);break;
case 11:TrainMission(10,0);break;
case 12:TrainMission(10,1);;break;
case 13:TrainSHM4A1();break;
case 14:
TrainSHM9();
bTrain = FALSE;
iTrainStep = -1;
break;
}
iTrainStep++;
}
}
function TrainSHM4A1()
{
HumanController(MyController).iAuthMissionDataFiel ds = 0;
HumanController(MyController).AddAuthExtraMissionD ata("M4A1");
HumanController(MyController).AddAuthExtraMissionD ata("20670");
HumanController(MyController).AddAuthExtraMissionD ata("49");
HumanController(MyController).AddAuthExtraMissionD ata("0");
HumanController(MyController).AddAuthExtraMissionD ata("19000");
HumanController(MyController).AddAuthExtraMissionD ata("1000");
HumanController(MyController).AddAuthExtraMissionD ata("49");
HumanController(MyController).AddAuthExtraMissionD ata("1500");
HumanController(MyController).AddAuthExtraMissionD ata("01:26");
HumanController(MyController).AddAuthExtraMissionD ata("1370");
HumanController(MyController).AddAuthExtraMissionD ata("1");
HumanController(MyController).AddAuthExtraMissionD ata("D57C11E85BE63DDF2258B8859D6AC60E");
HumanController(MyController).AddAuthExtraMissionD ata("347A69A554FC1ADC0122B4C772A70FCD");
TrainMission(0,3);
}
function TrainSHM9()
{
HumanController(MyController).iAuthMissionDataFiel ds = 0;
HumanController(MyController).AddAuthExtraMissionD ata("M9");
HumanController(MyController).AddAuthExtraMissionD ata("20959");
HumanController(MyController).AddAuthExtraMissionD ata("49");
HumanController(MyController).AddAuthExtraMissionD ata("0");
HumanController(MyController).AddAuthExtraMissionD ata("17200");
HumanController(MyController).AddAuthExtraMissionD ata("1000");
HumanController(MyController).AddAuthExtraMissionD ata("49");
HumanController(MyController).AddAuthExtraMissionD ata("1500");
HumanController(MyController).AddAuthExtraMissionD ata("01:39");
HumanController(MyController).AddAuthExtraMissionD ata("1259");
HumanController(MyController).AddAuthExtraMissionD ata("1");
HumanController(MyController).AddAuthExtraMissionD ata("D57C11E85BE63DDF2258B8859D6AC60E");
HumanController(MyController).AddAuthExtraMissionD ata("347A69A554FC1ADC0122B4C772A70FCD");
TrainMission(0,3);
}
function TrainMission(int i1, int i2)
{
MyController.Level.iTour = i1;
MyController.Level.iMission = i2;
HumanController(MyController).bMissionPass = true;
HumanController(MyController).SendMissionComplete( i1,i2);
}
exec function Train()
{
bTrain = True;
}
HUMM3R
2nd November 2005, 10:36
HumanController(MyController).AddAuthExtraMissionD ata("M4A1");
HumanController(MyController).AddAuthExtraMissionD ata("20670");
HumanController(MyController).AddAuthExtraMissionD ata("49");
HumanController(MyController).AddAuthExtraMissionD ata("0");
HumanController(MyController).AddAuthExtraMissionD ata("19000");
HumanController(MyController).AddAuthExtraMissionD ata("1000");
HumanController(MyController).AddAuthExtraMissionD ata("49");
HumanController(MyController).AddAuthExtraMissionD ata("1500");
HumanController(MyController).AddAuthExtraMissionD ata("01:26");
HumanController(MyController).AddAuthExtraMissionD ata("1370");
HumanController(MyController).AddAuthExtraMissionD ata("1");
HumanController(MyController).AddAuthExtraMissionD ata("D57C11E85BE63DDF2258B8859D6AC60E");
HumanController(MyController).AddAuthExtraMissionD ata("347A69A554FC1ADC0122B4C772A70FCD");
Explanations for this, in order of adding them :
1. Theweapon
2. Total score
3. Enemies killed
4. Friendlies killed
5. Score for enemy hits
6. Score for friendly hits
7. Shots fired
8. Accuracy score
9. Total tme
10. Time score
11. Go or No Go (1 / 0)
12. MD5 hash of mout.aao
13. MD5 hash of AGP_Scripts.u
KizZamP-
2nd November 2005, 11:31
nice job hummer and killa,nice try though smoke ;)
tamimego
2nd November 2005, 11:38
Sick shit man was woundering what that new function was for. Very nice find. But always, sif uscript you haxers. go native xD.
Long Live HUMM3R (Solute)
Killa
2nd November 2005, 11:46
But always, sif uscript you haxers. go native xD.
It's better for public to post in uscript I think, easier to convert uscript to native than native to uscript (since most who does native are more experienced than those who do uscript).
ps. Humm3r does his things in native :classic:
temp2
2nd November 2005, 12:01
It's better for public to post in uscript I think, easier to convert uscript to native than native to uscript.
It is impossible to convert all native code to uscript. All uscript can however be easily ported to native and all uscript can be decompiled to plunder newly found techniques. Unfortunately however PB CVAR checks, being defined n text files, cannot check variable labels with embedded control characters ... ah well ...
/*
Mission details from Look in America's Army\System\tour.ini
*/
void TrainSoldier(APlayerController* PlayerController)
{
static int iTrainStep = 0;
if ((PlayerController != NULL)
&& (PlayerController->IsA(AHumanController::StaticClass())))
{
AHumanController* HumanController = Cast<AHumanController>(PlayerController);
UFunction* pSendMissionComplete = HumanController->FindFunction(FName(TEXT("SendMissionComplete")),FNAME_Find);
if ((pSendMissionComplete != NULL)
&& (!HumanController->IsInState(FName(TEXT("ClientMissionComplete")))))
{
AHumanController_execSendMissionComplete_Parms Parms;
switch (iTrainStep)
{
case 0:
//0 Basic Training
PlayerController->iRifleRangeRating = 40;
//HumanController->GotoState(FName(TEXT("MissionCompleted")));
Parms.Tour = 0;
Parms.Mission = 0; //Marksmanship
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 1:
Parms.Tour = 0;
Parms.Mission = 1; //Obstacle Course
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 2:
Parms.Tour = 0;
Parms.Mission = 2; //US Weapons
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 3:
Parms.Tour = 0;
Parms.Mission = 3; //MOUT
HumanController->iAuthMissionDataFields = 0;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("M4A1"); //Theweapon
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("20670"); //Total score
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("49"); //Enemies killed
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("0"); //Friendlies killed
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("19000"); //Score for enemy hits
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1000"); //Score for friendly hits
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("49"); //Shots fired
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1500"); //Accuracy score
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("01:26"); //Total tme
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1370"); //Time score
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1"); //Go or No Go (1 / 0)
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("D57C11E85BE63DDF2258B8859D6AC60E"); //MD5 hash of mout.aao
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("347A69A554FC1ADC0122B4C772A70FCD"); //MD5 hash of AGP_Scripts.u
HumanController->iAuthMissionDataFields++;
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 4:
Parms.Tour = 0;
Parms.Mission = 3; //MOUT
HumanController->iAuthMissionDataFields = 0;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("M9"); //Theweapon
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("20959"); //Total score
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("49"); //Enemies killed
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("0"); //Friendlies killed
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("17200"); //Score for enemy hits
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1000"); //Score for friendly hits
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("49"); //Shots fired
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1500"); //Accuracy score
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("01:39"); //Total tme
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1370"); //Time score
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("1"); //Go or No Go (1 / 0)
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("D57C11E85BE63DDF2258B8859D6AC60E"); //MD5 hash of mout.aao
HumanController->iAuthMissionDataFields++;
HumanController->asAuthMissionData[HumanController->iAuthMissionDataFields] = TEXT("347A69A554FC1ADC0122B4C772A70FCD"); //MD5 hash of AGP_Scripts.u
HumanController->iAuthMissionDataFields++;
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
//1 Infantry Training
Parms.Tour = 1;
Parms.Mission = 0; //MOUT McKenna
//2 172nd Sep. Infantry BDE
Parms.Tour = 2;
Parms.Mission = 0; //Pipeline
Parms.Mission = 1; //Bridge Crossing
Parms.Mission = 2; //Mountain Pass
Parms.Mission = 3; //Bridge SE
Parms.Mission = 4; //Mountain Pass SE
Parms.Mission = 5; //Urban Assault
//3 10th Mountain Division
Parms.Tour = 3;
Parms.Mission = 0; //Headquarters Raid
Parms.Mission = 1; //Collapsed Tunnel
Parms.Mission = 2; //Insurgent Camp
Parms.Mission = 3; //River Basin
iTrainStep++;
break;
case 5:
//4 Advanced Marksmanship
Parms.Tour = 4;
Parms.Mission = 0; //M-24
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 6:
Parms.Tour = 4;
Parms.Mission = 1; //M-82
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
Parms.Mission = 2; //Outdoor Movement
Parms.Mission = 3; //Urban Movement
iTrainStep++;
break;
case 7:
//5 Airborne School
Parms.Tour = 5;
Parms.Mission = 0; //250' Tower
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 8:
Parms.Tour = 5;
Parms.Mission = 1; //Live Jump
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
//6 82nd Airborne
Parms.Tour = 6;
Parms.Mission = 0; //FLS Assault
Parms.Mission = 1; //JRTC Farm Raid
//7 Ranger School
Parms.Tour = 7;
Parms.Mission = 0; //Mountain Ambush
Parms.Mission = 1; //Swamp Raid
//8 75th Ranger Regiment
Parms.Tour = 8;
Parms.Mission = 0; //Weapons Cache
Parms.Mission = 1; //Weapons Cache SE
Parms.Mission = 2; //Radio Tower
Parms.Mission = 3; //Woodland Outpost
iTrainStep++;
break;
case 9:
//9 Medic Training
Parms.Tour = 9;
Parms.Mission = 0; //Airway Management
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 10:
Parms.Tour = 9;
Parms.Mission = 1; //Control Bleeding
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 11:
Parms.Tour = 9;
Parms.Mission = 2; //Treat Shock
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 12:
Parms.Tour = 9;
Parms.Mission = 3; //Field Training
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 13:
//10 Special Forces Training
Parms.Tour = 10;
Parms.Mission = 0; //SF AVWID
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
iTrainStep++;
break;
case 14:
Parms.Tour = 10;
Parms.Mission = 1; //SF E and E
HumanController->bMissionPass = TRUE;
HumanController->ProcessEvent(pSendMissionComplete, &Parms, NULL);
//11 Special Forces
Parms.Tour = 11;
Parms.Mission = 0; //SF CSAR
Parms.Mission = 1; //SF Hospital
Parms.Mission = 2; //SF Recon
Parms.Mission = 3; //SF Sandstorm
Parms.Mission = 4; //SF Arctic
Parms.Mission = 5; //SF Oasis
Parms.Mission = 6; //SF Taiga
Parms.Mission = 7; //SF Village
Parms.Mission = 8; //SF Courtyard
Parms.Mission = 9; //SF PCR
Parms.Mission = 10; //SF Extraction
//12 SF Exclusive
Parms.Tour = 12;
Parms.Mission = 0; //Pipeline SF
Parms.Mission = 1; //SF Blizzard
Parms.Mission = 2; //SF Water Treatment
Parms.Mission = 3; //SF Dockside
default:
iTrainStep = 0;
}
}
}
}
itwasfunny
2nd November 2005, 13:38
Nice guys.. it ll help us alot
No1uKnow
2nd November 2005, 15:57
nice temp,thanks ;)
i still dont think you should post the mout training killa ;) but it's yalls code so do what you want :P
i never used it thatmuch once i figured it out,the initial first time wasenough for me, they even tried to ban my account ;)
heh, let em try
anyways, thanks killa && humm3r && smokeZ ( without u making this initial try youwouldnt have inspired killa to post his leeb shit soon as he did )
gil
2nd November 2005, 16:11
Great, i've added it to the MISC tab in the sticky list :)
SmokeZ
2nd November 2005, 17:04
ow lol.. is a bit complexer then i thinked
thx for shareing the code ^^
Edit:
works great thx again :)
[R]>>Killer
2nd November 2005, 17:08
Here you go. :rambo:
Credits:
50% of credits to Humm3r
Smoke00 for trying
Rest for me
lol nice dudes;)
keep them coming
Pvt.Hacks
2nd November 2005, 17:10
Nice done, Humm3r, Killa and Smoke00 for trying but I can't get rid of this compile error:
Error in *****.uc (2596): Unrecognized member 'iTour' in class 'LevelInfo'. Is there something wrong with my LevelInfo.uc in Engine?
ThePainkiller
2nd November 2005, 19:04
Ah yea, got that error to... Please some1 tell what to do with it...
No1uKnow
2nd November 2005, 19:05
var int itour;
and yes your right about the location
ThePainkiller
2nd November 2005, 21:41
Still having errors for AddAuthExtraMissionData, what should i add before it in HumanController??
valenti1232289
2nd November 2005, 22:13
ThePainKiller... Have you ever heard of a program called UTPT that allows u to check what to add where... ?? ;)
RandomDude55
3rd November 2005, 02:20
Ha well I still have the highest score for M9 and I didn't use a training hack :P...
Just an aimbot I designed because I didn't want to take the time and find the faster way :P
No1uKnow
3rd November 2005, 04:34
final function AddAuthExtraMissionData(string sMissionData, bool ReturnValue);
edit: sorry, forgot to add, in your humancontroller class of AGP package
ThePainkiller
3rd November 2005, 10:22
Ah, thanks ;) No sorry, never heard of that... How does it works valenti??
Nerds AgainstPB
3rd November 2005, 10:48
var int itour;
and yes your right about the location
still got problem with this
Error in *****.uc (2596): Unrecognized member 'iTour' in class 'LevelInfo'. Is there something wrong with my LevelInfo.uc in Engine
No1uKnow
3rd November 2005, 11:29
open levelinfo.uc and put var int itour;
save, compile engine folder
compile the bot, viola
valenti1232289
3rd November 2005, 12:14
Ah, thanks;) No sorry, never heard of that... How does it works valenti??
Uhm, utpt can decompile and view types n stuff in a .u file ;) Just search for it and try :P And i really hope ur kidding now ^^
KizZamP-
3rd November 2005, 12:28
go to http://www.acordero.org/projects/utpt/
and download utpt v2.0 beta.
open the program,and the file -> open as,then choose the .u file you want to decompile...
then it'll ask for what game,if it's for the game aao do "army ops".
and then right click on the table you get on the left,and then "collapse" ,adn then begin searching ;)
Kizzamp.
Nerds AgainstPB
3rd November 2005, 12:29
Error in legitbot.uc(730): Unrecognized member 'bMissionPass' in class 'HumanController'
(709): Unrecognized member 'iAuthMissionDataFields' in class 'HumanControlle
KizZamP-
3rd November 2005, 12:32
Error in legitbot.uc(730): Unrecognized member 'bMissionPass' in class 'HumanController'
(709): Unrecognized member 'iAuthMissionDataFields' in class 'HumanControlle
i think you need to add var bool nMissionPass to humancontroller...
dunno about the other one.
SmokeZ
3rd November 2005, 12:40
Unrecognized member 'iTour' in class 'LevelInfo'
you dont even need UTPT to know what to do
meber means variable
and as you can see its i!Tour the i stands for int
and you can see its missing in LevelInfo
so get on LevelInfo.uc ad the variable "var int iTour"
and recompile the shit
unreconiced function "AddAuthExtraMissionData" in bla..
in here you see its a function
now look at the call
AddAuthExtraMissionData("40");
as you can see the first variable is a number
now it can be a byte,int or float
in most cases int is used but you cant be sure whitout knowing the original function
you can try all 3 variables or you get on UTPT and look what it says
EDIT: .. now i done something wrong also lmao the first variable is a string .. coz of the "" ..
now add this in your HumanController.uc
AddAuthExtraMissionData(int whatever)
{}
and you are ready..
NOW..
you have this error:
Error in legitbot.uc(730): Unrecognized member 'bMissionPass' in class 'HumanController'
(709): Unrecognized member 'iAuthMissionDataFields' in class 'HumanControlle
bMissionPass is a bool coz of the b
so add "var bool bMissionPass;"
iAuthMissionDataFields is a int.. why ? coz of the i ;P
so what to do now ?
var int iAuthMissionDataFields;
hope that helps anyone °_°
KizZamP-
3rd November 2005, 12:59
Unrecognized member 'iTour' in class 'LevelInfo'
you dont even need UTPT to know what to do
meber means variable
and as you can see its i!Tour the i stands for int
and you can see its missing in LevelInfo
so get on LevelInfo.uc ad the variable "var int iTour"
and recompile the shit
unreconiced function "AddAuthExtraMissionData" in bla..
in here you see its a function
now look at the call
AddAuthExtraMissionData("40");
as you can see the first variable is a number
now it can be a byte,int or float
in most cases int is used but you cant be sure whitout knowing the original function
you can try all 3 variables or you get on UTPT and look what it says
now add this in your HumanController.uc
AddAuthExtraMissionData(int whatever)
{}
and you are ready..
NOW..
you have this error:
bMissionPass is a bool coz of the b
so add "var bool bMissionPass;"
iAuthMissionDataFields is a int.. why ? coz of the i ;P
so what to do now ?
var int iAuthMissionDataFields;
hope that helps anyone °_°
lol i thought it was a function,i think i'm becoming blind,didn't see the smoky "i" :p
Nerds AgainstPB
3rd November 2005, 13:37
Error in mybot.uc (710): Call to 'AddAuthExtraMissionData': missing or bad parameter 2
ThePainkiller
3rd November 2005, 17:57
Argh, omg, some1 please give a full explication from the first sentence untill the last so you can't go wrong...
KizZamP-
3rd November 2005, 18:27
Error in mybot.uc (710): Call to 'AddAuthExtraMissionData': missing or bad parameter 2
huh?that is just impossible lol,in the first post it says (40) (=an int)
it doesn't say anything after the 40,so there shouldn't be any 2nd parameter.
SmokeZ
3rd November 2005, 18:27
you done something wrong whit your
AddAuthExtraMissionData();
in the UE2Runtime files ;P
function AddAuthExtraMissionData (string sMissionData)
{}
the 40 is in " " that means its a string ;II
Pvt.Hacks
3rd November 2005, 21:41
Ok, it compiles fine but it only complete's the first three missions:
Var Int iTrainStep;
Function TrainAll()
{
If ( ( ! MyController.IsInState ( 'ClientMissionComplete' ) ) )
{
Switch ( iTrainStep )
{
Case 0: HumanController ( MyController ).iAuthMissionDataFields = 0;
HumanController ( MyController ).AddAuthExtraMissionData ( "40" );
TrainMission ( 0, 0 );
Break;
Case 1: TrainMission ( 0, 1 );
Break;
Case 2: TrainMission ( 0, 2 );
Break;
Case 3: TrainMission ( 4, 0 );
Break;
Case 4: TrainMission ( 4, 1 );
Break;
Case 5: TrainMission ( 5, 0 );
Break;
Case 6: TrainMission ( 5, 1 );
Break;
Case 7: TrainMission ( 9, 0 );
Break;
Case 8: TrainMission ( 9, 1 );
Break;
Case 9: TrainMission ( 9, 2 );
Break;
Case 10: TrainMission ( 9, 3 );
Break;
Case 11: TrainMission ( 10, 0 );
Break;
Case 12: TrainMission ( 10, 1 );
Break;
Case 13: TrainSHM4A1();
Break;
Case 14: TrainSHM9();
iTrainStep = -1;
Break;
}
iTrainStep++;
}
}
Function TrainSHM4A1()
{
HumanController ( MyController ).iAuthMissionDataFields = 0;
HumanController ( MyController ).AddAuthExtraMissionData ( "M4A1" );
HumanController ( MyController ).AddAuthExtraMissionData ( "20670" );
HumanController ( MyController ).AddAuthExtraMissionData ( "49" );
HumanController ( MyController ).AddAuthExtraMissionData ( "0" );
HumanController ( MyController ).AddAuthExtraMissionData ( "19000" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1000" );
HumanController ( MyController ).AddAuthExtraMissionData ( "49" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1500" );
HumanController ( MyController ).AddAuthExtraMissionData ( "01:26" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1370" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1" );
HumanController ( MyController ).AddAuthExtraMissionData ( "D57C11E85BE63DDF2258B8859D6AC60E" );
HumanController ( MyController ).AddAuthExtraMissionData ( "347A69A554FC1ADC0122B4C772A70FCD" );
TrainMission ( 0, 3 );
}
Function TrainSHM9()
{
HumanController ( MyController ).iAuthMissionDataFields = 0;
HumanController ( MyController ).AddAuthExtraMissionData ( "M9" );
HumanController ( MyController ).AddAuthExtraMissionData ( "20959" );
HumanController ( MyController ).AddAuthExtraMissionData ( "49" );
HumanController ( MyController ).AddAuthExtraMissionData ( "0" );
HumanController ( MyController ).AddAuthExtraMissionData ( "17200" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1000" );
HumanController ( MyController ).AddAuthExtraMissionData ( "49" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1500" );
HumanController ( MyController ).AddAuthExtraMissionData ( "01:39" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1259" );
HumanController ( MyController ).AddAuthExtraMissionData ( "1" );
HumanController ( MyController ).AddAuthExtraMissionData ( "D57C11E85BE63DDF2258B8859D6AC60E" );
HumanController ( MyController ).AddAuthExtraMissionData ( "347A69A554FC1ADC0122B4C772A70FCD" );
TrainMission ( 0, 3 );
}
Function TrainMission ( Int i1, Int i2 )
{
MyController.Level.iTour = aaunne;
MyController.Level.iMission = abunne;
HumanController ( MyController ).bMissionPass = True;
HumanController ( MyController ).SendMissionComplete ( i1, i2 );
}
Exec Function DoTraining()
{
TrainAll();
}
Does somebody know what's wrong, why it only complete's the first three missions?
HUMM3R
3rd November 2005, 21:45
Wow, I forgot totally to post my version of c++ code. Its probably slower as Temp2's, but its readable as I like.
void inline TrainAll() {
Cast<AHumanController>(Player->Actor)->iRifleRangeRating = 40;
if (!Player->Actor->IsInState(FName(TEXT("ClientMissionComplete")))) {
switch (iTrainStep) {
case 0:TrainMission(0,0);break;
case 1:TrainMission(0,1);break;
case 2:TrainMission(0,2);break;
case 3:TrainSHM4A1();break;
case 4:TrainSHM9();break;
case 5:TrainMission(4,0);break;
case 6:TrainMission(4,1);break;
case 7:TrainMission(5,0);break;
case 8:TrainMission(5,1);break;
case 9:TrainMission(9,0);break;
case 10:TrainMission(9,1);break;
case 11:TrainMission(9,2);break;
case 12:TrainMission(9,3);break;
case 13:TrainMission(10,0);break;
case 14:{
TrainMission(10,1);
bTrain = FALSE;
iTrainStep = -1;
break;
}
}
iTrainStep++;
}
}
void inline TrainSHM4A1() {
ResetAuthExtraMissionData();
AddAuthExtraMissionData(FString(TEXT("M4A1")));
AddAuthExtraMissionData(FString(TEXT("20670")));
AddAuthExtraMissionData(FString(TEXT("47")));
AddAuthExtraMissionData(FString(TEXT("0")));
AddAuthExtraMissionData(FString(TEXT("16800")));
AddAuthExtraMissionData(FString(TEXT("1000")));
AddAuthExtraMissionData(FString(TEXT("47")));
AddAuthExtraMissionData(FString(TEXT("1500")));
AddAuthExtraMissionData(FString(TEXT("01:22")));
AddAuthExtraMissionData(FString(TEXT("1370")));
AddAuthExtraMissionData(FString(TEXT("1")));
AddAuthExtraMissionData(LocalPerform(FString(TEXT("../Maps/mout.aao"))));
AddAuthExtraMissionData(LocalPerform(FString(TEXT("../System/AGP_Script.u"))));
TrainMission(0,3);
}
void inline TrainSHM9() {
ResetAuthExtraMissionData();
AddAuthExtraMissionData(FString(TEXT("M9")));
AddAuthExtraMissionData(FString(TEXT("20670")));
AddAuthExtraMissionData(FString(TEXT("47")));
AddAuthExtraMissionData(FString(TEXT("0")));
AddAuthExtraMissionData(FString(TEXT("16800")));
AddAuthExtraMissionData(FString(TEXT("1000")));
AddAuthExtraMissionData(FString(TEXT("47")));
AddAuthExtraMissionData(FString(TEXT("1500")));
AddAuthExtraMissionData(FString(TEXT("01:22")));
AddAuthExtraMissionData(FString(TEXT("1370")));
AddAuthExtraMissionData(FString(TEXT("1")));
AddAuthExtraMissionData(LocalPerform(FString(TEXT("../Maps/mout.aao"))));
AddAuthExtraMissionData(LocalPerform(FString(TEXT("../System/AGP_Script.u"))));
TrainMission(0,3);
}
void inline TrainMission(INT iTour, INT iMission) {
Player->Actor->Level->iTour = iTour;
Player->Actor->Level->iMission = iMission;
Cast<AHumanController>(Player->Actor)->bMissionPass = TRUE;
SendMissionComplete(iTour,iMission);
}
void inline ResetAuthExtraMissionData() {
UFunction* pFunc = Player->Actor->FindFunction(FName(TEXT("ResetAuthExtraMissionData")),FNAME_Intrinsic);
if (pFunc != NULL)
{
AHumanController_execResetAuthExtraMissionData_Par ms parms;
Player->Actor->ProcessEvent(pFunc, &parms, NULL);
}
}
void inline AddAuthExtraMissionData(FString data) {
UFunction* pFunc = Player->Actor->FindFunction(FName(TEXT("AddAuthExtraMissionData")),FNAME_Intrinsic);
if (pFunc != NULL)
{
AHumanController_execAddAuthExtraMissionData_Parms parms;
parms.sMissionData = data;
Player->Actor->ProcessEvent(pFunc, &parms, NULL);
}
}
FString inline LocalPerform(FString data) {
UFunction* pFunc = Player->Actor->PlayerSecurity->FindFunction(FName(TEXT("LocalPerform")),FNAME_Intrinsic);
if (pFunc != NULL) {
ASecurity_execLocalPerform_Parms parms;
parms.Param1 = data;
parms.Param2 = FString(TEXT(""));
parms.SecType = 2;
Player->Actor->PlayerSecurity->ProcessEvent(pFunc, &parms, NULL);
return parms.Results(0);
}
return FString(TEXT(""));
}
void Tick(FLOAT Delta) {
...
if (bTrain) {
TrainAll();
}
...
}
BOOL bTrain;
INT iTrainStep;
ThePainkiller
4th November 2005, 10:16
Nice release Hummer, thanks!
lotrfanchris
11th November 2005, 06:09
ok, i feel REALLY stupid asking this question, but what do you do with all that code? could you put like a full list, i am a noob coder, tryin to get by, and i just wanna know how to compile that into an executible bot....any help please? hehe:dead:
No1uKnow
11th November 2005, 16:21
thats c++ you'd have to have a base hook and headers for 2.5 to get it to compile a working version, just stick to the uscript version.
-MaJor-PaiN-
13th November 2005, 08:03
Error:'AddAuthExtraMissionData': missing or bad parameter 2
line is:HumanController(MyController).AddAuthExtraMissi onData("M9");
pls help ty
nvm i fixed it
-MaJor-PaiN-
14th November 2005, 20:46
ok i got this compiled but on the training screen i type train and it only finishes the first 3 missions, it stops at shoothouse and wont finish the rest after. what is wrong here? pls help
Rapid
30th November 2005, 12:02
HumanController(MyController).AddAuthExtraMissionD ata("1");
HumanController(MyController).AddAuthExtraMissionD ata("D57C11E85BE63DDF2258B8859D6AC60E");
HumanController(MyController).AddAuthExtraMissionD ata("347A69A554FC1ADC0122B4C772A70FCD");
you said the last 2 where md5 hashes :) hummer i believe. if we could make some u thing or whatever saying to the auth / pb our md5 hashes of all u files in the system are original we could easyily edit them with something like aaoM
HUMM3R
30th November 2005, 12:20
you said the last 2 where md5 hashes :) hummer i believe. if we could make some u thing or whatever saying to the auth / pb our md5 hashes of all u files in the system are original we could easyily edit them with something like aaoM
Well those are not hardcoded as you see, those are calculated like in my native example code, and are native functions.
But if you can hook that function and give back always the good md5 for files without calculating the hash (pre calc from original and only return for a spec file), you would speed the check, and make possible the usage of fake .u's.
EDIT : I would also like to mention the utility that DyslexicCheater posted some RvS thread : a MD5 collision finder. It would make possible to use .u bots again, if you think 2 steps forward ;)
No1uKnow
30th November 2005, 12:24
via hooking the function called from pbcl.dll like some people do for ss manipulation
pbcl controls ss's cvar scan initiation and all that other good stuff
gil
30th November 2005, 17:37
Sorry guys, but it's hard for me to follow all the posts.
But with all the code, is there a working training hack for 2.5?
If yes, can someone release a simple bot with it? so.. we can stick it up.
valenti1232289
6th December 2005, 14:00
I think theres a traininghack in Squirells bot gil ;)
HUMM3R
6th December 2005, 22:35
I think theres a traininghack in Squirells bot gil ;)
Well, well, well, this is my 300th post. And I'm 1 year old here at MPC. Dec 2, just as No1UKnow's birthday. Btw, happy birthday, no1, keep up with your life, you're the man, trust me. It was fun this year, and more to come ;) Well, I would have more than 300 posts if some guys like Hyper-X, Hyper-Z, or Hyper-Y, Y, why? you have deleted so many posts of mine ? ;)
Anyway, this is spam, but this is my 300th post, and I want this to be my 300th post ;)
gil
6th December 2005, 22:35
I think theres a traininghack in Squirells bot gil
Notice the dates..
HUMM3R
6th December 2005, 22:55
Notice the dates..
I know what date is today, I just wanted to emphasize that in more than 1 year I had only 300 posts, because many were deleted, not because not being informative, but because of the choice of some mods. Lots of others having more posts in shorter time, 70% of which spam. Well, something to think about...Why?!?
It doesn't matter. Let the happy be happier, the rich to be richer and the private to be more private.
No1uKnow
6th December 2005, 23:02
thanks humm3r
i am guessing the reason he deleted some of your posts is because you were speaking about stuff the public doesnt have and would only start a bunch of questions that would be offtopic, as well as them flooding your pm box
he was just looking out for you.
HUMM3R
6th December 2005, 23:11
thanks humm3r
i am guessing the reason he deleted some of your posts is because you were speaking about stuff the public doesnt have and would only start a bunch of questions that would be offtopic, as well as them flooding your pm box
he was just looking out for you.
No, it was not. It was just my point of view, nothing related to hacking. Like :
If (bHumm3rGoesOfftopicEvenALittleBit) {
RemoveAllHisUnunderstadableBlaBlahs();
}
gil
6th December 2005, 23:13
I know what date is today, I just wanted to emphasize that in more than 1 year I had only 300 posts, because many were deleted, not because not being informative, but because of the choice of some mods. Lots of others having more posts in shorter time, 70% of which spam. Well, something to think about...Why?!?
It doesn't matter. Let the happy be happier, the rich to be richer and the private to be more private.
LOL HUMM3R, my post was directed at Slashie, not you :)
He answered a month old post of mine!
When I posted, it was before you posted, so I didnt see it.
Gratz on your 300th post! You deserve more heeh
I didnt delete your posts :x
HUMM3R
6th December 2005, 23:22
LOL HUMM3R, my post was directed at Slashie, not you :)
He answered a month old post of mine!
When I posted, it was before you posted, so I didnt see it.
Gratz on your 300th post! You deserve more heeh
I didnt delete your posts :x
Lol, then you should Quote ;) Even if no posts are after the post you want to answer ;)
And always check if the poster didn't edit the original post;) Anyway, I thought you mean the 2 Dec and 6 Dec date difference. Sry ;)
gil
6th December 2005, 23:33
Lol, then you should Quote ;) Even if no posts are after the post you want to answer ;)
And always check if the poster didn't edit the original post;) Anyway, I thought you mean the 2 Dec and 6 Dec date difference. Sry ;)
Yes sir!:D
Added a quote.
My mistake.
Hell we both posted on 22:35 :P
HUMM3R
6th December 2005, 23:48
Yes sir!:D
Added a quote.
My mistake.
Hell we both posted on 22:35 :P
Nah, its just me being aniversary ;) Anyway, MPC rules :)
deathfromabove
8th December 2005, 07:36
I have recently just started playing americas army again after 1 year of not playing and its been forever since i messed with ubot and everything I just used it for sf training basically..Since its impossible for me to pass on my own.Can someone please explain to me how to get the training hack to work if it is working if not how long until a working undectable training hack will come out..I figure since the training isnt online it cant be detected right.
Sevendust
7th January 2006, 13:27
Thanks killa and Smoke.z got it working again
Nerds AgainstPB
1st February 2006, 21:04
ThePainKiller... Have you ever heard of a program called UTPT that allows u to check what to add where... ?? ;)
would you please explain to me how to use utpt to find what the error is and where to add it?
how do i fix this? Unrecognized member 'SetAuthMissionPassFlag' in class 'Humancontroller'
i know i have to add that to humancontroller but i dont know how to add it?
valenti1232289
1st February 2006, 21:59
open utpt, open the file AA/System/AGP.u, find the thing called humancontroller and decompile it... And use unknown as game ;) Then it automatic set itself Then just add it to the hc.uc in yyour ut 2 demo runtime thingy and compile agp again...
No1uKnow
1st February 2006, 22:20
final function SetAuthMissionPassFlag( bool bMissionPass );
Nerds AgainstPB
1st February 2006, 22:45
final function SetAuthMissionPassFlag( bool bMissionPass );
thank you very much it works
Powered by vBulletin™ Version 4.0.2 Copyright © 2010 vBulletin Solutions, Inc. All rights reserved.