[Autohotkey] Eine Art Wortmix

  • Hallo BreadFisher,
    ich wollte mal wissen, ob man so eine Art "Wortmix" mit Autohotkey erstellen kann.


    Hm, das bedeutet soviel wie: Man drückt eine Taste, es erscheint ein Input-Feld, dort gibt man ein Wort ein, und die Buchstaben des Wortes werden untereinander gemixt (vertauscht). Danach startet ein Timer, der wartet, bis man das richtige Wort (welches man in das Input-Feld eingegeben hat) per SMS bekommen hat.



    #include API.ahk


    #Persistent
    #NoEnv


    #IfWinActive, GTA:SA:MP


    #UseHook


    ;----------------------------------------------------------------------
    PlayerInput(text){
    s := A_IsSuspended
    Suspend On
    KeyWait Enter
    SendInput t^a{backspace}%text%
    Input, var, v, {enter}
    SendInput ^a{backspace 100}{enter}
    Sleep, 20
    if(!s)
    Suspend Off
    return var
    }
    ;----------------------------------------------------------------------


    1::
    wort := PlayerInput("[Wort] Gib das Wort ein: ")
    SendChat("/r Das Wort lautet: " wort) ;Wobei beim ausgegebenen Wort die Buchstaben vertauscht sein sollen
    SetTimer, Auslosung, 500
    return


    Auslosung:
    GetChatLine(0, chat)
    If(Instr(chat, "SMS: "))
    {
    RegExMatch(chat, "SMS\: [Das eingegebene Wort] \| von\: (.*) \(Handy\: (.*) \|ID\:(.*)"), sms)
    {
    SendChat("/r STOP")
    Sleep 500
    SendChat("/r Der Gewinner ist " sms1 " mit dem Wort: " wort [Das eingegebene Wort])
    Sleep 1000
    SendChat("/r Wortsalat Ende")
    SetTimer, Auslosung, Off
    }
    }
    return

    Einmal editiert, zuletzt von Bookai () aus folgendem Grund: RegExMatch bisschen vertan

  • Einzelne Buchstaben in ein Object packen und zufällig zusammensetzen:
    s := "Roleplay"
    o:=[]
    loop % strlen(s)
    {
    o.Insert(substr(s,A_Index,1))
    }
    b:=""
    Loop % o.MaxIndex()
    {
    Random,r,1,% o.MaxIndex()
    b := b o[r]
    o.Remove(r)
    }
    msgbox % b

  • Ich denke, dass er folgendes möchte:


    Er drückt die Taste 1 (..) nun öffnet sich der Chat und schreibt ''Wort'' sendet es ab & er mischt das Wort sprich im Chat steht nun: troW oder roWt
    Ist möglich auf RPG-City haben die San News so einen Keybinder jedoch muss man mit Java arbeiten ( war selber für 1 Woche als Praktikant San News )

  • So



    @Fynantor:
    erzähl kein unsinn.. "man muss mit java arbeiten"
    das geht in c# sowie in so gut wie jeder anderen Sprache auch ._.


    Der WH Keybinder auf RGN bspw. ist auf C# basis mit der ShadowAPI, da ich diese mitentwickel.
    Das einzige was da Java ist, ist der TCP Socket Server für die Kommunikation der Keybinder.
    Grüße

    ik bin der vito c:

  • Wenn ich nun das %wort% in einer SMS auslesen will, funktioniert das nicht ganz. Findet jemand den Fehler?:
    (Arbeite mit der API)



    ~1::
    Suspend On
    SendInput tGebe das Wort ein: {space}
    Input, wort, V I M, {NumpadEnter} {enter}
    Send ^a{del}{esc}
    newWort := mixchars(wort)
    SendChat("/r Das Wort lautet: " newWort)
    GetChatLine(0, chat)
    if(InStr(chat, "SMS: "))
    {
    RegExMatch(chat, "SMS\: " wort " \| von\: (.*) \(Handy\: (.*)\|ID\:(.*)\)", sms)
    SendChat("Gewonnen hat: " sms1 " (ID: " sms3 " ) mit: " wort)
    }
    Suspend Off
    return