AnGelBot-Portal²

Normale Version: Farbig
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
So ich hab ein script wo man per !addfreundkrieg <wort> suchwörter in eine ini datei einfügt im channel A wird dann nach dem suchwort gesucht und wenn das wort kommt wird der ganze post indem das wort vorkommt in channel B gepostet (mit ein paar veränderungen)

Meine frage ist nun wie kann ich das suchwort imdem post in channel B farbig machen

Code:
Const FromChan = "#swnews"
Const ToChan = "#Kriegsfuss.sw"
Const MyINI = "swfreundkrieg.ini"

Sub Init()
  Script "addfreundkrieg"
  Hook "Chan_Msg"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  Select Case LCase(Param(Line,1))
    Case "$addfreundkrieg"
          freundNr = Readinistring("freund", "freundNr", "", MyINI)
          If freundNr = "" Then
            Writeinistring "freund", "freundNr", "0", MyINI
          End If
          freundNr = Readinistring("freund", "freundNr", "", MyINI)
          For i = 1 To freundNr
            If Param(Line,2) = Readinistring("freund", i, "", MyINI) Then
              Sendline "Notice " & Nick & " :freund schon eingetragen", 2
              Exit Sub

            End If
          Next
          Writeinistring "freund", "freundNr", freundNr + 1, MyINI
          Writeinistring "freund", freundNr + 1, Param(Line,2), MyINI
          Sendline "Notice " & Nick & " :freund erfolgreich eingetragen", 2
          Exit Sub
   Case "$delfreundkrieg"
          If Param(Line,2) = "" Then
            Sendline "Notice " & Nick & " :Name der freund angeben", 2
            Exit Sub
          End If
          freundNr = Readinistring("freund", "freundNr", "", MyINI)
          For i = 1 To freundNr
            swfreundkrieg = Readinistring("freund", i, "", MyINI)
            If swfreundkrieg = Param(Line,2) Then
              For j = (i + 1) To freundNr
                TrigY=Readinistring("freund", j, "", MyINI)
                Writeinistring "freund", j - 1, TrigY, MyINI
              Next
              freundNr=Readinistring("freund", "freundNr", "", MyINI)
              Deleteinistring "freund", freundNr, MyINI
              Writeinistring "freund", "freundNr", freundNr - 1, MyINI
              Sendline "Notice " & Nick & " :Removed freund (" & Param(Line,2) & ")!",2
            End If
          Next
    Case "$showfreundkrieg"
              freundNr = Readinistring("freund", "freundNr", "", MyINI)
              If freundNr = "" Then Sendline "PRIVMSG " & Chan & " :Noch keine freund eingetragen", 3: Exit Sub
              Spacer = " " & Readinistring("freund", "Spacer", "", MyINI) & " "
              Allfreund = Spacer
              For i = 1 To freundNr
                swfreundkrieg = Readinistring("freund", i, "", MyINI)
                Allfreund =  Allfreund & " " & swfreundkrieg & " " & Spacer
              Next
              Sendline "Privmsg " & Chan & " :Eingeträge: " & Allfreund, 2

    Case cmd_prefix & "setspacer"
              Writeinistring "freund", "Spacer", Param(Line,2), MyINI
              Sendline "Notice " & Nick & " :Spacer changed to: " & Param(Line,2), 2
  End Select

  freundNr = Readinistring("freund", "freundNr", "", MyINI)
  For i = 1 To freundNr
  swfreundkrieg = Readinistring("freund", i, "", MyINI)
  If InStr(1, LCase(Line), LCase(swfreundkrieg)) > 0 Then
    If Chan = FromChan Then
  Line = Replace((Line), "nimmt", "hat")
  Line = Replace((Line), "Freund", "Homie")
  Line = Replace((Line), "ab", "gerippt")
  Line = Replace((Line), "gerettet", "beschützt")
      Sendline "PrivMsg " & ToChan & " :" & GetRest(Line, 1) & " ",2
    End If
  End If
next
End Sub
Benutze die Farb-Tags aus dem IRC (Strg+k+Zahl)
ja bin ja nicht blöd aber wie muss ich die einsetzten? hab sie um die variable getan (die variable wo durch auch gesucht wird) aber das klappt nicht entweder ich hab nen denkfehler oder man muss was im script ändern
Schon ein bissl spät die antwort Embarassed

In mIRC strg+k eingeben, zeichen kopieren. dass fällt mir grad so ein Smile

mfg
Grundsätzlich sollte man für diese Farb-Codes immer die funktion Chr() benutzen. Ist zwar am Anfang etwas umständlich, aber besonders wenn man sein Script dann hier im Forum postet, können einige Browser Probleme mit diesen Sonderzeichen bekommen. Hier ist mal ne kleine Übersicht, welches Chr() welche Funktion aus mIRC übernimmt:

Code:
Chr(2)  = Strg+B, Fett schreiben
Chr(3)  = Strg+K, Text/Hintergrundfarbe ändern
Chr(15) = Strg+O, Formatierung aufheben
Chr(31) = Strg+U, Unterstrichen schreiben

Das Script müsste dann so aussehen:

Code:
Const FromChan = "#swnews"
Const ToChan = "#Kriegsfuss.sw"
Const MyINI = "swfreundkrieg.ini"

Sub Init()
  Script "addfreundkrieg"
  Hook "Chan_Msg"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
  Select Case LCase(Param(Line,1))
    Case "$addfreundkrieg"
          freundNr = Readinistring("freund", "freundNr", "", MyINI)
          If freundNr = "" Then
            Writeinistring "freund", "freundNr", "0", MyINI
          End If
          freundNr = Readinistring("freund", "freundNr", "", MyINI)
          For i = 1 To freundNr
            If Param(Line,2) = Readinistring("freund", i, "", MyINI) Then
              Sendline "Notice " & Nick & " :freund schon eingetragen", 2
              Exit Sub

            End If
          Next
          Writeinistring "freund", "freundNr", freundNr + 1, MyINI
          Writeinistring "freund", freundNr + 1, Param(Line,2), MyINI
          Sendline "Notice " & Nick & " :freund erfolgreich eingetragen", 2
          Exit Sub
   Case "$delfreundkrieg"
          If Param(Line,2) = "" Then
            Sendline "Notice " & Nick & " :Name der freund angeben", 2
            Exit Sub
          End If
          freundNr = Readinistring("freund", "freundNr", "", MyINI)
          For i = 1 To freundNr
            swfreundkrieg = Readinistring("freund", i, "", MyINI)
            If swfreundkrieg = Param(Line,2) Then
              For j = (i + 1) To freundNr
                TrigY=Readinistring("freund", j, "", MyINI)
                Writeinistring "freund", j - 1, TrigY, MyINI
              Next
              freundNr=Readinistring("freund", "freundNr", "", MyINI)
              Deleteinistring "freund", freundNr, MyINI
              Writeinistring "freund", "freundNr", freundNr - 1, MyINI
              Sendline "Notice " & Nick & " :Removed freund "&Chr(2)&"(" & Param(Line,2) & ")"&Chr(2)&"!",2
            End If
          Next
    Case "$showfreundkrieg"
              freundNr = Readinistring("freund", "freundNr", "", MyINI)
              If freundNr = "" Then Sendline "PRIVMSG " & Chan & " :Noch keine freund eingetragen", 3: Exit Sub
              Spacer = " " & Readinistring("freund", "Spacer", "", MyINI) & " "
              Allfreund = Spacer
              For i = 1 To freundNr
                swfreundkrieg = Readinistring("freund", i, "", MyINI)
                Allfreund =  Allfreund & Chr(3)&"04 "& swfreundkrieg & Chr(15) & Spacer
              Next
              Sendline "Privmsg " & Chan & " :Eingeträge: " & Allfreund, 2

    Case cmd_prefix & "setspacer"
              Writeinistring "freund", "Spacer", Param(Line,2), MyINI
              Sendline "Notice " & Nick & " :Spacer changed to: " & Param(Line,2), 2
  End Select

  freundNr = Readinistring("freund", "freundNr", "", MyINI)
  For i = 1 To freundNr
  swfreundkrieg = Readinistring("freund", i, "", MyINI)
  If InStr(1, LCase(Line), LCase(swfreundkrieg)) > 0 Then
    If Chan = FromChan Then
  Line = Replace((Line), "nimmt", "hat")
  Line = Replace((Line), "Freund", "Homie")
  Line = Replace((Line), "ab", "gerippt")
  Line = Replace((Line), "gerettet", "beschützt")
      Sendline "PrivMsg " & ToChan & " :" & GetRest(Line, 1) & " ",2
    End If
  End If
next
End Sub

Getestet hab ichs net, aber sollte gehen Wink
Referenz-URLs