// Ne dit rien depuis son entrée en salle // kicker les dormeurs après 30 secondes var session[128]; // enregistre le session_key des chatteurs entrant en salle var expire$[128]; // date et heure à laquelle on kicke le chatteur var nb_session; // nombre d'éléments dans les 2 tableaux // ajoute une session_key dans les 2 tableaux func red$ () { return chr$(1,255,0,0); } proc ajouter_dans_table (session_key) { var i; for (i=0; i < nb_session; i++) { if (session_key == session[i]) // trouvé break; } if (i == nb_session) // pas trouvé, donc agrandir table nb_session++; session[i] = session_key; expire$[i] = add_date$ (now$(), 30); } proc supprimer_de_table (session_key) { var i; for (i=0; i < nb_session; i++) { if (session_key == session[i]) // trouvé break; } if (i < nb_session) // trouvé { session[i] = session[nb_session-1]; expire$[i] = expire$[nb_session-1]; nb_session--; } } proc timer () { var i; for (i=0; i < nb_session; i++) { if (now$() > expire$[i]) // a expiré { kick (session[i], red$ () + "Tu viens ici pour jouer ou parler , pour dormir c'est dans ton lit ![10min]"); supprimer_de_table (session[i]); } } set_timer (1); // rappeler timer() toutes les secondes } proc event (session_key, userid$, sex$, has_photo, age, is_away, admin, cam_on, is_bot, toc_capab, signature$, action, is_myself, line$) { if (!is_myself) // pas moi-même { if (action == 128 && toc_capab<1) //si arrive en salle et pas toc or ou brun { print (red$ () +"Attention " + userid$ + " : TU SERAS KICKÉ APRÈS 30 SECONDES SI TU NE PARLES PAS !"); ajouter_dans_table (session_key); } if (action <= 1) { supprimer_de_table (session_key); } } if (action == 129 || action == 130 || action == 256 || action <= 1) { supprimer_de_table (session_key); } }