[Ajuda] Lag no GM
#1

eu estou com um problema no meu servidor toda vez que dou respawn nos carros o servidor da rt uns 15 segundos para todos os players

codigo:
PHP код:
    if(strcmp(cmd"/respawncarros"true) == || strcmp(cmd"/rc"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
            if(
PlayerInfo[playerid][pAdmin] < 1337)
            {
                
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo estб autorizado a usar este comando !");
                return 
1;
            }
            if(
AdminTrabalhando[playerid] < && PlayerInfo[playerid][pAdmin] != 1340 && PlayerInfo[playerid][pAdmin] != 1342 && PlayerInfo[playerid][pAdmin] != 1341)
            {
                
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo estб trabalhando! (/trabalhar)");
                return 
1;
            }
               
GetPlayerName(playeridplayernamesizeof(playername));
            new 
bool:unwanted[CAR_AMOUNT];
            for(new 
player=0player<MAX_PLAYERSplayer++)
             {
                if(
IsPlayerInAnyVehicle(player))
                {
                     
unwanted[GetPlayerVehicleID(player)] = true;
                }
             }
            for(new 
car 1car <= CAR_RESPAWcar++)
            {
                if(!
unwanted[car])
                {
                     
SetVehicleToRespawn(car);
                }
            }
            
format(stringsizeof(string), "[BPF]: Todos os carros foram para seus locais de inicio. By: %s."playername);
            
SendClientMessageToAll(0x80FF8096,string);
        }
        return 
1;
    } 
e quando vo ligar o servidor ele demora um pouco para ligar tambem... demora um pouco mais do que os outros gm de RPG e no /gmx ele tambem demora mais para dar o gmx

codigo:
PHP код:
    if(strcmp(cmd"/gmx"true) == 0)
    {
        if(
IsPlayerConnected(playerid))
        {
             if(
PlayerInfo[playerid][pAdmin] >= 1340)
            {
                if(
AdminTrabalhando[playerid] < && PlayerInfo[playerid][pAdmin] != 1340 && PlayerInfo[playerid][pAdmin] != 1341 && PlayerInfo[playerid][pAdmin] != 1342) { return SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo estб trabalhando! (/trabalhar)"); }
                for(new 
0MAX_PLAYERSi++)
                {
                    if(
IsPlayerConnected(i))
                    {
                       
OnPlayerSave(i);
                       
SaveCofreGov();
                       
EventoAcontecendo 0;
                       
PlayerInfo[i][pTiroteio] = 0;
                    }
                    new 
gmx[100];
                    
getdate(yearmonthday);
                    
gettime(hourminute);
                    
GetPlayerName(playeridplayernamesizeof(playername));
                    
format(gmx,sizeof(gmx),"Admin : %s Reiniciou o Servidor !"playername);
                    
SendClientMessage(iCOLOR_YELLOWgmx);
                    
StopAudioStreamForPlayer(i);
                    
KillTimer(TempoAdministrador);
                }
                
GameModeExitFunc();
            }
            else
            {
                
SendClientMessage(playeridCOLOR_GRAD1"Vocк nгo tem autorizaзгo para usar este comando !");
            }
        }
        return 
1;
    } 
OBS: as plugins e as include estгo atualizadas
quem puder me ajudar agradeзo deis de ja
Reply
#2

Cara o pior que pra descobrir onde ta o problema, Tem mil formas, quantidade de carros, loops, salvamentos e por ai vai...
Reply
#3

Posta a definiзгo de "CAR_RESPAW" e "CAR_AMOUNT" por favor... Posta sua public ongamemodeinit e a onplayerconnect tambйm
Reply
#4

Timers por tudo e por nada mais loops que nunca mais acabam por vezes ainda se metem a salvar dados em loops ou timers com curto intervalo de tempo ou entгo callbacks sensнveis como jб vi um caso na OnPlayerUpdate

A fonte disso pode ser muita coisa
Reply
#5

CAR_RESPAW
PHP код:
#define   CAR_RESPAW       1283  // menos 1 do CAR_AMOUNT 
CAR_AMOUNT
PHP код:
#define   CAR_AMOUNT       1284  // TODOS OS CARROS + 1 
public OnGameModeInit
PHP код:
public OnGameModeInit()
{
    
CHitman 0;
    
CAssassins 0;
    
XiterCbug 0;
    
getdate(v[0], v[1], v[2]);
    
gettime(v[3], v[4], v[5]);
    print(
"\n---------------------------------------------------------");
    
printf("Server Ligado: [%02d/%02d/%d %02d:%02d:%02d]"v[2], v[1], v[0], v[3], v[4], v[5]);
    print(
"---------------------------------------------------------\n");
    
SetHora();
    print(
"-----------------------------");
    print(
" GM by : Igor_Maicon");
    print(
"-----------------------------");
//=====================================[INFOORG]================================//
    
LoadOrgs();
//==============================================================================//
    
LoadTrunk();
    
LoadGays();
    
CarregarAdmins();
    
LoadVip();
    
skinlist LoadModelSelectionMenu("skins.txt");
    
SendRconCommand("rcon 0"); 
postar tudo que tem dentro da public ou sу isso ai?

public OnPlayerConnect
PHP код:
public OnPlayerConnect(playerid)
{
    new 
connecting_ip[32+1];
    new 
num_players_on_ip GetNumberOfPlayersOnThisIP(connecting_ip);
    
IPlog(playerid);
    
SetPVarInt(playerid"laser"0);
    
SetPVarInt(playerid"color"18643);
    
GetPlayerIp(playerid,connecting_ip,32);
    
PlayAudioStreamForPlayer(playerid"https://dl.dropboxusercontent.com/s/vxfsnx90vyt2tjj/entrada.mp3");
    
SetTimerEx("Payday"60true"i"playerid);
    if(
num_players_on_ip CONEXOES_IP)
    {
        
printf("MAXIPs: Connecting player(%d) exceeded %d IP connections from %s."playeridCONEXOES_IPconnecting_ip);
        
Kick(playerid);
        return 
1;
    }
    if(
strfind(PlayerName(playerid), "_"true) == -|| strfind(PlayerName(playerid), "["true) != -|| strfind(PlayerName(playerid), "]"true) != -|| strfind(PlayerName(playerid), "lixo"true) != -|| strfind(PlayerName(playerid), "buceta"true) != -|| strfind(PlayerName(playerid), "caralho"true) != -|| strfind(PlayerName(playerid), "["true) != -|| strfind(PlayerName(playerid), "server"true) != -|| strfind(PlayerName(playerid), "iHarDz"true) != -1
    
|| strfind(PlayerName(playerid), "servidor"true) != -|| strfind(PlayerName(playerid), "crash"true) != -|| strfind(PlayerName(playerid), "bpl"true) != -|| strfind(PlayerName(playerid), "gamerx"true) != -|| strfind(PlayerName(playerid), "["true) != -|| strfind(PlayerName(playerid), "189"true) != -|| strfind(PlayerName(playerid), "201"true) != -|| strfind(PlayerName(playerid), "200"true) != -|| strfind(PlayerName(playerid), "."true) != -1
    
|| strfind(PlayerName(playerid), "*"true) != -|| strfind(PlayerName(playerid), "("true) != -|| strfind(PlayerName(playerid), ")"true) != -|| strfind(PlayerName(playerid), "@"true) != -|| strfind(PlayerName(playerid), "amx"true) != -|| strfind(PlayerName(playerid), "prn"true) != -|| strfind(PlayerName(playerid), "__"true) != -|| strfind(PlayerName(playerid), "HAX4"true) != -1)
    {
        
SendClientMessage(playeridCOLOR_LIGHTBLUE"Vocк Foi Kickado por usar algum nome incorreto!");
        
SendClientMessage(playeridCOLOR_LIGHTBLUE"Seu nome deve ser no formato Nome_Sobrenome Ex: Guru_Josh");
        
SendClientMessage(playeridCOLOR_LIGHTBLUE"Troque-o e volte, Obrigado.");
        
format(gstring,64,"Players/%s.ini",PlayerName(playerid));
        
Kick(playerid);
        
fremove(gstring);
        return 
1;
    } 
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)