18.11.2012, 06:30
Bom, fiz este breve tutorial para aprender como criar comandos zcmd+sscanf e usar o foreach.
Desculpa por ser muito pequeno, mas em breve irei atualizar o mesmo adicionando tutorial sobre sistema de login/registro e sistema de administraзгo.
pawn Код:
/*Este й um breve tutorial sobre SSCANF+ZCMD e FOREACH.*/
/*Primeiramente vamos aprender sobre FOREACH:*/
/*A Include 'Foreach' que й um pequena imitaзгo do foreach do PHP Serve para deixar os loops mais leves.*/
/*O Que sгo loops?*/
/*Loops sгo aquelas famosas linhas igual a do exemplo:*/
/*for(new i = 0; i < sizeof(MAX_PLAYERS); i++)*/
/*Mas claro que nгo sу existe este tipo de loop..*/
/*Para subistituir o loop acima por um em foreach ficaria assim:*/
/*foreach(new i : Player) - Simples! Tanta que nem preciso explicar muito..*/
/**/
/*SSCANF+ZCMD:*/
/*ZCMD - Um dos melhores processadores de comandos por que й rapido e facil para aprender.*/
/*SSCANF - Uma include que melhora o processamento do ZCMD.(Nгo sei a exata funзгo dela mas vou ensinar a usa-la em zcmd.*/
/*Modo de Uso:*/
/*Vou criar um comando /exemplo explicando linhar por linha:*/
CMD:exemplo(playerid,params[]) // Params = Parametros do Comando. Aqui ele cria o comando..
{ // Abre as chaves para por a funзгo do comando.
new Text[128]; // Variavel que nуs usaremos para definir o texto que iremos digitar. (EX: /exemplo oi.)
new String[128]; // Variavel String.
new Snd[MAX_PLAYER_NAME]; // Variavel para pegar o nome do player.
GetPlayerName(playerid,Snd,sizeof Snd); // Funзгo para pegar o nome do player.
if(sscanf(params,"s",Text)) return SendClientMessage(playerid,-1,"Use: /exemplo [text]");
//Caso vocк nгo digite o texto na frente do comando ele retorna a mensagem.
//o "s" que definimos ali й o parametro para texto, mas existe varios por exemplo:
//u - Player ID.
//f - Float.
//i - Numero.
//s - Texto.
//Existe varios outros sу que nгo lembro kk.
//Acho que isso deu para entender como chamar o sscanf em um zcmd.
format(String,sizeof String,"%s diz: %s",Snd,Text);
//Snd e o primeiro %s - Foi para substituir o %s pelo nome do player.
//Text e o segundo %s - O Texto que digitamos atraves do sscanf.
SendClientMessageToAll(-1,String);
//SendClientMessageToAll - Mensagem para todos os players do server.
//-1 - Cor Branca.
//String - Chama a format que criamos logo acima.
return true; // Em ZCMD nunca pode ser false.
} // Fechando as chaves do cmd.
//Pronto! Vocк criou seu comando com ZCMD+SSCANF.
//PS: Nгo se esqueзa de chamar no topo do gamemode todas as includes que usamos.