Stats pour joueurs unreal tournament 2004

Soyez le premier à donner votre avis sur cette source.

Vue 7 437 fois - Téléchargée 96 fois

Description

Affiche les stats pour UT2004 !
J'en dirais pas plus je ne connais pas le jeu... On m'a demandé ca aujourd'hui c tout...
Bon on vient de me souffler que par l'id ct pas suffisant... <== Corrigé...

Maintenant: !ut2k4 <nom_joueur> ou bien !ut2k4.id <id_joueur>

Au choix... Le zip ou le code ci dessous... Les explications d'installation sont au début... ;o)

PS: On pourra dire c mal fait... Ms aussi ct vite fait... On m'a demandé ca ce matin j'ai fait maintenant moi je m'en servirais jamais :p

Source / Exemple :


;========================================================================================;
; UT2004 - Statistiques Joueurs - ver 1.0 - Mars 2004                                    ;
;========================================================================================;
; NSTALLATION: "/load -rs ut2004.mig" ou bien ALT +R Menu File / load                    ;
; Demandé par un inconnu de Quakenet pour son chan ^^ (Je ne connais pas ut2k4...)       ;
; Si problème ou commentaires: migoch@free.fr ou /server irc.voila.fr -j #scripting      ;
;========================================================================================;

on *:LOAD: {
  /hmake ut2004.protect 30
  /echo -a 6?3 Addon By Migoch: migoch@free.fr
  /echo -a 6?3 Principe: Tappez sur un salon: !ut2k4.id <votre Id> Sinon !ut2k4.play <Nom de Joueur>
  /echo -a 6?3 La vitesse de réponse va varier suivant la charge du serveur et votre vitesse de connexion...
  /echo -a 6?3 1 demande tte les 10 sec seulement... (protection par kick voir ban si @)
}

menu menubar,status,channel  {
  UT2004
  .On: { /enable #ut2004 }
  .Off: { /disable #ut2004 }
}

;========================================================================================;
; Demande utilisateur - ver 1.0 - Mars 2004                                              ;
;========================================================================================;
#ut2004 on
on 1:TEXT:!ut2k4.id*:#: {
  if ( $me isop # ) {
    inc -u10 %ut2004protect. $+ $nick
    if (%ut2004protect. [ $+ [ $nick ] ] == 6) { /kick $chan $nick Merci de ne pas abuser des commandes... }
    if (%ut2004protect. [ $+ [ $nick ] ] == 8) {
      /mode $chan +b $address($nick,2) | unset %ut2004protect. [ $+ [ $nick ] ]
      /timerut2004unban $+ nick 1 60 /mode $chan -b $address($nick,2)
      /notice $nick 3,0On abuse pas des commandes $nick $+ ... Unban dans 1 minute...
    }
  }
  if ( $hget(ut2004protect,$nick) == $null ) {
    /hadd -mu10 ut2004protect $nick 1
    /set %ut2004.id $$2 | /set %ut2004.chan $chan
    /ut2004.opensock
  }
}
on 1:TEXT:!ut2k4.play*:#: { /set %ut2k4play.play $$2 | /set %ut2k4play.chan $chan | /ut2k4play.opensock }
#ut2004 END

;========================================================================================;
; Sockets UT2004 - ver 1.0 - Mars 2004                                                   ;
;========================================================================================;
alias ut2k4play.opensock { /sockopen sockut2k4play ut2004stats.epicgames.com 80 }
alias ut2k4play.closesock { /unset %ut2k4play.buffer %ut2k4play.chan %ut2k4play.getut2k4play %ut2k4play.play | /sockclose sockut2004 }
alias ut2k4play.sockgetinfos {
  /set %ut2k4play.buffer 0 | /set %ut2k4play.getut2004 GET /index.php?stats=players&SearchName= $+ %ut2k4play.play HTTP/1.1
  /sockwrite -tn sockut2k4play %ut2k4play.getut2004 | /sockwrite -tn sockut2k4play host: ut2004stats.epicgames.com | /sockwrite -tn sockut2k4play
}

on 1:sockread:sockut2k4play: {
  /sockread %ut2k4play.buffer
  if ( ( %ut2k4play.play isin %ut2k4play.buffer ) && ( SearchName !isin %ut2k4play.buffer ) ) {
    if ( $left($left($right(%ut2k4play.buffer,-92),-9),1) == $chr(34) ) { /var %pnom = $mid($left($right(%ut2k4play.buffer,-91),-9),4) | /msg #migoch Pwet6 }
    elseif ( $left($left($right(%ut2k4play.buffer,-91),-9),1) == $chr(34) ) { /var %pnom = $mid($left($right(%ut2k4play.buffer,-91),-9),3) | /msg #migoch Pwet5 }
    elseif ( $left($left($right(%ut2k4play.buffer,-90),-9),1) == $chr(34) ) { /var %pnom = $mid($left($right(%ut2k4play.buffer,-91),-9),2) | /msg #migoch Pwet4 }
    elseif ( $left($left($right(%ut2k4play.buffer,-89),-9),1) == $chr(34) ) { /var %pnom = $mid($left($right(%ut2k4play.buffer,-91),-9),1) | /msg #migoch Pwet3 }
    elseif ( $left($left($right(%ut2k4play.buffer,-88),-9),1) == $chr(34) ) { /var %pnom = $left($right(%ut2k4play.buffer,-90),-9) | /msg #migoch Pwet2 }
    else { /var %pnom = $left($right(%ut2k4play.buffer,-89),-9) | /msg #migoch Pwet1 }
    if ( $left($mid(%ut2k4play.buffer,93),1) == $chr(34) ) { /var %pid = $left($right(%ut2k4play.buffer,-86),6) }
    elseif ( $left($mid(%ut2k4play.buffer,92),1) == $chr(34) ) { /var %pid = $left($right(%ut2k4play.buffer,-86),5) }
    elseif ( $left($mid(%ut2k4play.buffer,91),1) == $chr(34) ) { /var %pid = $left($right(%ut2k4play.buffer,-86),4) }
    elseif ( $left($mid(%ut2k4play.buffer,90),1) == $chr(34) ) { /var %pid = $left($right(%ut2k4play.buffer,-86),3) }
    elseif ( $left($mid(%ut2k4play.buffer,89),1) == $chr(34) ) { /var %pid = $left($right(%ut2k4play.buffer,-86),2) }
    else { /var %pid = $left($right(%ut2k4play.buffer,-86),1) }
    /sockread %ut2k4play.buffer | /var %pmatches = $left($right(%ut2k4play.buffer,-36),-5)
    if ( c isin $chan(%ut2004.chan).mode ) { /msg %ut2k4play.chan ? [ Stats UT2004 ] # $+ %i player: %pnom Player Id: %pid Matches: %pmatches }
    else { /msg %ut2k4play.chan 6,0? [3 Stats UT2004 6]3 player: %pnom 3Player Id: %pid 3Matches: %pmatches }
  }
}
on 1:SOCKOPEN:sockut2k4play: { /ut2k4play.sockgetinfos }

;========================================================================================;
; Sockets UT2004 - ver 1.0 - Mars 2004                                                   ;
;========================================================================================;
alias ut2004.opensock { /sockopen sockut2004 ut2004stats.epicgames.com 80 }
alias ut2004.closesock { /unset %ut2004.buffer %ut2004.chan %ut2004.getut2004 %ut2004.id | /sockclose sockut2004 }
alias ut2004.sockgetinfos {
  /set %ut2004.buffer 0 | /set %ut2004.getut2004 GET /index.php?stats=players&SearchID= $+ %ut2004.id HTTP/1.1
  /sockwrite -tn sockut2004 %ut2004.getut2004 | /sockwrite -tn sockut2004 host: ut2004stats.epicgames.com | /sockwrite -tn sockut2004
}

on 1:sockread:sockut2004: {
  /sockread %ut2004.buffer
  if ( CLASS="darkhuman" isin %ut2004.buffer ) {
    if ( $left($left($right(%ut2004.buffer,-91),-9),1) == $chr(34) ) { /var %nom = $mid($left($right(%ut2004.buffer,-91),-9),3) }
    else { /var %nom = $left($right(%ut2004.buffer,-91),-9) }
    /sockread %ut2004.buffer | /var %matches = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %score = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %frags = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %kills = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %deaths = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %suicides = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %eff = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %fph = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %sph = $left($right(%ut2004.buffer,-36),-5)
    /sockread %ut2004.buffer | /var %hours = $left($right(%ut2004.buffer,-36),-5)
    if ( c isin $chan(%ut2004.chan).mode ) { /msg %ut2004.chan ? [ Stats UT2004 ] Id: %ut2004.id Nom: %nom Matches: %matches Score: %score Frags: %frags Kills: %kills Deaths: %deaths Suicides: %suicides Eff.: %eff FPH: %fph SPH: %sph Hours: %hours URL: http://ut2004stats.epicgames.com/playerstats.php?player= $+ %ut2004.id }
    else { /msg %ut2004.chan 6,0? [3 Stats UT2004 6]3 Id: %ut2004.id 3Nom: %nom 3Matches: %matches 3Score: %score 3Frags: %frags 3Kills: %kills 3Deaths: %deaths 3Suicides: %suicides 3Eff.: %eff 3FPH: %fph 3SPH: %sph 3Hours: %hours 3URL: http://ut2004stats.epicgames.com/playerstats.php?player= $+ %ut2004.id }
    /ut2004.closesock
  }
}
on 1:SOCKOPEN:sockut2004: { /ut2004.sockgetinfos }

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
708
Date d'inscription
lundi 15 juillet 2002
Statut
Membre
Dernière intervention
17 mars 2005

pas mal tres agressif mais pas mal
Messages postés
708
Date d'inscription
lundi 15 juillet 2002
Statut
Membre
Dernière intervention
17 mars 2005

pas mal tres agressif mais pas mal
Messages postés
1
Date d'inscription
mardi 28 janvier 2003
Statut
Membre
Dernière intervention
19 mars 2004

Hello,
1) Oui les "/" sont inutiles je les mets qd même...
2) Comme je l'est dit je le connais pas non plus lol... C pour des gens de quakenet... Surement pour comparer leurs scores
3) Question de clareté, Pour les timers j'avais pas fait gaffe... Vu que c pour un bot et que les remotes sont chargés à distance j'avais même pas vu :/ sinon pour le sockread je vois pas comment faire autrement... car là je lit ligne par ligne au bout d'un certain moment...

Pour finir et comme déjà dit moi je ne l'utiliserais JAMAIS... lol Un mec est venu sur un chan hier a demandé si qq1 pouvait lui faire ça... Je lui est fait ds la matiné alors que j'"aide" ds mes limites sans faire le boulot des autres... Donc ma charité à déjà bien payé pour faire ceci :p
Merci de vos commentaires c'est toujours utile
Messages postés
76
Date d'inscription
lundi 13 octobre 2003
Statut
Membre
Dernière intervention
19 mars 2004

je me demande quel gars as bien pu demander ca... :s
lol
Messages postés
2084
Date d'inscription
jeudi 12 décembre 2002
Statut
Modérateur
Dernière intervention
30 janvier 2011
8
Tu aurais pu regrouper tes événements TEXT.
Mets peut-être un "." devant tes timers pour les amorcer silencieusement.
Ton SOCKREAD est très .. comment dire, brutal !
Gère les données ligne par ligne reçu, et non tout d'un coup.
Avant d'ouvrir ton socket, et de l'utiliser, vérifie déjà si il est connecté, on sait jamais :
if $sock(nom_du_socket,0) Retourne 1 si ouvertre, 0 dans le cas contraire.

Bon comme tu l'as dit, c'est une source vite faite, mais ici, nous voulons un travail bien fait. Alors essaie de 'mieux coder' ça.

Bonne continuation.
Afficher les 7 commentaires

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.