24.01.2015, 18:50
Bueno estoy pasando un sistema de speed cam de un gm el sistema consiste en que se puede crear cбmaras de speed en el juego y al pasar un user superando la velocidad mбxima permitida le tire un flash y le ponga una multa pero lo puse pero al pasar superando la velocidad no hace nada esta es la funciуn que hace al pasar superando la velocidad lo mas curioso es que dice que nunca se usa iVehicle nose si se deva a eso el error
Код:
timer ServerMicrobeat[250]() { new Float: fCurrentSpeed,iVehicle; foreach(Player, i) { if(GetPlayerState(i) == PLAYER_STATE_DRIVER) { fCurrentSpeed = player_get_speed(i); fVehSpeed[i] = fCurrentSpeed; iVehicle = GetPlayerVehicleID(i); } if(GetPVarInt(i,"PlayerHasBeenFlashed") == 1) { continue; } else if (GetPVarInt(i,"PlayerHasBeenFlashed") == 2) { DeletePVar(i,"PlayerHasBeenFlashed"); continue; } new v = GetPlayerVehicle(i, iVehicle); if(v != -1) //if(!LSPD_IsACopCar(iVehicle) && !IsAnAmbulance(iVehicle) && !FBI_Vehicle(iVehicle) && !IsAnNGCar(iVehicle)) { for(new b = 0; b < MAX_vCAMERAS;b++) { if(IsPlayerInRangeOfPoint(i,vCameraInfo[b][vCameraRange],vCameraInfo[b][vCameraPos][0], vCameraInfo[b][vCameraPos][1], vCameraInfo[b][vCameraPos][2]) && vCameraInfo[b][vCameraStatus] == 0) { new limit = vCameraInfo[b][vCameraLimit]; if(fCurrentSpeed > limit) { TextDrawShowForPlayer(i,flash); new Float:x,Float:y,Float:z;GetPlayerPos(i,x,y,z); PlayerPlaySound(i, 1132, x, y, z); SetPVarInt(i,"PlayerHasBeenFlashed",1); SetTimerEx("RemoveFlash",1000,false,"i",i); //format(szMessage, sizeof(szMessage), "ЎDetectado! Tu velocidad sobrepaso lo permitido en esta zona. Tu velocidad: %.0f MPH - Max: %d MPH Multa: $%d",fCurrentSpeed,limit,vCameraInfo[b][vCameraTicket]); //SendClientMessage(i,COLOR_LIGHTBLUE,szMessage); //SendClientMessage(i,COLOR_LIGHTBLUE,"Debes pagar la multa en la central de SAPD de lo contrario puedes ser arrestado o tu coche puede ser embargado."); //PlayerVehicleInfo[i][v][pvTicket] += vCameraInfo[b][vCameraTicket]; } } } } } }