[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(playeridCOR_ERRO"Logue antes de digitar algum comando");
    if(
Convite[playerid] == 0)
    {
        
SendClientMessage(idCOR_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(Strsizeof(Str), "Vocк entrou para organizaзгo: {FF0000}%s"NomeOrgg(Player[playerid][Org]));
    
SendClientMessage(idCOR_GERALStr);
    new 
Orgfile[40];
    
format(Orgfilesizeof(Orgfile), "Orgs/Org%d.ini"Player[playerid][Org]);
    new 
Membro[20];
    new 
Membrovago[20];
    for(new 
121i++) //Esse loop procura uma vaga no arquivo da org, exemplo "Membro3 = Ningъem", ai seta o nome do player la
    
{
        
format(Membrovagosizeof(Membrovago), "Membro%d"i);
        
format(Membro20"%s"DOF2_GetString(OrgfileMembrovago));
        if(!
strcmp(Membro"Ninguйm"true))
        {
             
GetPlayerName(playeridnomepsizeof(nomep));
             
DOF2_SetString(OrgfileMembrovagonomep);
            
DOF2_SaveFile();
            return 
1;
        }
    }
    return 
1;

Outro cуdigo que usei quase a mesma logica:
PHP код:
CMD:demitir(playeridparams[])
{
    if(
Logado[playerid] == false) return SendClientMessage(playeridCOR_ERRO"Logue antes de digitar algum comando");
    if(
Player[playerid][Lider] == && Player[playerid][CargoOrg] != 5)
    {
        
SendClientMessage(playeridCOR_ERRO"Vocк nгo й um Lider Ou Sub Lider");
        return 
1;
    }
    if(
sscanf(params"i"id))
    {
        
SendClientMessage(playeridCOR_ERRO"Use: /Demitir [ID]");
        return 
1;
    }
    if(!
IsPlayerConnected(id))
    {
        
SendClientMessage(playeridCOR_ERRO"Este ID nгo estб Online, use /LimparVaga");
        return 
1;
    }
    if(
Player[id][Lider] != 0)
    {
        
SendClientMessage(playeridCOR_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(playeridCOR_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(playeridCOR_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(msg1sizeof(msg1), "Vocк demitiu: {FF0000}%s"GetName(id));
    
format(msg2sizeof(msg2), "Vocк foi demitido por: {FF0000}%s"GetName(playerid));
    
SendClientMessage(playeridCOR_GERALmsg1);
    
SendClientMessage(idCOR_GERALmsg2);
    new 
Orgfile[35];
    if(
Player[playerid][Lider] != 0format(Orgfilesizeof(Orgfile), "Orgs/Org%d"Player[playerid][Lider]);
    if(
Player[playerid][CargoOrg] == 5format(Orgfilesizeof(Orgfile), "Orgs/Org%d"Player[playerid][Org]);
    new 
Membro[20];
    new 
Membrovago[20];
    for(new 
121i++)
    {
    
format(Membrovagosizeof(Membrovago), "Membro%d"i);
    
format(Membro20"%s"DOF2_GetString(OrgfileMembrovago));
    if(!
strcmp(MembroGetName(id), true))
        {
             
DOF2_SetString(OrgfileMembrovago"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: 2 Guest(s)