Register for your free account! | Forgot your password?

Go Back   elitepvpers > Popular Games > Metin2 > Metin2 Private Server > Metin2 PServer Guides & Strategies
You last visited: Today at 21:35

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

Advertisement



[RELEASE]Metin2 Pserver Switchbot by fabian1233

Discussion on [RELEASE]Metin2 Pserver Switchbot by fabian1233 within the Metin2 PServer Guides & Strategies forum part of the Metin2 Private Server category.

Reply
 
Old   #1

 
fabian1233's Avatar
 
elite*gold: 273
Join Date: Aug 2010
Posts: 539
Received Thanks: 266
[RELEASE]Metin2 Pserver Switchbot by fabian1233

hi

ich möchte euch heute meinen switchbot vorstellen.

auf die idee bin ich gekommen, als ich mal wieder in mobil unterwegs war und beim switchen alles überswitch habe ( aufgrund des hohen pings durch mobilfunk )

da hab ich mir gedacht - das muss doch auch anders gehn, da ich weder eine 2000er delay noch überswitchen in kauf nehmen wollte.

herraus kam ein switchbot, welcher bei gutem internet mit ca. 4-5 switchvorgängen pro sekunde eine durchaus gute geschwindigkeit erziehlt, jedoch auch bei 2000+ er ping eine gutes ergebnis erziehlt.

zudem verfügt er über eine funktion, welche bonusswitcher kauft, kurz BEVOR sie ausgehen. und das immer im 2er pack so kann er auch auf servern wo es bonusswitcher nur im einzerpack gibt gut verwendet werden.

ihr habt außerdem die möglichkeit einen alternativen bonus einzustellen. dieser wird automatisch aktiviert sobald ihr im dazugehörigen feld einen bonus eintragt

die überswitchrate liegt bei (nach ca. 150 test items) bei unter 1% somit ist sie sehr niedrig.

so jetzt erstmal ein screen

ich hebe zu die GUI ist keine meisterleistung aber dafür ist der script umso besser.
injecieren sollte jeder hinkriegen, ansonsten ist er in diesem forum fehl am platz.

download im anhang.

bei verweisen auf falsche sektion möchte ich vorwegnehmen: ich habe bewusst diese sektion genommen weil ich finde das es besser zu pservern passt und ich mit den Mods in der Hack's sektion bisjetzt nur schlechte erfahrungen gemacht habe

bei bugs etc. bitte eine freundliche privatenachricht schicken...
___
Fabian1233
Attached Files
File Type: zip switchbot.zip (5.9 KB, 741 views)
fabian1233 is offline  
Thanks
12 Users
Old 09/13/2013, 20:18   #2

 
elite*gold: 1
Join Date: Jun 2012
Posts: 2,207
Received Thanks: 488
Danke, werde ihn bei gelegenheit mal ausprobieren.
Um das Bild einzubinden musst du den [IMG]-Tag nutzen
Đurek is offline  
Old 09/13/2013, 20:20   #3
 
elite*gold: 0
Join Date: Jan 2013
Posts: 1,818
Received Thanks: 336
Hast du gut hinbekommen
Danke.
°Ace° is offline  
Old 09/13/2013, 20:20   #4
 
elite*gold: 0
Join Date: Aug 2013
Posts: 11
Received Thanks: 1
Wie fügt man den switchbot ein und wie öffnet man ihn?
Invitible is offline  
Old 09/13/2013, 20:45   #5

 
.Zemer's Avatar
 
elite*gold: 300
The Black Market: 127/0/0
Join Date: Oct 2012
Posts: 3,931
Received Thanks: 818
Quote:
Originally Posted by Invitible View Post
Wie fügt man den switchbot ein und wie öffnet man ihn?
Bot runterladen
- runterladen
beide im Client-Ordner rein (entpackt versteht's sich)
Metin normal starten - Fenster öffnet sich - Datei von Fabi wählen also die Python-Datei. Dann einfach auf Run

zum Bot: werde den mal testen wie der so ist & ob der echt so gut ist ^^
Danke fürs Teilen.

btw. Virustotal:
Gruß
.Zemer is offline  
Old 09/13/2013, 21:51   #6
 
elite*gold: 0
Join Date: Aug 2013
Posts: 11
Received Thanks: 1
das Funktioniert bei Pandora 2 nicht wenn ich dann metin2 Starte wird sofort erkannt im ordner da steht client modificed und die dateien werden gelöscht gibt es da noch eine möglichkeit?
Invitible is offline  
Old 09/13/2013, 22:13   #7
 
elite*gold: 1085
Join Date: Mar 2013
Posts: 227
Received Thanks: 436
Deiner? -nicht-
[iSeven] is offline  
Old 09/13/2013, 22:19   #8
 
elite*gold: 0
Join Date: Sep 2013
Posts: 506
Received Thanks: 177
Sieht gut aus,danke.
.In¢redible´ is offline  
Thanks
1 User
Old 09/13/2013, 22:26   #9

 
fabian1233's Avatar
 
elite*gold: 273
Join Date: Aug 2010
Posts: 539
Received Thanks: 266
Quote:
Originally Posted by Invitible View Post
das Funktioniert bei Pandora 2 nicht wenn ich dann metin2 Starte wird sofort erkannt im ordner da steht client modificed und die dateien werden gelöscht gibt es da noch eine möglichkeit?
den module loader extern injectieren des geht so:

1. python module loader + .py in irgend nen neuen ordner
2. die .exe als min starten
3. zu metin wechseln und f9 drücken
4. select drücken und meine .py auswählen
5. run drücken und freuen
fabian1233 is offline  
Old 09/13/2013, 22:37   #10
 
elite*gold: 0
Join Date: Aug 2013
Posts: 11
Received Thanks: 1
Wenn ich Ingame f9 drücke kommt das Detect_Game_Hack C/:Users/Computer/Downloads/Neuer Ordner/m2PythonLoader.exe



Dann habe ich Hackshield Bypass eingefügt und starte Pandora er sagt mir sofort Client modificed


so verschlüsselt kann doch kein Client sein? Gibt es da eine möglichkeit
Invitible is offline  
Old 09/13/2013, 23:27   #11

 
fabian1233's Avatar
 
elite*gold: 273
Join Date: Aug 2010
Posts: 539
Received Thanks: 266
pandora ist sau gut verschlüsselt.
ich hatte sowas mal auf hardcore reloaded habs gelöst indem ich nen anderen pserver client angepasst hab ( serverinfo.py, pong ) und damit connected hab.
aber wie dus bei pandora machen kannst ist ne gute frage
fabian1233 is offline  
Old 09/14/2013, 01:25   #12
 
elite*gold: 200
Join Date: Apr 2012
Posts: 577
Received Thanks: 290
Quote:
Originally Posted by 'SeveN' View Post
Deiner? -nicht-
Natürlich ist das seiner xD ich war gestern die ganze Zeit dabei als er ihn geschrieben hat, nur weil du sowas nicht kannst, heißt das noch lange nicht, das er geklaut sein muss.

MFG
MartPwnS
MartPwnS is offline  
Old 09/14/2013, 01:32   #13


 
elite*gold: 0
Join Date: Feb 2010
Posts: 7,221
Received Thanks: 6,758
Beim Source wurde definitiv bei RealFreak abgeschaut, keine Frage - Aber was soll's, keine Lust da jetzt drüber aufzuregen.
#SoNiice is offline  
Thanks
1 User
Old 09/14/2013, 01:46   #14
 
elite*gold: 300
Join Date: Sep 2011
Posts: 151
Received Thanks: 3,190
Quote:
Originally Posted by 'SeveN' View Post
Deiner? -nicht-
Bis auf die Bonus Auswahl ist es sein Code.
Erinnert mehr an Pengers Modifikation von meinem alten Switchbot, von dem ich den Code sowieso nicht mehr habe.

@Thread Ersteller:

Dein Beispiel Code:
PHP Code:
            if (Bonus0 == 0) or(int(count0) == int(Bonus0) and int(val0) >= int(bonus_val_1)) or (int(count1) == int(Bonus0) and int(val1) >= int(bonus_val_1)) or (int(count2) == int(Bonus0) and int(val2) >= int(bonus_val_1)) or (int(count3) == int(Bonus0) and int(val3) >= int(bonus_val_1)) or (int(count4) == int(Bonus0) and int(val4) >= int(bonus_val_1)):
                if (
Bonus1 == 0) or(int(count0) == int(Bonus1) and int(val0) >= int(bonus_val_2)) or (int(count1) == int(Bonus1) and int(val1) >= int(bonus_val_2)) or (int(count2) == int(Bonus1) and int(val2) >= int(bonus_val_2)) or (int(count3) == int(Bonus1) and int(val3) >= int(bonus_val_2)) or (int(count4) == int(Bonus1) and int(val4) >= int(bonus_val_2)):
                    if (
Bonus2 == 0) or(int(count0) == int(Bonus2) and int(val0) >= int(bonus_val_3)) or (int(count1) == int(Bonus2) and int(val1) >= int(bonus_val_3)) or (int(count2) == int(Bonus2) and int(val2) >= int(bonus_val_3)) or (int(count3) == int(Bonus2) and int(val3) >= int(bonus_val_3)) or (int(count4) == int(Bonus2) and int(val4) >= int(bonus_val_3)):
                        if (
Bonus3 == 0) or(int(count0) == int(Bonus3) and int(val0) >= int(bonus_val_4)) or (int(count1) == int(Bonus3) and int(val1) >= int(bonus_val_4)) or (int(count2) == int(Bonus3) and int(val2) >= int(bonus_val_4)) or (int(count3) == int(Bonus3) and int(val3) >= int(bonus_val_4)) or (int(count4) == int(Bonus3) and int(val4) >= int(bonus_val_4)):
                            if (
Bonus4 == 0) or(int(count0) == int(Bonus4) and int(val0) >= int(bonus_val_5)) or (int(count1) == int(Bonus4) and int(val1) >= int(bonus_val_5)) or (int(count2) == int(Bonus4) and int(val2) >= int(bonus_val_5)) or (int(count3) == int(Bonus4) and int(val3) >= int(bonus_val_5)) or (int(count4) == int(Bonus4) and int(val4) >= int(bonus_val_5)): 
Schau dir das ganze einmal im Bytecode an:
PHP Code:
180        3039 LOAD_FAST               12 (Bonus0)
           
3042 LOAD_CONST               3 (0)
           
3045 COMPARE_OP               2 (==)
           
3048 POP_JUMP_IF_TRUE      3291
           3051 LOAD_GLOBAL             30 
(int)
           
3054 LOAD_FAST                2 (count0)
           
3057 CALL_FUNCTION            1
           3060 LOAD_GLOBAL             30 
(int)
           
3063 LOAD_FAST               12 (Bonus0)
           
3066 CALL_FUNCTION            1
           3069 COMPARE_OP               2 
(==)
           
3072 POP_JUMP_IF_FALSE     3099
           3075 LOAD_GLOBAL             30 
(int)
           
3078 LOAD_FAST                3 (val0)
           
3081 CALL_FUNCTION            1
           3084 LOAD_GLOBAL             30 
(int)
           
3087 LOAD_FAST               17 (bonus_val_1)
           
3090 CALL_FUNCTION            1
           3093 COMPARE_OP               5 
(>=)
           
3096 POP_JUMP_IF_TRUE      3291
        
>> 3099 LOAD_GLOBAL             30 (int)
           
3102 LOAD_FAST                4 (count1)
           
3105 CALL_FUNCTION            1
           3108 LOAD_GLOBAL             30 
(int)
           
3111 LOAD_FAST               12 (Bonus0)
           
3114 CALL_FUNCTION            1
           3117 COMPARE_OP               2 
(==)
           
3120 POP_JUMP_IF_FALSE     3147
           3123 LOAD_GLOBAL             30 
(int)
           
3126 LOAD_FAST                5 (val1)
           
3129 CALL_FUNCTION            1
           3132 LOAD_GLOBAL             30 
(int)
           
3135 LOAD_FAST               17 (bonus_val_1)
           
3138 CALL_FUNCTION            1
           3141 COMPARE_OP               5 
(>=)
           
3144 POP_JUMP_IF_TRUE      3291
        
>> 3147 LOAD_GLOBAL             30 (int)
           
3150 LOAD_FAST                6 (count2)
           
3153 CALL_FUNCTION            1
           3156 LOAD_GLOBAL             30 
(int)
           
3159 LOAD_FAST               12 (Bonus0)
           
3162 CALL_FUNCTION            1
           3165 COMPARE_OP               2 
(==)
           
3168 POP_JUMP_IF_FALSE     3195
           3171 LOAD_GLOBAL             30 
(int)
           
3174 LOAD_FAST                7 (val2)
           
3177 CALL_FUNCTION            1
           3180 LOAD_GLOBAL             30 
(int)
           
3183 LOAD_FAST               17 (bonus_val_1)
           
3186 CALL_FUNCTION            1
           3189 COMPARE_OP               5 
(>=)
           
3192 POP_JUMP_IF_TRUE      3291
        
>> 3195 LOAD_GLOBAL             30 (int)
           
3198 LOAD_FAST                8 (count3)
           
3201 CALL_FUNCTION            1
           3204 LOAD_GLOBAL             30 
(int)
           
3207 LOAD_FAST               12 (Bonus0)
           
3210 CALL_FUNCTION            1
           3213 COMPARE_OP               2 
(==)
           
3216 POP_JUMP_IF_FALSE     3243
           3219 LOAD_GLOBAL             30 
(int)
           
3222 LOAD_FAST                9 (val3)
           
3225 CALL_FUNCTION            1
           3228 LOAD_GLOBAL             30 
(int)
           
3231 LOAD_FAST               17 (bonus_val_1)
           
3234 CALL_FUNCTION            1
           3237 COMPARE_OP               5 
(>=)
           
3240 POP_JUMP_IF_TRUE      3291
        
>> 3243 LOAD_GLOBAL             30 (int)
           
3246 LOAD_FAST               10 (count4)
           
3249 CALL_FUNCTION            1
           3252 LOAD_GLOBAL             30 
(int)
           
3255 LOAD_FAST               12 (Bonus0)
           
3258 CALL_FUNCTION            1
           3261 COMPARE_OP               2 
(==)
           
3264 POP_JUMP_IF_FALSE     4347
           3267 LOAD_GLOBAL             30 
(int)
           
3270 LOAD_FAST               11 (val4)
           
3273 CALL_FUNCTION            1
           3276 LOAD_GLOBAL             30 
(int)
           
3279 LOAD_FAST               17 (bonus_val_1)
           
3282 CALL_FUNCTION            1
           3285 COMPARE_OP               5 
(>=)
           
3288 POP_JUMP_IF_FALSE     4347

181     
>> 3291 LOAD_FAST               13 (Bonus1)
           
3294 LOAD_CONST               3 (0)
           
3297 COMPARE_OP               2 (==)
           
3300 POP_JUMP_IF_TRUE      3543
           3303 LOAD_GLOBAL             30 
(int)
           
3306 LOAD_FAST                2 (count0)
           
3309 CALL_FUNCTION            1
           3312 LOAD_GLOBAL             30 
(int)
           
3315 LOAD_FAST               13 (Bonus1)
           
3318 CALL_FUNCTION            1
           3321 COMPARE_OP               2 
(==)
           
3324 POP_JUMP_IF_FALSE     3351
           3327 LOAD_GLOBAL             30 
(int)
           
3330 LOAD_FAST                3 (val0)
           
3333 CALL_FUNCTION            1
           3336 LOAD_GLOBAL             30 
(int)
           
3339 LOAD_FAST               18 (bonus_val_2)
           
3342 CALL_FUNCTION            1
           3345 COMPARE_OP               5 
(>=)
           
3348 POP_JUMP_IF_TRUE      3543
        
>> 3351 LOAD_GLOBAL             30 (int)
           
3354 LOAD_FAST                4 (count1)
           
3357 CALL_FUNCTION            1
           3360 LOAD_GLOBAL             30 
(int)
           
3363 LOAD_FAST               13 (Bonus1)
           
3366 CALL_FUNCTION            1
           3369 COMPARE_OP               2 
(==)
           
3372 POP_JUMP_IF_FALSE     3399
           3375 LOAD_GLOBAL             30 
(int)
           
3378 LOAD_FAST                5 (val1)
           
3381 CALL_FUNCTION            1
           3384 LOAD_GLOBAL             30 
(int)
           
3387 LOAD_FAST               18 (bonus_val_2)
           
3390 CALL_FUNCTION            1
           3393 COMPARE_OP               5 
(>=)
           
3396 POP_JUMP_IF_TRUE      3543
        
>> 3399 LOAD_GLOBAL             30 (int)
           
3402 LOAD_FAST                6 (count2)
           
3405 CALL_FUNCTION            1
           3408 LOAD_GLOBAL             30 
(int)
           
3411 LOAD_FAST               13 (Bonus1)
           
3414 CALL_FUNCTION            1
           3417 COMPARE_OP               2 
(==)
           
3420 POP_JUMP_IF_FALSE     3447
           3423 LOAD_GLOBAL             30 
(int)
           
3426 LOAD_FAST                7 (val2)
           
3429 CALL_FUNCTION            1
           3432 LOAD_GLOBAL             30 
(int)
           
3435 LOAD_FAST               18 (bonus_val_2)
           
3438 CALL_FUNCTION            1
           3441 COMPARE_OP               5 
(>=)
           
3444 POP_JUMP_IF_TRUE      3543
        
>> 3447 LOAD_GLOBAL             30 (int)
           
3450 LOAD_FAST                8 (count3)
           
3453 CALL_FUNCTION            1
           3456 LOAD_GLOBAL             30 
(int)
           
3459 LOAD_FAST               13 (Bonus1)
           
3462 CALL_FUNCTION            1
           3465 COMPARE_OP               2 
(==)
           
3468 POP_JUMP_IF_FALSE     3495
           3471 LOAD_GLOBAL             30 
(int)
           
3474 LOAD_FAST                9 (val3)
           
3477 CALL_FUNCTION            1
           3480 LOAD_GLOBAL             30 
(int)
           
3483 LOAD_FAST               18 (bonus_val_2)
           
3486 CALL_FUNCTION            1
           3489 COMPARE_OP               5 
(>=)
           
3492 POP_JUMP_IF_TRUE      3543
        
>> 3495 LOAD_GLOBAL             30 (int)
           
3498 LOAD_FAST               10 (count4)
           
3501 CALL_FUNCTION            1
           3504 LOAD_GLOBAL             30 
(int)
           
3507 LOAD_FAST               13 (Bonus1)
           
3510 CALL_FUNCTION            1
           3513 COMPARE_OP               2 
(==)
           
3516 POP_JUMP_IF_FALSE     4344
           3519 LOAD_GLOBAL             30 
(int)
           
3522 LOAD_FAST               11 (val4)
           
3525 CALL_FUNCTION            1
           3528 LOAD_GLOBAL             30 
(int)
           
3531 LOAD_FAST               18 (bonus_val_2)
           
3534 CALL_FUNCTION            1
           3537 COMPARE_OP               5 
(>=)
           
3540 POP_JUMP_IF_FALSE     4344

182     
>> 3543 LOAD_FAST               14 (Bonus2)
           
3546 LOAD_CONST               3 (0)
           
3549 COMPARE_OP               2 (==)
           
3552 POP_JUMP_IF_TRUE      3795
           3555 LOAD_GLOBAL             30 
(int)
           
3558 LOAD_FAST                2 (count0)
           
3561 CALL_FUNCTION            1
           3564 LOAD_GLOBAL             30 
(int)
           
3567 LOAD_FAST               14 (Bonus2)
           
3570 CALL_FUNCTION            1
           3573 COMPARE_OP               2 
(==)
           
3576 POP_JUMP_IF_FALSE     3603
           3579 LOAD_GLOBAL             30 
(int)
           
3582 LOAD_FAST                3 (val0)
           
3585 CALL_FUNCTION            1
           3588 LOAD_GLOBAL             30 
(int)
           
3591 LOAD_FAST               19 (bonus_val_3)
           
3594 CALL_FUNCTION            1
           3597 COMPARE_OP               5 
(>=)
           
3600 POP_JUMP_IF_TRUE      3795
        
>> 3603 LOAD_GLOBAL             30 (int)
           
3606 LOAD_FAST                4 (count1)
           
3609 CALL_FUNCTION            1
           3612 LOAD_GLOBAL             30 
(int)
           
3615 LOAD_FAST               14 (Bonus2)
           
3618 CALL_FUNCTION            1
           3621 COMPARE_OP               2 
(==)
           
3624 POP_JUMP_IF_FALSE     3651
           3627 LOAD_GLOBAL             30 
(int)
           
3630 LOAD_FAST                5 (val1)
           
3633 CALL_FUNCTION            1
           3636 LOAD_GLOBAL             30 
(int)
           
3639 LOAD_FAST               19 (bonus_val_3)
           
3642 CALL_FUNCTION            1
           3645 COMPARE_OP               5 
(>=)
           
3648 POP_JUMP_IF_TRUE      3795
        
>> 3651 LOAD_GLOBAL             30 (int)
           
3654 LOAD_FAST                6 (count2)
           
3657 CALL_FUNCTION            1
           3660 LOAD_GLOBAL             30 
(int)
           
3663 LOAD_FAST               14 (Bonus2)
           
3666 CALL_FUNCTION            1
           3669 COMPARE_OP               2 
(==)
           
3672 POP_JUMP_IF_FALSE     3699
           3675 LOAD_GLOBAL             30 
(int)
           
3678 LOAD_FAST                7 (val2)
           
3681 CALL_FUNCTION            1
           3684 LOAD_GLOBAL             30 
(int)
           
3687 LOAD_FAST               19 (bonus_val_3)
           
3690 CALL_FUNCTION            1
           3693 COMPARE_OP               5 
(>=)
           
3696 POP_JUMP_IF_TRUE      3795
        
>> 3699 LOAD_GLOBAL             30 (int)
           
3702 LOAD_FAST                8 (count3)
           
3705 CALL_FUNCTION            1
           3708 LOAD_GLOBAL             30 
(int)
           
3711 LOAD_FAST               14 (Bonus2)
           
3714 CALL_FUNCTION            1
           3717 COMPARE_OP               2 
(==)
           
3720 POP_JUMP_IF_FALSE     3747
           3723 LOAD_GLOBAL             30 
(int)
           
3726 LOAD_FAST                9 (val3)
           
3729 CALL_FUNCTION            1
           3732 LOAD_GLOBAL             30 
(int)
           
3735 LOAD_FAST               19 (bonus_val_3)
           
3738 CALL_FUNCTION            1
           3741 COMPARE_OP               5 
(>=)
           
3744 POP_JUMP_IF_TRUE      3795
        
>> 3747 LOAD_GLOBAL             30 (int)
           
3750 LOAD_FAST               10 (count4)
           
3753 CALL_FUNCTION            1
           3756 LOAD_GLOBAL             30 
(int)
           
3759 LOAD_FAST               14 (Bonus2)
           
3762 CALL_FUNCTION            1
           3765 COMPARE_OP               2 
(==)
           
3768 POP_JUMP_IF_FALSE     4341
           3771 LOAD_GLOBAL             30 
(int)
           
3774 LOAD_FAST               11 (val4)
           
3777 CALL_FUNCTION            1
           3780 LOAD_GLOBAL             30 
(int)
           
3783 LOAD_FAST               19 (bonus_val_3)
           
3786 CALL_FUNCTION            1
           3789 COMPARE_OP               5 
(>=)
           
3792 POP_JUMP_IF_FALSE     4341

183     
>> 3795 LOAD_FAST               15 (Bonus3)
           
3798 LOAD_CONST               3 (0)
           
3801 COMPARE_OP               2 (==)
           
3804 POP_JUMP_IF_TRUE      4047
           3807 LOAD_GLOBAL             30 
(int)
           
3810 LOAD_FAST                2 (count0)
           
3813 CALL_FUNCTION            1
           3816 LOAD_GLOBAL             30 
(int)
           
3819 LOAD_FAST               15 (Bonus3)
           
3822 CALL_FUNCTION            1
           3825 COMPARE_OP               2 
(==)
           
3828 POP_JUMP_IF_FALSE     3855
           3831 LOAD_GLOBAL             30 
(int)
           
3834 LOAD_FAST                3 (val0)
           
3837 CALL_FUNCTION            1
           3840 LOAD_GLOBAL             30 
(int)
           
3843 LOAD_FAST               20 (bonus_val_4)
           
3846 CALL_FUNCTION            1
           3849 COMPARE_OP               5 
(>=)
           
3852 POP_JUMP_IF_TRUE      4047
        
>> 3855 LOAD_GLOBAL             30 (int)
           
3858 LOAD_FAST                4 (count1)
           
3861 CALL_FUNCTION            1
           3864 LOAD_GLOBAL             30 
(int)
           
3867 LOAD_FAST               15 (Bonus3)
           
3870 CALL_FUNCTION            1
           3873 COMPARE_OP               2 
(==)
           
3876 POP_JUMP_IF_FALSE     3903
           3879 LOAD_GLOBAL             30 
(int)
           
3882 LOAD_FAST                5 (val1)
           
3885 CALL_FUNCTION            1
           3888 LOAD_GLOBAL             30 
(int)
           
3891 LOAD_FAST               20 (bonus_val_4)
           
3894 CALL_FUNCTION            1
           3897 COMPARE_OP               5 
(>=)
           
3900 POP_JUMP_IF_TRUE      4047
        
>> 3903 LOAD_GLOBAL             30 (int)
           
3906 LOAD_FAST                6 (count2)
           
3909 CALL_FUNCTION            1
           3912 LOAD_GLOBAL             30 
(int)
           
3915 LOAD_FAST               15 (Bonus3)
           
3918 CALL_FUNCTION            1
           3921 COMPARE_OP               2 
(==)
           
3924 POP_JUMP_IF_FALSE     3951
           3927 LOAD_GLOBAL             30 
(int)
           
3930 LOAD_FAST                7 (val2)
           
3933 CALL_FUNCTION            1
           3936 LOAD_GLOBAL             30 
(int)
           
3939 LOAD_FAST               20 (bonus_val_4)
           
3942 CALL_FUNCTION            1
           3945 COMPARE_OP               5 
(>=)
           
3948 POP_JUMP_IF_TRUE      4047
        
>> 3951 LOAD_GLOBAL             30 (int)
           
3954 LOAD_FAST                8 (count3)
           
3957 CALL_FUNCTION            1
           3960 LOAD_GLOBAL             30 
(int)
           
3963 LOAD_FAST               15 (Bonus3)
           
3966 CALL_FUNCTION            1
           3969 COMPARE_OP               2 
(==)
           
3972 POP_JUMP_IF_FALSE     3999
           3975 LOAD_GLOBAL             30 
(int)
           
3978 LOAD_FAST                9 (val3)
           
3981 CALL_FUNCTION            1
           3984 LOAD_GLOBAL             30 
(int)
           
3987 LOAD_FAST               20 (bonus_val_4)
           
3990 CALL_FUNCTION            1
           3993 COMPARE_OP               5 
(>=)
           
3996 POP_JUMP_IF_TRUE      4047
        
>> 3999 LOAD_GLOBAL             30 (int)
           
4002 LOAD_FAST               10 (count4)
           
4005 CALL_FUNCTION            1
           4008 LOAD_GLOBAL             30 
(int)
           
4011 LOAD_FAST               15 (Bonus3)
           
4014 CALL_FUNCTION            1
           4017 COMPARE_OP               2 
(==)
           
4020 POP_JUMP_IF_FALSE     4338
           4023 LOAD_GLOBAL             30 
(int)
           
4026 LOAD_FAST               11 (val4)
           
4029 CALL_FUNCTION            1
           4032 LOAD_GLOBAL             30 
(int)
           
4035 LOAD_FAST               20 (bonus_val_4)
           
4038 CALL_FUNCTION            1
           4041 COMPARE_OP               5 
(>=)
           
4044 POP_JUMP_IF_FALSE     4338

184     
>> 4047 LOAD_FAST               16 (Bonus4)
           
4050 LOAD_CONST               3 (0)
           
4053 COMPARE_OP               2 (==)
           
4056 POP_JUMP_IF_TRUE      4299
           4059 LOAD_GLOBAL             30 
(int)
           
4062 LOAD_FAST                2 (count0)
           
4065 CALL_FUNCTION            1
           4068 LOAD_GLOBAL             30 
(int)
           
4071 LOAD_FAST               16 (Bonus4)
           
4074 CALL_FUNCTION            1
           4077 COMPARE_OP               2 
(==)
           
4080 POP_JUMP_IF_FALSE     4107
           4083 LOAD_GLOBAL             30 
(int)
           
4086 LOAD_FAST                3 (val0)
           
4089 CALL_FUNCTION            1
           4092 LOAD_GLOBAL             30 
(int)
           
4095 LOAD_FAST               21 (bonus_val_5)
           
4098 CALL_FUNCTION            1
           4101 COMPARE_OP               5 
(>=)
           
4104 POP_JUMP_IF_TRUE      4299
        
>> 4107 LOAD_GLOBAL             30 (int)
           
4110 LOAD_FAST                4 (count1)
           
4113 CALL_FUNCTION            1
           4116 LOAD_GLOBAL             30 
(int)
           
4119 LOAD_FAST               16 (Bonus4)
           
4122 CALL_FUNCTION            1
           4125 COMPARE_OP               2 
(==)
           
4128 POP_JUMP_IF_FALSE     4155
           4131 LOAD_GLOBAL             30 
(int)
           
4134 LOAD_FAST                5 (val1)
           
4137 CALL_FUNCTION            1
           4140 LOAD_GLOBAL             30 
(int)
           
4143 LOAD_FAST               21 (bonus_val_5)
           
4146 CALL_FUNCTION            1
           4149 COMPARE_OP               5 
(>=)
           
4152 POP_JUMP_IF_TRUE      4299
        
>> 4155 LOAD_GLOBAL             30 (int)
           
4158 LOAD_FAST                6 (count2)
           
4161 CALL_FUNCTION            1
           4164 LOAD_GLOBAL             30 
(int)
           
4167 LOAD_FAST               16 (Bonus4)
           
4170 CALL_FUNCTION            1
           4173 COMPARE_OP               2 
(==)
           
4176 POP_JUMP_IF_FALSE     4203
           4179 LOAD_GLOBAL             30 
(int)
           
4182 LOAD_FAST                7 (val2)
           
4185 CALL_FUNCTION            1
           4188 LOAD_GLOBAL             30 
(int)
           
4191 LOAD_FAST               21 (bonus_val_5)
           
4194 CALL_FUNCTION            1
           4197 COMPARE_OP               5 
(>=)
           
4200 POP_JUMP_IF_TRUE      4299
        
>> 4203 LOAD_GLOBAL             30 (int)
           
4206 LOAD_FAST                8 (count3)
           
4209 CALL_FUNCTION            1
           4212 LOAD_GLOBAL             30 
(int)
           
4215 LOAD_FAST               16 (Bonus4)
           
4218 CALL_FUNCTION            1
           4221 COMPARE_OP               2 
(==)
           
4224 POP_JUMP_IF_FALSE     4251
           4227 LOAD_GLOBAL             30 
(int)
           
4230 LOAD_FAST                9 (val3)
           
4233 CALL_FUNCTION            1
           4236 LOAD_GLOBAL             30 
(int)
           
4239 LOAD_FAST               21 (bonus_val_5)
           
4242 CALL_FUNCTION            1
           4245 COMPARE_OP               5 
(>=)
           
4248 POP_JUMP_IF_TRUE      4299
        
>> 4251 LOAD_GLOBAL             30 (int)
           
4254 LOAD_FAST               10 (count4)
           
4257 CALL_FUNCTION            1
           4260 LOAD_GLOBAL             30 
(int)
           
4263 LOAD_FAST               16 (Bonus4)
           
4266 CALL_FUNCTION            1
           4269 COMPARE_OP               2 
(==)
           
4272 POP_JUMP_IF_FALSE     4335
           4275 LOAD_GLOBAL             30 
(int)
           
4278 LOAD_FAST               11 (val4)
           
4281 CALL_FUNCTION            1
           4284 LOAD_GLOBAL             30 
(int)
           
4287 LOAD_FAST               21 (bonus_val_5)
           
4290 CALL_FUNCTION            1
           4293 COMPARE_OP               5 
(>=)
           
4296 POP_JUMP_IF_FALSE     4335

185     
>> 4299 LOAD_GLOBAL             36 (chat)
           
4302 LOAD_ATTR               37 (AppendChat)
           
4305 LOAD_GLOBAL             36 (chat)
           
4308 LOAD_ATTR               38 (CHAT_TYPE_INFO)
           
4311 LOAD_CONST              10 ('|cFF00FF00|H|h Die Bonis wurden Erfolgreich auf alternativ geswitcht')
           
4314 CALL_FUNCTION            2
           4317 POP_TOP             

186        4318 LOAD_FAST                0 
(self)
           
4321 LOAD_ATTR               39 (StartSwitch)
           
4324 CALL_FUNCTION            0
           4327 POP_TOP             

187        4328 LOAD_CONST               0 
(None)
           
4331 RETURN_VALUE        
           4332 JUMP_ABSOLUTE         4338
        
>> 4335 JUMP_ABSOLUTE         4341
        
>> 4338 JUMP_ABSOLUTE         4344
        
>> 4341 JUMP_ABSOLUTE         4347
        
>> 4344 JUMP_FORWARD             0 (to 4347
Zwar schlechter Code, aber einfach ein Vergleich zu meinem Switchbot()
Code:
PHP Code:
    for i in xrange(len(self.SearchBoni)):
        try:
            
Index Boni.index(self.SearchBoni[i][0])
            if 
Values[Index] < self.SearchBoniValues[i][0]:
                    
Boni.index("-1")
        
except:
            
Index Boni.index(self.SearchBoni[i][1])
            if 
Values[Index] < self.SearchBoniValues[i][1]:
                
Boni.index("-1")   
                
self.State "Stop" 
Bytecode:
PHP Code:
  2           0 SETUP_LOOP             190 (to 193)
              
3 LOAD_GLOBAL              0 (xrange)
              
6 LOAD_GLOBAL              1 (len)
              
9 LOAD_FAST                0 (self)
             
12 LOAD_ATTR                2 (SearchBoni)
             
15 CALL_FUNCTION            1
             18 CALL_FUNCTION            1
             21 GET_ITER            
        
>>   22 FOR_ITER               167 (to 192)
             
25 STORE_FAST               1 (i)

  
3          28 SETUP_EXCEPT            73 (to 104)

  
4          31 LOAD_GLOBAL              3 (Boni)
             
34 LOAD_ATTR                4 (index)
             
37 LOAD_FAST                0 (self)
             
40 LOAD_ATTR                2 (SearchBoni)
             
43 LOAD_FAST                1 (i)
             
46 BINARY_SUBSCR       
             47 LOAD_CONST               1 
(0)
             
50 BINARY_SUBSCR       
             51 CALL_FUNCTION            1
             54 STORE_FAST               2 
(Index)

  
5          57 LOAD_GLOBAL              5 (Values)
             
60 LOAD_FAST                2 (Index)
             
63 BINARY_SUBSCR       
             64 LOAD_FAST                0 
(self)
             
67 LOAD_ATTR                6 (SearchBoniValues)
             
70 LOAD_FAST                1 (i)
             
73 BINARY_SUBSCR       
             74 LOAD_CONST               1 
(0)
             
77 BINARY_SUBSCR       
             78 COMPARE_OP               0 
(<)
             
81 POP_JUMP_IF_FALSE      100

  6          84 LOAD_GLOBAL              3 
(Boni)
             
87 LOAD_ATTR                4 (index)
             
90 LOAD_CONST               2 ('-1')
             
93 CALL_FUNCTION            1
             96 POP_TOP             
             97 JUMP_FORWARD             0 
(to 100)
        >>  
100 POP_BLOCK           
            101 JUMP_ABSOLUTE           22

  7     
>>  104 POP_TOP             
            105 POP_TOP             
            106 POP_TOP             

  8         107 LOAD_GLOBAL              3 
(Boni)
            
110 LOAD_ATTR                4 (index)
            
113 LOAD_FAST                0 (self)
            
116 LOAD_ATTR                2 (SearchBoni)
            
119 LOAD_FAST                1 (i)
            
122 BINARY_SUBSCR       
            123 LOAD_CONST               3 
(1)
            
126 BINARY_SUBSCR       
            127 CALL_FUNCTION            1
            130 STORE_FAST               2 
(Index)

  
9         133 LOAD_GLOBAL              5 (Values)
            
136 LOAD_FAST                2 (Index)
            
139 BINARY_SUBSCR       
            140 LOAD_FAST                0 
(self)
            
143 LOAD_ATTR                6 (SearchBoniValues)
            
146 LOAD_FAST                1 (i)
            
149 BINARY_SUBSCR       
            150 LOAD_CONST               3 
(1)
            
153 BINARY_SUBSCR       
            154 COMPARE_OP               0 
(<)
            
157 POP_JUMP_IF_FALSE      189

 10         160 LOAD_GLOBAL              3 
(Boni)
            
163 LOAD_ATTR                4 (index)
            
166 LOAD_CONST               2 ('-1')
            
169 CALL_FUNCTION            1
            172 POP_TOP             

 11         173 LOAD_CONST               4 
('Stop')
            
176 LOAD_FAST                0 (self)
            
179 STORE_ATTR               7 (State)
            
182 JUMP_ABSOLUTE          189
            185 JUMP_ABSOLUTE           22
            188 END_FINALLY         
        
>>  189 JUMP_ABSOLUTE           22
        
>>  192 POP_BLOCK           
        
>>  193 LOAD_CONST               0 (None)
            
196 RETURN_VALUE 

Du hast tausende von Funktionsaufrufe von Variablen und Vergleichen, welche extrem an Performance kosten, welche bei Scripts wie bei einem Switchbot einer der wichtigsten Aspekte sind.

Probiere das ganze nested aufzubauen bzw. eine klare und übersichtliche Struktur in deine Scripte zu bringen.
Baue das ganze am besten in einem Dictionary auf und überprüfe das ganze anfangs nach den Key-Values, also den Bonus-Keys, bevor du am besten erneut mit einer Loop die Werte überprüfst.

So kannst du das ganze mit recht wenigen instructions(bei meinem schlechteren Beispiel immer noch nur 200) abfragen anstatt tausende von bytecode instructions(bei dir über 1300) zu verwenden.

MfG DaRealFreak
DaRealFreak is offline  
Thanks
6 Users
Old 09/14/2013, 02:05   #15

 
.MaisKolben™'s Avatar
 
elite*gold: 24
Join Date: May 2009
Posts: 1,165
Received Thanks: 1,223
Sieht super aus und mit dem Verbesserungsvorschlägen von RealFreak dürfte der wohl klasse werden.
Mach weiter so mein Fab :3.

MfG
.MaisKolben™ is offline  
Reply


Similar Threads Similar Threads
[Release]Metin2 Monarch Quest BY Fabian1233
05/03/2013 - Metin2 PServer Guides & Strategies - 28 Replies
Hi Leute ich hab mir heute Nachmittag, als das Internet ausgefallen ist gedacht: was könnte ich euch heute schönes anbieten??? Da kam mir die Idee: Eine Metin2 Kaiserwahl quest Sie geht von Uriel aus und ist da komplett als GM zu steuern



All times are GMT +2. The time now is 21:35.


Powered by vBulletin®
Copyright ©2000 - 2024, 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 ©2024 elitepvpers All Rights Reserved.