[Ajuda] Dъvida sobre melhoramento de codigo
#1

Entгo gente, eu fiquei pensando aqui o onplayerupdate ele atualiza o jogador toda hora, tranquilo com um jogador agora imagina com varios, acho que poderia comprometer um pouco a velocidade de resposta do servidor, tava pensando em dar uma melhorada nos meus codigos do gm tipo meu
armas nas costas, assim q vc pega arma, jб adiciona um ojbeto nas suas costas no mesmo segundo, isso fazendo puxar a maquina, n seria melhor e como eu faзo, pra tipo de 1 em 1 minuto checa-se se vc tem a arma pra poder adicionar o objeto em vez de adicionar na hora?
Meu codigo
pawn Код:
if(!IsPlayerInAnyVehicle(playerid))
    {
        new Armas[MAX_PLAYERS],Balas[MAX_PLAYERS];
        GetPlayerWeaponData(playerid, 5, Armas[playerid], Balas[playerid]);
        if(Armas[playerid] == 30 && Balas[playerid] >= 1)//Ak-47
        {
            if(GetPlayerWeapon(playerid) == 30) RemovePlayerAttachedObject(playerid,SlotAKeFUZIL);
            else SetPlayerAttachedObject(playerid, SlotAKeFUZIL, 355, 1, -0.060921, -0.141673, 0.000000, 0.000000, 35.362735, 0.000000);
        }
        else if(Armas[playerid] == 31 && Balas[playerid] >= 1) //FUZIL
        {
            if(GetPlayerWeapon(playerid) == 31) RemovePlayerAttachedObject(playerid,SlotAKeFUZIL);
            else SetPlayerAttachedObject(playerid, SlotAKeFUZIL, 356, 1, -0.099681, -0.133408, 0.000000, 1.027592, 19.667785, 0.000000);
        }
        else
        {
            RemovePlayerAttachedObject(playerid,SlotAKeFUZIL);
        }
        GetPlayerWeaponData(playerid, 3, Armas[playerid], Balas[playerid]);
        if(Armas[playerid] == 25 && Balas[playerid] >= 1)//escopeta
        {
            if(GetPlayerWeapon(playerid) == 25) RemovePlayerAttachedObject(playerid,SlotEscopeta);
             else SetPlayerAttachedObject(playerid, SlotEscopeta, 349, 1, -0.109260, -0.059651, -0.066210, 186.310729, 42.375362, 6.716565);
        }
        else if(Armas[playerid] == 27 && Balas[playerid] >= 1) //escopeta de combate
        {
            if(GetPlayerWeapon(playerid) == 27) RemovePlayerAttachedObject(playerid,SlotEscopeta);
            else SetPlayerAttachedObject(playerid, SlotEscopeta, 351, 1, -0.181073, -0.056285, -0.081242, 181.269729, 39.399085, 12.246994);
        }
        else
        {
            RemovePlayerAttachedObject(playerid,SlotEscopeta);
        }
    return 1;
}
Reply
#2

ta uma base pra vc
coloca a callback onde quiser
pawn Код:
forward AtualizarArmas(playerid);
public AtualizarArmas(playerid)
{
    //seu codigo
      return 1;
}
OnGameModeInit
SetTimer("AtualizarArmas", 60000,1);//60000 1 min
Reply
#3

melhoraria msm o desenvolvimento do sv separado por callbacks de 1 minuto em vez de por em onplayerupdate?
Reply
#4

isso melhoraria mesmo o desenvolvimento do sv? ficaria mais rapido? puxaria menos no host?
Reply
#5

Clica

Video Aula de otimizaзгo do PauloR, recomendo!
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)