SA-MP Forums Archive
[Ajuda] Sobre Otimizaзгo - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Português/Portuguese (https://sampforum.blast.hk/forumdisplay.php?fid=34)
+---- Thread: [Ajuda] Sobre Otimizaзгo (/showthread.php?tid=664841)



Sobre Otimizaзгo - Scorpion659 - 12.03.2019

Boa noite, minha dъvida й simples, nгo й nenhum problema que ta acontecendo, mas uma duvida que surgiu.

Tenho um sistema de itens, ele tem que listar todos os itens numa dialog quando o player pressiona 'n'. Entгo eu criei uma string de 1000 cйlulas pra conter todos os nomes em uma dialog. A questгo que fiquei pensando й. Toda vez que o player apertar 'n', vai criar uma string de 1000 cйlulas, isso consome muito processamento?

Eu contei todos os caracteres dos itens e mais as quantidades, da perto de 1000.

PHP Code:
if(newkeys == KEY_NO)
    {
        if(
VariavelPlayer[playerid][nLoot] >= 0){
            
ObterListaItens(playerid);
            new 
StringTemp[1000];
            new 
VerfArr 0VerHaveItem 0;
            new 
numStr[5];
            for(new 
i=0i<sizeof(NomeItens); i++){
                if(
strcmp(VetorItensDialog[playerid][i], "a"true)){
                    if(!
VerfArr){
                        
strcat(StringTemp,VetorItensDialog[playerid][i]);
                        
strcat(StringTemp,"\t");
                        if(!
VetorMunDialog[playerid][i][tipoItem]){
                            
valstr(numStrsitens[VariavelPlayer[playerid][nLoot]][AllItens][VetorMunDialog[playerid][i][Iteration]]);
                        }else if(
VetorMunDialog[playerid][i][tipoItem] == 1){
                            
valstr(numStruitens[VariavelPlayer[playerid][nLoot]][AllItens][VetorMunDialog[playerid][i][Iteration]]);
                        }else{
                            
valstr(numStrtitens[VariavelPlayer[playerid][nLoot]][AllItens][VetorMunDialog[playerid][i][Iteration]]);
                        }
                        
strcat(StringTempnumStr);
                        
VerfArr 1;
                    }else{
                        
strcat(StringTemp,"\n");
                        
strcat(StringTemp,VetorItensDialog[playerid][i]);
                        
strcat(StringTemp,"\t");
                        if(!
VetorMunDialog[playerid][i][tipoItem]){
                            
valstr(numStrsitens[VariavelPlayer[playerid][nLoot]][AllItens][VetorMunDialog[playerid][i][Iteration]]);
                        }else if(
VetorMunDialog[playerid][i][tipoItem] == 1){
                            
valstr(numStruitens[VariavelPlayer[playerid][nLoot]][AllItens][VetorMunDialog[playerid][i][Iteration]]);
                        }else{
                            
valstr(numStrtitens[VariavelPlayer[playerid][nLoot]][AllItens][VetorMunDialog[playerid][i][Iteration]]);
                        }
                        
strcat(StringTempnumStr);
                    }
                    
VerHaveItem 1;
                }
            }
            if(
VerHaveItem){
                
ShowPlayerDialog(playeridDialogLootDIALOG_STYLE_TABLIST"LOOT"StringTemp"Pegar""Cancelar");
            }else{
                
SendClientMessage(playerid, -1"{ffffff}Este {ff0000}loot {ffffff}nгo possui mais {ff0000}itens{ffffff}!");
            }
        } 
Teria como fazer mais otimizado ou sу assim mesmo? e tem algum problema de desemprenho se for feito assim?


Re: Sobre Otimizaзгo - zHellSync - 12.03.2019

A String serб temporбria. na hora que tocar "N" ira recriar a mesma, e nгo criar uma nova.


Re: Sobre Otimizaзгo - Scorpion659 - 13.03.2019

Quote:
Originally Posted by zHellSync
View Post
A String serб temporбria. na hora que tocar "N" ira recriar a mesma, e nгo criar uma nova.
Sim, sim. Mas o processo de recriaзгo, й muito pesado pro servidor ou nгo preciso me preocupar?


Re: Sobre Otimizaзгo - zHellSync - 13.03.2019

https://sampforum.blast.hk/showthread.php?tid=480529

Este modo vocк reduz em atй 4x o consumo. Consequentemente, mais rapidez.