[Pedido] Revisгo de cуdigo
#1

Bom, alguns dias atrбs comecei a fazer um GM RPG do 0, mas um GM RPG й bem grande, precisa ser bem feito para nгo dar lag e bugs, gostaria que vocкs revissem 2 cуdigos, ver se estou fazendo do jeito certo e se a logica estб certa.

Comando de aceitar convite pra org:
PHP код:
CMD:aceitarc(playerid)
{
    if(
Logado[playerid] == false) return SendClientMessage(playerid, COR_ERRO, "Logue antes de digitar algum comando");
    if(
Convite[playerid] == 0)
    {
        
SendClientMessage(id, COR_ERRO, "Vocк nгo foi convidado para nenhuma Organizaзгo");
        return 
1;
    }
    
Player[playerid][Org] = Convite[playerid]; //a variavel Convite armazena o ID da org para qual o player foi convidado
    
Convite[playerid] = 0;
    
format(Str, sizeof(Str), "Vocк entrou para organizaзгo: {FF0000}%s", NomeOrgg(Player[playerid][Org]));
    
SendClientMessage(id, COR_GERAL, Str);
    new 
Orgfile[40];
    
format(Orgfile, sizeof(Orgfile), "Orgs/Org%d.ini", Player[playerid][Org]);
    new 
Membro[20];
    new 
Membrovago[20];
    for(new 
i = 1; i < 21; i++) //Esse loop procura uma vaga no arquivo da org, exemplo "Membro3 = Ningъem", ai seta o nome do player la
    
{
        
format(Membrovago, sizeof(Membrovago), "Membro%d", i);
        
format(Membro, 20, "%s", DOF2_GetString(Orgfile, Membrovago));
        if(!
strcmp(Membro, "Ninguйm", true))
        {
             
GetPlayerName(playerid, nomep, sizeof(nomep));
             
DOF2_SetString(Orgfile, Membrovago, nomep);
            
DOF2_SaveFile();
            return 
1;
        }
    }
    return 
1;
} 
Outro cуdigo que usei quase a mesma logica:
PHP код:
CMD:demitir(playerid, params[])
{
    if(
Logado[playerid] == false) return SendClientMessage(playerid, COR_ERRO, "Logue antes de digitar algum comando");
    if(
Player[playerid][Lider] == 0 && Player[playerid][CargoOrg] != 5)
    {
        
SendClientMessage(playerid, COR_ERRO, "Vocк nгo й um Lider Ou Sub Lider");
        return 
1;
    }
    if(
sscanf(params, "i", id))
    {
        
SendClientMessage(playerid, COR_ERRO, "Use: /Demitir [ID]");
        return 
1;
    }
    if(!
IsPlayerConnected(id))
    {
        
SendClientMessage(playerid, COR_ERRO, "Este ID nгo estб Online, use /LimparVaga");
        return 
1;
    }
    if(
Player[id][Lider] != 0)
    {
        
SendClientMessage(playerid, COR_ERRO, "Este player nгo pertence a sua organizaзгo");
        return 
1;
    }
    if(
Player[playerid][Lider] != 0){
        if(
Player[playerid][Lider] != Player[id][Org])
        {
            
SendClientMessage(playerid, COR_ERRO, "Este player nгo pertence a sua organizaзгo");
            return 
1;
        }
    if(
Player[playerid][CargoOrg] == 5){
        if(
Player[playerid][Org] != Player[id][Org])
        {
            
SendClientMessage(playerid, COR_ERRO, "Este player nгo pertence a sua organizaзгo");
            return 
1;
        }
    }
    }
    
Player[id][Org] = 0;
    
Player[id][CargoOrg] = 0;
    new 
msg1[80], msg2[80];
    
format(msg1, sizeof(msg1), "Vocк demitiu: {FF0000}%s", GetName(id));
    
format(msg2, sizeof(msg2), "Vocк foi demitido por: {FF0000}%s", GetName(playerid));
    
SendClientMessage(playerid, COR_GERAL, msg1);
    
SendClientMessage(id, COR_GERAL, msg2);
    new 
Orgfile[35];
    if(
Player[playerid][Lider] != 0) format(Orgfile, sizeof(Orgfile), "Orgs/Org%d", Player[playerid][Lider]);
    if(
Player[playerid][CargoOrg] == 5) format(Orgfile, sizeof(Orgfile), "Orgs/Org%d", Player[playerid][Org]);
    new 
Membro[20];
    new 
Membrovago[20];
    for(new 
i = 1; i < 21; i++)
    {
    
format(Membrovago, sizeof(Membrovago), "Membro%d", i);
    
format(Membro, 20, "%s", DOF2_GetString(Orgfile, Membrovago));
    if(!
strcmp(Membro, GetName(id), true))
        {
             
DOF2_SetString(Orgfile, Membrovago, "Ninguйm");
            
DOF2_SaveFile();
            return 
1;
        }
    }
    return 
1;
} 
Tem jeito mais simples de fazer isso? pois ficou meio confuso a parte de procurar uma vaga no arquivo da org
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)