05.09.2015, 18:34
Hola a todos, bueno verбn, tengo un gran problema y aъn no lo he podido solucionar, me parece muy raro, por que desde mi punto de vista el cуdigo esta bien, no se por que sucede, es demasiado raro, demasiado... explicarй un poco sobre el sistema y luego darй el error;
Es un sistema de peajes que estoy realizando, al poner /peaje detecta si estoy en un peaje, si no estoy allн pues aparecerб el mensaje de que no me encuentro en un lugar para pagar el peaje, funciona correctamente, he puesto un comando el cual es /getpeaje, obtiene la id del peaje en el que estoy, y la obtiene bien, si me hago en la primera posiciуn que asigne dirб que es el ID 1, y si me pongo en el otro peaje dirб que es el id 2, pero al poner el comando /peaje , se paga correctamente el id 1, pero al ponerme en el peaje id 2 no se cumple, y tira error de comando invalido, me parece algo extraсo, a continuaciуn dejo todo el cуdigo que he realizado hasta ahora, gracias.
Desde ya muchas gracias y espero que me ayuden a encontrar soluciуn para este pequeсo error, gracias y saludos cordiales.
Actualizo:
Solo sucede cuando estбn estas 2 cosas.
Alguien sabe por que solo sucede con esas 2 cosas?
Es un sistema de peajes que estoy realizando, al poner /peaje detecta si estoy en un peaje, si no estoy allн pues aparecerб el mensaje de que no me encuentro en un lugar para pagar el peaje, funciona correctamente, he puesto un comando el cual es /getpeaje, obtiene la id del peaje en el que estoy, y la obtiene bien, si me hago en la primera posiciуn que asigne dirб que es el ID 1, y si me pongo en el otro peaje dirб que es el id 2, pero al poner el comando /peaje , se paga correctamente el id 1, pero al ponerme en el peaje id 2 no se cumple, y tira error de comando invalido, me parece algo extraсo, a continuaciуn dejo todo el cуdigo que he realizado hasta ahora, gracias.
pawn Код:
enum PeajeInfo //Puntos de peajes
{
Float:peaX,
Float:peaY,
Float:peaZ,
}
new Peajes[2][PeajeInfo] = {
{
1643.764526, -9.333080, 36.254623},
{
1625.108276, -2.850519, 36.381938}
};
stock GetPlayerPeaje(playerid) //Detecta cercanнa a un peaje
{
new Peaje;
for(new i = 0; i < 2; i ++)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, Peajes[i][peaX], Peajes[i][peaY], Peajes[i][peaZ]))
{
Peaje = i+1;
}
}
return Peaje;
}
CMD:peaje(playerid,params[])
{
new i = GetPlayerPeaje(playerid);
if(i < 0) return SendClientMessage(playerid, COLOR_GREY, "ЎNo estas en un peaje!");
if(!IsPlayerInAnyVehicle(playerid)) return SendClientMessage(playerid,COLOR_GREY,"ЎNo estas en un auto!");
if(GetPlayerMoney(playerid) < 10) return SendClientMessage(playerid,COLOR_GREY,"ЎNo tienes suficiente dinero!");
if(PeajeAbierto[i] == 1) return SendClientMessage(playerid,COLOR_GREY,"ЎEste peaje ya esta abierto!");
GivePlayerMoneyAC(playerid, -10);
InfoDineroGob[0][gDinero] += 5;
PeajeAbierto[i] = 1;
Savegob();
SendClientMessage(playerid,COLOR_GREY,"ЎHas pagado el peaje! tienes 5 segundos para pasar!");
i = -1; // lo he puesto en 0 y tampoco funciona.
return 1;
}
Actualizo:
Solo sucede cuando estбn estas 2 cosas.
pawn Код:
PeajeAbierto[i] = 1;
y
if(PeajeAbierto[i] == 1) return SendClientMessage(playerid,COLOR_GREY,"ЎEste peaje ya esta abierto!");