09.03.2018, 18:17
I have an error and I do not know why it happens.
I have this command:
And when I compile this error throws me:
Line 8928 is this:
Which does not make any sense, since I have not defined anything before.
But when I mention this, the error is eliminated:
Complete command without the error:
I hope you help me, I have no idea why this happens, I have a few hours trying to solve it.
I have this command:
PHP код:
CMD:negocios(playerid, params[])
{
new sz_Type[10];
if(PData[playerid][p_Admin] < 7) return 0;
if(sscanf(ParamsSectionD(params, 1), "s[10]", sz_Type))
{
MsgUError0:
SendClientMessage(playerid, WHITE, "/uniformes <Opciуn>");
SendClientMessage(playerid, GREY, "Crear - Borrar - Editar");
return 1;
}
if(!strcmp(sz_Type, "Crear", true))
{
new
n_Id = -1,
Float: f_PosPlayer[4],
n_index = strfind(params, "Crear", true),
n_Type
;
strdel(params, 0, (n_index+(strlen("Crear"))));
if(sscanf(ParamsSectionD(params, 1), "i", n_Type))
{
MensajeError(playerid, "/uniformes Crear <Tipo de Negocio>");
return 1;
}
if(n_Type < 0 || n_Type >= 3)
return MensajeError(playerid, "Ese tipo es invбlido. Rango vбlido: (0-2)");
for(new i; i < MAX_NEGOCIOS; i++)
if((Business[i][n_Type][buss_Id]) == -1)
{
n_Id = i;
break;
}
if(n_Id == -1) return MensajeError(playerid, "<Error>: Ya no hay mбs espacio para crear mбs negocios de este tipo");
GetPlayerPos(playerid, f_PosPlayer[0], f_PosPlayer[1], f_PosPlayer[2]);
GetPlayerFacingAngle(playerid, f_PosPlayer[3]);
Business[n_Id][n_Type][buss_Id] = n_Id;
Buss_TransValues2(n_Id, n_Type, int_PosEn, 4, _:f_PosPlayer);
CreateVisibleNegocios(n_Id, n_Type, "A");
CreateDBNegocios(n_Id, n_Type);
}
else if(!strcmp(sz_Type, "Editar", true))
{
new
n_index = strfind(params, "Editar", true),
n_Id,
n_Type,
sz_Opcion[10]
;
strdel(params, 0, (n_index+(strlen("Editar"))));
if(sscanf(ParamsSectionD(params, 2), "iis[10]", n_Id, n_Type, sz_Opcion))
{
MsgUError1:
MensajeError(playerid, "/uniformes Editar <id><tipo><opcion>");
MensajeError(playerid, ">> Ejemplo: ESCRIBE /unfiromes Editar <id> <tipo> A, para editar la posiciуn de la Entrada, y las mбs opciones aparte de A son:");
MensajeError(playerid, ">> A: Posiciуn de la entrada, B: Posiciуn de la salida, C: Posiciуn del actor, D: Posiciуn del lugar de venta");
MensajeError(playerid, ">> O solamente, Interior: Que es para editar el Interior virtual del negocio");
return 1;
}
enum e_Options
{
n_MAX,
InteriorData: interiorData_G,
sz_AKA[2]
};
new g_Options[][e_Options] =
{
{4, int_PosEn, "A"}, // "A" tiene 4 entradas en su variable
{4, int_PosEx, "B"}, // "B" tiene 4 entradas en su variable
{4, int_PosAct, "C"}, // "C" tiene 4 entradas en su variable
{3, int_PosInfo, "D"} // "D" tiene 4 entradas en su variable
};
if(!strcmp(sz_Opcion, "A", true) || !strcmp(sz_Opcion, "B", true) || !strcmp(sz_Opcion, "C", true) || !strcmp(sz_Opcion, "D", true))
{
new
n_ID = -1,
Float: f_PosPlayer[4]
;
for(new k; k < 4 && n_ID == -1; k++)
if(!strcmp(g_Options[k][sz_AKA], sz_Opcion, true))
n_ID = k;
if(n_ID != -1)
{
GetPlayerPos(playerid, f_PosPlayer[0], f_PosPlayer[1], f_PosPlayer[2]);
GetPlayerFacingAngle(playerid, f_PosPlayer[3]);
for(new InteriorData: k = g_Options[n_ID][interiorData_G], z = 0; k < (__i01f(g_Options[n_ID][interiorData_G], g_Options[n_ID][n_MAX])); k++, z++)
BusinessVarMagic(0, n_Id, n_Type, k, _: f_PosPlayer[z]);
CreateVisibleNegocios(n_Id, n_Type, sz_Opcion);
SendClientMessage(playerid, WHITE, "Cambiado correctamente");
}
}
else if(!strcmp(sz_Opcion, "Interior", true))
{
new
n_InteriorSelect
;
n_index = strfind(params, "Interior", true);
strdel(params, 0, (n_index+(strlen("Interior"))));
if(sscanf(ParamsSectionD(params, 1), "i", n_InteriorSelect)) return SendClientMessageFormat(playerid, Gris, ">> Uso: /negocios Editar %i %i Interior <ID del interior>", n_Id, n_Type);
BusinessVarMagic(0, n_Id, n_Type, int_InteriorID, n_InteriorSelect);
SendClientMessage(playerid, WHITE, "Cambiado correctamente");
}
else
goto MsgUError1;
}
else if(!strcmp(sz_Type, "Borrar", true))
{
//#undef n_index
new
n_index = strfind(params, "Borrar", true),
n_Id,
n_Type
;
strdel(params, 0, (n_index+(strlen("Borrar"))));
if(sscanf(ParamsSectionD(params, 2), "ii", n_Id, n_Type)) return MensajeError(playerid, "/negocios Borrar <id><type>");
if(n_Id < 0 || n_Id >= MAX_NEGOCIOS) return MensajeError(playerid, "<Error>: Id invбlido.");
if(n_Type < 0 || n_Type >= 3) return MensajeError(playerid, "<Error>: Id de tipo invбlido (0-2)");
if(Business[n_Id][n_Type][buss_Id] == -1) return MensajeError(playerid, "<Error>: Ese id de negocios no existe.");
for(new i; i < 3; i++)
{
new Text3D: h = Text3D: (BusinessVarMagic(1, n_Id, n_Type, (__i01f(int_TXT3D, i))));
new p = (BusinessVarMagic(1, n_Id, n_Type, (__i01f(int_PickupID, i))));
DestroyDynamic3DTextLabel (h);
DestroyDynamicPickup (p);
}
new l = BusinessVarMagic(1, n_Id, n_Type, int_ActorID);
FCNPC_Destroy(l);
for(new InteriorData:i; i < InteriorData; i++)
BusinessVarMagic(0, n_Id, n_Type, i, 0);
for(new EBusiness:i; i < EBusiness; i++)
Business[n_Id][n_Type][i] = 0;
Business[n_Id][n_Type][buss_Id] = -1;
SendClientMessage(playerid, WHITE, "Negocio eliminado");
DeleteDBNegocios(n_Id, n_Type);
}
else
goto MsgUError0;
return 1;
}
Код:
(8928) : error 021: symbol already defined: "n_index"
PHP код:
else if(!strcmp(sz_Type, "Borrar", true))
{
new
n_index = strfind(params, "Borrar", true), // <----- this
n_Id,
n_Type
;
strdel(params, 0, (n_index+(strlen("Borrar"))));
if(sscanf(ParamsSectionD(params, 2), "ii", n_Id, n_Type)) return MensajeError(playerid, "/negocios Borrar <id><type>");
if(n_Id < 0 || n_Id >= MAX_NEGOCIOS) return MensajeError(playerid, "<Error>: Id invбlido.");
if(n_Type < 0 || n_Type >= 3) return MensajeError(playerid, "<Error>: Id de tipo invбlido (0-2)");
if(Business[n_Id][n_Type][buss_Id] == -1) return MensajeError(playerid, "<Error>: Ese id de negocios no existe.");
for(new i; i < 3; i++)
{
new Text3D: h = Text3D: (BusinessVarMagic(1, n_Id, n_Type, (__i01f(int_TXT3D, i))));
new p = (BusinessVarMagic(1, n_Id, n_Type, (__i01f(int_PickupID, i))));
DestroyDynamic3DTextLabel (h);
DestroyDynamicPickup (p);
}
new l = BusinessVarMagic(1, n_Id, n_Type, int_ActorID);
FCNPC_Destroy(l);
for(new InteriorData:i; i < InteriorData; i++)
BusinessVarMagic(0, n_Id, n_Type, i, 0);
for(new EBusiness:i; i < EBusiness; i++)
Business[n_Id][n_Type][i] = 0;
Business[n_Id][n_Type][buss_Id] = -1;
SendClientMessage(playerid, WHITE, "Negocio eliminado");
DeleteDBNegocios(n_Id, n_Type);
}
But when I mention this, the error is eliminated:
PHP код:
else if(!strcmp(sz_Type, "Editar", true))
{
new
n_index = strfind(params, "Editar", true),
n_Id,
n_Type,
sz_Opcion[10]
;
strdel(params, 0, (n_index+(strlen("Editar"))));
if(sscanf(ParamsSectionD(params, 2), "iis[10]", n_Id, n_Type, sz_Opcion))
{
MsgUError1:
MensajeError(playerid, "/uniformes Editar <id><tipo><opcion>");
MensajeError(playerid, ">> Ejemplo: ESCRIBE /unfiromes Editar <id> <tipo> A, para editar la posiciуn de la Entrada, y las mбs opciones aparte de A son:");
MensajeError(playerid, ">> A: Posiciуn de la entrada, B: Posiciуn de la salida, C: Posiciуn del actor, D: Posiciуn del lugar de venta");
MensajeError(playerid, ">> O solamente, Interior: Que es para editar el Interior virtual del negocio");
return 1;
}
// This shit
/*enum e_Options
{
n_MAX,
InteriorData: interiorData_G,
sz_AKA[2]
};
new g_Options[][e_Options] =
{
{4, int_PosEn, "A"}, // "A" tiene 4 entradas en su variable
{4, int_PosEx, "B"}, // "B" tiene 4 entradas en su variable
{4, int_PosAct, "C"}, // "C" tiene 4 entradas en su variable
{3, int_PosInfo, "D"} // "D" tiene 4 entradas en su variable
};*/
if(!strcmp(sz_Opcion, "A", true) || !strcmp(sz_Opcion, "B", true) || !strcmp(sz_Opcion, "C", true) || !strcmp(sz_Opcion, "D", true))
{
/*new
n_ID = -1,
Float: f_PosPlayer[4]
;
for(new k; k < 4 && n_ID == -1; k++)
if(!strcmp(g_Options[k][sz_AKA], sz_Opcion, true))
n_ID = k;
if(n_ID != -1)
{
GetPlayerPos(playerid, f_PosPlayer[0], f_PosPlayer[1], f_PosPlayer[2]);
GetPlayerFacingAngle(playerid, f_PosPlayer[3]);
for(new InteriorData: k = g_Options[n_ID][interiorData_G], z = 0; k < (__i01f(g_Options[n_ID][interiorData_G], g_Options[n_ID][n_MAX])); k++, z++)
BusinessVarMagic(0, n_Id, n_Type, k, _: f_PosPlayer[z]);
CreateVisibleNegocios(n_Id, n_Type, sz_Opcion);
SendClientMessage(playerid, WHITE, "Cambiado correctamente");
}*/
}
else if(!strcmp(sz_Opcion, "Interior", true))
{
new
n_InteriorSelect
;
n_index = strfind(params, "Interior", true);
strdel(params, 0, (n_index+(strlen("Interior"))));
if(sscanf(ParamsSectionD(params, 1), "i", n_InteriorSelect)) return SendClientMessageFormat(playerid, Gris, ">> Uso: /negocios Editar %i %i Interior <ID del interior>", n_Id, n_Type);
BusinessVarMagic(0, n_Id, n_Type, int_InteriorID, n_InteriorSelect);
SendClientMessage(playerid, WHITE, "Cambiado correctamente");
}
else
goto MsgUError1;
}
PHP код:
CMD:negocios(playerid, params[])
{
new sz_Type[10];
if(PData[playerid][p_Admin] < 7) return 0;
if(sscanf(ParamsSectionD(params, 1), "s[10]", sz_Type))
{
MsgUError0:
SendClientMessage(playerid, WHITE, "/uniformes <Opciуn>");
SendClientMessage(playerid, GREY, "Crear - Borrar - Editar");
return 1;
}
if(!strcmp(sz_Type, "Crear", true))
{
new
n_Id = -1,
Float: f_PosPlayer[4],
n_index = strfind(params, "Crear", true),
n_Type
;
strdel(params, 0, (n_index+(strlen("Crear"))));
if(sscanf(ParamsSectionD(params, 1), "i", n_Type))
{
MensajeError(playerid, "/uniformes Crear <Tipo de Negocio>");
return 1;
}
if(n_Type < 0 || n_Type >= 3)
return MensajeError(playerid, "Ese tipo es invбlido. Rango vбlido: (0-2)");
for(new i; i < MAX_NEGOCIOS; i++)
if((Business[i][n_Type][buss_Id]) == -1)
{
n_Id = i;
break;
}
if(n_Id == -1) return MensajeError(playerid, "<Error>: Ya no hay mбs espacio para crear mбs negocios de este tipo");
GetPlayerPos(playerid, f_PosPlayer[0], f_PosPlayer[1], f_PosPlayer[2]);
GetPlayerFacingAngle(playerid, f_PosPlayer[3]);
Business[n_Id][n_Type][buss_Id] = n_Id;
Buss_TransValues2(n_Id, n_Type, int_PosEn, 4, _:f_PosPlayer);
CreateVisibleNegocios(n_Id, n_Type, "A");
CreateDBNegocios(n_Id, n_Type);
}
else if(!strcmp(sz_Type, "Editar", true))
{
new
n_index = strfind(params, "Editar", true),
n_Id,
n_Type,
sz_Opcion[10]
;
strdel(params, 0, (n_index+(strlen("Editar"))));
if(sscanf(ParamsSectionD(params, 2), "iis[10]", n_Id, n_Type, sz_Opcion))
{
MsgUError1:
MensajeError(playerid, "/uniformes Editar <id><tipo><opcion>");
MensajeError(playerid, ">> Ejemplo: ESCRIBE /unfiromes Editar <id> <tipo> A, para editar la posiciуn de la Entrada, y las mбs opciones aparte de A son:");
MensajeError(playerid, ">> A: Posiciуn de la entrada, B: Posiciуn de la salida, C: Posiciуn del actor, D: Posiciуn del lugar de venta");
MensajeError(playerid, ">> O solamente, Interior: Que es para editar el Interior virtual del negocio");
return 1;
}
/*enum e_Options
{
n_MAX,
InteriorData: interiorData_G,
sz_AKA[2]
};
new g_Options[][e_Options] =
{
{4, int_PosEn, "A"}, // "A" tiene 4 entradas en su variable
{4, int_PosEx, "B"}, // "B" tiene 4 entradas en su variable
{4, int_PosAct, "C"}, // "C" tiene 4 entradas en su variable
{3, int_PosInfo, "D"} // "D" tiene 4 entradas en su variable
};*/
if(!strcmp(sz_Opcion, "A", true) || !strcmp(sz_Opcion, "B", true) || !strcmp(sz_Opcion, "C", true) || !strcmp(sz_Opcion, "D", true))
{
/*new
n_ID = -1,
Float: f_PosPlayer[4]
;
for(new k; k < 4 && n_ID == -1; k++)
if(!strcmp(g_Options[k][sz_AKA], sz_Opcion, true))
n_ID = k;
if(n_ID != -1)
{
GetPlayerPos(playerid, f_PosPlayer[0], f_PosPlayer[1], f_PosPlayer[2]);
GetPlayerFacingAngle(playerid, f_PosPlayer[3]);
for(new InteriorData: k = g_Options[n_ID][interiorData_G], z = 0; k < (__i01f(g_Options[n_ID][interiorData_G], g_Options[n_ID][n_MAX])); k++, z++)
BusinessVarMagic(0, n_Id, n_Type, k, _: f_PosPlayer[z]);
CreateVisibleNegocios(n_Id, n_Type, sz_Opcion);
SendClientMessage(playerid, WHITE, "Cambiado correctamente");
}*/
}
else if(!strcmp(sz_Opcion, "Interior", true))
{
new
n_InteriorSelect
;
n_index = strfind(params, "Interior", true);
strdel(params, 0, (n_index+(strlen("Interior"))));
if(sscanf(ParamsSectionD(params, 1), "i", n_InteriorSelect)) return SendClientMessageFormat(playerid, Gris, ">> Uso: /negocios Editar %i %i Interior <ID del interior>", n_Id, n_Type);
BusinessVarMagic(0, n_Id, n_Type, int_InteriorID, n_InteriorSelect);
SendClientMessage(playerid, WHITE, "Cambiado correctamente");
}
else
goto MsgUError1;
}
else if(!strcmp(sz_Type, "Borrar", true))
{
//#undef n_index
new
n_index = strfind(params, "Borrar", true),
n_Id,
n_Type
;
strdel(params, 0, (n_index+(strlen("Borrar"))));
if(sscanf(ParamsSectionD(params, 2), "ii", n_Id, n_Type)) return MensajeError(playerid, "/negocios Borrar <id><type>");
if(n_Id < 0 || n_Id >= MAX_NEGOCIOS) return MensajeError(playerid, "<Error>: Id invбlido.");
if(n_Type < 0 || n_Type >= 3) return MensajeError(playerid, "<Error>: Id de tipo invбlido (0-2)");
if(Business[n_Id][n_Type][buss_Id] == -1) return MensajeError(playerid, "<Error>: Ese id de negocios no existe.");
for(new i; i < 3; i++)
{
new Text3D: h = Text3D: (BusinessVarMagic(1, n_Id, n_Type, (__i01f(int_TXT3D, i))));
new p = (BusinessVarMagic(1, n_Id, n_Type, (__i01f(int_PickupID, i))));
DestroyDynamic3DTextLabel (h);
DestroyDynamicPickup (p);
}
new l = BusinessVarMagic(1, n_Id, n_Type, int_ActorID);
FCNPC_Destroy(l);
for(new InteriorData:i; i < InteriorData; i++)
BusinessVarMagic(0, n_Id, n_Type, i, 0);
for(new EBusiness:i; i < EBusiness; i++)
Business[n_Id][n_Type][i] = 0;
Business[n_Id][n_Type][buss_Id] = -1;
SendClientMessage(playerid, WHITE, "Negocio eliminado");
DeleteDBNegocios(n_Id, n_Type);
}
else
goto MsgUError0;
return 1;
}