[Ajuda] Meu sistema de radar, nгo funciona
#1

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..

Код:
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;
}
Alguйm pode tentar me ajudar? *-*
Reply
#2

estuda e entende:


http://forum.sa-mp.com/showthread.ph...ighlight=Radar
Reply
#3

Nгo tem como vocк nem tentar me ajudar com meu cуdigo? Estou atolado de coisa pra fazer no meu GM, entгo como eu nгo consegui de jeito nenhum arrumar isso, fui fazer o resto das coisas e pedi ajuda a voces..
Reply
#4

Quote:
Originally Posted by Pedro_BML
Посмотреть сообщение
Nгo tem como vocк nem tentar me ajudar com meu cуdigo? Estou atolado de coisa pra fazer no meu GM, entгo como eu nгo consegui de jeito nenhum arrumar isso, fui fazer o resto das coisas e pedi ajuda a voces..
tb tenho coisas para fazer agr... dai so passei o link, acabei nem lendo seu codigo....

Mas espera chegar algum scripter que esteja com tempo e disponibilidade, que ele ajuda... se amanha a noite (qd eu volto com tempo ao pc/forum) inda n tiver solucionado, eu leio e ajudo
Reply
#5

Sem problemas, obrigado!
Reply
#6

Alguem?
Reply
#7

Ninguйm mesmo? :/
Reply
#8

tenta mudar:

pawn Код:
SetTimer("CheckRadars", 500, true);

para


pawn Код:
SetTimer("CheckRadars", 100, true);
Reply
#9

pawn Код:
new Float: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
};
Reply
#10

Vou testar....... Sу um minuto.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)