Cуdigo Eficiente -
Douglas_prt - 16.03.2014
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;
}
Re: Cуdigo Eficiente -
Dolby - 16.03.2014
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.
Re: Cуdigo Eficiente -
GWMPT - 16.03.2014
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.
Re: Cуdigo Eficiente -
Douglas_prt - 16.03.2014
@ Dolby, Kikito
Ok, obrigado pela ajuda