Pacman multi-joueur en ligne

Contenu du snippet

Bon, malgre qu'il y est deja www.ircfr.com/codes/PACMAN-ONLINE-JOUEURS_46949.aspx, je prefere poster ce code en tant que nouvelle source parce qu'il y a une tres tres grande difference entre les deux.
Donc c'est toujours un pacman multijoueur en ligne, sauf que maintenant il y a un lobby (un endroit regroupant les joueurs ou ils peuvent communiquer), une liste de serveur (si vous etes connecte au lobby), et un editeur de niveau.
On peut jouer avec plusieurs pacmans contre plusieurs fantomes (4 fantomes max) et il y a une gestion de spectateur.
Il y a d'autres features mais je ne vais pas tout dire ici, je vous laisse voir par vous meme.
Tout est en anglais donc si vous avez des questions, poser les ici ou sur irc (irc.swiftirc.net #pacman)
Il y a un systeme de mise a jour automatique et le code present ici n'est qu'un installeur qui telecharge les fichiers (et les charge) pour vous.

Source / Exemple :


alias -l pac_cinstall {
  sockclose pac_ckinst
  sockopen pac_ckinst dl.dropbox.com 80
  write -c $qt($scriptdirupdate.pac)
}

on *:sockopen:pac_ckinst:{
  if (!$sockerr) sockwrite $sockname GET /u/4249275/Pacman/update.pac HTTP/1.0 $+ $str($crlf,2)
}

on *:sockread:pac_ckinst:{
  if ($sock($sockname).mark) {
    sockread -f &a 
    bwrite $qt($scriptdirupdate.pac) -1 -1 &a
  }
  else {
    var %a
    sockread %a
    if (%a == $null) sockmark $sockname 1 
  }
}
on *:sockclose:pac_ckinst:pac_install

alias -l pac_install {
  if (!$isdir($scriptdirpacman)) mkdir $qt($scriptdirpacman)
  if (!$isdir($scriptdirpacman\maps)) mkdir $qt($scriptdirpacman\maps)
  var %a 2
  while ($read($scriptdirupdate.pac,tn,%a)) { pac_dl_install %a $v1 | inc %a }
  set %pacinstall %a - 2
  .remove $qt($scriptdirupdate.pac)
}

alias -l pac_dl_install {
  sockclose pac_install $+ $1
  sockopen pac_install $+ $1 dl.dropbox.com 80
  sockmark pac_install $+ $1 $2-
}

on *:sockopen:pac_install?*:{
  if (!$sockerr) {
    .fopen -no $sockname $qt($scriptdirpacman\ $+ $sock($sockname).mark)
    sockwrite $sockname GET $+(/u/4249275/Pacman/,$sock($sockname).mark HTTP/1.1,$crlf,Host: dl.dropbox.com,$crlf,Connection: close,$str($crlf,2))
    sockmark $sockname
  }
}

on *:sockread:pac_install?*:{
  if ($sock($sockname).mark) {
    sockread -f &a 
    .fwrite -b $sockname &a
  }
  else {
    var %a
    sockread %a
    if (%a == $null) sockmark $sockname 1
  }
}

on *:sockclose:pac_install?*:{
  var %f $fopen($sockname).fname
  dec %pacinstall
  .fclose $sockname
  if ($right(%f,4) == .mrc) .reload -rs $qt(%f)
  if (!%pacinstall) { unset %pacinstall | .remove $qt($scriptdirupdate.pac) | .timer 1 1 pacman $!input(Install complete,o,Pacman - Install) | .remove $qt($script) | .unload -rs $qt($script) }
}

menu channel,menubar,query,status {
  Pacman : pacman
}
alias Pacman pac_cinstall

Conclusion :


/pacman pour installer ou faite un clique droit > pacman

J'attend avec impatience vos reactions!

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.