vereinfachen 2

11/07/2010 19:46 maxi39#1
hi,

ich habe hier über und über funktionen

die machn alle dass selbe , sie ersetzen label mit werten.

das problem ist das sie übelst viel prozessorleistung rauben, da sie alle ein sekunden aktviert werden. wie könnte man das vereinfachen?

PHP Code:
Func _cox1()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x1000x6c0x100x70]
    Else
        Exit
    EndIf


    
$label24ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label24$label24ab[1])






EndFunc   ;==>_cox1

Func _cox2
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x40x6c0x100x70]
    Else
        Exit
    EndIf


    
$label25ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label25$label25ab[1])






EndFunc   ;==>_cox2

Func _cox3
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x80x6c0x100x70]
    Else
        Exit
    EndIf


    
$label26ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label26$label26ab[1])






EndFunc   ;==>_cox3

Func _cox4
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x120x6c0x100x70]
    Else
        Exit
    EndIf


    
$label27ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label27$label27ab[1])






EndFunc   ;==>_cox4

Func _cox5
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x160x6c0x100x70]
    Else
        Exit
    EndIf


    
$label28ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label28$label28ab[1])






EndFunc   ;==>_cox5

Func _cox6
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x200x6c0x100x70]
    Else
        Exit
    EndIf


    
$label29ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label29$label29ab[1])






EndFunc   ;==>_cox6

Func _cox7
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x240x6c0x100x70]
    Else
        Exit
    EndIf


    
$label30ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label30$label30ab[1])






EndFunc   ;==>_cox7

Func _cox8
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [000x100x280x6c0x100x70]
    Else
        Exit
    EndIf


    
$label31ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label31$label31ab[1])






EndFunc   ;==>_cox8



;-----------------------------------------------------------------------------------------------------------------
;
coy funktion
;-----------------------------------------------------------------------------------------------------------------




Func _coy1()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x00xc0x78]
    Else
        Exit
    EndIf


    
$label32ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label32$label32ab[1])






EndFunc   ;==>_coy1

Func _coy2
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x40xc0x78]
    Else
        Exit
    EndIf


    
$label33ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label33$label33ab[1])






EndFunc   ;==>_coy2


Func _coy3
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x80xc0x78]
    Else
        Exit
    EndIf


    
$label34ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label34$label34ab[1])






EndFunc   ;==>_coy3


Func _coy4
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x120xc0x78]
    Else
        Exit
    EndIf


    
$label35ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label35$label35ab[1])






EndFunc   ;==>_coy4


Func _coy5
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x160xc0x78]
    Else
        Exit
    EndIf


    
$label36ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label36$label36ab[1])






EndFunc   ;==>_coy5


Func _coy6
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x200xc0x78]
    Else
        Exit
    EndIf


    
$label37ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label37$label37ab[1])






EndFunc   ;==>_coy6


Func _coy7
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x240xc0x78]
    Else
        Exit
    EndIf


    
$label38ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label38$label38ab[1])






EndFunc   ;==>_coy7


Func _coy8
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[6] = [00x00x780x280xc0x78]
    Else
        Exit
    EndIf


    
$label39ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label39$label39ab[1])






EndFunc   ;==>_coy8

;-----------------------------------------------------------------------------------------------------------------
;
coz funktion
;-----------------------------------------------------------------------------------------------------------------

Func _coz1()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x00x6c0x100x74]
    Else
        Exit
    EndIf


    
$label40ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label40$label40ab[1])






EndFunc   ;==>_coz1

Func _coz2
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x40x6c0x100x74]
    Else
        Exit
    EndIf


    
$label41ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label41$label41ab[1])






EndFunc   ;==>_coz2

Func _coz3
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x80x6c0x100x74]
    Else
        Exit
    EndIf


    
$label42ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label42$label42ab[1])






EndFunc   ;==>_coz3

Func _coz4
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x120x6c0x100x74]
    Else
        Exit
    EndIf


    
$label43ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label43$label43ab[1])






EndFunc   ;==>_coz4

Func _coz5
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x160x6c0x100x74]
    Else
        Exit
    EndIf


    
$label44ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label44$label44ab[1])






EndFunc   ;==>_coz5

Func _coz6
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x200x6c0x100x74]
    Else
        Exit
    EndIf


    
$label45ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label45$label45ab[1])






EndFunc   ;==>_coz6

Func _coz7
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x240x6c0x100x74]
    Else
        Exit
    EndIf


    
$label46ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label46$label46ab[1])






EndFunc   ;==>_coz7

Func _coz8
()




    
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        $Handle 
_MemoryOpen($PID)
        
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        
$Address "0x" Hex($Address Dec("174D81"))
        
Dim $Offset[7] = [00x00x100x280x6c0x100x74]
    Else
        Exit
    EndIf


    
$label47ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label47$label47ab[1])






EndFunc   ;==>_coz8;------------------------------------------------------------------------------------------------------------------------- 
€ soweit bin ich gekommen, nur weis ich ne wie ich es mit den labels anstellen soll


PHP Code:
Func _cox1()

        global 
$PID ProcessExists("mc2.exe")
        If 
$PID 0 Then
        
global $Handle _MemoryOpen($PID)
        global 
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        global 
$Address "0x" Hex($Address Dec("174D81"))
EndIf



$b 0x0
$i 
0
do




        
Dim $Offset[7] = [000x10$b0x6c0x100x70]
    


    
$label24ab _MemoryPointerRead($Address$Handle$Offset"float")

    
GUICtrlSetData($Label24$label24ab[1])



$b $b 4

$i 
$i  1
Until $i 
8





EndFunc   
;==>_cox1 
11/07/2010 19:52 MoepMeep#2
Code:
    $PID = ProcessExists("mc2.exe") 
    If $PID > 0 Then 
        $Handle = _MemoryOpen($PID) 
        $Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
Dieser Code ist bei dir immer Exakt gleich.
Erstmal bezweifel ich start, dass sich die Adresse andauernd ändert, einmal auslesen würde reichen.
Und selbst wenn dies der Fall sein sollte, liest du sie einmal aus und beschreibst dann alle Labels und nicht vor jedem Label erneut auslesen ._.

Desweiteren würde es reichen, alle Offsets einmal zu speichern in einem Array.
Code:
$label25ab = _MemoryPointerRead($Address, $Handle, $Offset, "float")
Außerdem hast du für jedes Label eine extra Variable um den Inhalt zu setzen. Wenn du die Werte nicht weiter verwendest, was ich bei der beschissenen Variablen bezeichnung vermute, reicht auch eine.

Über die namen deiner Label verlier ich mal lieber kein wort :x

Ein Teil deiner Offsets ist auch immer gleich, du solltest bis zu diesem Punkt nur einmal auslesen und von dort dann mit dem verändertem Offset weiter.


Aber selbst mit diesen ganzen änderungen wird es immernoch deinen Prozessor in die Knie zwingen, müssen wirklich alle Label jede Sekunde aktualisiert werden? Was steht da so wichtiges drin?
11/07/2010 20:08 maxi39#3
Quote:
Was steht da so wichtiges drin?
koordinaten aller spieler
11/07/2010 20:16 MoepMeep#4
Also handelt es sich entweder um einen DOTA-Klon oder einen ego-shooter :p

Vollziehe die änderungen die ich dir vorgeschlagen habe, vielleicht reicht es schon aus, falls nicht solltest du vielleicht die Aktualisierungsrate auf 2Sekunden setzen.
11/07/2010 20:23 maxi39#5
mal eine adere frage:

wenn ich etwas auf einen wert dazu addieren möchte
declarier ich erst die variable des wertes

PHP Code:
$wert 10 
als nächstes die funktion:

PHP Code:
$wert $wert 10 
das war ein bsp

aba wie ist es wenn man eine variable hat die irgend ein wert beschreibt

PHP Code:
$variable1 10 
aba man möchte nur statt etwas auf den wert der variable addieren,
auf die variable also aus $variable 1 soll $variable2 werden, die nartürlich wieder einen adren wert beschreibt:

so wie ich am anfang gedacht habe:

$ii = 0
$i = 1
do

$variable""&$1&"" = 10


$ii = $ii + 1
until $ii = 10

zu meinen jetzigen fall :




Quote:
Func _cox1()

global $PID = ProcessExists("mc2.exe")
If $PID > 0 Then
global $Handle = _MemoryOpen($PID)
global $Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe "), "mc2.exe")
global $Address = "0x" & Hex($Address + Dec("174D81"))
EndIf

$b = 0x0
$i = 0
do




Dim $Offset[7] = [0, 0, 0x10, $b, 0x6c, 0x10, 0x70]



$label24ab = _MemoryPointerRead($Address, $Handle, $Offset, "float")

GUICtrlSetData($Label24, $labelab24[1])



$b = $b + 4

$i = $i + 1
Until $i = 8





EndFunc ;==>_cox1



ich will das die variable immer neu definiert wird in der funktion
11/07/2010 20:31 ZaZiZu#6
Versuch es mal mit For $bla Zahl to Zahl
wenn nicht, dann mach es so, wie ich es immer tat ;)

$lol= 0
$lolmax=$array[0]
While True
Select
Case $lolmax <> $lol
$lol = $lol + 1
_sendloop()
Case $lolmax = $lol
_ende()
ExitLoop
EndSelect
WEnd
11/07/2010 20:36 MoepMeep#7
Quote:
Originally Posted by maxi39 View Post
mal eine adere frage:

wenn ich etwas auf einen wert dazu addieren möchte
declarier ich erst die variable des wertes

PHP Code:
$wert 10 
als nächstes die funktion:

PHP Code:
$wert $wert 10 
das war ein bsp

aba wie ist es wenn man eine variable hat die irgend ein wert beschreibt

PHP Code:
$variable1 10 
aba man möchte nur statt etwas auf den wert der variable addieren,
auf die variable also aus $variable 1 soll $variable2 werden, die nartürlich wieder einen adren wert beschreibt:

so wie ich am anfang gedacht habe:

$ii = 0
$i = 1
do

$variable""&$1&"" = 10


$ii = $ii + 1
until $ii = 10

zu meinen jetzigen fall :









ich will das die variable immer neu definiert wird in der funktion
Nichtmal annähernd verstanden was du machen willst.
11/07/2010 20:43 maxi39#8
mir ist grad eine erkenntnis gekommen das ich die ganze zeit bullshit laber xD
ich geb euch allen maln ein thx das ihr zeit dafür aufgewendet habt
lösung: ( ich hatte die ganze zeit schon die lösung) , ist aba net vollständig
Quote:
Func _cox1()

global $PID = ProcessExists("mc2.exe")
If $PID > 0 Then
global $Handle = _MemoryOpen($PID)
global $Address = _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe "), "mc2.exe")
global $Address = "0x" & Hex($Address + Dec("174D81"))
EndIf

$b = 0x0
$i = 0
do




Dim $Offset[7] = [0, 0, 0x10, $b, 0x6c, 0x10, 0x70]



$label24ab = _MemoryPointerRead($Address, $Handle, $Offset, "float")

GUICtrlSetData($Label24, $labelab24[1])



$b = $b + 4

$i = $i + 1
Until $i = 8





EndFunc ;==>_cox1
11/07/2010 21:25 maxi39#9
so die komplett lösung, wie ich das meinte:

PHP Code:
Func _cox1()

    Global 
$PID ProcessExists("mc2.exe")
    If 
$PID 0 Then
        
Global $Handle _MemoryOpen($PID)
        Global 
$Address _MemoryModuleGetBaseAddress(ProcessExists("mc2.exe"), "mc2.exe")
        Global 
$Address "0x" Hex($Address Dec("174D81"))
    EndIf

    
$b 0
    $i 
0
    
Do

$i $i 1


        Dim $Offset
[7] = [000x10"0x"""&$b&""0x6c0x100x70]



         
local  $label24ab _MemoryPointerRead($Address$Handle$Offset"float")

        If 
$b 0 Then
            GUICtrlSetData
($Label24$label24ab[1])
        ElseIf 
$b 4 Then
            GUICtrlSetData
($Label25$label24ab[1])
        ElseIf 
$b 8 Then
            GUICtrlSetData
($Label26$label24ab[1])

        ElseIf 
$b 12 then
            GUICtrlSetData
($Label27$label24ab[1])

        ElseIf 
$b 16 then
            GUICtrlSetData
($Label28$label24ab[1])
        ElseIf 
$b 20 Then
            GUICtrlSetData
($Label29$label24ab[1])
        ElseIf 
$b 24 Then
            GUICtrlSetData
($Label30$label24ab[1])
        ElseIf 
$b 28 Then
            GUICtrlSetData
($Label31$label24ab[1])
        EndIf



        
$b $b 4


    Until $i 
8





EndFunc   
;==>_cox1 
verbraucht 10% weniger prozess leistung =)