de break). Exemplo de uso: Vamos tomar por exemplo o comando /admins, em vez criarmos um if seguido de varios else if pra cada nivel de admin a aparecer no /admins precisaremos apenas criar um switch(funcao) seguido de cases, o case servira como o else if mas de uma maneira mais compacta e otimizada pois so armazenara o numero(enum) a ser verificado, abaixo o exemplo do /admins por if e o /admins por switch. if (strcmp(cmd, "/admins", true) == 0){for(new i = 0; i <= MAX_PLAYERS; i++) { if(IsPlayerConnected(i) == 1 && PlayerInfo[i][pAdmin] > 0) { if(PlayerInfo[i][pTrampo] == 1) { GetPlayerName(i, sendername, sizeof(sendername));if(PlayerInfo[i][pAdmin] == 1){ format(string, 256, "Nome: %s [Moderador] (Trabalhando)", sendername);SendClientMessage(playerid, COR_ADMINS, string);}if(PlayerInfo[i][pAdmin] == 2){format(string, 256, "Nome: %s [Administracao Nivel 2] (Trabalhando)", sendername);SendClientMessage(playerid, COR_ADMINS, string);}if(PlayerInfo[i][pAdmin] == 3){format(string, 256, "Nome: %s [ Administracao Nivel 3] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string);}}}return 1;}O exemplo acima mostra como seria um /admins usando else if, veja como ficaria este comando usando switch abaixo. if (strcmp(cmd, "/admins", true) == 0){ for(new i = 0; i <= MAX_PLAYERS; i++) { switch(PlayerInfo[i][pAdmin])//Funcao a ser verificada { case 1: { format(string, 256, "Nome: %s [Moderador] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string); } //Se a funcao verificada for igual a 1 case 2: { format(string, 256, "Nome: %s [Administrador nivel 2] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string); } //Se a funcao verificada for igual a 2 case 3: { format(string, 256, "Nome: %s [Administrador nivel 3] (Trabalhando)", sendername); SendClientMessage(playerid, COR_ADMINS, string); } //Se a funcao verificada for igual a 3 default: { Aqui a funcao a ser execultada caso nada se iguale aos resultados acima. } } } return 1; }E logico que nem todos os comandos /admin serao assim. Criando o seu switch: Crie seu switch com a funcao a ser verificada que quiser, mas siga este formato abaixo: switch (Funcao) //Coloque por exemplo um PlayerInfo[player][info] ou qualquer outra coisa{ case 1: { //O que deve ser executado caso seja igual a 1 return true; } case 2: { //O que deve ser executado caso seja igual a 2 return true; } case 3: { //O que deve ser executado caso seja igual a 3 } return true; } default: //Nao obrigatorio { //O que deve ser executado caso nao seja igual aos exemplos acima }}Lembrando, nao necessariamente o resultado devera seguir este padrao de 1, 2, 3.... Voce tem total liberdade pra pular ou adequar valores. Voce pode tambem modificar a forma do case, pra procurar por mais de um resultado como no exemplo abaixo: case 1, 2, 3:{ //O que deve ser executado caso seja igual a 1, 2 ou 3 return true;}em um if voce teria que usar algo maior como este abaixo if (Funcao == 1 || Funcao == 2 || Funcao == 3) //Ou como os valores sao consecutivos usar operadores relacionais < >{ O que deve ser executado caso a funcao seja igual a 1, 2 ou 3 return true;}Voce pode tambem verificar resultados de um numero a outro, como no exemplo abaixo. case 1 .. 10:{ //O que deve ser executado caso o resultado se