20.10.2014, 20:42
(
Last edited by MultiKill; 20/10/2014 at 09:16 PM.
)
Olб gostaria de fazer um desafio a vocкs, fazer um funзгo para separar duas strings algo como a velha strtok.
Este tуpico nгo tem de maneira nenhuma propor a vocкs criarem algo melhor que sscanf ou strtok, mas sim para testar seus conhecimentos. A funзгo pode ser inferior a strok. Sу precisa separar duas strings. Por favor postar os cуdigos no pastebin para deixar o desafio mais interessante.
Regras:
Usar as funзхes nativas do samp, nгo criada por terceiros.
Meu cуdigo aqui.
Sobre meu cуdigo:
O cуdigo separa a string em duas, se tiver um espaзo entre elas:
No exemplo acima ele ira separar o exemplo para um string e o 123 para outro string, e vocк tem duas opзхes de parвmetros 0 ou 1. No caso desse exemplo, se eu escolher 0 ele retorna em um variбvel armazenada a palavra Exemplo e se eu escolher o 1 ele retorna em uma string com 123.
Simples comando feito sem sscanf, strok, resumindo nгo usando funзхes feito por terceiros.
Este tуpico nгo tem de maneira nenhuma propor a vocкs criarem algo melhor que sscanf ou strtok, mas sim para testar seus conhecimentos. A funзгo pode ser inferior a strok. Sу precisa separar duas strings. Por favor postar os cуdigos no pastebin para deixar o desafio mais interessante.
Regras:
Usar as funзхes nativas do samp, nгo criada por terceiros.
Meu cуdigo aqui.
Sobre meu cуdigo:
O cуdigo separa a string em duas, se tiver um espaзo entre elas:
pawn Code:
//string1 string2
Exemplo 123
Simples comando feito sem sscanf, strok, resumindo nгo usando funзхes feito por terceiros.
pawn Code:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(cmdtext[0] == '/' && cmdtext[1] == 'm' && cmdtext[2] == 's' && cmdtext[3] == 'g')
{
if(cmdtext[4] == EOS || (cmdtext[4] == ' ' && cmdtext[5] == EOS))
{
SendClientMessage(playerid, -1, "Use: /msg [mensagem]");
return 1;
}
new stringd[150], mss[150];
strmid(stringd, cmdtext, 5, strlen(cmdtext));
format(mss, sizeof mss, "%s (%d): %s", Nome(playerid), playerid, stringd);
SendClientMessageToAll(-1, mss);
return 1;
}
return 0;
}
Nome(id)
{
new nome[26];
GetPlayerName(id, nome, 25);
return nome;
}