28.10.2011, 19:21
(
Последний раз редактировалось RebeloX; 28.10.2011 в 20:48.
)
Ei pessoal, estou muito ausente do forum-samp devido a escola, etc..
Bem hoje decidi fazer um sistema de logs, muito facil, primeiramente devo dar os creditos ao ricop522 pois ele que fez o sistema eu estou postando, alias eu jб a meses tinha feito um sistema parecido nгo igual porem tinha erros e decidi eliminar x)
Bem eu usei o fwrite blб blб. Entгo й isso vamos ao trabalho.
Antes de tudo, muita gente sabe que o samp cria um log, mas й chato, porque esse log й muito grande e nem sempre encontramos o que queremos.
Vou mostrar um exemplo.
Comando em Zcmd.
Bem aqui temos um comando para kickar players, mas vamos ao que intressa.
Isto й o Que nos interessa.
• getdate - Isso irб pegar o dia, mкs e ano que o comando foi usado, ou seja vocк nгo й obrigado a usar isso, isso й apenas para ajudar vocк quando for checar os logs.
• gettime - Isso irб pegar a hora, minutos e segundos que o comando foi usando, como disse para o getdate vocк nгo й obrigado a usar, eu uso para ajudar quando for checar os logs, nada mais.
• Bem, os %d pertencem ao dia/mкs/ano/hora/minuto e segundos, o nome й quem usou o comando, e o nomei foi quem recebeu o /kick o reason й a razгo para o kick.
• GiveLog(string) - Bem chegamos a parte que nos intressa, o GiveLog (vocк pode alterar o nome do comando) й os comandos que dгo algo a um player, por exemplo, /kick, /ban, /pagar, /dar, etc... (lembrando que vocк pode criar um kicklog e um banlog, como vocк queira.)
Agora vamos ver como й esse GiveLog.
(Creditos para o Ricop522 pela Stock *--*)
Vamos a explicaзгo, AVISO: Quando criar uma stock no lugar do BlueX coloque tudo menos variбveis globais jб definidas no seu GM.
• Bem isso serб a forma para salvar o comando executado.
• INI_Open(Give); - Isso irб abrir o arquivo "Ah o que й o Give?" O Give й o caminho do arquivo, mais agora vocкs pensam, Onde ta essa porra do Give? Simples eu usei isto #define Give "Pasta/Logs/give.log" , viu? Difнcil? Nгo Fбcil, pois eu te falei nй? rs.
• INI_WriteString(Give, entry); Isso irб escrever no arquivo, "Ah mais o que й o entry?" Desculpe, mas vocк й oque? Enfim, o entry й o mesmo que string, vocк pode definir por outros nomes. Tanto faz. mas nгo use variбveis globais use outras criadas por si.
• INI_Save(); / INI_Close(); Irб salvar o arquivo e fechar o mesmo.
Simples nй? Pois eu te falei nй? rs.
Enfim, isto й uma simples stock de um sistema de log, vou mostrar os que jб tenho.
Vб use CTRL+C & CTRL+V, amigo vou dar uma dica, programador que й programador nгo copia, se copiar й uma vez ou outra, mas jб que vocк vai copiar isto nгo de CTRL+C & CTRL+V abra um bloquinho de notas e escreva a stock, assim vocк vai se habituando e ganhando mais capacidades, sу isso que digo, ah uma coisa quando vocк esta na escolinha e o professor manda copiar o que esta no quadro vocк nгo da CTRL+C & CTRL+V nй? Claro nгo consegue, entгo habitue-se pense que esta pagina й um quadro e vocк nгo pode copiar x)
Claro que vocк й livre de fazer o que fazer, eu sу estou dando meu conselho.
Crйditos
• Ricop522 - Pela stock famosa *-*
• BlueX - Pelo Tutorial
• Drakins - Pelo Bini
• Zeex - Pelo ZCMD
• Stewie - Ele pediu kk'
• Strong - Me Ajudou a resolver umas coisas c:
Espero que tenha gostado, aceito criticas CONSTRUTIVAS e sugestхes.
Bem hoje decidi fazer um sistema de logs, muito facil, primeiramente devo dar os creditos ao ricop522 pois ele que fez o sistema eu estou postando, alias eu jб a meses tinha feito um sistema parecido nгo igual porem tinha erros e decidi eliminar x)
Bem eu usei o fwrite blб blб. Entгo й isso vamos ao trabalho.
Antes de tudo, muita gente sabe que o samp cria um log, mas й chato, porque esse log й muito grande e nem sempre encontramos o que queremos.
Vou mostrar um exemplo.
Comando em Zcmd.
pawn Код:
CMD:kick(playerid,params[])
{
new id, reason[128], nomei[MAX_PLAYER_NAME];
GetPlayerName(playerid,nome,sizeof(nome));
GetPlayerName(playerid,nomei,sizeof(nomei));
if(sscanf(params,"ds",id,reason))
return SendClientMessage(playerid,-1,"USE: /kick [id] [razгo]");
if(!IsPlayerAdmin(playerid))
return SendClientMessage(playerid,-1,"Vocк nгo й admin.");
if(!IsPlayerConnected(id))
return SendClientMessage(playerid,-1,"ID invalido");
format(string,sizeof(string),"[KickSystem]: %s(%d) foi kickado pelo administrador %s(%d). Razгo: %s.",nomei,id,nome,playerid,reason);
SendClientMessageToAll(-1,string);
SendClientMessage(playerid,-1,"Vocк foi kickado");
Kick(id);
new y, m, d;
new h, mi, s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string),"(%d/%d/%d) [%d/%d/%d]: %s usou /kick %s Razгo: %s",d,m,y,h,mi,s,nome,nomei,reason);
GiveLog(string);
return true;
}
pawn Код:
new y, m, d;
new h, mi, s;
getdate(y,m,d);
gettime(h,mi,s);
format(string,sizeof(string),"(%d/%d/%d) [%d/%d/%d]: %s usou /kick %s Razгo: %s",d,m,y,h,mi,s,nome,nomei,reason);
GiveLog(string);
• getdate - Isso irб pegar o dia, mкs e ano que o comando foi usado, ou seja vocк nгo й obrigado a usar isso, isso й apenas para ajudar vocк quando for checar os logs.
• gettime - Isso irб pegar a hora, minutos e segundos que o comando foi usando, como disse para o getdate vocк nгo й obrigado a usar, eu uso para ajudar quando for checar os logs, nada mais.
pawn Код:
format(string,sizeof(string),"(%d/%d/%d) [%d/%d/%d]: %s usou /kick %s Razгo: %s",d,m,y,h,mi,s,nome,nomei,reason);
• GiveLog(string) - Bem chegamos a parte que nos intressa, o GiveLog (vocк pode alterar o nome do comando) й os comandos que dгo algo a um player, por exemplo, /kick, /ban, /pagar, /dar, etc... (lembrando que vocк pode criar um kicklog e um banlog, como vocк queira.)
Agora vamos ver como й esse GiveLog.
pawn Код:
stock GiveLog(bluex[])
{
new entry[128];
format(entry, sizeof(entry), "%s\r\n",bluex);
new File:hFile;
hFile = fopen(Commands,io_append);
fwrite(hFile, entry);
fclose(hFile);
}
Vamos a explicaзгo, AVISO: Quando criar uma stock no lugar do BlueX coloque tudo menos variбveis globais jб definidas no seu GM.
pawn Код:
format(entry, sizeof(entry), "%s\r\n",bluex);
• INI_Open(Give); - Isso irб abrir o arquivo "Ah o que й o Give?" O Give й o caminho do arquivo, mais agora vocкs pensam, Onde ta essa porra do Give? Simples eu usei isto #define Give "Pasta/Logs/give.log" , viu? Difнcil? Nгo Fбcil, pois eu te falei nй? rs.
• INI_WriteString(Give, entry); Isso irб escrever no arquivo, "Ah mais o que й o entry?" Desculpe, mas vocк й oque? Enfim, o entry й o mesmo que string, vocк pode definir por outros nomes. Tanto faz. mas nгo use variбveis globais use outras criadas por si.
• INI_Save(); / INI_Close(); Irб salvar o arquivo e fechar o mesmo.
Simples nй? Pois eu te falei nй? rs.
Enfim, isto й uma simples stock de um sistema de log, vou mostrar os que jб tenho.
pawn Код:
stock CommandLog(bluex[])
{
new entry[128];
format(entry, sizeof(entry), "%s\r\n",bluex);
new File:hFile;
hFile = fopen(Commands,io_append);
fwrite(hFile, entry);
fclose(hFile);
}
stock GiveLog(bluex[])
{
new entry[128];
format(entry, sizeof(entry), "%s\r\n",bluex);
new File:hFile;
hFile = fopen(Commands,io_append);
fwrite(hFile, entry);
fclose(hFile);
}
Claro que vocк й livre de fazer o que fazer, eu sу estou dando meu conselho.
Crйditos
• Ricop522 - Pela stock famosa *-*
• BlueX - Pelo Tutorial
• Drakins - Pelo Bini
• Zeex - Pelo ZCMD
• Stewie - Ele pediu kk'
• Strong - Me Ajudou a resolver umas coisas c:
Espero que tenha gostado, aceito criticas CONSTRUTIVAS e sugestхes.