[Ajuda] Me explica isso, Array, Sugestгo
#1

Gostaria de saber o que quer dizer esse ( +1 ), tambйm gostaria que vocкs me explicasse como fazer arry com colunas tanto pra esquerda como pra direita, tipo
PHP Code:
new array[2][2] = {}; 
Bom nгo sei se esta certo mais a minha intenзгo aqui foi fazer uma pequena tabela com 3 cassas pra baixo e 3 pro lado. me expliquem to meio perdido, Agradeзo pela AJUDA de TODOS.

PHP Code:
new gzcolor[MAX_GANGS+1] =
{
    
0x1E90FFAA0xCD0000AA0x696969AA
}; 
E aн galera tudo bem?
bom eu gostaria de saber de vocк sobre esse cуdigo que fiz, bom eu nгo sei muito bem mais eu fico achando que da forma como eu fiz ta meio que uma gambiarra gostaria de sabe de vocк esse cуdigo ta feito de maneira correta e se haveria uma forma melhor de se fazer, tipo ele ta funcionando perfeito mais eu fico achando que nгo e a forma correta de se fazer e poderia se feita de maneira mais funcional, agradeзo pela suas opiniхes.

PHP Code:
stock AutoCreateOrgs()
{
    for(new 
0<= 6i++) // ( 6 ) Representa o nъmero de Orgs tem que ser mudado quando acrescentado mais orgs.
    
{
        
format(Stringsizeof(String), "Orgs/%s.ini"OrgsNames[i]);
        if(!
DOF2_FileExists(String))
        {
            
DOF2_CreateFile(String);
            
AutoCreateOrgs();
        }
        else
        {
            switch(
i)
            {
                   case 
0//POLICIA
                   
{
                       
OrgInfo[OrgID] = 0;
                    
OrgInfo[Banco] = 1000;
                   }
                case 
1//MAFIA
                
{
                    
OrgInfo[OrgID] = 1;
                    
OrgInfo[Banco] = 1000;
                }
                case 
2//MERCADO NEGRO
                
{
                    
OrgInfo[OrgID] = 2;
                      
OrgInfo[Banco] = 1000;
                }
                case 
3//MERCADO BRANCO
                
{
                    
OrgInfo[OrgID] = 3;
                    
OrgInfo[Banco] = 1000;
                }
                case 
4//MERCADO CINZA
                
{
                    
OrgInfo[OrgID] = 4;
                    
OrgInfo[Banco] = 1000;
                }
                case 
5//MERCADO VERMELHO
                
{
                    
OrgInfo[OrgID] = 5;
                    
OrgInfo[Banco] = 1000;
                }
                case 
6//MERCADO ROSA
                
{
                    
OrgInfo[OrgID] = 6;
                    
OrgInfo[Banco] = 1000;
                }
                
//default: { O que deve ser executado caso nгo seja igual aos exemplos acima } //Nгo obrigatуrio
            
}
            
DOF2_SetInt(String"OrgID"OrgInfo[OrgID]);
            
DOF2_SetInt(String"Banco"OrgInfo[Banco]);
            
DOF2_SetBool(String"Org_Aberta"true);
            
DOF2_SetBool(String"Org_Fechado"false);
            
DOF2_SetString(String"Membros"OrgInfo[Membros]);
            
DOF2_SaveFile();
        }
    }
    return 
String;

Obs: o cуdigo acima nгo acabei ainda o que planejo.
Reply
#2

1є: Uma array comeзa a ser contada a partir do elemento 0, ou seja, a array com MAX_ORGS na verdade nгo vai ir atй o real valor dela, pois comeзou a ser contado a partir do 0.

MAX_ORGS = 5

static const gZ[MAX_ORGS] = {
0, 1, 2, 3, 4
};

Ela tem 5 elementos como o MAX_ORGS, mas o seu ъltimo valor serб 4.


2є Nгo entendi.


3є - Procure vocк mesmo saber como melhorar o seu cуdigo, quebre a sua cabeзa. Apenas uma dica para vocк na parte do switch.

Pense comigo: Todos os valores sгo iguais, outros jб seguem uma Progressгo Aritmйtica, entгo o que pode ser feito?
Reply
#3

Gostaria de saber o que quer dizer esse ( +1 )

PHP Code:
new gzcolor[MAX_GANGS+1] =
{
    
0x1E90FFAA0xCD0000AA0x696969AA
}; 


Em relaзгo a se repetir vocк quer dizer o OrgInfo[Banco] = 1000; ?
se e isso acho que poderia ser resolvido assim.....

PHP Code:
stock AutoCreateOrgs()
{
    for(new 
0<= 6i++) // ( 6 ) Representa o nъmero de Orgs tem que ser mudado quando acrescentado mais orgs.
    
{
        
format(Stringsizeof(String), "Orgs/%s.ini"OrgsNames[i]);
        if(!
DOF2_FileExists(String))
        {
            
DOF2_CreateFile(String);
            
AutoCreateOrgs();
        }
        else
        {
            switch(
i)
            {
                   case 
0//POLICIA
                   
{
                       
OrgInfo[OrgID] = 0;
                   }
                case 
1//MAFIA
                
{
                    
OrgInfo[OrgID] = 1;
                }
                case 
2//MERCADO NEGRO
                
{
                    
OrgInfo[OrgID] = 2;
                }
                case 
3//MERCADO BRANCO
                
{
                    
OrgInfo[OrgID] = 3;
                }
                case 
4//MERCADO CINZA
                
{
                    
OrgInfo[OrgID] = 4;
                }
                case 
5//MERCADO VERMELHO
                
{
                    
OrgInfo[OrgID] = 5;
                }
                case 
6//MERCADO ROSA
                
{
                    
OrgInfo[OrgID] = 6;
                }
                
//default: { O que deve ser executado caso nгo seja igual aos exemplos acima } //Nгo obrigatуrio
            
}
                
OrgInfo[Banco] = 1000;
            
DOF2_SetInt(String"OrgID"OrgInfo[OrgID]);
            
DOF2_SetInt(String"Banco"OrgInfo[Banco]);
            
DOF2_SetBool(String"Org_Aberta"true);
            
DOF2_SetBool(String"Org_Fechado"false);
            
DOF2_SetString(String"Membros"OrgInfo[Membros]);
            
DOF2_SaveFile();
        }
    }
    return 
String;

Reply
#4

Nгo precisa usar switch.
PHP Code:
stock AutoCreateOrgs()
{
    for(new 
0<= 6i++) // ( 6 ) Representa o nъmero de Orgs tem que ser mudado quando acrescentado mais orgs.
    
{
        
format(Stringsizeof(String), "Orgs/%s.ini"OrgsNames[i]);
        if(!
DOF2_FileExists(String))
        {
            
DOF2_CreateFile(String);
            
AutoCreateOrgs();
        }
        else
        {
            
OrgInfo[OrgID] = i;
            
OrgInfo[Banco] = 1000;
            
DOF2_SetInt(String"OrgID"OrgInfo[OrgID]);
            
DOF2_SetInt(String"Banco"OrgInfo[Banco]);
            
DOF2_SetBool(String"Org_Aberta"true);
            
DOF2_SetBool(String"Org_Fechado"false);
            
DOF2_SetString(String"Membros"OrgInfo[Membros]);
            
DOF2_SaveFile();
        }
    }
    return 
String;

Gostaria de saber o que quer dizer esse ( +1 ), tambйm gostaria que vocкs me explicasse como fazer arry com colunas tanto pra esquerda como pra direita, tipo
Arrays nгo sгo necessariamente tabelas, sгo mais parecidas com listas:
PHP Code:
new lista_numeros[2] = {12}; 
Usar dois colchetes completos, й o mesmo que guardar listas dentro de listas:
PHP Code:
new lista_numeros[2][2] = {{12}, {34}}; 
Gostaria de saber o que quer dizer esse ( +1 )
Quer dizer que o valor de gzcolor serб igual a MAX_GANGS + 1.
Reply
#5

O certo seria
pawn Code:
OrgInfo[OrgID][Banco] = 1000;
Reply
#6

Muito obrigado cara todos vocк.
fico muito grato!
vlw vou corrigir tudo isso aн sim.

E vou fazer dessa forma mesmo uma array dentro da outra fica bem melhor de declarar o id.
e tem razгo nгo precisa da switch.

foi um grande empurrгo.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)