|
You last visited: Today at 21:28
Advertisement
vereinfachen
Discussion on vereinfachen within the AutoIt forum part of the Coders Den category.
11/03/2010, 21:36
|
#16
|
elite*gold: 0
Join Date: Feb 2009
Posts: 542
Received Thanks: 112
|
Quote:
Originally Posted by KillerDeluxe
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
|
|
|
11/03/2010, 21:47
|
#17
|
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?
|
|
|
11/03/2010, 21:48
|
#18
|
elite*gold: 0
Join Date: Jul 2008
Posts: 832
Received Thanks: 136
|
Quote:
Originally Posted by maxi39
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($GRAPHIC2, 16711680)
If ProcessExists("mc2.exe") = True Then GUICtrlSetBkColor($GRAPHIC2, 65280)
Dim $aPlayer[8] = ["Player1", "Player2", "Player3", "Player4", "Player5", "Player6", "Player7", "Player8"]
For $i2 = 0 To 7
If GUICtrlRead($Combo1) = $aPlayer[$i2] Then
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($LABEL22, GUICtrlRead($SLIDER1))
Case $SLIDER2
GUICtrlSetData($LABEL23, GUICtrlRead($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)
|
|
|
11/03/2010, 21:55
|
#19
|
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
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 =)
|
|
|
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.
|
|
|
 |
|
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.
|
|