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 erstelllen
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()
flash.Play
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 Edit\find
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()
{
if (bushLife.healthBar._yscale > 0)
{
bushLife.healthBar._yscale = bushLife.healthBar._yscale - difficulty;
}
else if (bushLife.healthBar._yscale <= 0)
{
bushLife.healthBar._yscale = 0;
_root.playerHurt.gotoAndStop(12);
} // end else if
} // 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()
On Error Resume Next
lblHealth.Caption = flash.GetVariable("bushLife.healthBar._yscale")
lblAmmo.Caption = flash.GetVariable("playerAmmo")
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()
On Error Resume Next
flash.SetVariable "playerAmmo", txtAmmo.Text
End Sub
Private Sub cmdSetHealth_Click()
On Error Resume Next
flash.SetVariable "bushLife.healthBar._yscale", txtHealth.Text
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
Private FreezeHealth As Boolean
Private FreezeAmmo As Boolean
Private Health As String
Private Ammo As String
nun müssen die startwerte in der form_load gesetzt werden:
Code:
FreezeHealth = False
FreezeAmmo = False
der timer muss abfragen ob er freezen soll, oder nicht;
Code:
If FreezeHealth Then
flash.SetVariable "bushLife.healthBar._yscale", Health
End If
If FreezeAmmo Then
flash.SetVariable "playerAmmo", Ammo
End If
und die buttons müssen das freezen starten:
Code:
Private Sub cmdFreezeAmmo_Click()
FreezeAmmo = True
Ammo = txtAmmo.Text
End Sub
Private Sub cmdFreezeHealth_Click()
FreezeHealth = True
Health = txtHealth.Text
End Sub
so das wars auch schon, natürlich fehlt noch ein unfreeze, aber das soltet ihr selber hinkriegen.
Kommt mir bekannt vor nee scherz kenne das nur als video _________________
ZiG_ Überflieger
Anmeldedatum: 07.03.2007 Beiträge: 1248
Verfasst am: 05.01.2008, 22:58
Thx. Noch ein nettes Tutorial.
Zitat:
PS:
lol? ich hab mehr CP as ZiG ? xD
Das können wir ändern wenn du willst.^^
Ne. Ist mir wayne wieviel CP ich hab.
Bewerten kann ich dich grad leider nicht. r4z3r macht wohl noch was am CashMod. _________________ Wer nicht auf seine Weise denkt, denkt überhaupt nicht. (Oscar Wilde)
MrBoomBaltec_ Newbie
Anmeldedatum: 09.06.2007 Beiträge: 16
Verfasst am: 06.01.2008, 12:49
Danke, ist ein super Tutorial/Anleitung
Funktioniert bei mir perfect
King of Chaos_ Coder
Anmeldedatum: 26.09.2007 Beiträge: 235
Verfasst am: 06.01.2008, 12:53
sieht nice aus danke hatt mich des öfteren schon intressiert
bis jetzt konnte ich nur mit Tamper data was machen ^^
DFJ_ Poster
Anmeldedatum: 15.10.2007 Beiträge: 156
Verfasst am: 06.01.2008, 12:57
oh cool ich wusste schon wie das geht aber wie man die variablen raus bekommt noch nicht hatte da immer geraten vielen dank bis ein schatz rausch _________________ Spam bot
swordfish123456_ Tutorial Leser
Anmeldedatum: 15.08.2007 Beiträge: 66
Verfasst am: 06.01.2008, 18:03
lol hättest du es nicht geschrieben , dann hätte ich es geschrieben =)
hab letztens auch erst eins gemacht ^^
ahja den score kann man auch noch changen =)
r4z3r_ « Webmaster »
Anmeldedatum: 06.02.2007 Beiträge: 252
Verfasst am: 06.01.2008, 18:42
@ZiG: Hmm normalerweise solltest du es können >.< im ACP ists angestellt...
ich überprüf das nochmal
@Rausch: schönes Tutorial:) _________________
Rausch_ Poster
Anmeldedatum: 03.11.2007 Beiträge: 164
Verfasst am: 06.01.2008, 18:46
aber beim score hab ich irgendwie so meine probleme, wenn ich den verändere , z.B auf 10000 setze und dann töte ich noch einen, das brongt dann noch mal 1000 pkt dann macht er 100001000 also hängt die 1000 einfach hintendrann. weiß jemand warum?
mfg
r4z3r_ « Webmaster »
Anmeldedatum: 06.02.2007 Beiträge: 252
Verfasst am: 06.01.2008, 18:49
Das passiert wenn die zahl als String behandelt wird^^
Ich denke mal du hast diesen Code in etwa verwendet: