Problema, lag masivo.
#1

Hola, anuncio que mi server sufre un lag masivo de repente, se que me dirбn: " Optimiza ", pues tenнa el GM en strcmp y lo pasй todo a ZCMD, Usaba dini, pero lo cambie a y_ini, uso Foreach para llamar a todos los jugadores etc, no tengo sobrecargado OnPlayerUpdate, No uso muchos timerґs individuales y tengo pocos timers globales.., їquй podrб ser?, de todas formas dejo acб el public OnPlayerUpdate y los timers.

Код:
public OnPlayerUpdate(playerid)
{
 	new Float:animX, Float:animY, Float:animZ;
	new anim = GetPlayerAnimationIndex(playerid);
	GetPlayerPos(playerid, animX, animY, animZ);
	if((anim >= 1538) && (anim <= 1542) && animZ > 5)
	{
	M(playerid, red, "SERVER: Posible cheat de AirBreak, kickeado por seguridad.");
	Kick(playerid);
	}
	new Float:Pos_x,Float:Pos_y,Float:Pos_z;
	GetPlayerVelocity(playerid,Pos_x,Pos_y,Pos_z);
	if(Pos_x <= -0.800000  || Pos_y <= -0.800000 || Pos_z <= -0.800000)
	{
	M(playerid, red, "SERVER: Posible cheat de AirBreak, kickeado por seguridad.");
	Kick(playerid);
	}
	if(IsPlayerInAnyVehicle(playerid)) {
	    new engine,lights,alarm,doors,bonnet,boot,objective;
		new veh = GetPlayerVehicleID(playerid);
		GetVehicleParamsEx(veh,engine,lights,alarm,doors,bonnet,boot,objective);
		if(Fuel[veh] <= 15 && GetPVarInt(playerid, "CheckAvis") == 0)
		{
		GameTextForPlayer(playerid, "Queda poca gasolina, busca una estaciуn.", 3000, 3);
		SetPlayerCheckpoint(playerid, 1938.0389,-1773.1208,13.0801, 5.0);
		SetPVarInt(playerid, "CheckAvis", 1);
		}
		if(Fuel[veh] < 1)
		{
		SetPlayerCheckpoint(playerid, 1938.0389,-1773.1208,13.0801, 5.0);
		if(GetPVarInt(playerid, "CheckAvised2") == 0)
		{
		GameTextForPlayer(playerid, "Vehiculo sin gasolina", 3000, 3);
		SetPVarInt(playerid, "CheckAvised2", 1);
		}
		SetPVarInt(playerid, "CheckOn", 1);
		SetVehicleParamsEx(veh,0,lights,alarm,doors,bonnet,boot,objective);
		}
	    new string1[5];
		new vspeed = GetVehicleSpeed(GetPlayerVehicleID(playerid));
		format(string1, sizeof(string1), "%d", vspeed);
		TextDrawSetString(Textdraw2V[playerid], string1);
		new string2[5];
		new Gasoil = Fuel[GetPlayerVehicleID(playerid)];
		format(string2, sizeof(string2), "%d", Gasoil); // /100 ...
		TextDrawSetString(Textdraw5V[playerid], string2);
		new string3[5];
		new Float:hpcar;
		GetVehicleHealth(GetPlayerVehicleID(playerid), hpcar);
		format(string3, sizeof(string3), "%f", hpcar);
		TextDrawSetString(Textdraw8V[playerid], string3);
		if(cochesito[GetPlayerVehicleID(playerid)] == 0)
		{
		    if(hpcar <= 400.0)
 			{
	 			format(strinx, sizeof(strinx), "* %s [ El coche se ha roto. ]", NombreJugador(playerid));
	   			ProxDetector(20.0, playerid, strinx, Amarillo, Amarillo, Amarillo, Amarillo, Amarillo);
				GetVehicleParamsEx(GetPlayerVehicleID(playerid),engine,lights,alarm,doors,bonnet,boot,objective);
				SetVehicleParamsEx(GetPlayerVehicleID(playerid),0,lights,alarm,doors,bonnet,boot,objective);
				cochesito[GetPlayerVehicleID(playerid)] = 1;
			   	SetVehicleHealth(GetPlayerVehicleID(playerid), 400.0);
			   	cochesito[GetPlayerVehicleID(playerid)] = 1;
			}
		}
    }
    new Float:HP; GetPlayerHealth(playerid, HP);
    if(HP >= VidaUsuario[playerid]) { return 1; }
    else { VidaPlayer(playerid, HP); }
    new Float:Chaleco; GetPlayerArmour(playerid, Chaleco);
    if(Chaleco >=   ChalecoUsuario[playerid]) { return 1; }
    else { ChalecoPlayer(playerid, Chaleco); }
	return 1;
}
Йstos son los timers y sus funciones:

Код:
public OnGameModeInit()
{
 	SetTimer("ExpHour",60000,true);
 	SetTimer("VerCansancio", 50000, true);
	SetTimer("AntiCheat", 1000, true);
	SetTimer("TimerInfeccion", 1000, true);
 	SetTimer("rere",100,true);
	SetTimer("UnaVez", 5000, false);
        return 1;
}

public ExpHour()
{
	new hour,minuto,second; gettime(hour,minuto,second); 
	format(strinx, sizeof(strinx), "SERVER: Son las %d:%d0", hour, minuto);
	{
		foreach(Player, i)
		{
		    minsEXP[i]++;
			if(minuto == 0)
			{
			        if(minsEXP[i] >= 5 && Spawn[i] == 1)
			        {
						PlayerInfo[i][jExperiencia] += 1;
						PlayerPlaySound(i, 1187, 0.0, 0.0, 0.0);
						SetTimer("fuerasound",7000,false);
						PlayerInfo[i][jObjeto1] = 0; PlayerInfo[i][jObjeto18] = 0; PlayerInfo[i][jObjeto35] = 0; PlayerInfo[i][jObjeto52] = 0;
						PlayerInfo[i][jObjeto2] = 0; PlayerInfo[i][jObjeto19] = 0; PlayerInfo[i][jObjeto36] = 0; PlayerInfo[i][jObjeto53] = 0;
						PlayerInfo[i][jObjeto3] = 0; PlayerInfo[i][jObjeto20] = 0; PlayerInfo[i][jObjeto37] = 0; PlayerInfo[i][jObjeto54] = 0;
						PlayerInfo[i][jObjeto4] = 0; PlayerInfo[i][jObjeto21] = 0; PlayerInfo[i][jObjeto38] = 0; PlayerInfo[i][jObjeto55] = 0;
						PlayerInfo[i][jObjeto5] = 0; PlayerInfo[i][jObjeto22] = 0; PlayerInfo[i][jObjeto39] = 0; PlayerInfo[i][jObjeto56] = 0;
						PlayerInfo[i][jObjeto6] = 0; PlayerInfo[i][jObjeto23] = 0; PlayerInfo[i][jObjeto40] = 0; PlayerInfo[i][jObjeto57] = 0;
						PlayerInfo[i][jObjeto7] = 0; PlayerInfo[i][jObjeto24] = 0; PlayerInfo[i][jObjeto41] = 0; PlayerInfo[i][jObjeto58] = 0;
						PlayerInfo[i][jObjeto8] = 0; PlayerInfo[i][jObjeto25] = 0; PlayerInfo[i][jObjeto42] = 0; PlayerInfo[i][jObjeto59] = 0;
						PlayerInfo[i][jObjeto9] = 0; PlayerInfo[i][jObjeto26] = 0; PlayerInfo[i][jObjeto43] = 0; PlayerInfo[i][jObjeto60] = 0;
						PlayerInfo[i][jObjeto10] = 0; PlayerInfo[i][jObjeto27] = 0; PlayerInfo[i][jObjeto44] = 0; PlayerInfo[i][jObjeto61] = 0;
						PlayerInfo[i][jObjeto11] = 0; PlayerInfo[i][jObjeto28] = 0; PlayerInfo[i][jObjeto45] = 0; PlayerInfo[i][jObjeto62] = 0;
						PlayerInfo[i][jObjeto12] = 0; PlayerInfo[i][jObjeto29] = 0; PlayerInfo[i][jObjeto46] = 0; PlayerInfo[i][jObjeto63] = 0;
						PlayerInfo[i][jObjeto13] = 0; PlayerInfo[i][jObjeto30] = 0; PlayerInfo[i][jObjeto47] = 0; PlayerInfo[i][jObjeto64] = 0;
						PlayerInfo[i][jObjeto14] = 0; PlayerInfo[i][jObjeto31] = 0; PlayerInfo[i][jObjeto48] = 0; PlayerInfo[i][jObjeto65] = 0;
						PlayerInfo[i][jObjeto15] = 0; PlayerInfo[i][jObjeto32] = 0; PlayerInfo[i][jObjeto49] = 0; PlayerInfo[i][jObjeto66] = 0;
						PlayerInfo[i][jObjeto16] = 0; PlayerInfo[i][jObjeto33] = 0; PlayerInfo[i][jObjeto50] = 0; PlayerInfo[i][jObjeto67] = 0;
						PlayerInfo[i][jObjeto17] = 0; PlayerInfo[i][jObjeto34] = 0; PlayerInfo[i][jObjeto51] = 0; PlayerInfo[i][jObjeto68] = 0;
						PlayerInfo[i][jObjeto69] = 0; PlayerInfo[i][jObjeto75] = 0; PlayerInfo[i][jObjeto81] = 0; PlayerInfo[i][jObjeto87] = 0;
						PlayerInfo[i][jObjeto70] = 0; PlayerInfo[i][jObjeto76] = 0; PlayerInfo[i][jObjeto82] = 0; PlayerInfo[i][jObjeto88] = 0;
						PlayerInfo[i][jObjeto71] = 0; PlayerInfo[i][jObjeto77] = 0; PlayerInfo[i][jObjeto83] = 0; PlayerInfo[i][jObjeto89] = 0;
						PlayerInfo[i][jObjeto72] = 0; PlayerInfo[i][jObjeto78] = 0; PlayerInfo[i][jObjeto84] = 0; PlayerInfo[i][jObjeto90] = 0;
						PlayerInfo[i][jObjeto73] = 0; PlayerInfo[i][jObjeto79] = 0; PlayerInfo[i][jObjeto85] = 0; PlayerInfo[i][jObjeto91] = 0;
						PlayerInfo[i][jObjeto74] = 0; PlayerInfo[i][jObjeto80] = 0; PlayerInfo[i][jObjeto86] = 0; PlayerInfo[i][jObjeto92] = 0;
						PlayerInfo[i][jObjeto93] = 0; PlayerInfo[i][jObjeto96] = 0; PlayerInfo[i][jObjeto99] = 0; PlayerInfo[i][jObjeto102] = 0;
						PlayerInfo[i][jObjeto94] = 0; PlayerInfo[i][jObjeto97] = 0; PlayerInfo[i][jObjeto100] = 0; PlayerInfo[i][jObjeto103] = 0;
						PlayerInfo[i][jObjeto95] = 0; PlayerInfo[i][jObjeto98] = 0; PlayerInfo[i][jObjeto101] = 0; PlayerInfo[i][jObjeto104] = 0;
						PlayerInfo[i][jObjeto105] = 0; PlayerInfo[i][jObjeto106] = 0; PlayerInfo[i][jObjeto107] = 0;
						ComprobarLabel(i); SetWorldTime(hour); SetPlayerTime(i, hour, minuto);
						new ran = random(10);
						switch (ran)
						{
							case 0:{SetWeather(0);}
							case 1:{SetWeather(1);}
							case 2:{SetWeather(2);}
							case 3:{SetWeather(3);}
							case 4:{SetWeather(4);}
							case 5:{SetWeather(5);}
							case 6:{SetWeather(6);}
							case 7:{SetWeather(7);}
							case 8:{SetWeather(8);}
							case 9:{SetWeather(9);}
						}
						SendClientMessage(i, C_Blanco," "); SendClientMessage(i, C_Blanco," "); SendClientMessage(i, C_Blanco," ");
						SendClientMessage(i, C_Blanco," "); SendClientMessage(i, C_Blanco," "); SendClientMessage(i, C_Blanco," ");
						SendClientMessage(i, -1,strinx);
						SendClientMessage(i, C_Blanco,":__________________________________:");
						SendClientMessage(i, COLOR_VERDE_CLARO,"                   (-- ExpHour --)       ");
						SendClientMessage(i, COLOR_AMARILLO,"");
						SendClientMessage(i, Amarillo,"                  Experiencia [+1]");
						if(PlayerInfo[i][jHabMecanico] >= 1)
						{
							if(PlayerInfo[i][jHabMecanico] >= 10)
							{
								SendClientMessage(i, Amarillo,"                  Hab. Mecбnico [0]");
								SendClientMessage(i, Amarillo,"  Puntos de bъsqueda reestablecidos.");
								SendClientMessage(i, COLOR_AMARILLO,"");
								SendClientMessage(i, C_Blanco,":__________________________________:");
								PlayerInfo[i][jUsoHabMecanico] = 0;
								PlayerInfo[i][jHabMecanico] = 10;
								break; 
							}
						    else if(PlayerInfo[i][jUsoHabMecanico] >= 2)
						    {
						        SendClientMessage(i, Amarillo,"                 Hab. Mecбnico [+1]");
						        PlayerInfo[i][jHabMecanico] += 1;
						    }
						    else if(PlayerInfo[i][jUsoHabMecanico] <= 2)
						    {
						        if(PlayerInfo[i][jHabMecanico] >= 2)
						        {
						            SendClientMessage(i, Amarillo,"                 Hab. Mecбnico [-1]");
									PlayerInfo[i][jHabMecanico] -= 1;
		       					}
		            		}
						    else if(PlayerInfo[i][jUsoHabMecanico] <= 2)
						    {
			       				if(PlayerInfo[i][jHabMecanico] >= 1)
		            			{
		               				SendClientMessage(i, Amarillo,"                  Hab. Mecбnico [0]");
		                   		}
							}
						}
						if(PlayerInfo[i][jHabLadron] >= 1)
						{
							if(PlayerInfo[i][jHabLadron] >= 10)
							{
							    SendClientMessage(i, Amarillo,"                 Hab. Ladrуn [0]");
								SendClientMessage(i, Amarillo,"  Puntos de bъsqueda reestablecidos.");
								SendClientMessage(i, COLOR_AMARILLO,"");
								SendClientMessage(i, C_Blanco,":__________________________________:");
								PlayerInfo[i][jUsoHabLadron] = 0;
								PlayerInfo[i][jHabLadron] = 10;
								break;
							}
						    if(PlayerInfo[i][jUsoHabLadron] >= 2)
						    {
		        				SendClientMessage(i, Amarillo,"                  Hab. Ladrуn [+1]");
							    PlayerInfo[i][jHabLadron] += 1;
						    }
						    if(PlayerInfo[i][jUsoHabLadron] <= 2)
						    {
		        				if(PlayerInfo[i][jHabLadron] >= 2)
		            			{
		               				SendClientMessage(i, Amarillo,"                  Hab. Ladrуn [-1]");
									PlayerInfo[i][jHabLadron] -= 1;
		                        }
		      				}
					    	if(PlayerInfo[i][jUsoHabLadron] <= 2)
						    {
			       				if(PlayerInfo[i][jHabLadron] >= 1)
			           			{
			              			SendClientMessage(i, Amarillo,"                 Hab. Ladrуn [0]");
			                 	}
							}
		          		}
						if(PlayerInfo[i][jHabPunteria] >= 1)
						{
							if(PlayerInfo[i][jHabPunteria] >= 10)
							{
							    SendClientMessage(i, Amarillo,"                  Hab. Punterнa [0]");
								SendClientMessage(i, Amarillo,"  Puntos de bъsqueda reestablecidos.");
								SendClientMessage(i, COLOR_AMARILLO,"");
								SendClientMessage(i, C_Blanco,":__________________________________:");
								PlayerInfo[i][jUsoHabPunteria] = 0;
								PlayerInfo[i][jHabPunteria] = 10;
								break;
							}
			  				if(PlayerInfo[i][jUsoHabPunteria] >= 2)
					    	{
			       				SendClientMessage(i, Amarillo,"                  Hab. Punterнa [+1]");
						        PlayerInfo[i][jHabPunteria] += 1;
						    }
						    if(PlayerInfo[i][jUsoHabPunteria] <= 2)
						    {
			       				if(PlayerInfo[i][jHabPunteria] >= 2)
			           			{
			              			SendClientMessage(i, Amarillo,"                  Hab. Punterнa [-1]");
									PlayerInfo[i][jHabPunteria] -= 1;
			      				}
							}
			    			if(PlayerInfo[i][jUsoHabPunteria] <= 2)
						    {
			       				if(PlayerInfo[i][jHabPunteria] >= 1)
			           			{
			              			SendClientMessage(i, Amarillo,"                  Hab. Punterнa [0]");
			                 	}
							}
	                    }
	                    SendClientMessage(i, Amarillo,"  Puntos de bъsqueda reestablecidos.");
						SendClientMessage(i, C_Blanco,":__________________________________:");
	                }
	                else M(i,COLOR_NARANJA,"No recibistes el ExpHour; no tienes ni 5 minutos jugando.");
			}
		}
	}
	return 1;
}

public VerCansancio()
{
    for(new v = 0; v < MAX_VEHICLES; v++)
	{
		new engine,lights,alarm,doors,bonnet,boot,objective;
		GetVehicleParamsEx(v,engine,lights,alarm,doors,bonnet,boot,objective);
		if(engine && Fuel[v] > 0)
		{
		Fuel[v]--;
		}
	}
	foreach(Player, i)
	{
	    if(Spawn[i] == 1) {
			if(PlayerInfo[i][jFaccion] != Zombie && !IsPlayerNPC(i) && entuto[i] == 0) {
				if(PlayerInfo[i][jCansancio] == 0.0)
				{
	   				if(EstaCansado2[i] == 0.0)
	   				{
		       			M(i,COLOR_ROJO,"Has pasado mucho tiempo despierto, y ahora estбs agotado, mejor ve a dormir.");
		   				TextDrawShowForPlayer(i, Cansadot[i]); TextDrawShowForPlayer(i, Textdraw0m[i]); TextDrawShowForPlayer(i, Textdraw1m[i]);
				        TextDrawShowForPlayer(i, Textdraw2m[i]); TextDrawShowForPlayer(i, Textdraw3m[i]); TextDrawShowForPlayer(i, Textdraw4m[i]);
				        TextDrawShowForPlayer(i, TimerInfecc[i]); TextDrawShowForPlayer(i, Textdraw6m[i]); SetPlayerDrunkLevel(i, 1800000);
				        TextDrawShowForPlayer(i, Barra1[i]); TextDrawShowForPlayer(i, Barra2[i]);
	 					TextDrawShowForPlayer(i, Barra3[i]); TextDrawShowForPlayer(i, Barra4[i]);
					    EstaCansado2[i] = 1;
						return 1;
	                }
	            }
			    PlayerInfo[i][jCansancio] -= 1.0;
				if(PlayerInfo[i][jCansancio] >= 20.0 && PlayerInfo[i][jCansancio] <= 50.0)
				{
	   				if(EstaCansado[i] == 0) { M(i,COLOR_AMARILLO,"Ve a relajarte o a dormir, estбs un poco cansado."); EstaCansado[i] = 1; return 1; }
				}
				if(PlayerInfo[i][jCansancio] <= 20.0 && PlayerInfo[i][jCansancio] >= 1 && EstaCansado2[i] == 0.0)
				{
				    M(i,COLOR_ROJO,"Has pasado mucho tiempo despierto, y ahora estбs agotado, mejor ve a dormir.");
				    TextDrawShowForPlayer(i, Cansadot[i]); TextDrawShowForPlayer(i, Textdraw0m[i]); TextDrawShowForPlayer(i, Textdraw0m[i]);
			        TextDrawShowForPlayer(i, Textdraw2m[i]); TextDrawShowForPlayer(i, Textdraw3m[i]); TextDrawShowForPlayer(i, Textdraw4m[i]);
			        TextDrawShowForPlayer(i, TimerInfecc[i]); TextDrawShowForPlayer(i, Textdraw6m[i]); SetPlayerDrunkLevel(i, 1800000);
			        TextDrawShowForPlayer(i, Barra1[i]); TextDrawShowForPlayer(i, Barra2[i]);
					TextDrawShowForPlayer(i, Barra3[i]); TextDrawShowForPlayer(i, Barra4[i]);
	   				EstaCansado2[i] = 1; return 1;
				}
	        }
        }
    }
	return 1;
}

public AntiCheat()
{
 	foreach(Player, i)
	{
	    if(!IsPlayerNPC(i) && !IsPlayerInAnyVehicle(i) || IsPlayerInAnyVehicle(i) && PlayerInfo[i][jAdminXLEP] == 0 && Spawn[i] == 1 && DisableAntiCheat[i] == 1 && entuto[i] == 0 && Muerto[i] == 0)
     	{
		  	new Float:h, Float:a; GetPlayerHealth(i, h); GetPlayerArmour(i, a);
     		if(h >= 101 && PlayerInfo[i][jFaccion] != Zombie) { VidaPlayer(i,100); format(strinx, sizeof(strinx), "SERVER: Posible Cheat de vida: %s.", NombreJugadorAll(i)); SendAdminMessage(red, strinx); break; }
			if(a >= 101 && PlayerInfo[i][jFaccion] != Zombie) { ChalecoPlayer(i,100); format(strinx, sizeof(strinx), "SERVER: Posible Cheat de Chaleco: %s.", NombreJugadorAll(i)); SendAdminMessage(red, strinx); break; }
		  	if(PlayerInfo[i][jFaccion] != Zombie) {
			if(GetPlayerWeapon(i) == 18 || GetPlayerWeapon(i) == 35 || GetPlayerWeapon(i) == 36 || GetPlayerWeapon(i) == 37 || GetPlayerWeapon(i) == 38 || GetPlayerWeapon(i) == 44 || GetPlayerWeapon(i) == 39)
			{
				M(i,COLOR_ROJO,"SERVER: No se permiten cheats de armas.");
				ResetPlayerWeapons(i); Motivos[i][4] = 1; DarAdvertencia(i); break;
			}
			}
			if(GetPlayerSpecialAction(i) == 2) { Motivos[i][3] = 1; DarAdvertencia(i); break; }
  			new Float:VehicleHealth;
     		if(IsPlayerInAnyVehicle(i) && GetPlayerState(i) == PLAYER_STATE_DRIVER)
		 	{
		 	    if(GetVehicleSpeed(i)> 230)
				{
				switch(GetVehicleModel(GetPlayerVehicleID(i)))
				{
				case 0,511,460,592,577,512,513,520,553,593,476,519: printf("[ID: %d] Manejando %d Con velocidad de %skm/h",i,GetVehicleModel(GetPlayerVehicleID(i)),GetVehicleSpeed(i));
				default:
				{
				Motivos[i][8] = 1; DarAdvertencia(i);
				break;
				}
				}
				}
          		GetVehicleHealth(GetPlayerVehicleID(i), VehicleHealth);
            	if(VehicleHealth > 1000.0) {
	             	Motivos[i][9] = 1; DarAdvertencia(i);
	             	break;
                }
            }
            if(PlayerInfo[i][jFaccion] == Zombie && GetPlayerWeapon(i) >= 1) { ResetPlayerWeapons(i); }
			if(GetPlayerMoney(i) >= 1) { GivePlayerMoney(i, 0); Motivos[i][0] = 1; DarAdvertencia(i); }
			new Float:HP; GetPlayerHealth(i, HP);
		    if(HP >= VidaUsuario[i]) { break; }
		    else { VidaPlayer(i, HP); }
		    new Float:armor; GetPlayerArmour(i, armor);
		    if(armor >=   ChalecoUsuario[i]) { break; }
		    else { ChalecoPlayer(i, armor); }
	 	    if(HP == VidaUsuario[i]) { }
	    	else { if(HP > VidaUsuario[i] && Spawn[i] == 1) { ReestablecerVida(i, VidaUsuario[i]); Motivos[i][1] = 1; DarAdvertencia(i); break; } }
 	    	if(armor == ChalecoUsuario[i]) { }
		    else { if(armor > ChalecoUsuario[i]) { ReestablecerChaleco(i, ChalecoUsuario[i]); Motivos[i][2] = 1; DarAdvertencia(i); break; } }
		}
	}
 	return 1;
}

public TimerInfeccion()
{
	foreach(Player, i) {
	    if(Spawn[i] == 1) {
	     	if(PlayerInfo[i][jEnJail] == 1) { PlayerInfo[i][jJail]--; }
		    if(PlayerInfo[i][jEnJail] == 1 && PlayerInfo[i][jJail] == 0) { tdesencarcelar(i); }
		    if(Spawn[i] == 1 && durmiendo[i] == 0) {
			    if(PlayerInfo[i][jControlRI] >= 0 && PlayerInfo[i][jControlRI] <= 99999) {
			        new strm[90];
			        if(PlayerInfo[i][jMordidas] == 1) { PlayerInfo[i][jControlRI] -= 1; format(strm, sizeof(strm), "Infeccion: ~p~%ds", PlayerInfo[i][jControlRI]); TextDrawSetString(TimerInfecc[i], strm); }
	             	if(PlayerInfo[i][jMordidas] == 2) { PlayerInfo[i][jControlRI] -= 2; format(strm, sizeof(strm), "Infeccion: ~p~%ds", PlayerInfo[i][jControlRI]); TextDrawSetString(TimerInfecc[i], strm); }
		            if(PlayerInfo[i][jMordidas] >= 3) { PlayerInfo[i][jControlRI] -= 3; format(strm, sizeof(strm), "Infeccion: ~p~%ds", PlayerInfo[i][jControlRI]); TextDrawSetString(TimerInfecc[i], strm); }
			    }
			    if(PlayerInfo[i][jControlRI] <= -1 && PlayerInfo[i][jMordidas] >= 1) {
			    ResetPlayerWeapons(i); PlayerInfo[i][jFaccion] = Zombie; VidaPlayer(i,200); ChalecoPlayer(i,0);
	      		if(IsPlayerAttachedObjectSlotUsed(i,9)) { RemovePlayerAttachedObject(i,9); }
	      		switch(PlayerInfo[i][jFaccion]) { case Civil: { PlayerInfo[i][jMyFacc] = 0; } case FuerzaRebelde: { PlayerInfo[i][jMyFacc] = 1; } case CMA: { PlayerInfo[i][jMyFacc] = 2; } case CIH: { PlayerInfo[i][jMyFacc] = 3; } case SAEM: { PlayerInfo[i][jMyFacc] = 4; } }
				IdiomaH[i] = 0; IdiomaZ[i] = 1; PlayerInfo[i][jMordidas] = 0; PlayerInfo[i][jControlRI] = 1; PlayerInfo[i][jFaccion] = Zombie; KillTimer(timerx[i]);
				TextDrawShowForPlayer(i, Textdraw0i[i]); TextDrawShowForPlayer(i, Textdraw1i[i]); TextDrawShowForPlayer(i, Textdraw2i[i]);
				TextDrawShowForPlayer(i, Textdraw3i[i]); TextDrawShowForPlayer(i, Textdraw4i[i]); TextDrawShowForPlayer(i, Textdraw0m[i]);
				TextDrawShowForPlayer(i, Textdraw2m[i]); TextDrawHideForPlayer(i, Textdraw3m[i]); TextDrawHideForPlayer(i, Textdraw1m[i]);
				TextDrawShowForPlayer(i, Barra1[i]); TextDrawShowForPlayer(i, Barra2[i]);
				TextDrawShowForPlayer(i, Barra3[i]); TextDrawShowForPlayer(i, Barra4[i]);
				TextDrawHideForPlayer(i, Textdraw3m[i]); TextDrawHideForPlayer(i, Textdraw4m[i]); TextDrawHideForPlayer(i, Textdraw6m[i]);
				TextDrawHideForPlayer(i, Cansadot[i]); TextDrawHideForPlayer(i, Cansadito[i]);
				M(i, COLOR_ROJO, "El tiempo de infecciуn ya terminу, estбs infectado."); KillTimer(TVenda[i]);
				new ran = random(17);
				switch (ran) {
					case 0:{SetPlayerSkin(i,77);} case 1:{SetPlayerSkin(i,78);} case 2:{SetPlayerSkin(i,79);} case 3:{SetPlayerSkin(i,132);}
					case 4:{SetPlayerSkin(i,134);} case 5:{SetPlayerSkin(i,135);} case 6:{SetPlayerSkin(i,137);} case 7:{SetPlayerSkin(i,159);}
					case 8:{SetPlayerSkin(i,160);} case 9:{SetPlayerSkin(i,162);} case 10:{SetPlayerSkin(i,168);} case 11:{SetPlayerSkin(i,200);}
					case 12:{SetPlayerSkin(i,212);} case 13:{SetPlayerSkin(i,213);} case 14:{SetPlayerSkin(i,218);} case 15:{SetPlayerSkin(i,230);} case 16:{SetPlayerSkin(i,239);}
				}
				new strm[30]; format(strm, sizeof(strm), "Infeccion: ~p~Zombie"); TextDrawSetString(TimerInfecc[i], strm); return 1;
				}
			    else {
				    if(PlayerInfo[i][jControlRI] == 0 && PlayerInfo[i][jMordidas] == 0 && PlayerInfo[i][jFaccion] != Zombie) {
				        new strm[30]; format(strm, sizeof(strm), "Infeccion: ~g~Sano"); TextDrawSetString(TimerInfecc[i], strm); TextDrawShowForPlayer(i, TimerInfecc[i]);
	                }
	                else { if(PlayerInfo[i][jFaccion] == Zombie) { new strm[22]; format(strm, sizeof(strm), "Infeccion: ~p~Zombie"); TextDrawSetString(TimerInfecc[i], strm); } }
				}
	        }
        }
    }
    return 1;
}

public rere()
{
	new Float:a, Float:h, strm[64], strv[13], strc[13], stre[16], stt[64], zone[MAX_ZONE_NAME], stringv[30];
	foreach(Player, i) {
		if(Identificado[i] == 1 && Spawn[i] == 1) {
 			if(durmiendo[i] == 1) {
			    TextDrawHideForPlayer(i, Textdraw0m[i]); TextDrawHideForPlayer(i, Textdraw1m[i]); TextDrawHideForPlayer(i, Textdraw2m[i]);
			    TextDrawHideForPlayer(i, Textdraw3m[i]); TextDrawHideForPlayer(i, Textdraw4m[i]); TextDrawHideForPlayer(i, TimerInfecc[i]);
			    TextDrawHideForPlayer(i, Textdraw6m[i]);
			    TextDrawHideForPlayer(i, Barra1[i]); TextDrawHideForPlayer(i, Barra2[i]);
 				TextDrawHideForPlayer(i, Barra3[i]); TextDrawHideForPlayer(i, Barra4[i]);
				return 1;
			}
			else TextDrawHideForPlayer(i, Cansadito[i]);
   			if(entuto[i] == 1) {
				TextDrawHideForPlayer(i, Textdraw0i[i]); TextDrawHideForPlayer(i, Textdraw1i[i]); TextDrawHideForPlayer(i, Textdraw2i[i]);
				TextDrawHideForPlayer(i, Textdraw3i[i]); TextDrawHideForPlayer(i, Textdraw4i[i]); TextDrawHideForPlayer(i, Textdraw0m[i]);
				TextDrawHideForPlayer(i, Textdraw2m[i]); TextDrawHideForPlayer(i, Textdraw3m[i]); TextDrawHideForPlayer(i, Textdraw1m[i]);
				TextDrawHideForPlayer(i, Textdraw3m[i]); TextDrawHideForPlayer(i, Textdraw4m[i]); TextDrawHideForPlayer(i, TimerInfecc[i]);
				TextDrawHideForPlayer(i, Textdraw6m[i]); TextDrawHideForPlayer(i, Cansadot[i]); TextDrawHideForPlayer(i, Cansadito[i]);
				TextDrawHideForPlayer(i, Barra1[i]); TextDrawHideForPlayer(i, Barra2[i]);
 				TextDrawHideForPlayer(i, Barra3[i]); TextDrawHideForPlayer(i, Barra4[i]);
				return 1;
			}
			GetPlayerArmour(i, a); GetPlayerHealth(i, h); format(strm, sizeof(strm), "Arma: %s", WeaponNames[GetPlayerWeapon(i)]); format(stt, sizeof(stt), "Municion: %d", GetPlayerAmmo(i));
			format(strv, sizeof(strv), "Vida: ~r~%f", h); format(strc, sizeof(strc), "Chaleco: %f", a); format(stre, sizeof(stre), "Energia: ~y~%f", PlayerInfo[i][jCansancio]);
            TextDrawSetString(Textdraw3m[i], strm); TextDrawSetString(Textdraw6m[i], stt);
            TextDrawSetString(Textdraw1m[i], strc); TextDrawSetString(Textdraw2m[i], strv); TextDrawSetString(Textdraw4m[i], stre);
			if(IsPlayerInAnyVehicle(i)) { Check(); TextDrawHideForPlayer(i, Zonas[i]); }
            else { GetPlayer2DZone(i, zone, MAX_ZONE_NAME); format(stringv,sizeof(stringv),"%s", zone); TextDrawSetString(Zonas[i], stringv); TextDrawShowForPlayer(i, Zonas[i]); }
			if(zoneint(i) >= 1 && zoneintt(i) >= 1) { TextDrawHideForPlayer(i, Zonas[i]); }
			if(a > 0) { SetPlayerAttachedObject(i, SlotObjeto, 373, 1, 0.255219, -0.012552, -0.162815, 69.963966, 27.580476, 33.800472, 0.959405, 1.000000, 1.192921 ); }
			else RemovePlayerAttachedObject(i,SlotObjeto);
		}
    }
	return 1;
}

public UnaVez()
{
for(new v = 0; v < MAX_VEHICLES; v++)
{
new lights,alarm,engine, doors,bonnet,boot,objective;
GetVehicleParamsEx(v,engine,lights,alarm,doors,bonnet,boot,objective);
SetVehicleParamsEx(v,0,lights,alarm,doors,bonnet,boot,objective);
new ran = random(8);
switch (ran)
{
case 0:{Fuel[v] = 100;}
case 1:{Fuel[v] = 90;}
case 2:{Fuel[v] = 80;}
case 3:{Fuel[v] = 70;}
case 4:{Fuel[v] = 60;}
case 5:{Fuel[v] = 50;}
case 6:{Fuel[v] = 40;}
case 7:{Fuel[v] = 35;}
}
}
return 1;
}
Auxilio he intentado de todo pero no encuentro el problema!, йstos son los includes que uso:

Код:
#include <a_samp>
#include <foreach>
#include <mSelection>
#include <streamer>
#include <sscanf2>
#include <zcmd>
#include <YSI\y_ini>
Reply


Messages In This Thread
Problema, lag masivo. - by Unrea1 - 04.01.2014, 03:29
Respuesta: Problema, lag masivo. - by Swedky - 04.01.2014, 03:40
Respuesta: Problema, lag masivo. - by Unrea1 - 04.01.2014, 03:56
Respuesta: Problema, lag masivo. - by Alienwar3 - 04.01.2014, 17:42
Respuesta: Problema, lag masivo. - by Unrea1 - 04.01.2014, 19:40
Respuesta: Problema, lag masivo. - by CrossOv3r - 04.01.2014, 20:29
Respuesta: Problema, lag masivo. - by Swedky - 04.01.2014, 20:53
Respuesta: Problema, lag masivo. - by Unrea1 - 04.01.2014, 23:10
Respuesta: Problema, lag masivo. - by CrossOv3r - 04.01.2014, 23:41
Respuesta: Problema, lag masivo. - by Adoniiz - 05.01.2014, 00:02

Forum Jump:


Users browsing this thread: 2 Guest(s)