SA-MP Forums Archive
[Problema] - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Español/Spanish (https://sampforum.blast.hk/forumdisplay.php?fid=29)
+---- Thread: [Problema] (/showthread.php?tid=577652)



[Problema] - Jastak - 13.06.2015

Hola a todos, tengo un pequeсo problema con una funciуn, en si no da error al compilar pero no hace lo que quiero el cуdigo es el siguiente:
Код:
new rgba[4][2], i, new_l, i_i=-1, s[8], bool: c;

new colorHex[30];
format(colorHex, 30, "%s", Sacar0x(colorHexa));// a esto no le prestйis atenciуn

while(!c)
{
    if(colorHex[i] != '\0')
    {
	    i_i++;
	    
	    if(i_i == 2)
	    {
	        new_l ++;
	        i_i = 0;
	    }
	    
	    rgba[new_l][i_i] = colorHex[i];

	    printf("rgba[new_l = %i][i_i = %i] = colorHex[i = %i] valor actual de rgba: %s y el valor que le pasa ColorHex: %s", new_l, i_i, i, rgba[new_l][i_i], colorHex[i]);
	    printf("valor de rgba acutal: rgba[0]: %s, rgba[1]: %s, rgba[2]: %s, rgba[3]: %s", rgba[0], rgba[1], rgba[2], rgba[3]);
		
	    i++;
	}
	else c = true;
}
Ok, les explico, lo que quiero hacer es coger de una variable tipo string que contenga un valor Hexadecimal 0xFFFFFFFF (<- Ejemplo) (el Sacar0x sacaba el 0x y solo dejaba los nъmeros Hexadecimales) y dividirlos en 4 partes, RGBA (RED, GREEN, BLUE, ALPHA), vale. todo bien.. pero al parecer cuando ya pongo en funciуn todo esto hace lo siguiente:
(si querйis entenderlo mejor podйis usar el cуdigo) Que cuando rgba[0] pasa de los 2 valores y pasa al otro slot (rgba[1]) el rgba[0] sigue almacenando el texto (y no se exactamente porque pasa, como dije podrйis entender mejor ubicando el cуdigo en vuestras pc y viendo la consola).

Espero vuestra ayuda, gracias de antemano.


Respuesta: [Problema] - [DOG]irinel1996 - 14.06.2015

No estoy muy seguro de tu objetivo, pero podrнas usar strdel para eliminar los dos primeros caracteres y strmid para extraer los caracteres que quieres separar.