AnGelBot-Portal²

Normale Version: Wortspiel Script v1.0 by Firefox
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
hi,
ich hab ein Script geschrieben und brauche nun eure hilfe!
Ich würde gern wissen, wie der Bot in einer INI feststellen kann, ob der Eintrag bereits exestiert!

zb:

[Chan]
1=Wort1
2=Wort2
3=Wort3
...

aber wenn jetzt 4 = Wort1 ist, merkt er das nich

BITTE um hilfe!

hier mal das Scipt zum nachlesen:

Code:
'######################################
'## Wortspiel Script v1.0 by Firefox ##
'######################################
'## Visit us @                       ##
'## irc.mindforge.org - #Phoenix     ##
'## or online @                      ##
'## www.phoenix-at-home.at.vu        ##
'######################################

'########################
'## Haupteinstellungen ##
'########################

Const active = 1         'Bitte angeben ob das Script aktive sein soll (1=Ja/0=Nein)
Const ActiveChannels = ""    'Aktive Channels (Mehrere mit " " trennen)
Const DebugIt = 0        'Erweitere Infos auf der Partyline! (Hilft ev. bei der Lösung eines Problems)
Const FloodingTime = 2        'Bitte angeben wie lang ein User Warten muss bis er wieder ein Wort schreiben darf (in Minuten!)

'###################################
'## Ab hier nichts mehr ändern !! ##
'## ATTENTION ATTENTION ATTENTION ##
'## FINGER WEG !!!!!!!!!!!!!!!!!! ##
'###################################

Const INI = "filearea/INI/wortspiel.ini"
Const Version = "Wortspiel Script v1.0 by Firefox"
Const Contact = "irc.mindforge.org - #Phoenix or online @ www.phoenix-at-home.at.vu"

Dim vFlood

Sub Init()
Script Version
SpreadFlagMessage 0, "+m", "0***7,1 " & Version & " loaded..."
If DebugIt = 1 Then SpreadFlagMessage 0, "+m", "If you are having problems, visit us @ " & Contact & ""
Hook "Chan_Msg"
End Sub

Sub Chan_Msg(Chan, Nick, RegUser, Line)
Line = Strip(Line)
number = ReadINIString(Chan, "Gesamt", 0, INI)
User_number = ReadINIString(Nick, "Gesamt", 0, INI)
word = ReadINIString(Chan, ReadINIString(Chan, "Gesamt", 0, INI), "", INI)
word2 = ReadINIString(Chan, ReadINIString(Chan, "Gesamt", 0, INI)*1-1, "", INI)
WNick = ReadINIString(Nick, "Nick", "", INI)
vFlood = ReadINIString(Nick, "Flood", 0, INI)
If active = 0 Then Exit Sub
If (Instr(" " + LCase(ActiveChannels) + " ", " " + LCase(Chan) + " ") > 0) or (ActiveChannels = "") Then
  If LCase(Param(Line, 1)) = "!wortspiel" Then
   If LCase(Param(Line, 2)) = vbNullString Then
    SendLine "PRIVMSG " & Chan & " : 7Das letzte Wort 0(7Nr.8 " & number & "0) 7war8 " & word & " 7von8 " & WNick, 3
   ElseIf LCase(Param(Line,2)) <> vbNullString AND Not LCase(Param(Line,2)) = "regeln" AND Not LCase(Param(Line,2)) = "stat" AND Not LCase(Param(Line,2)) = "dellast" Then
    If vFlood = 0 Then
     WriteINIString Chan, "Gesamt", number*1+1, INI
     WriteINIString Nick, "Nick", Nick, INI
     WriteINIString Nick, "Gesamt", ReadINIString(Nick, "Gesamt", 0, INI)*1+1, INI
     WriteINIString Chan, number+1, Param(Line,2), INI
     SendLine "PRIVMSG " & Chan & " : 7Das8 " & number+1 & ". 7Wort 0'8" & Param(Line,2) & "0' 7von8 " & Nick & " 7wurde gespeichert!", 3
     WriteINIString Nick, "Flood", 1, INI
     TimedCommand "vFlooding " & Chr(34) & Nick & Chr(34) & ", " & Chr(34) & Chan & Chr(34), FloodingTime * 60
    Else
     SendLine "Notice " & Nick & " : 7Nur alle8 " & FloodingTime & " 7min. ein Wort8 " & Nick, 3
    End If
   ElseIf LCase(Param(Line,2)) = "regeln" Then
    SendLine "PRIVMSG " & Chan & " : 7Keine Namen 0(8oder Nicks0) / 7Keine Erfindungen oder Sonstiges 0/ 7Das Wort muss mit der letzten Silbe des letzten Wortes anfangen", 3
   ElseIf LCase(Param(Line,2)) = "stat" Then
    SendLine "PRIVMSG " & Chan & " : 7Insgesamt wurden8 " & number & " 7Wörter in meiner Datenbank registriert!", 3
    SendLine "PRIVMSG " & Chan & " : 8" & User_number & " 7davon, kamen von dir!" ,3
   ElseIf LCase(Param(Line,2)) = "dellast" Then
    If IsOp(Nick , Chan) Then
     DeleteINIString Chan, number, INI
     SendLine "PRIVMSG " & Chan & " : 7Der Eintrag wurde erfolgreich gelöscht!", 3
     SendLine "PRIVMSG " & Chan & " : 7Das letzte Wort 0(7Nr.8 " & number & "0) 7war8 " & word & " 7von8 " & WNick, 3
    End If
   End If
  End If
End If
End Sub

Sub vFlooding(Nick, Chan)
WriteINIString Nick, "Flood", 0, INI
SendLine "Notice " & Nick & " : Du darfst wieder " & Nick, 3
End Sub
Code:
ReadINIString(Bereich, Sektion, Eintrag, Default)
ReadINIString gibt falls der Eintrag nicht existiert den Wert bei Default zurück. Bsp.:

Code:
Dim Test
Test = ReadINIString("test.ini", "MySection", "MyEntry", vbNull)
If Test = vbNull Then SpreadFlagMessage 0, "+m", "Eintrag ""MyEntry"" existiert nicht in ""MySection"""
Referenz-URLs