Code ist nicht unbedingt leicht zu lesen....
Ich w�rde Dir raten eine zus�tzliche Abstraktionsschicht einzuf�gen,
also Funktionen wie:

addRoom(roomname)
Join(roomname,username)
setStatus(username, status)
etc.

Das macht den Kopf freier f�r das eigentliche Problem...

Welche Logiken sind Dir noch unklar?

- Raum l�schen, wenn es der letzte user war bedeutet: Immer wenn jemand
den Raum verl�sst, checken, ob er der letzte war... Falls ja: raum mit
l�schen

- Kicken: Falls der Kicker opstatus hat, dann: gekickten usre aus dem ra

Claudius

> 
> Hi Leute,
> 
> ich bin gerade dabei, einen Chat zu proggen und h�nge bei 
> zwei Punkten.
> 
> Einmal soll bei Eingabe von /kick Name der entsprechende User 
> aus dem Chat
> gekickt werden und dann statt weiterer Texte nur eine 
> Mitteilung sehen, das
> er gekickt wurde und von wem. (Der Chat benutzt Sessions.) 
> Wie mache ich
> das?
> 
> Zweitens: Es soll per /join Raumname zwischen den R�umen 
> gewechselt werden.
> Existiert der Raum nicht, soll er erstellt werden und der Er�ffner
> automatisch der tempr�re RoomOP f�r diesen Raum werden. 
> Verl��t er den Raum,
> sollen auch seine temp. RoomOP Rechte fl�ten gehen. Ist gar 
> kein User mehr
> im Raum, soll der Raum automatisch gel�scht werden
> 
> Das hier ist mein Ansatz f�r den Befehl:
> if left(message,5) = "/join" or ".join" then
>  room = Right(message,len(message)-6)
>  set rsmsg = conn.execute("select room from tbl_room where 
> room = '" & room
> & "'")
>  if rsmsg.eof then
>   set rsmsg = conn.execute("insert into tbl_room (room, op) 
> values ('" &
> room & "', '" & Session("name") & ",'")
>   set rsmsg = conn.execute("update tbl_user (state, room) 
> values (1, '" &
> room & "') where user = '" & Session("name") & "'")
>   message = Session("name") & " hat den Raum verlassen."
>   set rsmsg = conn.execute("insert into tbl_message (from, 
> to, message,
> room) values ('Bot', 'All', '" & message & "', '" & 
> Session("room") & "')")
>   message = Session("name") & " hat den Raum betreten."
>   set rsmsg = conn.execute("insert into tbl_message (from, 
> to, message,
> room) values ('Bot', 'All', '" & message & "', '" & room & "')")
>   Session("room") = room
>  else
>   set rsmsg = conn.execute("select room from tbl_room where 
> state = 0")
>   do while not rsmsg.eof
>    set rsmsg1 = conn.execute("select count(name) as count, op 
> from tbl_user
> where room = '" & rsmsg.fields("room") & "'")
>    if count = 0 then
>     Dim arop, r
>     arop = split(rsmsg1.fields("op").value,", ")
>     for r = 0 to ubound(arop)
>      set rsmsg2 = conn.execute("update tbl_user (state) 
> values (0) where
> user = '" & arop(r) & "'")
>     next
>    end if
>    rsmsg.movenext
>   wend
>  end if
> end if
> 
> Nur irgendwie h�nge ich da jetzt. Kann mir jemand 
> weiterhelfen? Ein User
> kann 4 States annehmen: 0 = normaler User, 1 = tempor�rer 
> RoomOP (entweder
> durch den Befehl /op Name dazu geworden oder weil er einen neuen Raum
> erstellt hat), 2 = st�ndiger RoomOP, 3 = GrandOP, 4 = ChatOP).
> 
> Gru�,
> 
> Arkor, http://www.drhirn.com/20
> 
> 
> | [aspdecoffeehouse] als [EMAIL PROTECTED] subscribed
> | http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
> | Sie k�nnen sich unter folgender URL an- und abmelden:
> | 
> http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffee
house.asp


| [aspdecoffeehouse] als [email protected] subscribed
| http://www.aspgerman.com/archiv/aspdecoffeehouse/ = Listenarchiv
| Sie k�nnen sich unter folgender URL an- und abmelden:
| http://www.aspgerman.com/aspgerman/listen/anmelden/aspdecoffeehouse.asp

Antwort per Email an