SA-MP Forums Archive
ayuda con esta funcion - 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: ayuda con esta funcion (/showthread.php?tid=596876)



ayuda con esta funcion - mcreed - 23.12.2015

Buenas queria pedirles ayuda con estos errores, yo tengo en enum los datos de jugador, en este caso los que utilize aca esta definidos asi:

pawn Код:
enum
{
 RangoEnClan,
 RangoClanNombre[129]
}
Este es el codigo de la funcion
pawn Код:
stock GetRangeName(playerid)
{
    switch(Player[playerid][RangoEnClan])
    {
        case 0: Player[playerid][RangoClanNombre] = "Desconocido";
        case 1: Player[playerid][RangoClanNombre] = "Nuevo";
        case 2: Player[playerid][RangoClanNombre] = "Miembro";
        case 3: Player[playerid][RangoClanNombre] = "Miembro Veterano";
        case 4: Player[playerid][RangoClanNombre] = "Miembro Leyenda";
        case 5: Player[playerid][RangoClanNombre] = "Miembro Reclutador";
        case 6: Player[playerid][RangoClanNombre] = "Co-Lider";
        case 7: Player[playerid][RangoClanNombre] = "Fundador";
    }
    return Player[playerid][RangoClanNombre];
}
cada case me tira un error, lo cual es el siguiente error:
pawn Код:
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4647) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4648) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4649) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4650) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4651) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4652) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4653) : error 047: array sizes do not match, or destination array is too small
C:\Users\marce_000\Desktop\REVDMX\gamemodes\revDMX.pwn(4654) : error 047: array sizes do not match, or destination array is too small



Respuesta: ayuda con esta funcion - marconol - 23.12.2015

Intenta con este:

Код HTML:
stock GetRangeName(playerid)
{
	switch(Player[playerid][RangoEnClan])
	{
	    case 0: format(Player[playerid][RangoClanNombre], 129, "Desconocido");
	    case 1: format(Player[playerid][RangoClanNombre], 129, "Nuevo");
	    case 2: format(Player[playerid][RangoClanNombre], 129, "Miembro");
	    case 3: format(Player[playerid][RangoClanNombre], 129, "Miembro Veterano");
	    case 4: format(Player[playerid][RangoClanNombre], 129, "Miembro Leyenda");
	    case 5: format(Player[playerid][RangoClanNombre], 129, "Miembro Reclutador");
	    case 6: format(Player[playerid][RangoClanNombre], 129, "Co-Lider");
	    case 7: format(Player[playerid][RangoClanNombre], 129, "Fundador");
	}
	return Player[playerid][RangoClanNombre];
}



Respuesta: ayuda con esta funcion - Maestruli - 23.12.2015

Editado.


Respuesta: ayuda con esta funcion - mcreed - 23.12.2015

Ninguno me funciono


Respuesta: ayuda con esta funcion - Maestruli - 23.12.2015

їTe sigue tirando el mismo error?


Respuesta: ayuda con esta funcion - mcreed - 23.12.2015

Si, el mismo error.

EDIT:

Maestruli con lo que me dijistes si tira los mismos errores, con marconol compila pero a la hora de ejecutar solo tira una letra


Respuesta: ayuda con esta funcion - Maestruli - 23.12.2015

Busca lo siguiente:
Код:
enum
{
 RangoEnClan,
 RangoClanNombre[129]
}
Y reemplazбlo por lo siguiente:
Код:
enum
{
 RangoEnClan,
 RangoClanNombre[256]
}
Tambiйn cambiб lo siguiente:
Код:
stock GetRangeName(playerid)
{
	switch(Player[playerid][RangoEnClan])
	{
	    case 0: format(Player[playerid][RangoClanNombre], 129, "Desconocido");
	    case 1: format(Player[playerid][RangoClanNombre], 129, "Nuevo");
	    case 2: format(Player[playerid][RangoClanNombre], 129, "Miembro");
	    case 3: format(Player[playerid][RangoClanNombre], 129, "Miembro Veterano");
	    case 4: format(Player[playerid][RangoClanNombre], 129, "Miembro Leyenda");
	    case 5: format(Player[playerid][RangoClanNombre], 129, "Miembro Reclutador");
	    case 6: format(Player[playerid][RangoClanNombre], 129, "Co-Lider");
	    case 7: format(Player[playerid][RangoClanNombre], 129, "Fundador");
	}
	return Player[playerid][RangoClanNombre];
}
Por lo siguiente:
Код:
stock GetRangeName(playerid)
{
	switch(Player[playerid][RangoEnClan])
	{
	    case 0: format(Player[playerid][RangoClanNombre], 256, "Desconocido");
	    case 1: format(Player[playerid][RangoClanNombre], 256, "Nuevo");
	    case 2: format(Player[playerid][RangoClanNombre], 256, "Miembro");
	    case 3: format(Player[playerid][RangoClanNombre], 256, "Miembro Veterano");
	    case 4: format(Player[playerid][RangoClanNombre], 256, "Miembro Leyenda");
	    case 5: format(Player[playerid][RangoClanNombre], 256, "Miembro Reclutador");
	    case 6: format(Player[playerid][RangoClanNombre], 256, "Co-Lider");
	    case 7: format(Player[playerid][RangoClanNombre], 256, "Fundador");
	}
	return Player[playerid][RangoClanNombre];
}
Editado.


Respuesta: ayuda con esta funcion - marconol - 23.12.2015

Intenta con este enum
Код HTML:
enum ENUM_CLAN
{
	RangoEnClan,
	RangoClanNombre[129]
};

new Player[MAX_PLAYERS][ENUM_CLAN];
Maestruli no es necesario aumentar el tamaсo de la cadena si es que no va a ocupar la en cambio йl debe disminuirla a sus necesidades.


Respuesta: ayuda con esta funcion - mcreed - 23.12.2015

Quote:
Originally Posted by marconol
Посмотреть сообщение
Intenta con este enum
Код HTML:
enum ENUM_CLAN
{
	RangoEnClan,
	RangoClanNombre[129]
};

new Player[MAX_PLAYERS][ENUM_CLAN];
Maestruli no es necesario aumentar el tamaсo de la cadena si es que no va a ocupar la en cambio йl debe disminuirla a sus necesidades.
asi lo tengo, unidos a los datos del jugador


Respuesta: ayuda con esta funcion - marconol - 23.12.2015

Ya que tu stock es para obtener el nombre del rango, prueba con este:

Код HTML:
stock GetRangeName(playerid)
{
	new str[129];
	switch(Player[playerid][RangoEnClan])
	{
	    case 0: strmid(str, "Desconocido", 0, strlen(str), 129);
	    case 1: strmid(str, "Nuevo", 0, strlen(str), 129);
	    case 2: strmid(str, "Miembro", 0, strlen(str), 129);
	    case 3: strmid(str, "Miembro Veterano", 0, strlen(str), 129);
	    case 4: strmid(str, "Miembro Leyenda", 0, strlen(str), 129);
	    case 5: strmid(str, "Miembro Reclutador", 0, strlen(str), 129);
	    case 6: strmid(str, "Co-Lнder", 0, strlen(str), 129);
	    case 7: strmid(str, "Fundador", 0, strlen(str), 129);
	}
	return str;
}