[Ayuda] Se me traba el comando
#1

Buenas, tengo un FS de creaciуn de carteles, bien, tengo un problema, yo a la hora de editar un cartel, el comando se me traba y comienza a decir que es inexistente.
Espero puedan ayudarme, muchas gracias.

PD: El comando se traba al usar el choice == 3 en adelante.

PHP код:
    CMD:cteditar(playeridparams[])
    {
        if(
IsPlayerAdmin(playerid))
        {
            new 
string[254], choiceidsizetext[128];
            if(
sscanf(params"ddds[128]"idchoicesizetext))
            {
                
SendClientMessage(playerid, -1"USA: /cteditar [ID] [Numero] [Valor]");
                
SendClientMessage(playerid, -1"NUMEROS: location(1), texto(2), color(3), backcolor(4), tamaсo(5), objeto(6), fuente(7)");
                return 
1;
            }
            if (
id || id sizeof(CustomTextEnum) - 1)
            {
                
SendClientMessage(playerid0xAFAFAFFF"Texto Personalizado es Invalido ID.");
                return 
1;
            }
            if (!
CustomTextEnum[id][ctExists])
            {
                
SendClientMessage(playerid0xAFAFAFFF"Texto Personalizado es Invalido ID.");
                return 
1;
            }
            if (
choice == 1)
            {
                new 
Float:xFloat:yFloat:zFloat:a;
                
GetPlayerPos(playeridxyz);
                
GetPlayerFacingAngle(playerida);
                
+= (2.0 floatsin(-adegrees));
                
+= (2.0 floatcos(adegrees));
                
+= 5.5;
                
CustomTextEnum[id][ctX] = x;
                   
CustomTextEnum[id][ctY] = y;
                
CustomTextEnum[id][ctZ] = z;
                
CustomTextEnum[id][ctRZ] = a;
                
SetDynamicObjectPos(CustomTextEnum[id][ctObjectID], xyz);
                
SetDynamicObjectRot(CustomTextEnum[id][ctObjectID], 0.00.0180);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado la ubicaciуn de un texto personalizado #%d."id);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
            if (
choice == 2)
            {
                
format(CustomTextEnum[id][ctString], 255text);
                
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado el texto para %s para un texto personalizado #%d."textid);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
            if (
choice == 3)
            {
                
CustomTextEnum[id][ctColor] = ShiftRGBAToABGR(HexToInt(text));
                
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado el color para %d para un texto personalizado #%d."CustomTextEnum[id][ctColor], id);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
            if (
choice == 4)
            {
                
CustomTextEnum[id][ctBackColor] = ShiftRGBAToABGR(HexToInt(text));
                
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado el color de fondo %d para un texto personalizado #%d."CustomTextEnum[id][ctBackColor], id);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
            if (
choice == 5)
            {
                
CustomTextEnum[id][ctSize] = size;
                
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado el tamaсo de %d para un texto personalizado #%d."sizeid);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
            if (
choice == 6)
            {
                
CustomTextEnum[id][ctModel] = size;
                
DestroyDynamicObject(CustomTextEnum[id][ctObjectID]);
                
CustomTextEnum[id][ctObjectID] = CreateDynamicObject(CustomTextEnum[id][ctModel], CustomTextEnum[id][ctX], CustomTextEnum[id][ctY], CustomTextEnum[id][ctZ], CustomTextEnum[id][ctRX], CustomTextEnum[id][ctRY], CustomTextEnum[id][ctRZ]);
                
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado el objeto de %d para un texto personalizado #%d."sizeid);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
            if (
choice == 7)
            {
                
format(CustomTextEnum[id][ctFont], 32text);
                
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                
SaveCustomText(id);
                
format(stringsizeof(string), "Se ha ajustado la fuente de %s para un texto personalizado #%d."textid);
                
SendClientMessage(playerid, -1string);
                return 
1;
            }
        }
        else 
SendClientMessage(playerid0xAFAFAFFF"Usted no estб autorizado a utilizar ese comando.");
        return 
1;
    } 
Reply
#2

switch...

PHP код:
 CMD:cteditar(playeridparams[])
    {
        if(
IsPlayerAdmin(playerid))
        {
            new 
string[254], choiceidsizetext[128];
            if(
sscanf(params"ddds[128]"idchoicesizetext))
            {
                
SendClientMessage(playerid, -1"USA: /cteditar [ID] [Numero] [Valor]");
                
SendClientMessage(playerid, -1"NUMEROS: location(1), texto(2), color(3), backcolor(4), tamaсo(5), objeto(6), fuente(7)");
                return 
1;
            }
            if (
id || id sizeof(CustomTextEnum) - 1)
            {
                
SendClientMessage(playerid0xAFAFAFFF"Texto Personalizado es Invalido ID.");
                return 
1;
            }
            if (!
CustomTextEnum[id][ctExists])
            {
                
SendClientMessage(playerid0xAFAFAFFF"Texto Personalizado es Invalido ID.");
                return 
1;
            }
            switch (
choice)
            {
                case 
1:
                {
                    new 
Float:xFloat:yFloat:zFloat:a;
                    
GetPlayerPos(playeridxyz);
                    
GetPlayerFacingAngle(playerida);
                    
+= (2.0 floatsin(-adegrees));
                    
+= (2.0 floatcos(adegrees));
                    
+= 5.5;
                    
CustomTextEnum[id][ctX] = x;
                       
CustomTextEnum[id][ctY] = y;
                    
CustomTextEnum[id][ctZ] = z;
                    
CustomTextEnum[id][ctRZ] = a;
                    
SetDynamicObjectPos(CustomTextEnum[id][ctObjectID], xyz);
                    
SetDynamicObjectRot(CustomTextEnum[id][ctObjectID], 0.00.0180);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado la ubicaciуn de un texto personalizado #%d."id);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
                case 
2:
                {
                    
format(CustomTextEnum[id][ctString], 255text);
                    
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado el texto para %s para un texto personalizado #%d."textid);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
                case 
3:
                {
                    
CustomTextEnum[id][ctColor] = ShiftRGBAToABGR(HexToInt(text));
                    
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado el color para %d para un texto personalizado #%d."CustomTextEnum[id][ctColor], id);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
                case 
4:
                {
                    
CustomTextEnum[id][ctBackColor] = ShiftRGBAToABGR(HexToInt(text));
                    
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado el color de fondo %d para un texto personalizado #%d."CustomTextEnum[id][ctBackColor], id);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
                case 
5:
                {
                    
CustomTextEnum[id][ctSize] = size;
                    
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado el tamaсo de %d para un texto personalizado #%d."sizeid);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
                case 
6:
                {
                    
CustomTextEnum[id][ctModel] = size;
                    
DestroyDynamicObject(CustomTextEnum[id][ctObjectID]);
                    
CustomTextEnum[id][ctObjectID] = CreateDynamicObject(CustomTextEnum[id][ctModel], CustomTextEnum[id][ctX], CustomTextEnum[id][ctY], CustomTextEnum[id][ctZ], CustomTextEnum[id][ctRX], CustomTextEnum[id][ctRY], CustomTextEnum[id][ctRZ]);
                    
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado el objeto de %d para un texto personalizado #%d."sizeid);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
                case 
7:
                {
                    
format(CustomTextEnum[id][ctFont], 32text);
                    
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0Wrap(CustomTextEnum[id][ctString]), _CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
                    
SaveCustomText(id);
                    
format(stringsizeof(string), "Se ha ajustado la fuente de %s para un texto personalizado #%d."textid);
                    
SendClientMessage(playerid, -1string);
                    return 
1;
                }
            }
        }
        else 
SendClientMessage(playerid0xAFAFAFFF"Usted no estб autorizado a utilizar ese comando.");
        return 
1;
    } 
Reply
#3

Esto ocurre por lo general por un runtime error, es decir un error que ocurre en el momento que se estб ejecutando el cуdigo. Estos no son errores de sintaxis, por lo que el compilador no puede detectarlos, son mбs bien errores de lуgica.

Si instalas crashdetect, podrбs encontrar que causa el error en tu comando, aunque como es un cуdigo no muy largo simplemente revisбndolo y leyendo linea por linea podrбs ver el error en tu cуdigo.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)