Sign in to follow this  
Followers 0

AutoIt Flash Variable Editing.

37 posts in this topic

Posted · Report post

Hi!

I dont know if this is ever dont. Else I found a way to edit the variables in a Flash Game.

$GUI = GUICreate("Age of War [AutoIt Var Editing]", 670, 560, -1, -1)
$oGame = ObjCreate("ShockwaveFlash.ShockwaveFlash.1")
$oGameGUI = GUICtrlCreateObj($oGame, 10, 10, 650, 450)
With $oGame
	.bgcolor = "#000000"
	.Movie = "http://207.218.234.34/ageofwarupdate1MzYx.swf"
	.Loop = True
	.ScaleMode = 2
	.wmode = "Opaque"
EndWith
$Money = GUICtrlCreateInput("Money", 10, 470, 100, 20)
$SetMoney = GUICtrlCreateButton("Set Money", 120, 468, 100)
$TechLevel = GUICtrlCreateInput("Tech Level (1 - 5)", 10, 500, 100, 20)
$SetTechLevel = GUICtrlCreateButton("Set Tech Level", 120, 498, 100)
$XP = GUICtrlCreateInput("XP", 10, 530, 100, 20)
$SetXP = GUICtrlCreateButton("Set XP", 120, 528, 100)

GUISetState()
While 1
	$nMsg = GUIGetMsg()
	Select
	Case $nMsg = -3
		Exit
	Case $nMsg = $SetMoney
		$Read_Money = GUICtrlRead($Money)
		$oGame.SetVariable("cash", $Read_Money)
	Case $nMsg = $SetTechLevel
		$Read_TechLevel = GUICtrlRead($TechLevel)
		$oGame.SetVariable("tech_level", $Read_TechLevel)
	Case $nMsg = $SetXP
		$Read_XP = GUICtrlRead($XP)
		$oGame.SetVariable("xp", $Read_XP)
	EndSelect
WEnd


Lemme know what you think ^^,

AlmarM

Share this post


Link to post
Share on other sites



Posted · Report post

Thats awesome :P

Share this post


Link to post
Share on other sites

Posted · Report post

yes, I agreee :P

I'm wondering why I won the game immediately XD

Share this post


Link to post
Share on other sites

Posted · Report post

yes, I agreee :(

I'm wondering why I won the game immediately XD


Whahah, hmm lemme guess, you used my script :P?

AlmarM

Share this post


Link to post
Share on other sites

Posted · Report post

Nice to see it can be done without NomadMemory.

Share this post


Link to post
Share on other sites

Posted · Report post

Nice to see it can be done without NomadMemory.


Well some time you still have to use memory reading / writing to do this, but inn this example its actual object interference, witch is damn cool!

Share this post


Link to post
Share on other sites

Posted · Report post

Another thing, AlmarM how did you go forth to find the variables ? (Never seen on flash scripts.)

Share this post


Link to post
Share on other sites

Posted · Report post

Ah, good question!
Ive got this program 'So think SWF Decompiler'. If you know how to use it you can find the variables.
Not in every flash game are the variables foundable.

AlmarM

Share this post


Link to post
Share on other sites

Posted · Report post

Thats like...Really awesome... :Stunned:

Share this post


Link to post
Share on other sites

Posted · Report post

Yea i used to make trainers like this though i never posted here good example!

Also if anyone wants a program that can find variables from a flash file PM me.

Share this post


Link to post
Share on other sites

Posted · Report post

Yea i used to make trainers like this though i never posted here good example!

Also if anyone wants a program that can find variables from a flash file PM me.

As I already said, you could use 'Sothink SWF Decompiler' or 'flasm'.

AlmarM

Share this post


Link to post
Share on other sites

Posted · Report post

As I already said, you could use 'Sothink SWF Decompiler' or 'flasm'.

AlmarM

Oh sorry i missed that but i know a program that will list the variables with a treeview from ._root and everything without decompile.

Share this post


Link to post
Share on other sites

Posted · Report post

Oeh, can you PM the name?

AlmarM

Share this post


Link to post
Share on other sites

Posted · Report post

In the back of my mind I knew how to do this, but I never did.

Thanks AlmarM, already reproduced your example with more features.

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

Hey, I have been using your example on many different games now, but I wanted to go further. Is there a list of commands somewhere that I can use?

I already know SetVariable and GetVariable. Why does GetVariable not work?

I was thinking more along the lines of pushing or editing values in an array.

var msgs = new Array();
msgs.push("Hello")

would be the AS code.

Would there be a way to change Hello, or even add new messages?

If you could point me to a list that would be great. If not, thanks anyway, and hopefully I can at least change this example? Edited by darkjohn20

Share this post


Link to post
Share on other sites

Posted · Report post

Neat!

Nice jobs, Can i ask.. how you came on the idea?

Share this post


Link to post
Share on other sites

Posted · Report post

MerkurAlex, would this be the idea used behind that program to list variables?

http://livedocs.adobe.com/flash/9.0/UsingFlash/help.html?content=WSADD4C013-B535-48ff-B902-52FE29FFC672.html

Share this post


Link to post
Share on other sites

Posted · Report post

AlmarM, I have run across a game which I cannot edit variables in. It's Storm the House 2 off of AddictingGames.com.

I know the global variables, but I cannot set them. Is there anything special you must do for globals?

A few examples would be _global.maxammo, _global.craftsmen...

Thanks, John

Share this post


Link to post
Share on other sites

Posted · Report post

@ All
Wow, cool, bringing up the topic again ^^,

@darkjohn20
Yeah, I think it should be something like .SetVariable("_global.maxammo", 999)
Im not sure, I just figured out the .SetVariable.

@jaenster
Eeehmmm... Good question >.<'

Share this post


Link to post
Share on other sites

Posted · Report post

I tried that, but it didn't work.

Share this post


Link to post
Share on other sites

Posted · Report post

Hi, your script doesn't work here. i think its because of $oGame = ObjCreate("ShockwaveFlash.ShockwaveFlash.1")
so what i have ti install to make that work. i have already the flash/shockwave plugins installed but still not working. :)

Please Help.

Do you thing that we can use .swf in autoit like a GUI ?

Thank's

Share this post


Link to post
Share on other sites

Posted (edited) · Report post

@darkjohn20
Did you try it without the _global ?

Hi, your script doesn't work here. i think its because of $oGame = ObjCreate("ShockwaveFlash.ShockwaveFlash.1")
so what i have ti install to make that work. i have already the flash/shockwave plugins installed but still not working. :)

Please Help.

Do you thing that we can use .swf in autoit like a GUI ?

Thank's

It does work, but the game im using updates its link. Lemme find the new one. ;)

Current link: http://www.maxgames.com/play/age-of-war.html
But it doesnt seem to work anymore. :/ Edited by AlmarM

Share this post


Link to post
Share on other sites

Posted · Report post

@darkjohn20
Did you try it without the _global ?


I tried "_global.variable", "variable", and "global.variable".

I was looking online and I think I might have read somewhere that global variables can only be edited by another flash object?

Not quite sure, so don't assume this is right xD.

Share this post


Link to post
Share on other sites

Posted · Report post

Hmm, that could be true. I also have no idea how flash works. Never done it. ;)

Share this post


Link to post
Share on other sites

Posted · Report post

Hi!

It doesn't matter if you put "ShockwaveFlash.ShockwaveFlash.1" or "ShockwaveFlash.ShockwaveFlash"

Save page or find link for swf file in page source, then just replace original line in script with this:

.Movie = @ScriptDir & "\Age of war.swf"

and put the swf file in the same directory where your game is.

That's it!

Playlet

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0