26.05.2015, 17:05
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.
Espero puedan ayudarme, muchas gracias.
PD: El comando se traba al usar el choice == 3 en adelante.
PHP код:
CMD:cteditar(playerid, params[])
{
if(IsPlayerAdmin(playerid))
{
new string[254], choice, id, size, text[128];
if(sscanf(params, "ddds[128]", id, choice, size, text))
{
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 < 0 || id > sizeof(CustomTextEnum) - 1)
{
SendClientMessage(playerid, 0xAFAFAFFF, "Texto Personalizado es Invalido ID.");
return 1;
}
if (!CustomTextEnum[id][ctExists])
{
SendClientMessage(playerid, 0xAFAFAFFF, "Texto Personalizado es Invalido ID.");
return 1;
}
if (choice == 1)
{
new Float:x, Float:y, Float:z, Float:a;
GetPlayerPos(playerid, x, y, z);
GetPlayerFacingAngle(playerid, a);
x += (2.0 * floatsin(-a, degrees));
y += (2.0 * floatcos(a, degrees));
z += 5.5;
CustomTextEnum[id][ctX] = x;
CustomTextEnum[id][ctY] = y;
CustomTextEnum[id][ctZ] = z;
CustomTextEnum[id][ctRZ] = a;
SetDynamicObjectPos(CustomTextEnum[id][ctObjectID], x, y, z);
SetDynamicObjectRot(CustomTextEnum[id][ctObjectID], 0.0, 0.0, a - 180);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado la ubicaciуn de un texto personalizado #%d.", id);
SendClientMessage(playerid, -1, string);
return 1;
}
if (choice == 2)
{
format(CustomTextEnum[id][ctString], 255, text);
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0, Wrap(CustomTextEnum[id][ctString]), _, CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1, CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado el texto para %s para un texto personalizado #%d.", text, id);
SendClientMessage(playerid, -1, string);
return 1;
}
if (choice == 3)
{
CustomTextEnum[id][ctColor] = ShiftRGBAToABGR(HexToInt(text));
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0, Wrap(CustomTextEnum[id][ctString]), _, CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1, CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado el color para %d para un texto personalizado #%d.", CustomTextEnum[id][ctColor], id);
SendClientMessage(playerid, -1, string);
return 1;
}
if (choice == 4)
{
CustomTextEnum[id][ctBackColor] = ShiftRGBAToABGR(HexToInt(text));
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0, Wrap(CustomTextEnum[id][ctString]), _, CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1, CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado el color de fondo %d para un texto personalizado #%d.", CustomTextEnum[id][ctBackColor], id);
SendClientMessage(playerid, -1, string);
return 1;
}
if (choice == 5)
{
CustomTextEnum[id][ctSize] = size;
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0, Wrap(CustomTextEnum[id][ctString]), _, CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1, CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado el tamaсo de %d para un texto personalizado #%d.", size, id);
SendClientMessage(playerid, -1, string);
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], 0, Wrap(CustomTextEnum[id][ctString]), _, CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1, CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado el objeto de %d para un texto personalizado #%d.", size, id);
SendClientMessage(playerid, -1, string);
return 1;
}
if (choice == 7)
{
format(CustomTextEnum[id][ctFont], 32, text);
SetDynamicObjectMaterialText(CustomTextEnum[id][ctObjectID], 0, Wrap(CustomTextEnum[id][ctString]), _, CustomTextEnum[id][ctFont], CustomTextEnum[id][ctSize], 1, CustomTextEnum[id][ctColor], CustomTextEnum[id][ctBackColor], 1);
SaveCustomText(id);
format(string, sizeof(string), "Se ha ajustado la fuente de %s para un texto personalizado #%d.", text, id);
SendClientMessage(playerid, -1, string);
return 1;
}
}
else SendClientMessage(playerid, 0xAFAFAFFF, "Usted no estб autorizado a utilizar ese comando.");
return 1;
}