dieses tut beschreibt wie man eigene FlashGame-Trainer erstellt. was ist ein flash-game? flash-games sind so kleine minispiele im internet, wie z.B auf miniclip
inhalt: - 1. was wir brauchen - 2. flash auf unsere form bringen - 3. die flash animation bekommen - 4. dekompilieren u. variablen suchen - 5. den trainer erstellen
1. was wir brauchen: -flashgame (ich nehme bush-shoot-out) -sothink web video downloader trial version: firefox,IE - sothink swf decompiler trial version -und natürlich eine idee was ihr verändern wollt (in meinem fall Leben + Muni) 2. flash auf unsere form bringen
irgendwie müssen wir das spiel ja auf unserer form anzeigen, also brauchen wir Shockwave Flash. wir klicken mit rechts auf unsere werkzeugliste, un dwählen komponenten. wir machen einen haken bei Shockwave Flash un ddrücken auf übernehmen.
so jetzt sehen wir in unserer werkzeugliste ein neues werkzeug. das ziehen wir uns jetzt auf unsere form. wir nennen es um in "flash". 3. die flash animation bekommen
wir klicken im eigenschaftenfenster von flash auf benuzerdefiniert(auf "..."). hier bei Film-URL müssen wir die URL des games angeben, so erhalten wir diese:
auf die seite auf der eurer spiel ist gehen. sothink web video downloader anklicken
dann wählen wir logischerweise flash, markieren unser game un ddrücken properties. dann kopieren wir den (gesammten!!!) link nach VB zu Film-URL. dannach downloaden wir das game auch noch, da wir es später dekompilieren wollen.
in vb fügen wir bei form_load ein:
Code:
Private Sub Form_Load()<br />flash.Play<br />End Sub
damit das game auch anfängt.
4. dekompilieren u. variablen suchen
wir starten also den sothick sfw decompiler, wählen im explorer den pfad wo wir das game gespeichert haben, und kicken es an. un drücken wir rechts bei ressources auf das plus vor unsrem game, und dan auf das plus vor Action , und dann auf MainMovie.
nun erscheint in der mitte code. klickt hinein, und geht oben im menü auf Editfind da wir ja die Leben-variable brauchen, geben wir mal health ein. wir finden:
Code:
health = 100;
das sieht ja schon mal gut aus, allerdings können wir nicht noch ganz sicher sein, desshalb wiederhohlen wir die suche und finden nun:
Code:
function BushHealth()<br />{<br /> if (bushLife.healthBar._yscale > 0)<br /> {<br /> bushLife.healthBar._yscale = bushLife.healthBar._yscale - difficulty;<br /> }<br /> else if (bushLife.healthBar._yscale <= 0)<br /> {<br /> bushLife.healthBar._yscale = 0;<br /> _root.playerHurt.gotoAndStop(12);<br /> } // end else if<br />} // End of the function
das sieht natürlich noch besser aus. if (bushLife.healthBar._yscale > 0) aha "bushLife.healthBar._yscale" ist unser leben.merken wir uns. im zweifesfall(wenn es z.B health und player.health gibt) einfach mal ausprobieren.
so jetzt gehen wi rwieder ganz nach oben und suchen nach ammo wir finden:
Code:
ammo = 0;
2 zeilen über health = 100;, also suchen wir auch diesmal weiter wir finden:
Code:
playerAmmo = 30;
aha "playerAmmo" ist unsere muni. merken wir uns auch
5. den trainer erstelllen
auf unserer form orden wir noch 4 buttons an: -cmdSetHealth -cmdSetAmmo -cmdFreezeHealth -cmdFreezeAmmo
2 labels:
-lblHealth -lblAmmo
2 text
-txtHealth -txtAmmo und einen timer: Timer1 beschriftet alles noch schön, und ordnet das etwa so wie hier an:
als erstes wollen wir mal das unsere 2 labels die richtigen werte anzeigen. dazu setzen wir den intervall unseres timers auf 100, un dfügen folgenden code ein:
Code:
Private Sub Timer1_Timer()<br />On Error Resume Next<br />lblHealth.Caption = flash.GetVariable("bushLife.healthBar._yscale")<br />lblAmmo.Caption = flash.GetVariable("playerAmmo")<br />End Sub
On Error Resume Next weil es sonst einen Error gibt wenn flash noch nicht fertig geladen hat. der rest ist selbsterklärend
um die health und ammo beliebig zu ändern nehmen wir diesen code:
Code:
Private Sub cmdSetAmmo_Click()<br />On Error Resume Next<br />flash.SetVariable "playerAmmo", txtAmmo.Text<br />End Sub<br /><br />Private Sub cmdSetHealth_Click()<br />On Error Resume Next<br />flash.SetVariable "bushLife.healthBar._yscale", txtHealth.Text<br />End Sub
sollte eig. auch alles klar sein. das probieren wir mal aus;
so jetzt brauchen wir 4 variablen fürs freezen:
Code:
Option Explicit<br />Private FreezeHealth As Boolean<br />Private FreezeAmmo As Boolean<br />Private Health As String<br />Private Ammo As String
nun müssen die startwerte in der form_load gesetzt werden:
Code:
FreezeHealth = False<br />FreezeAmmo = False
der timer muss abfragen ob er freezen soll, oder nicht;
Code:
If FreezeHealth Then<br />flash.SetVariable "bushLife.healthBar._yscale", Health<br />End If<br />If FreezeAmmo Then<br />flash.SetVariable "playerAmmo", Ammo<br />End If
und die buttons müssen das freezen starten:
Code:
Private Sub cmdFreezeAmmo_Click()<br />FreezeAmmo = True<br />Ammo = txtAmmo.Text<br />End Sub<br /><br />Private Sub cmdFreezeHealth_Click()<br />FreezeHealth = True<br />Health = txtHealth.Text<br />End Sub
so das wars auch schon, natürlich fehlt noch ein unfreeze, aber das soltet ihr selber hinkriegen.