[Pedido] Salvar mensagem no arquivo com dini
#1

Por exemplo, quando o player digita /mensagem EU SOU GATO

Salvaria assim em em um arquivo .ini, utilizando dini:

Nomedoplayer=EU SOU GATO


Jб tentei fazer com o tutorial de dini do Drakins, mas nao entendi bulhufas
Reply
#2

Nгo testei, mas creio que funcione.

pawn Код:
new cmd[128], idx;
cmd = strtok(cmdtext, idx);
if(strcmp(cmd, "/mensagem", true) == 0)
{
  new tmp[128], sendername[128]; //Cria Variбveis
  //idx++; //Tire as primeiras barras se houver um espaзo entre o igual e a mensagem!
  strmid(tmp, cmdtext, idx, strlen(tmp), sizeof(tmp)); //Seta TMP como toda a string entre idx e o final do comando, pegando apenas a mensagem!
  if(!strlen(tmp)) return SendClientMessage(playerid, 0x000000FF, "[Erro] /mensagem [Texto]"); //Se o tamanho de TMP for 0, retorna um erro.
  GetPlayerName(playerid, sendername, sizeof(sendername)); //Obtem o nome do player, na variбvel sendername.
  dini_Set("arquivo.ini", sendername, tmp); //Seta, por dini, no "arquivo.ini", uma linha com o nome do player, seguido da mensagem.
  return 1;
}
Abraзгo!
Reply
#3

pawn Код:
if(!strcmp(cmdtext,"/sougay", true))
    {
        new string[200];
        GetPlayerName(playerid, string, sizeof(string));
        format(string, sizeof(string),"%s й gay",string);
        SendClientMessageToAll(-1, string);
       
        new St[100],File: x = fopen("engeisados.txt", io_append);
        format(St, sizeof(St), "%s\n\r", string);
        fwrite(x, St);
        fclose(x);
        return 1;
    }


...

eu fiz assim, ele dб para usar, mais nem testei.
Reply
#4

SuYaNw: Deixa de ser retardado. Eu nao entendo de dini, mas entendo que esse seu comando vai mandar uma mensagem pro server assim Junior_Arak й gay e que vai salvar num txt quem й gay. Mas ja posso ter uma base

@Yakushi vou testar seu code, jaja eu volto aki

EDIT: Mas seu code estб salvando num arquivo que ele vai reconhecer que ja existe. Isso nгo pode crashar o servidor? Vou ter que adaptar.

@Off-Topic Yakushi, tu deve me conhecer. Junior_Arak aki la do BPF.
Reply
#5

Aqui esta
pawn Код:
if (!strcmp(cmd, "/mensagem", true))
    {
        if(!strlen(cmdtext[13])) return SendClientMessage(playerid, -1, "<!> /mensagem [texto]"):
        new Nome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(string, sizeof(string), "%s:%s", Nome, strlen(cmdtext[13]));
        salvamento(string);      
        return 0x01;
    }


stock salvamento(const justin[])
{
    if(!fexist("ricop522.ini")) fcreate("ricop522.ini");
    new string[0x80];
    format(string, sizeof (string), "%s\r\n", justin);
    new File:HF = fopen("ricop522.ini",io_append);
    fwrite(HF, string);
    fclose(HF);
}
Reutation ? valeu =p
Reply
#6

Ricop522

podes me explicar return 0x01?
Reply
#7

return 0x01 e a mesma coisa que return 1, porem o codigo esta em hexadecimal:
https://sampwiki.blast.hk/wiki/Hex_colors
Reply
#8

Quote:
Originally Posted by Ricop522
Посмотреть сообщение
Aqui esta
pawn Код:
if (!strcmp(cmd, "/mensagem", true))
    {
        if(!strlen(cmdtext[13])) return SendClientMessage(playerid, -1, "<!> /mensagem [texto]"):
        new Nome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(string, sizeof(string), "%s:%s", Nome, strlen(cmdtext[13]));
        salvamento(string);      
        return 0x01;
    }
Reutation ? valeu =p
seu comando vai contar quantos caracteres tem a array 13, como й nula nгo terб nada.

pawn Код:
if(!strcmp(cmd, "/mensagem", true, 10))
    {
        if(!strlen(cmdtext[12])) return SendClientMessage(playerid, -1, "<!> /mensagem [texto]"):
        new Nome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(string, sizeof(string), "%s:%s", Nome, cmdtext[12]);
        salvamento(string);
        return 1;
    }
=)
Reply
#9

pawn Код:
if (!strcmp(cmd, "/mensagem", true))
    {
        if(!strlen(cmdtext[11])) return SendClientMessage(playerid, -1, "<!> /mensagem [texto]"):
        new Nome[MAX_PLAYER_NAME];
        GetPlayerName(playerid, Nome, sizeof(Nome));
        format(string, sizeof(string), "%s:%s", Nome, strlen(cmdtext[11]));
        salvamento(string);      
        return 0x01;
    }
/mensagem
/ 1
m 2
e 3
n 4
s 5
a 6
g 7
e 8
m 9
_ 10
texto 11
Reply
#10

Por favor ricoop:

H:\Projeto Samp\gamemodes\lvdm.pwn(911) : error 017: undefined symbol "fcreate"

Obs, tenho Dini '-'
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)