Originally Posted by
bongy97
Hie oli. i gonna send u a part of my stuff for u to check ,_,
Cool, I'll be on my email now.
- - - Updated - - -
On topic:
Quickly pulled together this loader code for anyone interested - the game SWF is 'packed'/'encrypted' or some shit into "LP_Game_V13.6.html"
but it doesn't seem to matter. Only issue now is the domain policy issues when trying to log in, cba to work that out so you can :]
Ignore the comments, used my tutorial loader code as a base.
Code:
import flash.events.Event;
//Comments by Oliboli8769
Security.allowDomain("*");
//URLs as Strings used for easiness
var sURL1 = "https://aqworldscdn.aq.com/game/";
var sURL2 = "https://cdn.aqworlds.com/game/";
var sFile; //used to store game version string
var versionLoader: URLLoader;
var Game: Object;
var swfContext: LoaderContext;
var swfLoader: Loader;
var swfRequest: URLRequest;
GetVersion(); //starts game load
function GetVersion() {
//checks for most recent game version from ASP file
versionLoader = new URLLoader();
versionLoader.addEventListener(Even*****MPLETE, onVersionComplete); //adds event listener for when the ASP is loaded
versionLoader.load(new URLRequest("https://lafproject.net/gamefiles/buscaclient.php")); //same as https://aqworldscdn.aq.com/game/gameversion.asp
}
function onVersionComplete(param1: Event) {
//ASP file has now been fully loaded
//var version:String = param1.data;
//trace(version);
var vars: URLVariables;
vars = new URLVariables(param1.target.data); //reads variables held on loaded ASP
if (vars.status == "success") //checks the 'status' var on ASP
{
//after confirmation
sFile = vars.sFile; //reads game version linkage and saves as the variable sFile
LoadGame(); //now the version is found, we can load the game
}
}
function LoadGame() {
swfContext = new LoaderContext(false, ApplicationDomain.currentDomain, null);
swfLoader = new Loader();
swfRequest = new URLRequest("https://lafproject.net/gamefiles/" + sFile); //using sFile from before as updated game linkage
swfLoader.contentLoaderInfo.addEventListener(Even*****MPLETE, onGameComplete); //adds event listener for the game load
swfLoader.contentLoaderInfo.addEventListener(flash.events.ProgressEvent.PROGRESS, onGameProgress); //adds event listener for how much the game has loaded
swfLoader.load(swfRequest, swfContext);
stage.quality = StageQuality.LOW; //sets stage quality to low, possibly reducing lag (optional)
}
function onGameComplete(loadEvent: Event) {
stage.addChildAt(loadEvent.currentTarge*****ntent, 0); //adds the loaded game content to the stage
loadEvent.currentTarge*****ntent.y = 0.0;
loadEvent.currentTarge*****ntent.x = 0.0;
Game = Object(loadEvent.currentTarge*****ntent); //stores loaded content onto the Object Game
//Game.params.sURL2 = sURL2;
Game.params.sTitle = "Who's Laffing Now?";
}
function onGameProgress(arg1: flash.events.ProgressEvent): void {
//this can be used for progress bars/loaders before trainers
var percentage: *= arg1.bytesLoaded / arg1.bytesTotal;
trace(percentage * 100); //traces how much the game has loaded as a percentage
return;
}
function SendPacket(packet: String) {
var args: Array = new Array;
var tempArg: String = "";
var var1: String = "";
var done1: Boolean = false;
var var2: String = "";
var done2: Boolean = false;
var done3: Boolean = false;
var done4: Boolean = false;
var i: Number = 1;
while (i < packet.length) {
if (packet.charAt(i) != "%") {
if (done1 && !done2) {
var1 += packet.charAt(i);
} else if (done1 && done2 && !done3) {
var2 += packet.charAt(i);
} else if (done1 && done2 && done3 && done4) {
tempArg += packet.charAt(i);
}
} else {
if (!done1) {
done1 = true;
} else if (done1 && !done2) {
done2 = true;
} else if (done1 && done2 && !done3) {
done3 = true;
} else if (done1 && done2 && done3 && !done4) {
done4 = true;
} else if (done1 && done2 && done3 && done4) {
args.push(tempArg);
tempArg = "";
}
}
i++;
}
var room: String = Game.world.curRoom;
switch (var2) {
case "afk":
room = "1";
break;
case "hi":
room = "1";
break;
case "gar":
room = "1";
break;
case "cmd":
room = "1";
break;
}
trace("Zone Master: " + var1);
trace("Packet Type: " + var2);
trace("Arguements: " + args);
Game.world****otClass.sfc.sendXtMessage(var1, var2, args, "str", room);
}
stop();