Variable Long -> int

Résolu
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008 - 25 oct. 2005 à 12:01
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008 - 26 oct. 2005 à 12:36
Voilà, c'est à mon tour de poser une question ^^

Alors, je suis en train de refaire, et améliorer HLirc, mais je suis devant un problème...

Pour envoyer des requêtes rcon(en gros admin...), il me faut demander un challenge, une sorte de pass de transaction.

Pour les nouveaux serveur Half-life(serveurs source) ce pass se
demande via une socket udp et nous est renvoyé de cette manière :

255 255 255 255 065 181 116 043 
015



181 116 043 
015 représente le code que je cherche. 
Cependant ces 4 suites de chiffres sont de type long... je sais pas comment les changer en int.
181 116 043 
015
=
875835443

Voilà... si quelqu'un peut m'aider, ça serait très gentil :) que le code soit mirc, javascript ou autre ça m'intéresse quand même :)

J'avais trouvé un script permettant de changer pour le type float... si ça peut aider qq1 qui s'y connait plus que moi :

;; Converts from float32 (4 bytes) to decimal - by noob
alias unfloat {
  echo -a $1
  if ($gettok($1,4,32) >= 100) return error
  var %x 4, %f , %b
  while (%x > 1) { %f = %f $+ $base($gettok($1,%x,32),10,2,8) | dec %x }
  echo -a %f ?
  var %m 1 $+ $mid(%f,10,23) , %e $calc($base($mid(%f,2,8),2,10) -127) , %x 24
  while (%x > 0) { dec %x | %b = $calc( %b + 2 ^ $calc(%x + %e) * $mid( %m , $calc(24 - %x) , 1 ) ) }
  return $calc(%b / 2^23)
}

exemple : $unfloat(102 169 187 68) = 1501.28125
ça convertit un nombre float en int.

Merci beaucoup :)



--------------------------------
Signature des parents :

2 réponses

cs_tofu Messages postés 1726 Date d'inscription vendredi 12 septembre 2003 Statut Membre Dernière intervention 13 juin 2009 1
26 oct. 2005 à 06:59
"exemple : $unfloat(102 169 187 68) = 1501.28125

ça convertit un nombre float en int."



heu un int t'as pas de virgule



le float étant plus grand que le type long, ça marcherait pas cet addon avec ton nombre? oO





-1337 connexion-
3
S333 Messages postés 266 Date d'inscription vendredi 8 juillet 2005 Statut Membre Dernière intervention 26 juin 2008
26 oct. 2005 à 12:36
Bon hé bien en fait j'ai réussi à régler mon problème...

Il n'y a pas réellement besoin de traduire les 4bytes, mais de les redonner plus difficilement que d'habitude ^^

Au lieu de lancer normalement mes requetes aux serveurs Half-life, je
suis obligé maintenant de placer ces requêtes dans des variables
binaires pour ensuite les envoyer par socket... :/ Si c'est pas chiant !

Merci quand même :)

------------------------------

Signature des parents :
0
Rejoignez-nous