Error 035 - ilakt - 22/12/2022
"Argument type mismatch (argument 3)" na linha do DOF2_SetString, realmente não entendi o motivo do erro sendo que o argumento 3 é uma string, se alguém puder me ajudar e explicar eu agradeço
A função serve para adicionar logs em um arquivo com o nome do player, por exemplo "AddLog(playerid, "Kickado por flood");"
Código PHP: stock AddLog(playerid, log[]) { new Year, Month, Day; new String[128]; getdate(Year, Month, Day); format(String, 128, "[%d/%d/%d] %s\n", Day, Month, Year, log); //!! LINHA DO ERRO ABAIXO !! DOF2_SetString(PastaLogs(playerid), ".", strcat(DOF2_GetString(PastaLogs(playerid), "."), String)); return 1; }
RE: Error 035 - White_Blue - 23/12/2022
Não entendi o que você quer fazer com isso. Qual o sentido de usar declarar uma string com um ponto e depois referenciar a mesma string na definição e depois armazenar o valor de outra string?
Se você quer fazer um log com o valor de "String" é só fazer assim.
Código PHP: DOF2_SetString(Pasta_Logs(playerid), "Log", String); // Não entendi o do "Playerid", suponho que Pasta_Logs seja uma função, não um macro.
RE: Error 035 - ilakt - 23/12/2022
(23/12/2022 00:54)White_Blue Escreveu: Não entendi o que você quer fazer com isso. Qual o sentido de usar declarar uma string com um ponto e depois referenciar a mesma string na definição e depois armazenar o valor de outra string?
Se você quer fazer um log com o valor de "String" é só fazer assim.
Código PHP: DOF2_SetString(Pasta_Logs(playerid), "Log", String); // Não entendi o do "Playerid", suponho que Pasta_Logs seja uma função, não um macro.
Eu queria algo assim em "scriptfiles/PlayerLogs/%s.ini"
por isso usei o ponto, eu queria ir adicionando valores (logs) na mesma variável, não sei se tem outro jeito de fazer o que quero
Código: [00:00:00] Entrou no servidor
[00:00:10] Logou em sua conta
[00:00:30] Entrou em um veículo x
[00:00:40] Foi kickado por...
A função PastaLogs(playerid) serve para retornar o diretório da pasta:
Código PHP: stock PastaLogs(playerid) { new str[40]; format(str, 40, "PlayerLogs/%s.ini", GetName(playerid)); return str; }
RE: Error 035 - White_Blue - 23/12/2022
(23/12/2022 01:11)ilakt Escreveu: (23/12/2022 00:54)White_Blue Escreveu: Não entendi o que você quer fazer com isso. Qual o sentido de usar declarar uma string com um ponto e depois referenciar a mesma string na definição e depois armazenar o valor de outra string?
Se você quer fazer um log com o valor de "String" é só fazer assim.
Código PHP: DOF2_SetString(Pasta_Logs(playerid), "Log", String); // Não entendi o do "Playerid", suponho que Pasta_Logs seja uma função, não um macro.
Eu queria algo assim em "scriptfiles/PlayerLogs/%s.ini"
por isso usei o ponto, eu queria ir adicionando valores (logs) na mesma variável, não sei se tem outro jeito de fazer o que quero
Código: [00:00:00] Entrou no servidor
[00:00:10] Logou em sua conta
[00:00:30] Entrou em um veículo x
[00:00:40] Foi kickado por...
A função PastaLogs(playerid) serve para retornar o diretório da pasta:
Código PHP: stock PastaLogs(playerid) { new str[40]; format(str, 40, "PlayerLogs/%s.ini", GetName(playerid)); return str; }
Ah, sim. Acho que entendi.
Código PHP: forward KickLog(string[]);
public KickLog(const string[]) { new entry[256]; format(entry, sizeof(entry), "%s\r\n", string); new File:hFile; hFile = fopen("Logs/Kicks.log", io_append); fwrite(hFile, entry); fclose(hFile); return 1; }
CMD:kick(playerid, params[]) { // Exemplo de uso new plid, motivo[128], log[20]; if(!IsPlayerAdmin(playerid)) return 1; if(sscanf(params, "us", plid, motivo)) return SendClientMessage(playerid, -1, "Uso: /kick [id] [Motivo]"); if(!IsPlayerConnected(playerid)) return 1; if(strlen(motivo) < 5) return SendClientMessage(playerid, -1, "Seu motivo deve ser maior do que 4.");
format(log, sizeof(log), "%d foi kickado pelo motivo: %s", plid, motivo);
Kick(playerid); KickLog(log); return 1; }
RE: Error 035 - ilakt - 23/12/2022
(23/12/2022 01:36)White_Blue Escreveu: (23/12/2022 01:11)ilakt Escreveu: (23/12/2022 00:54)White_Blue Escreveu: Não entendi o que você quer fazer com isso. Qual o sentido de usar declarar uma string com um ponto e depois referenciar a mesma string na definição e depois armazenar o valor de outra string?
Se você quer fazer um log com o valor de "String" é só fazer assim.
Código PHP: DOF2_SetString(Pasta_Logs(playerid), "Log", String); // Não entendi o do "Playerid", suponho que Pasta_Logs seja uma função, não um macro.
Eu queria algo assim em "scriptfiles/PlayerLogs/%s.ini"
por isso usei o ponto, eu queria ir adicionando valores (logs) na mesma variável, não sei se tem outro jeito de fazer o que quero
Código: [00:00:00] Entrou no servidor
[00:00:10] Logou em sua conta
[00:00:30] Entrou em um veículo x
[00:00:40] Foi kickado por...
A função PastaLogs(playerid) serve para retornar o diretório da pasta:
Código PHP: stock PastaLogs(playerid) { new str[40]; format(str, 40, "PlayerLogs/%s.ini", GetName(playerid)); return str; }
Ah, sim. Acho que entendi.
Código PHP: forward KickLog(string[]);
public KickLog(const string[]) { new entry[256]; format(entry, sizeof(entry), "%s\r\n", string); new File:hFile; hFile = fopen("Logs/Kicks.log", io_append); fwrite(hFile, entry); fclose(hFile); return 1; }
CMD:kick(playerid, params[]) { // Exemplo de uso new plid, motivo[128], log[20]; if(!IsPlayerAdmin(playerid)) return 1; if(sscanf(params, "us", plid, motivo)) return SendClientMessage(playerid, -1, "Uso: /kick [id] [Motivo]"); if(!IsPlayerConnected(playerid)) return 1; if(strlen(motivo) < 5) return SendClientMessage(playerid, -1, "Seu motivo deve ser maior do que 4.");
format(log, sizeof(log), "%d foi kickado pelo motivo: %s", plid, motivo);
Kick(playerid); KickLog(log); return 1; }
MUITO OBRIGADO!!!!!!
|