[Ajuda] Cуdigo Eficiente
#1

Olб, estou neste momento a desenvolver o meu primeiro gamemode e estou a tentar criar um cуdigo que seja eficiente.

A minha dъvida й: Qual dos seguintes procedimentos й o mais eficiente?

1. Criar um comando que contйm a funзгo

pawn Код:
COMMAND:achat(playerid, params[]) {
    new text[128], string[128];
    if(!sscanf(params, "s", text)) {
        if(Player[playerid][AdminLevel] > 0) {
            for(new i = 0; i < MAX_PLAYERS; i++) {
                if(Player[i][AdminLevel] > 0) {
                    format(string, sizeof(string), "[ADM CHAT] %s : %s", pName(playerid), text);
                    SendClientMessage(i, -1, string);
                }
            }
        }
        else SendClientMessage(playerid, 0xFF3C3CFF, "ERRO: Nгo йs administrador.");
    }
    else SendClientMessage(playerid, 0xFF3C3CFF, "Utilizaзгo: /achat [texto]");
    return 1;
}
2. Criar um comando que faz uso de uma funзгo exterior

pawn Код:
COMMAND:achat(playerid, params[]) {
    new text[128];
    if(!sscanf(params, "s", text)) {
        if(Player[playerid][AdminLevel] > 0) {
            adminChat(playerid, text);
        }
        else SendClientMessage(playerid, 0xFF3C3CFF, "ERRO: Nгo йs administrador.");
    }
    else SendClientMessage(playerid, 0xFF3C3CFF, "Utilizaзгo: /achat [texto]");
    return 1;
}
pawn Код:
public adminChat(playerid, const string[]) {
    new text[128];
    for(new i = 0; i < MAX_PLAYERS; i++) {
        if(Player[i][AdminLevel] > 0) {
            format(text, sizeof(text), "[ADM CHAT] %s : %s", pName(playerid), string);
            SendClientMessage(i, -1, text);
        }
    }
    return 1;
}
Reply
#2

Bom, neste caso й questгo de organizaзгo. Nгo faz tanta diferenзa a ponto de ser notбvel, cada programador tem seu modo de programar. Se vocк for utilizar essa funзгo vбrias vezes, seria interessante deixa-la como uma funзгo 'exterior', atй porque as funзхes nгo sгo inline, ou seja, consultam a callback, executa suas funзхes e pega apenas seu retorno, nгo fazendo "substituiзхes", assim como macros.

Entгo a escolha й sua, mas particularmente eu criaria uma funзгo externa, atй porque й uma funзгo que vocк provavelmente vai usar vбrias vezes no decorrer do script.

Abraзos.
Reply
#3

A utilizaзao de funзхes nгo executam o "cуdigo" mais depressa, mas sim organiza-o, e permite usa-los outra vez mais tarde.
Reply
#4

@ Dolby, Kikito

Ok, obrigado pela ajuda
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)