Script pour organiser des matchs Counter Strike

cs_MaN93 Messages postés 4 Date d'inscription mardi 30 mai 2006 Statut Membre Dernière intervention 22 juin 2006 - 21 juin 2006 à 10:40
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 - 23 juin 2006 à 21:59
Salut à toutes et à tous.

Voilà je suis en train de réaliser un script pour organiser des matchs de mon clan CS. J'explique l'utilité de ce bot: nous sommes 10 dans ce clan mais seulement 5 personnes peuvent jouer en match. Grace à ce script les personnes qui tape !add s'ajoute à l'équipe qui jouera le match. Voici la grande fonction de ce "bot".

Seulement j'aimerais avoir une autre fonction d'ajout à l'équipe. J'aimerais ajouter moi meme manuellement les personnes en tapant !add pseudo. J'avoue être un peu perdu pour réaliser cette commande et j'espère que quel'qu'un pourra m'aider à finir ce script :)

Par ailleurs, je suis sur qu'il y a moyen d'optimiser ce code, pourrait-on m'aider aussi pour cela ? :) Comme par exemple regrouper les %Player1 %Player2 etc.. en %Team

En vous remerciant d'avance.

Voici mon script en l'état actuel :

__________

on *:JOIN:%MonChan:{
  .notice $nick Big up $nick 7>>> 1commandes: 15!site 4. 15!ts 4. 15!serv 7>>> 1Have fun =)
}


on *:text:!activer*:?:{
  if (%pickok == off) {
    if ($nick isop %ChanWar) {
      .set %pickok on
      .msg $nick Bot gather activé.
    }
  }
}


on *:text:!desactiver*:?:{
  if (%pickok == on) {
    if ($nick isop %ChanWar) {
      .set %pickok off
      .set %Player1 ?
      .set %Player2 ?
      .set %Player3 ?
      .set %Player4 ?
      .set %Player5 ?
      .set %H ?
      .set %M ?
      .set %Team ?
      .set %Ip ?
      .set %Pass ?
      .set %map1 ?
      .set %map2 ?
      .msg $nick Bot gather désactivé.
    }
  }
}


on *:ACTION:*:*:{
  if ($me isin $1- && %vslap != off) {
    set -u2 %vslap off
    describe $chan $replace($1-, $me, $nick)
  }
}


 


on *:NICK:{
  if ($nick == %Player1) {
    .set %Player1 $newnick
    .changetopic
  }
  if ($nick == %Player2) {
    .set %Player2 $newnick
    .changetopic
  }
  if ($nick == %Player3) {
    .set %Player3 $newnick
    .changetopic
  }
  if ($nick == %Player4) {
    .set %Player4 $newnick
    .changetopic
  }
  if ($nick == %Player5) {
    .set %Player5 $newnick
    .changetopic
  }
}


 


on *:TEXT:*:?:{
  if ((!ip == $left($1-,3)) && ($nick isop %ChanWar)) {
    if ($2- != $null) {
      .set %Ip $2- 
    }  else .set %Ip ?
    .msg $nick 1>>> L'ip du server :15 %ip
  }


  if ((!pass == $left($1-,5)) && ($nick isop %ChanWar)) {
    if ($2- != $null) {
      .set %Pass $2-
    }   else .set %Pass ?
    .msg $nick 1Le pass du server :15 %Pass
  }


  if ((!map1 == $left($1-,5)) && ($nick isop %ChanWar)) {
    if ($2- != $null) {
      .set %map1 $2-   
    }  else .set %map1 ?
    .msg $nick 1La 1er carte est :15 %map1
  }


  if ((!map2 == $left($1-,5)) && ($nick isop %ChanWar)) {
    if ($2- != $null) {
      .set %map2 $2-   
    }  else .set %map2 ?
    .msg $nick 1La 2nd carte est :15 %map2
  }


  if (!site isin $1-) {
    .msg $nick 1Site 15: %SiteURL
  }


  if (!serv isin $1-) {
    .msg $nick 1serveur dp.css :15 %ServerIP 4|1 pass:15 %ServerPass
  }


  if (!ts isin $1-) {
    .msg $nick  1#d.p server TS15: %TSIP 4|1 pass:15 %TSPass
  }
}


on *:INPUT:?:{
  if ((!ip == $left($1-,3)) && ($nick isop %ChanWar)) {
    if ($2- != $null) .set %Ip $2-    else .set %Ip ?
    .msg $nick 1L'ip du server :15 %ip
  }


  if ((!pass == $left($1-,5)) && ($nick isop %ChanWar)) {
    if ($2- != $null) .set %Pass  $2-    else .set %Pass ?
    .msg $nick 1Le pass du server :15 %Pass
  }


  if ((!map1 == $left($1-,5)) && ($nick isop %ChanWar)) {
    if ($2- != $null) .set %map1 $2-    else .set %map1 ?
    .msg $nick 1La 1er carte est :15 %map1
  }


  if ((!map2 == $left($1-,5)) && ($nick isop %ChanWar)) {
    if ($2- != $null) .set %map2 $2-    else .set %map2 ?
    .msg $nick 1La 2nd carte est :15 %map2
  }


  if (!site isin $1-) {
    .msg $nick 1Site 15: %SiteURL
  }


  if (!serv isin $1-) {
    .msg $nick 1serveur dp.css :15 %ServerIP 4|1 pass:15 %ServerPass
  }


  if (!ts isin $1-) {
    .msg $nick 1#d.p server TS15: %TSIP 4|1 pass:15 %TSPass
  }
}




on *:Text:!site:%ChanWar:{
  .msg $chan 1Site 15: %SiteURL
}


on *:Text:!site:%dpChan:{
  .msg $chan 1Site 15: %SiteURL
}


on *:Text:!serv*:%ChanWar:{
  .msg $nick 1serveur dp.css :15 %ServerIP 4|1 pass:15 %ServerPass
}


on *:Text:!serv*:%dpChan:{
  .msg $nick 1serveur dp.css :15 %ServerIP 4|1 pass:15 %ServerPass
}


on *:Text:!ts:%ChanWar:{
  .msg $nick 1#d.p server TS15: %TSIP 4|1 pass:15 %TSPass
}


on *:Text:!ts:%dpChan:{
  .msg $nick 1#d.p server TS15: %TSIP 4|1 pass:15 %TSPass
}


on *:Text:!add:%ChanWar:{
  if ( $nick ison %ChanWar ) {
    if (%pickok == on) {
      if (($nick != %Player1) && ($nick != %Player2) && ($nick != %Player3) && ($nick != %Player4)  && ($nick != %Player5)) {         if ((? %Player1) || (%Player1 $null)) {
          .set %Player1 $nick
        }         elseif ((? %Player2) || (%Player2 $null)) {
          .set %Player2 $nick
        }         elseif ((? %Player3) || (%Player3 $null)) {
          .set %Player3 $nick
        }         elseif ((? %Player4) || (%Player4 $null)) {
          .set %Player4 $nick
        }         elseif ((? %Player5) || (%Player5 $null)) {
          .set %Player5 $nick
        }
        else {
          .msg $nick groupe full
        }
        .changetopic
      }
      else .msg $nick $nick déjà ajouté
    }
  }
}


on *:Text:!stop:%ChanWar:{
  if (%pickok == on)  {
    if ($nick isop %ChanWar) {
      .set %Player1 ?
      .set %Player2 ?
      .set %Player3 ?
      .set %Player4 ?
      .set %Player5 ?
      .set %H ?
      .set %M ?
      .set %Team ?
      .set %Ip ?
      .set %Pass ?
      .set %map1 ?
      .set %map2 ?
      .msg %ChanWar 1>>> 15W1ar stoppée 7• 1Inscrivez-vous15: !add 7•1 Lineup 15: |4 $+ %Player1 $+ 15|8 $+ %Player2 $+ 15|1 $+ %Player3 $+ 15|7 $+ %Player4 $+ 15|10 $+ %Player5 $+ 15|
    }
  }
}


on *:Text:!train:%ChanWar:{
  if (%pickok == on) {
    if ($nick isop %ChanWar) {
      .msg %ChanWar >>> 15T1rain:1 %H $+ H $+ %M 1vs 4 %Team
      .msg %ChanWar >>> 15L1ineup: |4 $+ %Player1 $+ 15|8 $+ %Player2 $+ 15|1 $+ %Player3 $+ 15|7 $+ %Player4 $+ 15|10 $+ %Player5 $+ 15|
      .msg $nick >>> 15I1p: 15 $+ %Ip 4| 15P1ass : 15 $+ %Pass
      .msg %ChanWar >>> 15M1ap 1: 15 $+ %map1 4| 15M1ap 2: 15 $+ %map2
    }
  }
}


on *:Text:!remove:%ChanWar:{
  if (%pickok == on) {
    if ( $nick ison %ChanWar ) {       if ($nick %Player1) || (%Player1 $null)) {
        .set %Player1 ?
      }       elseif ($nick %Player2)|| (%Player2 $null)) {
        .set %Player2 ?
      }       elseif ($nick %Player3) || (%Player3 $null)) {
        .set %Player3 ?
      }       elseif ($nick %Player4) || (%Player4 $null)) {
        .set %Player4 ?
      }       elseif ($nick %Player5) || (%Player5 $null)) {
        .set %Player5 ?
      }
      .changetopic
    }
  }
}


on *:Text:*:%ChanWar:{
  if ((!h isin $1-) && ($nick isop %ChanWar)) {
    if (($2- != $null) && ($2- isnum 0-23)) {
      .set %H $2-
      .changetopic
    }
    elseif ($2- == $null) {
      .set %H ?     
      .changetopic
    }
  }


  if ((!m isin $1-) && ($nick isop %ChanWar)) {
    if (($2- != $null) && ($2- isnum 0-59)) {
      .set %M $2-     
      .changetopic
    }
    elseif ($2- == $null) {
      .set %M ?     
      .changetopic
    }
  }


  if (((!vs $left($1-,3)) || (!team $left($1-,5))) && ($nick isop %ChanWar)) {
    if ($2- != $null) {
      .set %Team $2-   
    } else .set %Team ?   
    .changetopic
  }
}




on *:Input:%ChanWar:{
  if (!site == &1-) {
    .msg $nick 10Site 9PoTeS Crew 10:8 %SiteURL
  }


  if (!serv isin &1-) {
    .msg $nick 10Serveur 9PoTeS Au FeU 10:4 %ServerIP 8| 10Mot de passe :11 %ServerPass
  }


  if (!ts == &1-) {
    .msg $nick 9#PoTeS 10TS Server :11 %TSIP 8| 10Mot de passe :11 %TSPass
  }


  if ((!add == $1-) && ( $nick ison %ChanWar )) {
    if (($nick != %Player1) && ($nick != %Player2) && ($nick != %Player3) && ($nick != %Player4)  && ($nick != %Player5)) {       if ((? %Player1) || (%Player1 $null)) {
        .set %Player1 $nick
      }       elseif ((? %Player2) || (%Player2 $null)) {
        .set %Player2 $nick
      }       elseif ((? %Player3) || (%Player3 $null)) {
        .set %Player3 $nick
      }       elseif ((? %Player4) || (%Player4 $null)) {
        .set %Player4 $nick
      }       elseif ((? %Player5) || (%Player5 $null)) {
        .set %Player5 $nick
      }
      else {
        .msg $nick groupe full
      }
      .changetopic
    }
    else .msg $nick $nick déjà ajouté
  }


  if ((!stop == $1-) && ($nick isop %ChanWar)) {
    .set %Player1 ?
    .set %Player2 ?
    .set %Player3 ?
    .set %Player4 ?
    .set %Player5 ?
    .set %H ?
    .set %M ?
    .set %Team ?
    .set %Ip ?
    .set %Pass ?
    .set %map1 ?
    .set %map2 ?
    .msg %ChanWar 1>>> 15W1ar stoppée 7• 1Inscrivez-vous15: !add 7•1 Lineup 15: |4 $+ %Player1 $+ 15|8 $+ %Player2 $+ 15|1 $+ %Player3 $+ 15|7 $+ %Player4 $+ 15|10 $+ %Player5 $+ 15|
  }


}


if ((!h isin $1-) && ($nick isop %ChanWar)) {
  if (($2- != $null) && ($2- isnum 0-23)) {
    .set %H $2-     
    .changetopic
  }
  elseif ($2- == $null) {
    .set %H ?     
    .changetopic
  }
}


if ((!m isin $1-) && ($nick isop %ChanWar)) {
  if (($2- != $null) && ($2- isnum 0-59)) {
    .set %M $2-     
    .changetopic
  }
  elseif ($2- == $null) {
    .set %M ?     
    .changetopic
  }
}


if (((!vs $left($1-,3)) || (!team $left($1-,5))) && ($nick isop %ChanWar)) {
  if ($2- != $null) {
    .set %Team $2-   
  } else .set %Team ?   
  .changetopic
}


if ((!train == $1-) && ($nick isop %ChanWar)) {
  .msg %ChanWar 3,1»9»3» 7T8rain :4 %H $+ H $+ %M 7V8s4 %Team 3«9«3«
  .msg %ChanWar 3,1»9»3» 7L8ine 7U8p : 0|9 $+ %Player1 $+ 0|8 $+ %Player2 $+ 0|4 $+ %Player3 $+ 0|7 $+ %Player4 $+ 0|11 $+ %Player5 $+ 0| 3«9«3«
  .msg $nick 3,1»9»3» 7I8p : 4 $+ %Ip 0| 7P8ass : 4 $+ %Pass 3«9«3«
  .msg %ChanWar 3,1»9»3» 7M8ap 1 : 4 $+ %map1 0| 7M8ap 2 : 4 $+ %map2 3«9«3«
}


if ((!remove == $1-) && ( $nick ison %ChanWar ))  {   if ($nick %Player1) || (%Player1 $null)) {
    .set %Player1 ?
  }   elseif ($nick %Player2)|| (%Player2 $null)) {
    .set %Player2 ?
  }   elseif ($nick %Player3) || (%Player3 $null)) {
    .set %Player3 ?
  }   elseif ($nick %Player4) || (%Player4 $null)) {
    .set %Player4 ?
  }   elseif ($nick %Player5) || (%Player5 $null)) {
    .set %Player5 ?
  }
  .changetopic
}
}


on *:part:%ChanWar:{   if ($nick %Player1) || (%Player1 $null)) {
    .set %Player1 ?
  }   elseif ($nick %Player2)|| (%Player2 $null)) {
    .set %Player2 ?
  }   elseif ($nick %Player3) || (%Player3 $null)) {
    .set %Player3 ?
  }   elseif ($nick %Player4) || (%Player4 $null)) {
    .set %Player4 ?
  }   elseif ($nick %Player5) || (%Player5 $null)) {
    .set %Player5 ?
  }
  .changetopic
}
}


on *:quit:%ChanWar:{   if ($nick %Player1) || (%Player1 $null)) {
    .set %Player1 ?
  }   elseif ($nick %Player2)|| (%Player2 $null)) {
    .set %Player2 ?
  }   elseif ($nick %Player3) || (%Player3 $null)) {
    .set %Player3 ?
  }   elseif ($nick %Player4) || (%Player4 $null)) {
    .set %Player4 ?
  }   elseif ($nick %Player5) || (%Player5 $null)) {
    .set %Player5 ?
  }
  .changetopic
}
}


on *:kick:%ChanWar:{   if ($nick %Player1) || (%Player1 $null)) {
    .set %Player1 ?
  }   elseif ($nick %Player2)|| (%Player2 $null)) {
    .set %Player2 ?
  }   elseif ($nick %Player3) || (%Player3 $null)) {
    .set %Player3 ?
  }   elseif ($nick %Player4) || (%Player4 $null)) {
    .set %Player4 ?
  }   elseif ($nick %Player5) || (%Player5 $null)) {
    .set %Player5 ?
  }
  .changetopic
}
}

3 réponses

cs_MaN93 Messages postés 4 Date d'inscription mardi 30 mai 2006 Statut Membre Dernière intervention 22 juin 2006
22 juin 2006 à 18:16
ça y est, j'ai reussi à réaliser la commande !add $nick

cependant si quelqu'un pouvait m'aider à optimiser le script ça serait sympa de sa part :) je parle pas d'améliorer visuellement le script comme enlever les "." inutile etc.. mais pour que le script soit moins surchargé avec les $player1 $player2 etc... (cf mon premier post)
0
GenerationNoNNoN Messages postés 10 Date d'inscription dimanche 18 juin 2006 Statut Membre Dernière intervention 23 juin 2006
23 juin 2006 à 03:58
pour optimiser rassemble déja les on text, tu te repérera plus facilement, ensuite attaque un beau code avec l'aide de CS 
0
fjxokt Messages postés 840 Date d'inscription vendredi 28 janvier 2005 Statut Membre Dernière intervention 25 février 2009 1
23 juin 2006 à 21:59
Sert toi des tokens, tu n'auras plus qu'une seule var qui contiendra tout les nicks
$addtok(%players,pseudo,32) va ajouter player a la liste des joueurs
$deltok(%players,pseudo,32) va le supprimer
$istok(%players,pseudo,32) retourne $true si player est dans %players
$numtok(%players,32) te retourne le nombre de jouers qui sont présents dans ta var %players
Avec ces changement ton code pourra être grandement réduit et simplifié.
0
Rejoignez-nous