AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Spanish (https://forums.alliedmods.net/forumdisplay.php?f=135)
-   -   Packing Float a Char (https://forums.alliedmods.net/showthread.php?t=227313)

Destro- 09-29-2013 16:22

Packing Float a Char
 
Lo que estoy buscando es convertir/encodear/empaquetar un float a 2,3, o 4 caracteres char.

Si no se entiende les dejo un ejemplo de lo que busco pero para int.
PHP Code:


MMO_Writelong
(svidx)
{
    
g_netdata[svid][g_netdata_len[svid]++] = (0xff000000) >> 24
    g_netdata
[svid][g_netdata_len[svid]++] = (0x00ff0000) >> 16
    g_netdata
[svid][g_netdata_len[svid]++] = (0x0000ff00) >>  8
    g_netdata
[svid][g_netdata_len[svid]++] = (0x000000ff)
}

MMO_Readlong(svid)
{
    static 
x;x=0
    x  
g_netdata[svid][g_netdata_read[svid]++] << 24
    x 
|= g_netdata[svid][g_netdata_read[svid]++] << 16
    x 
|= g_netdata[svid][g_netdata_read[svid]++] <<  8
    x 
|= g_netdata[svid][g_netdata_read[svid]++]

    return 
x


@EDIT
Que boludo,era mucho mas simple de lo que pensaba...

PHP Code:


MMO_WriteFloat
(svidFloat:x2)
{
    new 
x=_:x2
    g_netdata
[svid][g_netdata_len[svid]++] = (0xff000000) >> 24
    g_netdata
[svid][g_netdata_len[svid]++] = (0x00ff0000) >> 16
    g_netdata
[svid][g_netdata_len[svid]++] = (0x0000ff00) >>  8
    g_netdata
[svid][g_netdata_len[svid]++] = (0x000000ff)
}

Float:MMO_ReadFloat(svid)
{
    static 
x;x=0
    x  
g_netdata[svid][g_netdata_read[svid]++] << 24
    x 
|= g_netdata[svid][g_netdata_read[svid]++] << 16
    x 
|= g_netdata[svid][g_netdata_read[svid]++] <<  8
    x 
|= g_netdata[svid][g_netdata_read[svid]++]

    return 
Float:x




All times are GMT -4. The time now is 01:48.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.