1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. Magnus

Beiträge von Magnus

  • func vorzeitig beenden

    • Magnus
    • 23. April 2010 um 13:55
    Zitat von SEuBo

    Nein der Status wird vom Board zugewiesen. Nur spezielle Benutzertitel werden (sofern man nicht PowerUser ist - da kann man den Titel selbst wählen) von Peethebee/GunFood vergeben. Aber das ganz normale Anfänger - Fortgeschrittener - Profi - Meister - Erleuchteter berechnet sich aus den Posts. Oder nach einem speziellen Algorythmus (Posts pro Tag * Posts / Random(100,200) ; was weiß ich ) berechnet. Jedenfalls wird das vom System gemacht.

    Die Brechrechnung erfolgt nach den Gesamtbeiträgen. Welchen Rang man dann erhält, lässt sich im Admincenter einstellen.

  • Highscore Server

    • Magnus
    • 20. April 2010 um 16:24
    Zitat von Sprenger120

    der zu deinem hs server führt also

    Entschuldigung

  • Highscore Server

    • Magnus
    • 20. April 2010 um 16:20
    Zitat von Sprenger120

    Hör doch mal endlich auf in menem thread werbung für deinen highscore server zu machen

    Habe ja nur einen Link gepostet. :S

  • Hallo

    • Magnus
    • 20. April 2010 um 16:10

    Hallo,

    wie mir gerade aufgefallen ist, habe ich vergessen mich vorzustellen.

    Ich heiße Magnus Kühn und bin 12 Jahre. Seit dem ich 11 bin programmiere ich AutoIt.

    Magnus

  • Highscore Server

    • Magnus
    • 20. April 2010 um 16:02

    Hier gibt es eine Aktuelle PHP und MySql-Version.

  • PHP-MySql Highscore Server

    • Magnus
    • 20. April 2010 um 15:52

    Update 1.1 :) siehe erstes Post


    Edit: Beim update von der Version 1.0.1 muss die Datenbank nicht neu installiert werden.

  • PHP-MySql Highscore Server

    • Magnus
    • 15. April 2010 um 18:08
    Zitat von DjBlume

    Hallo Magnus,
    Also ich habe mal den Highscore-Server bei mir installiert (Hetzner.de Server)

    Dass bekomme ich als Rückmeldung, Wenn ich versuche, Einen Highscore einzutragen,
    MySQL Verbindung ist alles erfolgreich

    Code
    http://www.dp-ware.de/HSS/index.php?aktion=add_score&Name=Dominik&Score=9&ProgName=Test
    <br />
    <b>Warning</b>:  mysql_fetch_array(): supplied argument is not a valid MySQL result resource in <b>/usr/www/users/dpgwar/HSS/index.php</b> on line <b>65</b><br />
    can_not_find_programm
    False

    PS: Ich sehe du verwendest im Script zur Sicherung des High-Scores die Variabel: $MaxScore
    Aber ich finde sie nirgends, Bzw. Nirgendwo definiert, In der
    MySQL auch nicht sowie "data.php"

    Die Deklaration der Variable $MaxScore erfolgt in der Zeile 67, ich hatte allerdings vergessen, bei der Installation die entsprechende Spalte anzulegen.

    Update 1.0.1 :)

  • PHP-MySql Highscore Server

    • Magnus
    • 15. April 2010 um 17:41
    Zitat von yxyx

    ich komm nach dem ganzen daten eingeben immer auf die konfig einlogg seite

    und sessions sind aktiviert so weit ich das seh

    Hast du das Programm bereits installiert?

  • Highscore Server

    • Magnus
    • 15. April 2010 um 15:20
    Zitat von tince

    Kennst du schon selfphp?

    http://selfphp.de/

    Nein

  • PHP-MySql Highscore Server

    • Magnus
    • 15. April 2010 um 15:17
    Zitat von yxyx

    das kommt bei mir nie

    ich komm dan immer auf die login seite

    Das Login funktioniert mit Sessions. Wenn du diese irgendwie deaktiviert hast, musst du diese Aktivieren.

  • Highscore Server

    • Magnus
    • 14. April 2010 um 20:31

    Hier gibt es eine PHP Version des Highscore-Servers mit MySql.

  • PHP-MySql Highscore Server

    • Magnus
    • 14. April 2010 um 20:29

    Hallo,

    ich habe vor längerer Zeit mal einen PHP Highscore Server, der MySql verwendet, geschrieben. Durch den Highscore Server von Spreger120 , habe ich diesen in meiner Scriptesammlung entdeckt.

    Installation
    • Lade das Archiv im Anhang herunter, und entpacke es
    • Lade die index.php-Datei und die config.php-Datei auf deinen Webserver
    • Aktiviere auf dem Webserver PHP und MySql (falls nötig)
    • Lade die Seite http://.../config.php?aktion=install
    • Gebe die erforderlichen Daten ein
    • Klicke auf "Weiter"
    • Wenn die Meldung "Die MySql-Daten wurden erfolgreich gespeichert. ..." erscheint, klicke auf den Link
    • Nun kannst du die UDF verwenden
    MySql-Daten ändern
    • Lade die Seite http://.../config.php?aktion=install
    • Gebe die Admin-E-Mail-Adresse und das Admin-Passwort, die du bei der Installation bestimmt hast, ein
    • Führe die Schritte 5-6 von der Installation durch
    • Bei bedarf kannst du auch den Schritt 7 ausführen, um die Datenbank neu zu schreiben (die gespeicherten Scores werden nicht übertragen)

    Wenn du immer den selben Pfad zur index.php-Datei benötigst, ändere diesen am besten in der UDF.

    Wie ist der Highscore Server aufgebaut?

    Bei meinem Highscore Server werden alle gespeicherten Highscores einem Programm zugeordnet.
    Bei speichern eines Highscores muss deshalb auch ein Programm angegeben werden.
    Die Programme werden in der Tabelle 'progs' gespeichert, die Scores in der Tabelle 'save'. Zu jedem Programm kann ein Maximalwert des Scores festgelegt werden.

    Funktionen:

    • Scores werden Programmen zugeordnet
    • Bei jedem Programm gibt es ein Maximalscore
    • UDF zum speichern und lesen von Scores
    • Design im Adminbereich

    Aktuelle Version PHP-MySql: 1.1
    Aktuelle Version UDF: 1.0 (kompatibel zur 1.0, 1.0.1 und 1.1 Version des PHP-MySql-Scripts)

    Geplante Funktionen:

    • Admincenter mit den folgenden Funktionen:
      • Scores einsehen/bearbeiten/löschen
      • Programme leichter hinzufügen/bearbeiten/löschen

    Update 1.0.1:

    • MySql-Installationsanweisungen aktualisiert

    Update 1.1:

    • Design hinzugefügt
    • Administratorbereich getrent
    Screenshots

    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist. Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Es gibt ein Update. Nähers in Beitrag 16. (Dieser Beitrag ist nicht verändert worden)

    Kritik und Anregungen sowie Vorschläge sind erwünscht. :)

    Bilder

    • BildNr.3.jpg
      • 66,06 kB
      • 1.293 × 138
    • BildNr.4.jpg
      • 58,45 kB
      • 1.227 × 131

    Dateien

    Highscore Server.zip 6,79 kB – 583 Downloads BildNr.1.jpg 106,83 kB – 0 Downloads BildNr.2.jpg 143,47 kB – 0 Downloads
  • Highscore Server

    • Magnus
    • 8. April 2010 um 11:22
    Zitat von Sprenger120

    ok, nur noch eine frage kann php mit 2 dimensonalen arrays umgehen

    Alle Array-Funktionen die AuoIt besitzt gibt es auch in PHP.

    Zitat von tkausl

    Hey, bei PHP kann ich dir gerne Helfen.
    Ja PHP kann mit mehrdimensionalen arrays umgehen.
    ich empfehle Datenbankunterstützung, ansonsten kann man es aber auch per Datei regeln.

    mit file(); ließt man eine datei zeilenweise in ein Array, mit Explode kann man die strings Explodieren (oder man nutzt RegExp)

    Ich könnte dir auch helfen. :)

  • [Beendet] µitLight März

    • Magnus
    • 31. März 2010 um 15:35
    Zitat von Andy

    Wenn wir schon dabei sind^^
    Dann zeige ich auch mal meine ASM-Version, incl. Umwandlung der Register in Zahlen.
    Ggf. nur als 32Bit in XP/Vista (ohne DEP) lauffähig, an einer Version die auf allen BS läuft wird zzt gerade gearbeitet.

    Spoiler anzeigen
    [autoit]

    #include <Array.au3>
    #include <FASM.au3>

    [/autoit] [autoit][/autoit] [autoit]

    Local $ASM = FasmInit()
    Local $maximum = 1299709

    [/autoit] [autoit][/autoit] [autoit]

    $t = TimerInit()
    $primzahlen = _PrimeAsm($maximum) ;Assembler aufrufen, code assemblieren, in den Speicher schreiben und ausführen
    $m = TimerDiff($t)

    [/autoit] [autoit][/autoit] [autoit]

    StringReplace($primzahlen, @CR, @CR, 0, 1) ;alle CR im String zählen.....auch AutoIt hat SPEEEEED^^
    $anzahlprim = @extended ;hätte man auch vom Assembler zurückgeben lassen können^^
    MsgBox(262144, "Primzahlen bis " & $maximum, $anzahlprim & " Primzahlen in " & Int($m) & " Millisekunden, Ausgabe der Zahlen folgt in Console....")
    ConsoleWrite($primzahlen & @CRLF)

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    FasmExit($ASM)
    Exit

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _PrimeAsm($limit) ;coded by Andy

    [/autoit] [autoit][/autoit] [autoit]

    FasmReset($ASM)

    [/autoit] [autoit][/autoit] [autoit]

    FasmAdd($ASM, "use32");32Bit-Version
    FasmAdd($ASM, " push ebp "); ebp des aufrufenden Programms retten
    FasmAdd($ASM, " mov ebp, dword[ESP+08h] "); "unseren" ebp setzen auf den Anfang unserer Struct
    ;dann ist...
    ; [EBP+0h] der erste Parameter (Limit) , da UINT ist er 4 Bytes lang, daher ist der nächste Parameter bei...
    ; [EBP+04h] der 2 Parameter (Limes), auch 4 Byte lang...daher findet man den 3. Parameter, unsere struct bei...
    ; [EBP+08h] der Anfang des Speicherbereichs Mem
    ;ich verwende die Hex-Zahlen, um bei verschiedenen Assemblern einen Standard zu haben, der Windowstaschenrechner ist Gold wert^^

    [/autoit] [autoit][/autoit] [autoit]

    FasmAdd($ASM, " mov ebx,dword[ebp+0h] "); Limit
    FasmAdd($ASM, " mov eax,3 "); 3 ist die nächste Primzahl
    FasmAdd($ASM, "Fill: "); Schleifenanfang
    FasmAdd($ASM, " mov dword[ebp+08h+eax],30313031h "); an die Speicherstelle in der Struct den String "1010"
    FasmAdd($ASM, " add eax,4 "); eax=eax+4 ;geht auch mit einem rep stosw^^ 10
    FasmAdd($ASM, " cmp eax,ebx "); vergleiche eax mit $limit
    FasmAdd($ASM, " jbe Fill "); Jump if below or equal (wenn <=) nach Fill, ansonsten weiter
    ;in der struct steht nun 001101010101010101010.....alle vielfachen von 2 sind 0, die erste 0 ist die 0, 2 ist die erste Primzahl!

    [/autoit] [autoit][/autoit] [autoit]

    ;startadresse Struct Prim holen
    FasmAdd($ASM, " mov edi, ebp "); an ebp steht der erste Parameter, wir brauchen aber die Adresse von ebp+8
    FasmAdd($ASM, " add edi, 8 "); ebp+8 ist die adresse des ersten bytes der struct Mem
    FasmAdd($ASM, " mov esi, edi "); ESI=anfang Mem
    FasmAdd($ASM, " mov ecx,dword[EBP+0h] "); do until limit
    FasmAdd($ASM, " mov ebx,3 "); ebx=aktuelle Zahl in der struct struct[1]=speicher[0] !!!!!!
    FasmAdd($ASM, "L0: ")
    FasmAdd($ASM, " mov eax,ebx "); eax=ebx=aktuelle primzahl
    FasmAdd($ASM, " mul eax ");nächstes vielfaches der prim = quadrat der primzahl
    ;****************************************
    ;ACHTUNG, das Erbebnis von mul ist EDX:EAX also wird auch das edx-register verändert!
    ;*****************************************
    FasmAdd($ASM, "L1: ")
    FasmAdd($ASM, " mov byte[esi+eax],30h ");jedes vielfache der Primzahl in der struct zu "0" machen
    FasmAdd($ASM, " add eax,ebx ");eax=eax+ebx vielfaches der Primzahl 20
    FasmAdd($ASM, " cmp eax,ecx "); Vielfaches mit limit vergleichen
    FasmAdd($ASM, " jl L1 "); solange eax < limit, die Vielfachen löschen
    FasmAdd($ASM, "L2: ");nächste Primzahl holen
    FasmAdd($ASM, " add ebx,2 ");2 zahlen weiter springen ,3,5,7,9,11,13,15....
    FasmAdd($ASM, " cmp ebx,dword[EBP+0h] "); vgl aktuelle position mit dem Ende von Mem
    FasmAdd($ASM, " ja exit ");wenn Ende erreicht, exit
    FasmAdd($ASM, " cmp byte[esi+ebx],31h ");ist an dieser stelle in der struct eine primzahl?
    FasmAdd($ASM, " jne L2 ");wenn nicht, nächste zahl wählen
    ;************************************************************
    ;aus einer Zahl(Registerinhalt) einen ZiffernString machen: http://dcla.rkhb.de/umwandlung/int2dez.html
    ;und in die Primstruct schreiben
    ;wird dieser Bereich auskommentiert, wird ein String aus nullen und einsen zurückgegeben 0=keine Prim 1=Prim
    ;dann können mit den AutoIt-Stringbefehlen die Primzahlen und deren Anzahl ausgelesen werden
    FasmAdd($ASM, " push ebx ");alle benötigten Register sichern
    FasmAdd($ASM, " push ecx ");alle benötigten Register sichern
    FasmAdd($ASM, " mov eax, ebx ");Zahl laden
    FasmAdd($ASM, " mov ebx, 10 "); Divisor
    FasmAdd($ASM, " xor ecx, ecx ");ECX=0 (Anzahl der Ziffern)
    FasmAdd($ASM, "Schleife_1: ")
    FasmAdd($ASM, " xor edx, edx ")
    FasmAdd($ASM, " div ebx "); EDX:EAX / EBX = EAX Rest EDX
    FasmAdd($ASM, " push dx "); LIFO
    FasmAdd($ASM, " add cl,1 "); ADD soll schneller sein als INC
    FasmAdd($ASM, " or eax, eax "); AX = 0?
    FasmAdd($ASM, " jnz Schleife_1 "); nein: nochmal
    FasmAdd($ASM, "Schleife_2: ")
    FasmAdd($ASM, " pop ax "); gepushte Ziffern zurückholen
    FasmAdd($ASM, " or al, 00110000b "); Umwandlung in ASCII
    FasmAdd($ASM, " stosb "); Nur AL nach [EDI] (EDI ist ein Zeiger auf den String)
    FasmAdd($ASM, " loop Schleife_2 "); bis keine Ziffern mehr da sind
    FasmAdd($ASM, " mov byte [edi],0Dh ");CR CarriageReturn, man könnte auch ein Komma (ascii=2C) einsetzen, dazu noch ein nullbyte als EndOfString
    FasmAdd($ASM, " add edi,1 ");ein Byte weiter
    FasmAdd($ASM, " pop ecx ");Register wiederherstellen
    FasmAdd($ASM, " pop ebx ");Register wiederherstellen
    ;************************************************************Ende Ziffer aus Register

    [/autoit] [autoit][/autoit] [autoit]

    FasmAdd($ASM, " cmp ebx,dword[EBP+04h] "); vgl aktuelle position mit der wurzel der listengrösse
    FasmAdd($ASM, " jl L0 "); solange ebx < wurzel listengrösse, gehe vielfache eliminieren

    [/autoit] [autoit][/autoit] [autoit]

    ;jetzt ist die Mem-Struct völlig gefüllt aber die Primzahlen sind nur bis Limes in der Prim-Struct!
    ;also muss der Rest auch noch eingetragen werden
    FasmAdd($ASM, " cmp ebx,dword[EBP+0h] "); vgl aktuelle position mit dem Ende von Mem
    FasmAdd($ASM, " jl L2 "); solange ebx < limit, gehe vielfache eliminieren bzw "1"en in zifferfolgen umwandeln

    [/autoit] [autoit][/autoit] [autoit]

    FasmAdd($ASM, "exit: ");
    FasmAdd($ASM, " mov byte [edi],00h ");nullbyte als EndOfString anfügen, damit hinter den Zahlen nicht die übrigen 0en und 1en stehen
    FasmAdd($ASM, " pop ebp "); ebp des aufrufenden Programms restaurieren
    FasmAdd($ASM, " ret "); und zurück, in eax steht das Ergebnis

    [/autoit] [autoit][/autoit] [autoit]

    $tStruct = DllStructCreate("uint Limit;uint Limes;char Mem[" & $limit + 10 & "]") ;char, dann kann man nachher schön mit den stringfunktionen suchen
    DllStructSetData($tStruct, "Mem", "001") ;die ersten 3 Zahlen setzen, 0=0 1=0 2=1 , 2 ist die erste Primzahl
    DllStructSetData($tStruct, "Limit", $limit);limit in die Struct schreiben
    DllStructSetData($tStruct, "Limes", Floor(Sqrt($limit)) + 1);wurzel aus limit in die struct schreiben

    [/autoit] [autoit][/autoit] [autoit]

    $Ret = MemoryFuncCall("int:cdecl", FasmGetFuncPtr($ASM), "ptr", DllStructGetPtr($tStruct)); Assembler aufrufen
    $pstring = "2" & @CR & "3" & @CR ;2 und 3 sind die ersten Primzahlen
    $pstring &= DllStructGetData($tStruct, "Mem") ;alle Primzahlen aus der struct in den string schreiben

    [/autoit] [autoit][/autoit] [autoit]

    Return $pstring ;und zurückgeben

    [/autoit] [autoit][/autoit] [autoit]

    EndFunc ;==>_PrimeAsm

    [/autoit]

    Und natürlich für den Wettbewerb der AutoItcode, leider sind unter AutoIt alle "schnellen" Algorithmen langsamer als ein simples Bruteforce... :thumbdown: ..oder überrascht mich^^
    Der Inhalt kann nicht angezeigt werden, da er nicht mehr verfügbar ist.

    Alles anzeigen

    Wo gibt es denn die FASM-Include?

    Edit: Gefunden

  • Eigenes Tab-Register (OwnTab-UDF)

    • Magnus
    • 13. März 2010 um 20:14

    Wenn man auf einen blinkenden Tab geht, und ihn nachher wieder verlässt, hört er auf zu blinken.

  • 4kb Code

    • Magnus
    • 6. März 2010 um 08:19
    Zitat von UEZ

    Warum Kaspersky die Seite als "gefährlich" einstuft, weiß ich nicht! Schau' mal in #post1 - dort habe ich das Zip File angehängt!

    Gruß,
    UEZ

    GData meldet "Die Seite enthält infizierten Code: Trojan.Generic.1660840, Trojan.Generic.3214940 (Engine A).". Bei der Zip-Datei kommt die selbe Virenmeldung.

  • GDI+ Notitzzettel

    • Magnus
    • 6. März 2010 um 07:56
    Zitat von H2112

    Wie ich die Fontauswahl einbinden könnte, weiß ich noch nicht so genau, bin aber am überlegen.

    [autoit]

    _ChooseFont()

    [/autoit]

    In der Include Misc.au3.

  • If Funktion

    • Magnus
    • 21. Februar 2010 um 07:04
    Zitat von Slyfex

    If WinActive("Optimale Einstellungen vornehmen?" Then
    ;...
    EndIf

    [autoit]

    If WinActive("Optimale Einstellungen vornehmen?") Then
    ;...
    EndIf

    [/autoit]

    Du hast die Klammer zu vergessen.

    Edit: Alle Win... ohne Tiefstrich davor

  • Button wird bei Schriftfarbenänderung inaktiv

    • Magnus
    • 22. Januar 2010 um 13:32

    Interaktiv wird er nicht, sonder ist nicht 3D. Keine Ahnung wieso.

  • _Pop3-Udf (V1.03)

    • Magnus
    • 19. Januar 2010 um 17:45

    Bei mir kommt der Fehler:

    _POP3Connect: Error: SSL not supported ...

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™