Pickup cs,ns, ...

Description

Ceci est un système de PICKUP pour les jeux Sierra (Natural Selection, Half-Life, Counter-Strike, ...). Vous pouvez l'administrer même si ce mIRC tourne en arrière plan (Je suis pars du principe qu'un robot tourne toujours en arrière-plan). Il modifie le topic (et remet l'ancien topic une fois le pickup lancé), vous pouvez changer le nombre de joueur et lancer le jeu à tout moment, enfin vous verrez tout ce que vous pourrez faire ;).

Source / Exemple :


ON 1:TEXT:!hlp.pick:*:{
  if ( $nick isop $chan ) /notice $nick Liste des commandes OP: !pick nombre de joueur tipe de jeux (CS,NS, ...) (Lancer un pickup), !pick (arrêter un pickup).
}
ON 1:TEXT:!pick*:*:{
  if ( $nick isop $chan ) {
    if ( %pick == $null ) {
      if ( $3 == $null ) { /notice $nick Syntax: !pick Nombre de joueurs Tipe de jeu (CS, HL, BF42, ...) }
      else {
        /Set %pick 1
        /set %p.chan $chan
        /set %pick.top $chan($chan).topic
        /amsg 4Pickup $3 lancé sur  $+ $chan $+ 14!! 4Il y a seulement $2 places14!! 14!12add a 4ou 14!12add b 4et 14!12infos 14(!remove pour vous enlever de la liste).
        /notice $nick !map !players !ip !go 4/notice $me pass le pass du serveur 14(!refresh si il y a un bug quelque-part)
        /set %players $2
        /topic $chan 4Pickup en cour! 12Attente d'inscriptions 7(14!add a 7ou 14!add b7)14.12 %players places14.
      }
    }
    else { 
      if ( %p.chan == $chan ) { /unset %pick | /msg %p.chan Pickup annulé par $nick $+ . Désolé! | unset %a | unset %b | unset %pick.nick | unset %map | unset %players | /topic $chan %pick.top | /unset %pick.top | unset %p.chan | unset %pick.ip }
      else notice $nick Aucun pickup lancé sur ce chan!
    }
  }
}
ON *:TEXT:!add *:$( $+ %p.chan $+ ):{
  if ( %pick != $null ) {
    if ( $2 == a ) {
      if ( $nick !isin %pick.nick ) { /set %pick.nick %pick.nick $nick | /notice $nick Tu as bien était ajouté en a. | /set %a %a $nick | /pick.top }
      else /notice $nick On ne s'inscrit pas 2 fois merci.
    }
    if ( $2 == b ) {
      if ( $nick !isin %pick.nick ) { /set %pick.nick %pick.nick $nick | /notice $nick Tu as bien était ajouté en b. | /set %b %b $nick | /pick.top }
      else /notice $nick On ne s'inscrit pas 2 fois merci.
    }
  }
}
ON *:TEXT:!remove:$( $+ %p.chan $+ ):{
  if ( %pick != $null ) {
    if ( $nick isin %pick.nick ) {
      if ( $nick isin %a ) set %a $replace(%a, $nick, $chr(256))
      if ( $nick isin %b ) set %b $replace(%b, $nick, $chr(256))
      /set %pick.nick $replace(%pick.nick, $nick, $chr(256))
      /notice $nick Tu as bien était effacé
      /pick.top
    }
    else /notice $nick Tu n'est pas inscrit.
  }
}
ON *:TEXT:!infos:$( $+ %p.chan $+ ):{ if ( %pick != $null ) /notice $nick Map: %map - Inscris: $wildtok(%pick.nick,*,0,32) $+ / $+ %players - Team a: $wildtok(%a,*,0,32) - Team b: $wildtok(%b,*,0,32) - IP: %pick.ip }
ON *:TEXT:!refresh:$( $+ %p.chan $+ ):{ if ( $nick isop $chan ) { if ( %pick != $null ) { /pick.top } } }
ON *:TEXT:!map *:$( $+ %p.chan $+ ):{ if ( $nick isop $chan ) { if ( %pick != $null ) { /set %map $2 | /notice $nick Map bien enregistrée: %map | /pick.top } } }
ON *:TEXT:!ip *:$( $+ %p.chan $+ ):{ if ( $nick isop $chan ) { if ( %pick != $null ) { /set %pick.ip $2 | /notice $nick IP bien enregistrée: $2 } } }
ON *:TEXT:!players *:$( $+ %p.chan $+ ):{ if ( $nick isop $chan ) { if ( %pick != $null ) { /set %players $2 | /notice $nick Changement du nombre de joueurs bien enregistrée: $2 | /pick.top } } }
ON *:NOTICE:pass *:*:{ if ( $nick isop %p.chan ) { if ( %pick != $null ) { /set %pick.pass $2 | /notice $nick Mot de passe bien enregistrée: $2 } } }
ON *:TEXT:!go:$( $+ %p.chan $+ ):{ if ( $nick isop $chan ) { if ( %pick.ok != $null ) || ( %pick != $null ) { /go } } }
alias pick.top { 
  if ( %map == $null ) /topic %p.chan 4Pickup en cour 7(14 $+ $wildtok(%pick.nick,*,0,32) $+ / $+ %players $+ 7)14: 7A4>12 $replace(%a,$chr(32),14-12) 4||| 7B4>12 $replace(%b,$chr(32),14-12)
  if ( %map != $null ) /topic %p.chan 4Pickup en cour 7(14 $+ $wildtok(%pick.nick,*,0,32) $+ / $+ %players $+ 7)14: 7A4>12 $replace(%a,$chr(32),14-12) 4||| 7B4>12 $replace(%b,$chr(32),14-12) -|- 4Map:12 %map
  if ( $wildtok(%pick.nick,*,0,32) >= %players ) { /ok }
}
alias ok { msg %p.chan 4Les inscriptions sont terminée. 12Attente qu'un admin tape 3!go14. | set %pick.ok 1 | unset %pick }
alias go { 
  /msg %p.chan 4Pickup lancé! 12Pass fournit en notice.
  /pick.pass
}
alias pick.pass {
  var %i 0
  :suivant
  inc %i
  notice $wildtok(%pick.nick,*,%i,32) IP: %pick.ip - Pass: %pick.pass
  if ( %i >= $wildtok(%pick.nick,*,0,32) ) goto end
  else goto suivant
  :end
  /reset
}
alias reset { /unset %pick | unset %a | unset %b | unset %pick.nick | unset %map | unset %players | /topic $chan %pick.top | /unset %pick.top | unset %p.chan | unset %pick.ip | unset %pick.ok | unset %pick.pass }

Conclusion :


Je vous conseil vivement de mettre le robot OP afin qu'il puisse modifier le topic (il remet le topic précédent uen fois la partie lancé). Tapez !hlp.pick pour connaitre les commandes :) Retapez !pick pour annuler un pickup. VOUS DEVEZ ETRE OP POUR L'UTILISER! Merci de me rapporter les bugs. lorsque vous tapez !go, l'ip et le pass sont fournit en notice à chaque inscrit. Bon pickups ;)

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Du même auteur (cs_o_be_one)