AnGelBot-Portal²

Normale Version: Nach kurzer Pause schreiben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ich habe ein kleines Problem mit einem Script, den ich gerade erstelle...
Bei !go soll ein Text sofort in einem Channel geschrieben werden...
Bei !go 20 erst nach 20 Sekunden...
Allerdings schreibt er es immer sofort auch wenn ich !go 20203040 eingebe xD

Hoffe ihr könnt mir helfen...

Code:
If LCase(Param(Line, 1)) = "!go" Then
    If ParamCount(Line) = 1 Then
        SendMsg vQ, Chan
        For i = 0 To UBound(vA)
            SendMsg "|" & i+1 & ") " & vA(i), Chan
        Next
    Else
        WaitWithSend()
        SendMsg vQ, Chan
        For i = 0 To UBound(vA)
            SendMsg "|" & i+1 & ") " & vA(i), Chan
        Next
        TimedCommand "SendNow()", Param(Line, 2)
    End If
    vStatus = 3
End If

Code:
Function SendMsg(xMsg, xTo)
    SendLine "PRIVMSG "&xTo&" :"&Chr(3)&"7,1"&xMsg, 3
End Function
Warum machste denn nicht,

Code:
TimedCommand "SendLine ""PRIVMSG " & Chan & " :<Text>"", 3"

statt deinem SendNow-Befehl?

oder eben (für dich):

Code:
TimedCommand "SendMsg """|""" & i+1 & """) """ & vA(i), Chan"

Hoffe ich hab kein " vergessen, ich hasse nämlich diese TimedCommands, weil ich immer ein ", aber irgendwann braucht man sie immer, tja Razz
Hmm...
Das hatte ich "ausgeschlossen", da es ja mehrere SendMsg Befehle sind... Und die ja gleichezeitig gesendet werden sollen... also direkt nacheinander, mein ich ^^

Ich probiere es einfach mal...

Mit 3 """ kann ich das Script nicht mal aktivieren.
Zitat:Error : 1032 (Invalid character)
Position: Line 157, Column 53
Context : " TimedCommand "SendMsg """|""" & i+1 & """) """ & vA(i), Chan", Param(Line, 2)"

Mit 2 kann ichs aktivieren, allerdings kommt folgender Fehler:
Zitat:Error : 9 (Subscript out of range: 'i')
Position: Line 1, Column 0
Excerpt : Const vINI = "FileArea\INI\blubb.ini"
Command : SendMsg "|" & i+1 & ") " & vA(i), Chan
Und das für jeden Durchlauf der For-Schleife...

Kann es sein, dass es nicht geht, weil TimedCommand
http://www.angelbot-portal.de/scripting.php?oid=50 schrieb:im globalen Raum ausgeführt (wird), nicht in der Methode in der TimedCommand aufgerufen wurde

Nebenbei wäre es auch ganz nett, wenn man noch machen könnte, dass der Bot in 10 Sekunden abschnitten die verbleibende Zeit schreibt... (alle 10 Sekunden und dann 3,2,1,[nachricht])

Kann man das in Kombination damit auch noch irgendwie anders machen???

Achja, noch ne Frage: Warum dauert es eigentlich so lange, bis die Nachricht im IRC angezeigt wird???
Liegt das am Quakenet?
Lässt es sich irgendwie machen, dass das schneller geht? oder zumindest so machen, dass der bot erst mit dem weiteren code fortfährt, wenn die nachricht schon da steht???
Weil ich hab grad das Problem, dass er Alle devoiced dann ein paar Zeilen schreibt und danach wieder alle Voiced xD
Und im chat sieht das dann so aus (devoice | voice | nachricht) und das is ja nicht das, was ich damit bezwecken wollte...
probier mal

Code:
TimedCommand "SendMsg ""|""" & i+1 & """) """ & vA(i), Chan, Param(Line, 2)"
Ne... war wohl nix:

Zitat:*** Scripting error in 'quiztime.asc':0x0d
Error : 1033 (Unterminated string constant)0x0d
Position: Line 179, Column 1010x0d
Context : " TimedCommand "SendMsg ""|""" & i+1 & """) """ & vA(i), Chan, Param(Line, 2)""
omg, so einen Fehler hatt ich ja noch nie... Poste mal bitte das ganze Script wenns geht
Referenz-URLs