begin process at 2008 08 30 11:55:51
1 234 000 membres
37 nouveaux aujourd'hui
14 294 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : sockudp aide svp :) [ Add-on / Général ] (zeprex)

sockudp aide svp :) le 15/01/2008 23:22:45

zeprex
Bonjour a tous, sur le forum j'ai trouvé un code me permettant de scanner un ip cs et de m afficher

- Le nom
- Les joueurs ( slots/slots )
- ....

J'aimerais disposer du meme code pour le jeux ET(Ennemy Territory ou wolfenstein )

Si vosu pouviez m'aider a trouver la ligne correcte dans le sockudp merci

[CODE]alias hlserver {
  set %hlserver.ip $$1
  set %hlserver.spitchan $iif($2,$2,$active)     
  sockudp -k hlchanserver $gettok(%which.server,1,58) $gettok(%which.server,2,58) ÿÿÿÿTSource Engine Query 
  set %hlserver.ping $ticks
  .timertimeout 1 3 timeout
}


ON *:INPUT:#:{
  if ($1 == !setserver) {
    if (!$3) {
      notice $nick �1F;Correct syntax�1F;: !setserver <1,2,3> <ip:port> -- (�1F;ex�1F;: !setserver 1 192.168.45.86:27015)
      halt
    }
    if ($2 == 1) && ($gettok($$3,2,58)) {
      set %1st.server $3- | notice $nick Server (�2;1�2;) with ip:�2; $gettok($$3,1,58) �2;and port:�2; $gettok($$3,2,58) �2;successfully updated.
    }
    if ($2 == 2) && ($gettok($$3,2,58)) {
      set %2nd.server $3- | notice $nick Server (�2;2�2;) with ip:�2; $gettok($$3,1,58) �2;and port:�2; $gettok($$3,2,58) �2;successfully updated.
    }
    if ($2 == 3) && ($gettok($$3,2,58)) {
      set %3rd.server $3- | notice $nick Server (�2;3�2;) with ip:�2; $gettok($$3,1,58) �2;and port:�2; $gettok($$3,2,58) �2;successfully updated.
    }
    elseif (!$gettok($$3,2,58)) && ($3) {
      notice $nick �1F;Correct syntax�1F;: !setserver <1,2,3> <ip:port> -- (�1F;ex�1F;: !setserver 1 192.168.45.86:27015)
    }
  }
  if ($1 == !server) {
    if (!$2) {
      msg $chan �1F;Correct syntax�1F;: !server <1,2,3>
    }
    if ($2 == 1) {
      set %which.server %1st.server | hlserver %1st.server $chan
    }
    if ($2 == 2) {
      set %which.server %2nd.server | hlserver %2nd.server $chan
    }
    if ($2 == 3) {
      set %which.server %3rd.server | hlserver %3rd.server $chan
    }
  }
}

on *:udpread:hlchanserver:{
  sockread &temp
  if ($bvar(&temp,5) == 73) {
    var %hlserver.source 1
    var %i = 7
  }
  elseif ($bvar(&temp,5) == 109) {
    var %i = $calc($bfind(&temp,1,0) + 1)
  }
  var %hlserver.name = $bvar(&temp,%i,100).text
  inc %i $len(%hlserver.name)
  inc %i


  var %hlserver.ping = $calc($ticks - %hlserver.ping)

  .timertimeout off
  msg %hlserver.spitchan �1F;IP�1F;: %hlserver.ip $chr(172) �1F;Name�1F;: %hlserver.name $chr(172)
  sockclose hlchanserver
  unset %hlserver.*   
}

alias timeout {
  msg %hlserver.spitchan Server doesn't answer.
  sockclose hlchanserver
  unset %hlserver.*
[/CODE]

Re : sockudp aide svp :) le 16/01/2008 14:10:05

wims
Ton code est super mal foutu, y'aurais bien moyen d'optimiser ça...
En attendant, le code lis a des endroit bien précis dans la variable binaire, ce qui laisse supposer que les données sont envoyée a un endroit précis, si les données pour l'autre jeux ne sont pas au même endroit, ça risque de merder.
La chose a faire, c'est de stocké les données recu pour ET et de les affichers (dans un fichier text, ou en echo directement, mais ça peux coincé avec la longueur du text) ensuite tu regardes ou sont les infos et tu vas cherché si tu n'arrives pas a faire tout ça donnes au moins ici deux exemple de ce que le jeu ET envois, utilise ce code :

alias testudp sockudp -k Ga server port

on *:udpread:Ga:sockread &a | bwrite Ga.txt -1 -1 &a
ensuite regarde le fichier Ga.txt, il contiendra les données.


Classé sous : server, gettok, 1f, if, hlserver

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS