Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 21:28

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



vereinfachen

Discussion on vereinfachen within the AutoIt forum part of the Coders Den category.

Reply
 
Old 11/03/2010, 21:36   #16
 
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
Quote:
Originally Posted by KillerDeluxe View Post
Das war nicht ironisch gemeint, bei so vielen $LABEL, $BUTTON und
$INPUT Variablen blickt man nicht mehr durch, du hättest sie lieber
erkannbar benennen sollen (z. B. $L_Player1, $L_Player2).
ich hab die funktion immer in block unterteil:

PHP Code:
If GUICtrlRead($COMBO1) = $PLAYER1 Then _NITROFREEZEON1() 
            If 
GUICtrlRead($COMBO1) = $PLAYER2 Then _NITROFREEZEON2() 
            If 
GUICtrlRead($COMBO1) = $PLAYER3 Then _NITROFREEZEON3() 
            If 
GUICtrlRead($COMBO1) = $PLAYER4 Then _NITROFREEZEON4() 
            If 
GUICtrlRead($COMBO1) = $PLAYER5 Then _NITROFREEZEON5() 
            If 
GUICtrlRead($COMBO1) = $PLAYER6 Then _NITROFREEZEON6() 
            If 
GUICtrlRead($COMBO1) = $PLAYER7 Then _NITROFREEZEON7() 
            If 
GUICtrlRead($COMBO1) = $PLAYER8 Then _NITROFREEZEON8() 
das ist sehr übersichtlich
maxi39 is offline  
Old 11/03/2010, 21:47   #17
 
omer36's Avatar
 
elite*gold: 0
Join Date: Mar 2009
Posts: 2,317
Received Thanks: 1,255
nja von den 161 fehlern, sind 140 undefinierte funktionen...
diese ganzen _NITROFREEZEON2() 3,4,5, dies das....

die anderen fehler kamen, weil wir nicht die includes haben...

btw was wird das eig, wenns fertig ist?
omer36 is offline  
Old 11/03/2010, 21:48   #18
 
ZaZiZu's Avatar
 
elite*gold: 0
Join Date: Jul 2008
Posts: 832
Received Thanks: 136
Quote:
Originally Posted by maxi39 View Post
ich hab die funktion immer in block unterteil:

PHP Code:
If GUICtrlRead($COMBO1) = $PLAYER1 Then _NITROFREEZEON1() 
            If 
GUICtrlRead($COMBO1) = $PLAYER2 Then _NITROFREEZEON2() 
            If 
GUICtrlRead($COMBO1) = $PLAYER3 Then _NITROFREEZEON3() 
            If 
GUICtrlRead($COMBO1) = $PLAYER4 Then _NITROFREEZEON4() 
            If 
GUICtrlRead($COMBO1) = $PLAYER5 Then _NITROFREEZEON5() 
            If 
GUICtrlRead($COMBO1) = $PLAYER6 Then _NITROFREEZEON6() 
            If 
GUICtrlRead($COMBO1) = $PLAYER7 Then _NITROFREEZEON7() 
            If 
GUICtrlRead($COMBO1) = $PLAYER8 Then _NITROFREEZEON8() 
das ist sehr übersichtlich
und die blöcke kann man gut kürzen denke ich müsste so eventuell gehen also nach der GUI (in dieser kann man auch haufenweise was kürzen

PHP Code:
While 1

    
If ProcessExists("mc2.exe") = False Then GUICtrlSetBkColor($GRAPHIC216711680)
    If 
ProcessExists("mc2.exe") = True Then GUICtrlSetBkColor($GRAPHIC265280)

Dim $aPlayer[8] = ["Player1""Player2""Player3""Player4""Player5""Player6""Player7""Player8"]

For 
$i2 0 To 7    
         
If GUICtrlRead($Combo1) = $aPlayer[$i2Then
        GUICtrlSetBkColor
(Eval("Label" & (14 $i2)), 16711680)
    Else
        
GUICtrlSetBkColor(Eval("Label" & (14 $i2)), 65535)
    EndIf
Next



For $i 1 to 8

    $NMSG 
GUIGetMsg()
    Switch 
$NMSG
        
Case $GUI_EVENT_CLOSE
            
Exit
        Case 
$BUTTON1
        
Case $BUTTON2
        
Case $BUTTON3
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _NITROFREEZEON&$i()
        Case 
$BUTTON4
            _NITROFREEZEOFF
()
        Case 
$BUTTON5
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _NITROFOVON&$i()
        Case 
$BUTTON6
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _NITROBAMOUNT&$i()
        Case 
$BUTTON7
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _NITROBOOST&$i()
        Case 
$BUTTON8
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _HORSE&$i()
        Case 
$SLIDER1
            GUICtrlSetData
($LABEL22GUICtrlRead($SLIDER1))
        Case 
$SLIDER2
            GUICtrlSetData
($LABEL23GUICtrlRead($SLIDER2))
        Case 
$BUTTON9
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _BELASTIC&$i()
        Case 
$BUTTON10
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _DOWN&$i()
        Case 
$BUTTON11
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _DRAG&$i()
        Case 
$BUTTON12
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _MASSE&$i()
        Case 
$BUTTON13
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _BI&$i()
        Case 
$BUTTON14
            
If GUICtrlRead($COMBO1) = $PLAYER&$i Then _BD&$i()
        Case 
$BUTTON18
            
If $AKTUALISIERN True Then _COX&$i()
            If 
$AKTUALISIERN True Then _COY&$i()
            If 
$AKTUALISIERN True Then _COZ&$i()
        Case 
$BUTTON17
            
If GUICtrlRead($COMBO1) = $PLAYER1 Then _COXA&$i()
            If 
GUICtrlRead($COMBO1) = $PLAYER1 Then _COYA&$i()
            If 
GUICtrlRead($COMBO1) = $PLAYER1 Then _COZA&$i()
        Case 
$BUTTON15
                
    
EndSwitch

    Global 
$INPUT16A GUICtrlRead($INPUT16)

    
HotKeySet("" $INPUT16A """_HOTKEY1")
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Dim $INPUTXA[8] = [$INPUT3A,$INPUT4A,$INPUT5A,$INPUT6A,$INPUT7A,$INPUT8A,$INPUT9A,$INPUT10A]
Dim $INPUTX[8] = [$INPUT3,$INPUT4,$INPUT5,$INPUT6,$INPUT7,$INPUT8,$INPUT9,$INPUT10]

    Global 
$INPUTXA[$i] = GUICtrlRead($INPUTX[$i])
    
HotKeySet("" $INPUTXA[$i] & """_HOTKEY"&$i+1

WEnd

Next 
mit dem "For" bin ich mir nicht sicher, hab kein einziges mal damit gearbeitet (außer vlt. wenn es zu offensichtlich war)
wenn es falsch ist, dann alles falsch aber im grunde kann man es zu diesem kürzen, wenn nicht noch kürzer (denke wenn man alle hackfunktionen in eine array packt schafft man diese 20 Case in nur 1 packen aber das wäre dann zu allgemein, verändern wäre da nicht so einfach)
ZaZiZu is offline  
Thanks
1 User
Old 11/03/2010, 21:55   #19
 
lolkop's Avatar
 
elite*gold: 280
Join Date: May 2007
Posts: 2,818
Received Thanks: 3,483
also ich würde dir empfehlen erstmal ganz grob mit dem reinigen vom source anzufangen.

beginnend mit dem flackern. das ist ja absolut unerträglich...

das flackern kommt davon, das egal welche farbe das control hat, immer wieder eine farbe gesetzt wird. da man leider die hintergrundfarbe von controls ohne weiteres nicht auslesen kann, würde ich mir hierfür einfach ein array anlegen, das du immer beim setzen einer farbe beschreibst.

so kannst du immer gucken, welche farbe steht an dem control... wenn das control nicht die gewünschte farbe hat, dann änderst du sie.

du hast 9 controls mit farben, also
Code:
Dim $color[9]
jetzt musst du dir ne struktur überlegen, da ein control ($GRAPHIC2) ja gesondert steht, würde ich dem control den index 0 des arrays zuweisen.
den 8 labels dann die indexe von 1-8.

das ganze setzen wir natürlich in einer einfachen forschleife um.
8 controls, also einmal von 1-8 die schleife durchlaufen lassen.

um das ganze noch etwas leichter zu machen, würde ich dir gleich noch empfehlen, das ganze gui auch in schleifen und arrays zu erstellen.

also diesen teil hier:
Quote:
Code:
$LABEL14 = GUICtrlCreateLabel("Player 1", 36, 87, 43, 18)
$LABEL15 = GUICtrlCreateLabel("Player 2", 36, 119, 43, 18)
$LABEL16 = GUICtrlCreateLabel("Player 3", 36, 151, 43, 18)
$LABEL17 = GUICtrlCreateLabel("Player 4", 36, 183, 43, 18)
$LABEL18 = GUICtrlCreateLabel("Player 5", 36, 215, 43, 18)
$LABEL19 = GUICtrlCreateLabel("Player 6", 36, 247, 43, 18)
$LABEL20 = GUICtrlCreateLabel("Player 7", 36, 279, 43, 18)
$LABEL21 = GUICtrlCreateLabel("Player 8", 36, 303, 43, 18)
$GROUP7 = GUICtrlCreateGroup("X", 100, 55, 89, 273, $BS_CENTER)
$LABEL24 = GUICtrlCreateLabel("Label24", 120, 90, 42, 18)
$LABEL25 = GUICtrlCreateLabel("Label25", 120, 122, 42, 18)
$LABEL26 = GUICtrlCreateLabel("Label26", 120, 154, 42, 18)
$LABEL27 = GUICtrlCreateLabel("Label27", 120, 186, 42, 18)
$LABEL28 = GUICtrlCreateLabel("Label28", 120, 218, 42, 18)
$LABEL29 = GUICtrlCreateLabel("Label29", 120, 250, 42, 18)
$LABEL30 = GUICtrlCreateLabel("Label30", 120, 274, 42, 18)
$LABEL31 = GUICtrlCreateLabel("Label31", 120, 306, 42, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GROUP8 = GUICtrlCreateGroup("Y", 220, 55, 89, 273, $BS_CENTER)
$LABEL32 = GUICtrlCreateLabel("Label32", 240, 90, 42, 18)
$LABEL33 = GUICtrlCreateLabel("Label33", 240, 122, 42, 18)
$LABEL34 = GUICtrlCreateLabel("Label34", 240, 154, 42, 18)
$LABEL35 = GUICtrlCreateLabel("Label35", 240, 186, 42, 18)
$LABEL36 = GUICtrlCreateLabel("Label36", 240, 218, 42, 18)
$LABEL37 = GUICtrlCreateLabel("Label37", 240, 250, 42, 18)
$LABEL38 = GUICtrlCreateLabel("Label38", 240, 274, 42, 18)
$LABEL39 = GUICtrlCreateLabel("Label39", 240, 306, 42, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
$GROUP9 = GUICtrlCreateGroup("Z", 340, 55, 89, 273, $BS_CENTER)
$LABEL40 = GUICtrlCreateLabel("Label40", 360, 90, 42, 18)
$LABEL41 = GUICtrlCreateLabel("Label41", 360, 122, 42, 18)
$LABEL42 = GUICtrlCreateLabel("Label42", 360, 154, 42, 18)
$LABEL43 = GUICtrlCreateLabel("Label43", 360, 186, 42, 18)
$LABEL44 = GUICtrlCreateLabel("Label44", 360, 218, 42, 18)
$LABEL45 = GUICtrlCreateLabel("Label45", 360, 250, 42, 18)
$LABEL46 = GUICtrlCreateLabel("Label46", 360, 274, 42, 18)
$LABEL47 = GUICtrlCreateLabel("Label47", 360, 306, 42, 18)
GUICtrlCreateGroup("", -99, -99, 1, 1)
GUICtrlCreateGroup("", -99, -99, 1, 1)
zb ersetzen hierdurch:
Code:
GUICtrlCreateGroup("X", 100, 55, 89, 273, $BS_CENTER)
GUICtrlCreateGroup("Y", 220, 55, 89, 273, $BS_CENTER)
GUICtrlCreateGroup("Z", 340, 55, 89, 273, $BS_CENTER)
Dim $player[8], $x[8], $y[8], $z[8]
For $i=0 To 7
	$player[$i] = GUICtrlCreateLabel("Player "&$i+1, 36, 87+$i*32, 43, 18)
	$x[$i] = GUICtrlCreateLabel("x"&$i+1, 120, 89+$i*32, 42, 18)
	$y[$i] = GUICtrlCreateLabel("y"&$i+1, 240, 89+$i*32, 42, 18)
	$z[$i] = GUICtrlCreateLabel("z"&$i+1, 360, 89+$i*32, 42, 18)
Next
damit sparst du nicht nur platz, sondern kannst das ganze später auch immer super in schleifen abarbeiten.

nun kannst du diesen teil deiner hauptschleife:
Quote:
Code:
    If ProcessExists("mc2.exe") = False Then GUICtrlSetBkColor($GRAPHIC2, 16711680)
    If ProcessExists("mc2.exe") = True Then GUICtrlSetBkColor($GRAPHIC2, 65280)

    If GUICtrlRead($COMBO1) = $PLAYER1 Then GUICtrlSetBkColor($LABEL14, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER2 Then GUICtrlSetBkColor($LABEL15, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER3 Then GUICtrlSetBkColor($LABEL16, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER4 Then GUICtrlSetBkColor($LABEL17, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER5 Then GUICtrlSetBkColor($LABEL18, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER6 Then GUICtrlSetBkColor($LABEL19, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER7 Then GUICtrlSetBkColor($LABEL20, 16711680)
    If GUICtrlRead($COMBO1) = $PLAYER8 Then GUICtrlSetBkColor($LABEL21, 16711680)

    If GUICtrlRead($COMBO1) <> $PLAYER1 Then GUICtrlSetBkColor($LABEL14, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER2 Then GUICtrlSetBkColor($LABEL15, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER3 Then GUICtrlSetBkColor($LABEL16, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER4 Then GUICtrlSetBkColor($LABEL17, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER5 Then GUICtrlSetBkColor($LABEL18, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER6 Then GUICtrlSetBkColor($LABEL19, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER7 Then GUICtrlSetBkColor($LABEL20, 65535)
    If GUICtrlRead($COMBO1) <> $PLAYER8 Then GUICtrlSetBkColor($LABEL21, 65535)
einfach hierdurch ersetzen:
Code:
	If Not ProcessExists("mc2.exe") And $color[0]<>0xFF0000 Then
		GUICtrlSetBkColor($GRAPHIC2, 0xFF0000)
		$color[0] = 0xFF0000
	ElseIf ProcessExists("mc2.exe") And $color[0]<>0xFFFF Then
		GUICtrlSetBkColor($GRAPHIC2, 0xFFFF)
		$color[0] = 0xFFFF
	EndIf

	For $i=1 To 8
		If GUICtrlRead($COMBO1)='Player '&$i And $color[$i]<>0xFF0000 Then
			GUICtrlSetBkColor($player[$i-1], 0xFF0000)
			$color[$i] = 0xFF0000
		ElseIf GUICtrlRead($COMBO1)<>'Player '&$i And  $color[$i]<>0xFFFF Then
			GUICtrlSetBkColor($player[$i-1], 0xFFFF)
			$color[$i] = 0xFFFF
		EndIf
	Next
die definition der color variable solltest du natürlich irgendwo überhalb deiner haupt "while" schleife platzieren =)

somit hast du nicht nur das flackern beseitigt, sondern auch gleich dein gui viel übersichtlicher gestaltet.

das ganze solltest du jetzt mit allen teilen deines guis machen.

dann kannst du jedem control deines guis einfach per schleife die funktion zuweisen =)
lolkop is offline  
Thanks
1 User
Old 11/03/2010, 22:42   #20
 
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
@lolkop
wow danke für antwort, man lernt jeden tag was neues dazu =)
ist ja extrem kurz und übersichtlicher , thx

und alle die sich zeit dafür geopfert haben thx.
maxi39 is offline  
Reply


Similar Threads Similar Threads
[HowTo]Clientmodding vereinfachen mit Paint.NET+Screens
10/26/2010 - Metin2 PServer Guides & Strategies - 8 Replies
Hallo Com. Also. Vor ca 2 Wochen gabs hier nen Thread wie ihr mit Photoshop z.B vereinfacht Waffen modden könnt. Lösung war das aufeinanderkopieren von 2 oder sogar 3 Ebenen. Nun habe ich mich gefragt ob dies nicht auch mit Paint.NET klappt. Nun zeige ich euch wie es mit Paint.NET funktioniert. Ihr braucht: - Paint.NET^^ - Packer/Entpacker (SuFu hilft) - Die .dds-Datei die ihr modden wollt
Kostenlose Dr's vereinfachen
04/09/2010 - Metin2 Guides & Templates - 14 Replies
bei dem trick mit dem Free dr's muss man ya meist urlange formulare ausfuellen.. das geht auch schneller mit einem click ;) Dazu holt man sich AI RoboForm unter folgendem link: RoboForm: Passwort-Manager, Formularausfüller, Passwortgenerator dort kann man sich ads downloaden. Das Programm fuellt JEDES kaestchen aus mit nur einem click, dazu muesst ihr es in den optionen einfach nur einstellen. Z.b wenn man bei ''Wohnort'' gelsenkirchen oder sonst was eingibt, speichert er das und mit...
Ignore funktion vereinfachen
11/18/2009 - Off Topic - 24 Replies
kann man nicht einfach in dem menü die ignore funktion adden? http://s2.imgimg.de/uploads/ignoreeaa59f6eJPG.jpg das was zurzeit alles im ot rumläuft per hand in die ignore list einzutragen will man doch niemanden mehr zumuten oder?



All times are GMT +1. The time now is 21:30.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.