Is this causing the ackslimit?
#1

Код:
spdtimer = SetTimer("Speedo", 750, 1);
Код:
function Speedo()
{
	new str[128];
 	foreach(Player, i)
	{
	    if(GetPlayerState(i) == PLAYER_STATE_DRIVER && !IsPlayerNPC(i) && Allowed[i] == 0)
		{
			new Float: oldX[MAX_PLAYERS], Float: oldY[MAX_PLAYERS], Float: oldZ[MAX_PLAYERS];
			oldX[i] = PosX[i];
			oldY[i] = PosY[i];
			oldZ[i] = PosZ[i];
			GetPlayerPos(i,PosX[i],PosY[i],PosZ[i]);
			new Float:distanta[MAX_PLAYERS];
			distanta[i] = GetDistanceBetweenPoints(oldX[i],oldY[i],oldZ[i],PosX[i],PosY[i],PosZ[i]);
			
            new str1[128],zone[30];
			new vehicle = GetPlayerVehicleID(i);
		    new oldspeed = PlayerData[i][Speed];
			PlayerData[i][Speed] = GetVehicleSpeed(GetPlayerVehicleID(i), 0);
			new newspeed = PlayerData[i][Speed];
			new acceleration = abs(newspeed - oldspeed);
			new Consume = (((acceleration / 10) + 1) * (newspeed / 20));
			new Float:Consume2 = float(Consume);
			new carid = FindSpawnID(vehicle);
			if(!(IsAPlane(vehicle) || IsABoat(vehicle) || IsABike(vehicle)))
			{
				Gas[vehicle] -= Consume2/500;
				if(Gas[vehicle] <= 0)
				{
				    new e,l,a,d,b,bo,o;
				    GetVehicleParamsEx(vehicle,e,l,a,d,b,bo,o);
				    SetVehicleParamsEx(vehicle,0,l,a,d,b,bo,o);
				    format(str1,sizeof(str1),"Fuel: ~r~NO FUEL"); //
					PlayerTextDrawSetString(i, Fuell, str1);
				    Gas[vehicle] = 0;
				}
			}
			else
			{
			    Consume = 0;
			}

			
			if(CarInfo[carid][cID] != -2 && carid != 0)	PlayerTextDrawHide(i, Odometerr);
			PlayerTextDrawHide(i, Speedd);
			PlayerTextDrawHide(i, Fuell); 
			PlayerTextDrawHide(i, Destination); 
			PlayerTextDrawHide(i, DestinationKM);
			PlayerTextDrawHide(i, Radio);
			
			CarInfo[carid][KM] += distanta[i]/1000;
			mysql_format(SQL, str,128,"UPDATE `cars` SET `KM`='%f' WHERE `ID`='%d' LIMIT 1",CarInfo[carid][KM],carid);
			mysql_tquery(SQL, str, "", "");
	
			if(CarInfo[carid][cID] != -2 && carid != 0)
			{
				format(str1,sizeof(str1),"Odometer: ~y~%.2f ~w~KM",CarInfo[carid][KM]);
				PlayerTextDrawSetString(i, Odometerr, str1);
			}
			
			if(PlayerData[i][Speed] <= 110)
			{
				format(str1,sizeof(str1),"Speed: ~y~%d ~w~KM/H",PlayerData[i][Speed]);
				PlayerTextDrawSetString(i, Speedd, str1);
			}
			if(PlayerData[i][Speed] > 110 && PlayerData[i][Speed] <= 160)
			{
				format(str1,sizeof(str1),"Speed: ~b~%d ~w~KM/H",PlayerData[i][Speed]);
				PlayerTextDrawSetString(i, Speedd, str1);
			}
			if(PlayerData[i][Speed] > 160)
			{
				format(str1,sizeof(str1),"Speed: ~r~%d ~w~KM/H",PlayerData[i][Speed]);
				PlayerTextDrawSetString(i, Speedd, str1);
			}
			
			if(Gas[vehicle] > 0)
			{
				format(str1,sizeof(str1),"Fuel: %d %% (C: %d %%)", floatround(Gas[vehicle], floatround_round), Consume); //
				PlayerTextDrawSetString(i, Fuell, str1);
			}
			
			if(DestinationSet[i] == 0)
			{
				format(str1,sizeof(str1),"Destination: None"); //
				PlayerTextDrawSetString(i, Destination, str1);
			}
			else
			{
				GetPlayer3DZone2(DestSet[i][0],DestSet[i][1],DestSet[i][2],zone,30);
				format(str1,sizeof(str1),"Destination: ~y~%s",zone); //
				PlayerTextDrawSetString(i, Destination, str1);
				
				new Float:distance = GetPlayerDistanceFromPoint(i, DestSet[i][0],DestSet[i][1],DestSet[i][2]);
				format(str1,sizeof(str1),"              ~y~%.2f meters",distance); //
				PlayerTextDrawSetString(i, DestinationKM, str1);
				PlayerTextDrawShow(i, DestinationKM);
			}
			
			if(RadioSet[i] == 0)
			{
				format(str1,sizeof(str1),"Radio: ~r~OFF"); //
				PlayerTextDrawSetString(i, Radio, str1);
			}
			else
			{
				format(str1,sizeof(str1),"Radio: ~y~%s",RadioName(RadioSet[i])); //
				PlayerTextDrawSetString(i, Radio, str1);
			}
			
			if(CarInfo[carid][cID] != -2 && carid != 0)	PlayerTextDrawShow(i, Odometerr);
			PlayerTextDrawShow(i, Speedd);
			PlayerTextDrawShow(i, Fuell); 
			PlayerTextDrawShow(i, Destination); 
			PlayerTextDrawShow(i, Radio);
		}
		else
		{
			PlayerTextDrawHide(i, Odometerr);
			PlayerTextDrawHide(i, Speedd);
			PlayerTextDrawHide(i, Fuell); 
			PlayerTextDrawHide(i, Destination); 
			PlayerTextDrawHide(i, Radio);
			PlayerTextDrawHide(i, DestinationKM);
		}
	}
}
Код:
[warning] client exceeded 'ackslimit' --.--.---.---. (5426) Limit: 5000/sec
Reply
#2

Have you tried commenting its use and checking if it is causing the warning to pop up?
Reply
#3

[warning] client exceeded 'messageholelimit' (1) censored (4967) Limit: 3000
Reply
#4

Quote:
Originally Posted by SickAttack
Посмотреть сообщение
Have you tried commenting its use and checking if it is causing the warning to pop up?
Yes, it is the speedometer.. how can I fix it..




#


It wasn't even used, fixed, thanks.
Reply
#5

I suggest you find a much better method of updating a speedometer first of all... looping through all players every 750ms is a HORRIBLE way to achieve what you want.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)