AnGelBot-Portal²

Normale Version: Termin-Script für Trains & CWs
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
ich weiss, es gibt schon so ein War-Termin-Script, aber das is mir zu umständlich Wink

was ich suche, muss folgendes können:
1. nur User mit dem Flag +m können Termine setzen oder löschen

2. der Termin wird wie folgt gesetzt:
!set Datum Uhrzeit Was Gegner
z.B. !set 25.09. 20:00 CW wasweissichwer

3. der Termin wird gelöscht bei !delete

4. die User setzen einen Status mit !da !kA !away
!da = grün, !away = rot, !kA = bau
er erhält dann eine Notice, das er sich für den Termin als da, away, kA eingetragen hat

5. mit !status wird der Termin als Notice an den User geschickt
wenn jemand den Chan joined, wird der Termin per Notice an den User geschickt

und nun die 3 schwierigen Sachen:

7. die User leg ich in einer Textdatei an, wo ein Teil des IRC-Nicks drinsteht und der Name, der im Termin auftauchen soll
mein IRC-Nick ist [SF`Iwan`COL]
wenn ich nun !da schreibe, dann guckt er in die Text-Datei und da steht dann z.B. Iwan Iw@n
er würde also Iwan finden (weil im IRC-Nick enthalten) und in den Termin Iw@n eingetragen als da (blauer Nick)

8. steht der Nick schon drin, dann soll der vorhandene ersetzt werden

kann das jemand proggen? fänd ich super cool Cool

PS: für Fragen --> irc://irc.quakenet.org/iw@n
*hochschieb*
kann das keiner? wäre mir wirklich wichtig...
*hochschieb* es ist immer noch wichtig Wink
Code:
Sub Init()
Script "CW-script by St4rg4te"
HOOK "Chan_Msg"
HOOK "JOIN"
End Sub

Const Channel1 = "#..."
Const cw = "CW.ini"

Sub Chan_Msg(Chan, Nick, RegUser, Line)
If Chan = Channel1 Then
  If Param(Line, 1) = "!set" Then
   If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    Datum = Param(Line, 2)
    Zeit = Param(Line, 3)
    Grund = Param(Line, 4)
    enemy = GetRest(Line, 5)
    WriteINIString "CW", "Datum", Datum, cw
    WriteINIString "CW", "Zeit", Zeit, cw
    WriteINIString "CW", "Grund", Grund, cw
    WriteINIString "CW", "Gegner", enemy, cw
    Sendline "Notice " & Nick & " :Der neue Termin wurde gesetzt",2
   End If
  End If
End If
  If Param(Line, 1) = "!delete" Then
   If MatchFlags(GetUserChanFlags(RegUser, Chan), "+m") Then
    WriteINIString "CW", "Datum", "0", cw
    WriteINIString "CW", "Zeit", "0", cw
    WriteINIString "CW", "Grund", "0", cw
    WriteINIString "CW", "Gegner", "0", cw
    Sendline "Notice " & Nick & " :Der Termin wurde gelöscht",2
   End If
  End If
  If Param(Line, 1) = "!status" Then
   If Not Param(ReadINIString("CW", "Gegner", vbNullString, cw), 1) = "0" Then
    If Not Param(ReadINIString("CW", "Gegner", vbNullString, cw), 1) = "" Then
     Sendline "NOTICE " & Nick & " :Der nächste " & Param(ReadINIString("CW", "Grund", vbNullString, cw), 1) & " gegen " & GetRest(ReadINIString("CW", "Gegner", vbNullString, cw), 1) & " findet statt am " & Param(ReadINIString("CW", "Datum", vbNullString, cw), 1) & " um " & Param(ReadINIString("CW", "Zeit", vbNullString, cw), 1), 2
    Else
     Sendline "Notice " & Nick & " :Im moment ist kein Termin gesetzt",2
   End If
    Else
     Sendline "Notice " & Nick & " :Im moment ist kein Termin gesetzt",2
  End If
End If
End Sub


Sub Join(Chan, Nick, RegUser, Flags)
If Chan = Channel1 Then
  If Not Param(ReadINIString("CW", "Gegner", vbNullString, cw), 1) = "0" Then
   If Not Param(ReadINIString("CW", "Gegner", vbNullString, cw), 1) = "" Then
    Sendline "NOTICE " & Nick & " :Der nächste " & Param(ReadINIString("CW", "Grund", vbNullString, cw), 1) & " gegen " & GetRest(ReadINIString("CW", "Gegner", vbNullString, cw), 1) & " findet statt am " & Param(ReadINIString("CW", "Datum", vbNullString, cw), 1) & " um " & Param(ReadINIString("CW", "Zeit", vbNullString, cw), 1), 2
   End If
  End If
End If
End Sub

also das ist punkt 1-5 ohne 4 (damit dir auchmal wer was schreibt ^^)

kannst ja mal testen obs geht, ich hab atm keine zeit mehr Confused
super, danke schon ma, werds nachher ma testen :D

aber die andern Punkte sind trotzdem auch wichtig Wink
jaja, kommt noch wenn ichs kann Wink
aber das da mit den farben bei punkt 4 solltest du nochmal genauer erklären Wink

ich glaube du meinst das man mit !ka usw. eingeben kann wird abgespeichert und wenn mans abruft(wie?? welcher trigger??) dann ausgibt(qry? notice oder chan??) in farbe und vorallem in welchem style??? jeder user eine msg oder alle in einer ?? Wink
also, ok, noch ma erklären Wink

- nachdem der User die Join-Message bekommen hat, schreibt er in den Chan:
!da <--- wenn er beim Train/CW da ist
!ka <--- wenn er es noch net weiss
!away <--- wenn er net zum Termin

als Bestätigung seiner Eingabe (!da, !away, !ka!) erhält er eine Notice:
Du hast Dich für den DATUM als STATUS eingetragen

!da, !away & !kA sind dann die Trigger, auf die der Bot reagieren soll
den Status mit dem Nick soll er sich dann merken und wenn man mit
!status
den Termin abfragt, wird der Termin aufgeführt und hinten dran die Usernamen in den passenden Farben (!da = grün, !away = rot, !kA = blau)

das sollte 4. ausreichend erklären, hoff ich Smile
@stargate
wie siehts aus?
frag wen anderen Wink

ich kommm nicht weiter mit dem nick aus datei ausesen und wenn vorhanden speichern ;(
diese Info etwas früher wäre schön gewesen :(


also, kann das wer anders?
Seiten: 1 2
Referenz-URLs