11.07.2012, 21:47
Olб galera, boa noite.
Tudo bem?
Seguinte, jб tentei de tudo resolver esse problema.. Mas nгo consegui.
Eu passo com meu carro mais rбpido do que o permitido, mas nгo levo multa!
Vou colocar aqui tudo relacionado ao sistema..
Alguйm pode tentar me ajudar? *-*
Tudo bem?
Seguinte, jб tentei de tudo resolver esse problema.. Mas nгo consegui.
Eu passo com meu carro mais rбpido do que o permitido, mas nгo levo multa!
Vou colocar aqui tudo relacionado ao sistema..
Код:
enum radar_enum { rModel, Float:rCoordX, Float:rCoordY, Float:rCoordZ, rSize, rMaxSpeed, } #define MAX_RADARS 15 new Radars[MAX_RADARS][radar_enum] = { {9583, 1520.5536,-1725.0463,13.5469, 30, 60}, // DP {9583, 1490.2633,-1042.3094,23.8281, 30, 100}, // BANCO {9583, 1140.9581,-1389.0974,13.8155, 30, 80}, // HOSPITAL {9583, 1361.1643,-1024.9176,26.6777, 30, 100}, // AVAMMU1 {9583, 1349.9918,-1163.3385,24.4372, 30, 100}, // AVAMMU2 - 5 {9583, 1305.1011,-1725.6541,13.2711, 30, 100}, // AVAMMU3 {9583, 1828.9318,-1743.9094,13.2738, 30, 100}, // ALHANMBRA {9583, 1970.7189,-1940.6007,13.2872, 30, 100}, // AERO {9583, 2088.5801,-1744.0687,13.1890, 30, 100}, // POSTO {9583, 1839.0975,-1453.6383,13.2470, 30, 100}, //SKATE - 10 {9583, 1004.5890,-952.0765,41.9890, 30, 100}, // POSTON {9583, 1071.0453,-1156.8212,23.8281, 30, 100}, // CASSINO {9583, 926.4445,-1414.4951,13.3860, 30, 120},// HOSP2 {9583, 614.9930,-1719.5394,14.0405, 30, 100},//PIER - 15 {9583, 375.7494,-1822.7308,7.8359, 30, 100}//PIER2 };
Код:
new bool:Multado[SLOTS][MAX_RADARS]; public CheckRadars() { for(new i=0; i< HighestID; i++) { if(IsPlayerConnected(i)) { if(IsPlayerInAnyVehicle(i)) { for(new x = 0; x < MAX_RADARS; x ++) { if(Multado[i][x] == false) AddFlitsPaal(i, x,Radars[x][rCoordX],Radars[x][rCoordY],Radars[x][rCoordZ],Radars[x][rSize],Radars[x][rMaxSpeed]); else Multado[i][x] = false; } } } } }
Код:
for(new x = 0; x < MAX_RADARS; x ++) { new str[24]; format(str,24,"RADAR\n Limite: %d km/h", Radars[x][rMaxSpeed]); Create3DTextLabel(str, COLOR_YELLOW,Radars[x][rCoordX],Radars[x][rCoordY],Radars[x][rCoordZ]+2, 50, 0, 1); CreateDynamicObject(Radars[x][rModel],Radars[x][rCoordX],Radars[x][rCoordY],Radars[x][rCoordZ]-20,0.0,0.0,10.0); }
Код:
SetTimer("CheckRadars", 500, true); SetTimer("CheckGas", 500, true);
Код:
stock AddFlitsPaal(playerid, radarid, Float:xx, Float:yy, Float:zz, radius, speed) { #pragma unused zz new newcar = GetVehicleModel(GetPlayerVehicleID(playerid)); if(floatround(Player[playerid][LastSpeed]) > speed) { if(IsPlayerInCircle(playerid, xx, yy, radius) && GetPlayerState(playerid)== PLAYER_STATE_DRIVER) { if(!IsACop(playerid) && Player[playerid][pMember] != TEAM_BOMBE) { if(!IsAPlane(newcar)) { if(AdminDuty[playerid] == 0) { Multado[playerid][radarid] = true; new string[128]; new fine = (floatround(Player[playerid][LastSpeed])-speed)*2; format(string,sizeof(string), "[Radar]: O limite de velocidade й %d KM/H. Vocк foi flagrado а %d KM/H e foi multado em R$%d!",speed, floatround(Player[playerid][LastSpeed]),fine); SendClientMessage(playerid, COLOR_LIGHTGREEN, string); WantedPoints[playerid] += 1; multa[playerid] += fine; PlayerPlaySound(playerid, 1132, 0.0, 0.0, 0.0); format(string, 128, "HQ - Todas as unidades APB: Relato: Desconhecido"); SendTeamMessage(TEAM_MUNICIPAL, COLOR_RED, string); format(string, 128, "HQ - Crime: Excesso de Velocidade, Suspeito: %s, Localizaзгo Desconhecida ",Player[playerid][pName]); SendTeamMessage(TEAM_MUNICIPAL, COLOR_RED, string); } } } } } }
Код:
public CheckGas() { for(new car = 1; car <= CAR_AMOUNT; car++) { new Float:health; GetVehicleHealth(car, health); if(health < 300 && AllowExplosions == 0) { SetVehicleParamsEx(car,VEHICLE_PARAMS_OFF,0,0,0,VEHICLE_PARAMS_ON,0,0); SetVehicleHealth(car,280); } } new string[128]; for(new i=0;i<SLOTS;i++) { if(IsPlayerConnected(i)) { SetPlayerWantedLevel(i, WantedPoints[i]); if(GetPlayerState(i) == PLAYER_STATE_DRIVER) { new vid = GetPlayerVehicleID(i); if(GetVehicleModel(GetPlayerVehicleID(i)) != 481 && 510) { if(Gas[vid] >= 1) { format(string, sizeof(string), "~p~Gasolina: ~w~%d",Gas[vid]); if(Gas[vid] <= 10) PlayerPlaySound(i, 1085, 0.0, 0.0, 0.0); if(Teste[i] == 0 && Player[i][LastSpeed] > 10 && GetVehicleModel(vid) != 462 && GetVehicleModel(vid) != 481 && GetVehicleModel(vid) != 510) { tempGas[vid] ++; if(tempGas[vid] >= 20) { tempGas[vid] = 0; Gas[vid]--; } } } else { if(Teste[i] == 0) { NoFuel[i] = 1; SetVehicleParamsEx(vid,VEHICLE_PARAMS_OFF,0,0,0,0,0,0); GameTextForPlayer(i,"~w~~n~~n~~n~~n~~n~~n~~n~~n~veўculo sem combustўvel",1500,6); } } } new HGG[265]; new Float:Can; GetVehicleHealth(GetPlayerVehicleID(i), Can); GetPlayerPos(i,Xa,Ya,Za); KMH = floatsqroot(floatpower(floatabs(floatsub(Xa,Xb[i])),2)+floatpower(floatabs(floatsub(Ya,Yb[i])),2)+floatpower(floatabs(floatsub(Za,Zb[i])),2)); KMH *= 4.5; /*if(floatround(KMH) > 500) KMH = 0.0; */ Player[i][LastSpeed] = KMH; format(HGG, sizeof(HGG), "~b~~h~~h~Veiculo:~w~ %s ~n~~g~~h~Velocidade: ~w~%0.0f km/h~n~~n~%s~n~~r~~h~Vida: ~w~%.2f", vehName[GetVehicleModel(GetPlayerVehicleID(i))-400], KMH,string, Can); TextDrawSetString(Text:HUDTexts[i], HGG); if(KMH >= 250) TextDrawTextSize(SpeedBar[i],603.000000,0.000000); else TextDrawTextSize(SpeedBar[i], floatadd(534.0, floatdiv(KMH, 3.900000)),0.000000); TextDrawShowForPlayer(i, SpeedBar[i]); if(Can < 0) TextDrawTextSize(HealthBar[i],538.000000,0.000000); else if(Can >= 1000) TextDrawTextSize(HealthBar[i],603.000000,0.000000); else TextDrawTextSize(HealthBar[i],floatadd(534.0, floatdiv(Can, 14.6000000)),0.000000); if(SeeHUD[i] == false) { SeeHUD[i] = true; TextDrawShowForPlayer(i, HealthBar[i]); TextDrawShowForPlayer(i, LowHealthLine); TextDrawShowForPlayer(i, HUDTexts[i]); TextDrawShowForPlayer(i, Text:Background); TextDrawShowForPlayer(i, Text:Topbar); TextDrawShowForPlayer(i, Text:Leftbar); TextDrawShowForPlayer(i, Text:Bottombar); TextDrawShowForPlayer(i, Text:Rightbar); TextDrawShowForPlayer(i, Text:SpeedBarBackground); TextDrawShowForPlayer(i, Text:HealthBarBackground); } } else { if(SeeHUD[i] == true) { SeeHUD[i] = false; TextDrawHideForPlayer(i, Text:HUDTexts[i]); TextDrawHideForPlayer(i, Text:SpeedBar[i]); TextDrawHideForPlayer(i, Text:HealthBar[i]); TextDrawHideForPlayer(i, Text:Background); TextDrawHideForPlayer(i, Text:Topbar); TextDrawHideForPlayer(i, Text:Leftbar); TextDrawHideForPlayer(i, Text:Bottombar); TextDrawHideForPlayer(i, Text:Rightbar); TextDrawHideForPlayer(i, Text:SpeedBarBackground); TextDrawHideForPlayer(i, Text:HealthBarBackground); TextDrawHideForPlayer(i, Text:LowHealthLine); } } GetPlayerPos(i,Xb[i],Yb[i],Zb[i]), Xb[i] = Xa; Yb[i] = Ya; Zb[i] = Za; } } return true; }