Script richten

  • Kann mir jemand Tipps zu diesem Script geben?
    Und sagen, was ich verbessern muss, bitte.
    Ich denke, ihr könnt alles aus den Funktionen herauslesen, bitte auch den Text so machen, dass er reinpasst, erklären.
    VIELEN VIELEN DANK!!!!!!!!

    Spoiler anzeigen
    [autoit]

    $falsche = 0
    $richtig = 0

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

    SoundPlay(@WindowsDir & "\media\tada.wav",1)

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

    MsgBox(0, "NTR Quiz", "Hier ist es, das UNGLAUBLICHE NTR QUIZ!!!")
    MsgBox(0,"", "Beantworte die Fragen richtig, das ist alles!!! Bitte Groß-und Kleinschreibung beachten!")

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

    $loesung = "Werwolf"
    #include <GUIConstants.au3>
    $out = _InputBox('1.Wer war der Member, der am längsten und immernoch im Clan ist?')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "4.10.2006"
    #include <GUIConstants.au3>
    $out = _InputBox('2.An welchem Tag wurde NTR gegründet? (TT/MM/JJJJ)')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "www.clanplanet.de"
    #include <GUIConstants.au3>
    $out = _InputBox('3.Auf welcher Massenclanpage wurde die erste Clanpage von NTR gemacht? (http://www.l%c3%b6sung.de)')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "Vasgalaine"
    #include <GUIConstants.au3>
    $out = _InputBox('4.Wer hat die meisten Beiträge im Forum?')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "3"
    #include <GUIConstants.au3>
    $out = _InputBox('6.Wieviele Pages hatte NTR schon (bitte als Zahl zB. 90 lol)')
    MsgBox(0, '', $out)

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

    _InputBox($text)
    _check()

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

    $loesung = "Dedy"
    #include <GUIConstants.au3>
    $out = _InputBox('7.Nenne den ältesten Member im Clan!"')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "Janni"
    #include <GUIConstants.au3>
    $out = _InputBox('8.Wie hieß der erste Leader in NTR?')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "Dedy"
    #include <GUIConstants.au3>
    $out = _InputBox('9.Wer hat die jetzige Clanpage gemacht (das Meiste)')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    $loesung = "Tenkai"
    #include <GUIConstants.au3>
    $out = _InputBox('10.Wer ist der Hauptchatadmin in NTR (früherer Nick)"')
    MsgBox(0, '', $out)
    _InputBox($text)
    _check()

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

    MsgBox(0, "", "Danke fürs Mitmachen!!!")
    MsgBox(0, "Impressum", "Idee by p3X0n, Script by Nightfire")

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

    Func _InputBox($text)
    $OnEvent = Opt('GUIOnEventMode', 0)
    $GUI_Input = GUICreate('Inputbox', 400, 200, -1, -1, $WS_POPUP)
    WinSetOnTop('Inputbox', '', 1)
    GUICtrlCreatePic('Unbenannt-1.gif', 0, 0, 400, 200)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUICtrlCreateLabel($text, 100, 60, 240, 30)
    GUICtrlSetColor(-1, '0xffff00')
    GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
    GUICtrlSetFont(-1, 14, 800, 0, 'Times New Roman')
    $Input = GUICtrlCreateInput('', 100, 100, 200, 30)
    GUICtrlSetFont(-1, 14, 800, 0, 'Times New Roman')
    GUICtrlSetBkColor(-1, '0xfffffe')
    GUISetState()
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $Input
    ExitLoop
    EndSwitch
    WEnd
    $out = GUICtrlRead($Input)
    GUIDelete($GUI_Input)
    Opt('GUIOnEventMode', $OnEvent)
    Return $out
    EndFunc

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

    Func _check()
    If $box1 = $loesung Then
    MsgBox(0,"", "Richtig")
    $richtig +=1
    Else
    MsgBox(0,"", "Falsch")
    $falsche +=1
    EndIf
    If $falsche = 5 Then
    SoundSetWaveVolume ("50%")
    SoundPlay(@WindowsDir & "\media\Windows XP-Fehler.wav",1)
    CDTray("e:\", "open")
    WinClose ("Frage")
    MsgBox(0,"", "Bitte immer auf Enter drücken! txt file nicht speichern :D")
    SoundPlay(@WindowsDir & "\media\XP-Abmeldesound.wav",1)
    Run("notepad.exe")
    WinWaitActive ("Unbenannt - Editor")
    Send ("Da musst du aber noch arbeiten!!!")
    sleep (3000)
    WinClose ("Unbenannt - Editor")
    ControlClick("Editor", "", 7)
    Exit
    EndIf
    If $richtig = 1 Then
    SoundSetWaveVolume ("50%")
    SoundPlay(@WindowsDir & "\media\XP-Benachrichtigung",1)
    CDTray("e:\", "open")
    SoundPlay (@WindowsDir & "\media\XP-Hardware hinzufügen.wav",1)
    Run("notepad.exe")
    WinWaitActive("Unbenannt - Editor")
    Send ("Du bist ein NTR KENNER!!!")
    sleep (3000)
    WinClose ("Unbenannt - Editor")
    ControlClick("Editor", "", 7)
    CDTray("e:\", "close")
    MsgBox (0, "", "Danke fürs Mitmachen!")
    Exit
    EndIf
    EndFunc

    [/autoit]
  • 8| lesen könne die meisten hier, aber warum sollten wir das machen, wenn ich mir das anschaue da bekomme ich eigentlich nur Augenkrebs. Außerdem ist das der Bereich Hilfe und nicht der Bereich für Jobs, wenn du einen Job zu vergeben hast, dann mach das auch, ich finde es etwas dreist einfach mal so ein Skript rein zu schupsen und mach mal zu rufen.

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • Ich habe den Job ja gemacht, nur ned richtig, und ich bitte nur um Hilfe, ob einer da schauen kann, was ich verbessern muss, bzw. was falsch ist.
    Ich bin leider noch Anfänger und verstehe das Turtorial leider auch ned, da wird i-wie das komisch erklärt, es ist zwar groß und ich denke gut, aber für Anfänger wohl ned geeignet.
    Und es muss mir ja keiner helfen, es ist nur eine Anfrage.

    • Offizieller Beitrag

    OK,
    hier meine Tipps:

    - Array mit Fragen und Lösungen ($Array[Anzahl_Fragen][2]; $a[n][0]=Frage, $a[n][1]=Lösung)
    - Gui für Fragestellung erstellen
    - In Schleife das Array abarbeiten
    - falsche und richtige Antworten zählen
    - wenn max. Anzahl falsche Antworten erreicht Skript beenden
    - wenn alle Fragen beantwortet Auswertung

  • Von mir noch eine schnelle Lösungsmöglichkeit, hoffe sie ist verständlich, hab es zwar etwas abgeändert aber so zur Übung sollte es gehen :)

    Spoiler anzeigen
    [autoit]

    #cs
    Bei Skripten sollte man immer etwas Struktur drinne haben,
    am besten (finde ich) wenn man mit Funktionen arbeiten. Das hat
    den Vorteil es mach alles übersichtlichter und man kann es
    wiederverwerten.

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

    Ich habe das Skritp mal grob so angepasst wie es laufen könnnte
    und ein paar Kommentare mit rein gebaut. Über meine Aufbau kann man
    streiten aber ich mache es immer so :)
    #ce

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

    ;Includes
    #include <GUIConstants.au3> ; es reicht es einmal einzufügen.

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

    ;Variablen
    Local $falsche = 0
    Local $arr_Fragen[10][2] ;Anzahl der Fragen steht in der ersten Klammer, die zweite zeigt die Ebenen(?) an
    Local $zaehler
    Local $antwort

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

    ;Konstanten
    Const $txt_Titel = "NTR Quiz"
    Const $sound_Start = @WindowsDir & "\media\tada.wav"
    Const $sound_Fehler = @WindowsDir & "\media\Windows XP-Fehler.wav"
    Const $sound_Richtig = @WindowsDir & "\media\Windows XP-Hinweis.wav"
    Const $sound_Ende = @WindowsDir & "\media\Windows XP-Herunterfahren.wav"

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

    ;Vorbereitung für das Frage und Antwort Array [x][0] ist immer die Frage und [x][1] die Antwort
    ;Nebenbei du hast die Frage 5 vergessen oder falsch Nummeriert, darum hab ich mal eine 10. Frage dazu gebaut.
    $arr_Fragen[0][0] = "1.Wer war der Member, der am längsten und immernoch im Clan ist?"
    $arr_Fragen[0][1] = "Werwolf"
    $arr_Fragen[1][0] = "2.An welchem Tag wurde NTR gegründet? (TT/MM/JJJJ)"
    $arr_Fragen[1][1] = "4.10.2006"
    $arr_Fragen[2][0] = "3.Auf welcher Massenclanpage wurde die erste Clanpage von NTR gemacht? (http://www.l%c3%b6sung.de)"
    $arr_Fragen[2][1] = "www.clanplanet.de"
    $arr_Fragen[3][0] = "4.Wer hat die meisten Beiträge im Forum?"
    $arr_Fragen[3][1] = "Vasgalaine"
    $arr_Fragen[4][0] = "5.Wieviele Pages hatte NTR schon (bitte als Zahl zB. 90 lol)"
    $arr_Fragen[4][1] = "3"
    $arr_Fragen[5][0] = "6.Nenne den ältesten Member im Clan!"
    $arr_Fragen[5][1] = "Dedy"
    $arr_Fragen[6][0] = "7.Wie hieß der erste Leader in NTR?"
    $arr_Fragen[6][1] = "Janni"
    $arr_Fragen[7][0] = "8.Wer hat die jetzige Clanpage gemacht (das Meiste)"
    $arr_Fragen[7][1] = "Dedy"
    $arr_Fragen[8][0] = "9.Wer ist der Hauptchatadmin in NTR (früherer Nick)"
    $arr_Fragen[8][1] = "Tenkai"
    $arr_Fragen[9][0] = "10.Wer hat an dem Skript rumgespielt?"
    $arr_Fragen[9][1] = "McPoldy"

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

    ;Programm ablauf

    ;Einleitung
    SplashTextOn($txt_Titel,"Hier ist es, das UNGLAUBLICHE NTR QUIZ!!!", 800, 60, -1, -1, 32, "", 24)
    PlaySound($sound_Start,True)
    SplashOff()
    MsgBox(64,$txt_Titel, "Beantworte die Fragen richtig, das ist alles!!! Bitte Groß-und Kleinschreibung beachten!")

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

    ;Befragung durchführen
    For $zaehler = 0 To UBound($arr_Fragen) -1
    $antwort = InputBox($txt_Titel,$arr_Fragen[$zaehler][0])
    If $antwort = $arr_Fragen[$zaehler][1] Then
    PlaySound($sound_Richtig)
    ProcEnde(True)
    Else
    PlaySound($sound_Fehler)
    $falsche +=1
    If $falsche = 5 Then ProcEnde(False)
    EndIf
    Next

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

    ;Funktion für das Abspielen der Sounds
    Func PlaySound($Sound_Path,$warte = False)
    SoundPlay($Sound_Path,$warte)
    EndFunc

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

    ;Diese Funktion wird aufgerufen wenn eine Antwort richtig oder fünf falsche gegeben wurden.
    Func ProcEnde($gut_gemacht)
    Dim $ausgabe = ""
    If $gut_gemacht Then
    $ausgabe = "Du bist ein NTR KENNER!!!"
    Else
    $ausgabe = "Da musst du aber noch arbeiten!!!"
    EndIf

    SplashTextOn($txt_Titel,$ausgabe, 800, 60, -1, -1, 32, "", 14)
    PlaySound($sound_Ende,True)
    SplashOff()
    Exit
    EndFunc

    [/autoit]

    Mfg
    Jens (McPoldy)

    Twitter: jkroeger

    Denn die Dinge, die wir erst lernen müssen, bevor wir sie tun, lernen wir beim Tun.(Aristoteles)

  • könntet ihr vielleicht mein Original bearbeiten, wäre wirklich wichtig.

    - falsche und richtige Antworten zählen
    - wenn max. Anzahl falsche Antworten erreicht Skript beenden

    Die habe ich ja drin, soweit ich weiß, weils auch funzt, die beiden einzelnen Scripte, also einmal das mit Grafik und einmal das mit Quiz funzen so wie ichs will, nur wenn ich die Grafik in die MsgBox einbinden will, geht gar nix mehr.
    Bitte helft mir
    Danke im Vorraus!

    Einmal editiert, zuletzt von Nightfire (10. Mai 2008 um 18:42)