SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

Participe do fórum, é rápido e fácil

SSGamers - 13 Anos online por você.

#SSGamers - A Comunidade que mais crescer no brasil!

SSGamers - 13 Anos online por você.

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Chegou o novo tema 6.5.5 - SSGamers - Servidores online de qualidade - Aproveite e entre para nossa comunidade, inscreva-se já! - Ouça nossa web radio - Veja nossas novidades - Participe dos nossos setores de jogos online - Parcerias aberta fale já com um administrador.

2 participantes

    [Tutorial] » OTIMIZAÇÕES DE LOOPINGS

    Weslley_Script
    Weslley_Script
    SS - Fundador
    SS - Fundador


    Steam Steam : WeslleySSGames
    Zello : WeslleySSGames
    Mensagens : 11625
    Moedas : 1032881
    Data de inscrição : 06/10/2011
    Idade : 28
    Localização : Brasil

    [Tutorial] » OTIMIZAÇÕES DE LOOPINGS Empty [Tutorial] » OTIMIZAÇÕES DE LOOPINGS

    Mensagem por Weslley_Script Qui 26 Ago 2021 - 18:06

    Recentemente percebi que não existem bons tópicos de dicas para otimizações na linguagem Pawn.
    Decidi criar esse tópico, para que quem souber, possa responder aqui com a sua contribuição.


    Bom, lá vai a minha: Otimização de Loop's

    Código:
    Código:
    // A INCLUDE a_samp.inc NATURALMENTE DEFINE QUE O MAXIMO DE JOGADORES QUE O SAMP SUPORTA É 1000(MIL) SLOTS
    // E SE VOCÊ NÃO REDEFINIR O MAXIMO DE PLAYERS OU USAR OUTRA FORMA DE LOOP, EM GRANDE ESCALA O SERVIDOR IRÁ LAGAR E DAR RT.

    //VAMOS LÁ
    #include <a_samp> //include base
    #include <foreach> //include para loops/listas


    //INICIALMENTE, PARA CRIAR UM LOOP PARA TODOS OS JORADORES, FAZEMOS DESSA FORMA:
    for(new i; i < MAX_PLAYERS; i++) //Esse loop é executado 1000 vezes, em todos os slots(Mesmo que o slot não tenha ninguém conectado)
    {
        SetPlayerHealth(i, 100.0); //Essa função seta para todos os jogadores a vida para 100(Máximo).
    }

    //A INCLUDE FOREACH FAZ ATÉ QUE MELHOR, ELA APENAS EXECUTA EM JOGADORES CONECTADOS:
    foreach(new i: Players)//Se tiver 100 slots, mas 30 jogadores conectados, ele só ira executar 30x(Nos Conectados)
    {
        SetPlayerHealth(i, 100.0);//Essa função seta para todos os jogadores a vida para 100(Máximo).
    }


    //Créditos: nilat_


    Considerações Importantes:
    - O Foreach usa a include YSI do Y_Less, caso não tenha: Link
    - Include Foreach: Link



    [Tutorial] » OTIMIZAÇÕES DE LOOPINGS D07Xwqb
    [Tutorial] » OTIMIZAÇÕES DE LOOPINGS Yjab9HN
    iShifT
    iShifT
    --> Postador Iniciante
    --> Postador Iniciante


    Celular : +55 85 9196-5465
    Mensagens : 60
    Moedas : 1587
    Data de inscrição : 12/11/2020
    Idade : 23

    [Tutorial] » OTIMIZAÇÕES DE LOOPINGS Empty Re: [Tutorial] » OTIMIZAÇÕES DE LOOPINGS

    Mensagem por iShifT Dom 29 Ago 2021 - 10:15

    Weslley_Script escreveu:Recentemente percebi que não existem bons tópicos de dicas para otimizações na linguagem Pawn.
    Decidi criar esse tópico, para que quem souber, possa responder aqui com a sua contribuição.


    Bom, lá vai a minha: Otimização de Loop's

    Código:
    Código:
    // A INCLUDE a_samp.inc NATURALMENTE DEFINE QUE O MAXIMO DE JOGADORES QUE O SAMP SUPORTA É 1000(MIL) SLOTS
    // E SE VOCÊ NÃO REDEFINIR O MAXIMO DE PLAYERS OU USAR OUTRA FORMA DE LOOP, EM GRANDE ESCALA O SERVIDOR IRÁ LAGAR E DAR RT.

    //VAMOS LÁ
    #include <a_samp> //include base
    #include <foreach> //include para loops/listas


    //INICIALMENTE, PARA CRIAR UM LOOP PARA TODOS OS JORADORES, FAZEMOS DESSA FORMA:
    for(new i; i < MAX_PLAYERS; i++) //Esse loop é executado 1000 vezes, em todos os slots(Mesmo que o slot não tenha ninguém conectado)
    {
        SetPlayerHealth(i, 100.0); //Essa função seta para todos os jogadores a vida para 100(Máximo).
    }

    //A INCLUDE FOREACH FAZ ATÉ QUE MELHOR, ELA APENAS EXECUTA EM JOGADORES CONECTADOS:
    foreach(new i: Players)//Se tiver 100 slots, mas 30 jogadores conectados, ele só ira executar 30x(Nos Conectados)
    {
        SetPlayerHealth(i, 100.0);//Essa função seta para todos os jogadores a vida para 100(Máximo).
    }


    //Créditos: nilat_


    Considerações Importantes:
    - O Foreach usa a include YSI do Y_Less, caso não tenha: Link
    - Include Foreach: Link
    Código:
        for (new i = 0, j = GetPlayerPoolSize(); i <= j; i++)
        {
            //...
        }

    Tenha um bom dia study

      Data/hora atual: Sex 8 Nov 2024 - 4:12