Wysłany: 2014-07-17, 22:39
HasciQ
Wiek: 36 Na forum: 4868 dni Posty: 44
Nick w MP: HasciQ
Piwa : 1
Witam, Jak mog? w ?atwy spos?b, wczytywa? z plik?w txt dane?
Mianowicie chcia?bym zrobi? cytaty, wraz z autorami, Czyli w pliku 0.txt
Cytat = ?ycie jest jak przyk?ad z ksi??ki
Nick = HasciQ
W jaki spos?b mog? to wczyta? do gm?
Wysłany: 2014-07-17, 22:46
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
dini, y_ini, w/e
Kod: printf("Cytat: %s", dini_Get("plik.txt", "Cytat"));
Wysłany: 2014-07-17, 23:16
HasciQ
Wiek: 36 Na forum: 4868 dni Posty: 44
Nick w MP: HasciQ
Piwa : 1
Dajmy na to...
Ka?dy cytat jest w odr?bnym pliku czyli 0.txt 1.txt 2.txt itd (Pliki s? w folderze cytaty)
I jak teraz zrobic funkcje:
1. kt?ry wyliczy ile jest takowych plik?w, (jezeli mozna).
2. Kt?ry losuje cytaty? z tych plik?w?
Wysłany: 2014-07-17, 23:45
IgrexolonO
Wiek: 34 Na forum: 6809 dni Posty: 1386
Piwa : 1062
Kod: #include <a_samp>
#include <dini>
new count = 0;
static _fileName[8] = "%d.txt";
#define AMOUNT_OF_FILES 100
public OnFilterScriptInit()
{
new _fileRewriter[8];
for(new i=0;i<AMOUNT_OF_FILES;i++)
{
format(_fileRewriter, sizeof(_fileRewriter), _fileName, i);
if(fexist(_fileRewriter))
{
count++;
}
}
printf("Plik?w z cytatami: %d", count);
_randomCitation();
}
stock _randomCitation()
{
if(count >= 0)
{
print("Brak plik?w z cytatami..");
return false;
}
new _fileRewriter[8];
while(fexist(_fileRewriter) < 1)
{
format(_fileRewriter, sizeof(_fileRewriter), _fileName, random(AMOUNT_OF_FILES));
}
SendClientMessageToAll(-1, dini_Get(_fileRewriter, "Cytat"));
return true;
}
Zdaje mi si?, ?e napisa?em wszystko dobrze.. no, ale jak co? nie zadzia?a to pisz.
Wysłany: 2014-07-18, 00:15
HasciQ
Wiek: 36 Na forum: 4868 dni Posty: 44
Nick w MP: HasciQ
Piwa : 1
Kod: new ccytaty = 0;
#define AMOUNT_OF_FILES 100
#define dini_Get
#define cytatyf "Z-World/cytaty/%d.txt"
CMD:cytaty(playerid)
{
new _fileRewriter[8];
for(new i=0;i<AMOUNT_OF_FILES;i++)
{
format(_fileRewriter, sizeof(_fileRewriter), cytatyf, i);
if(fexist(_fileRewriter))
{
ccytaty++;
}
}
printf("Plik?w z cytatami: %d", ccytaty);
new testc[128];
format(testc, sizeof(testc), "Ilo?? dodanych cytat?w: %d", ccytaty);
SendClientMessage(playerid, COLOR_LIGHTBLUE, testc);
_randomCitation();
return 1;
}
stock _randomCitation()
{
if(ccytaty >= 0)
{
print("Brak plik?w z cytatami!");
return false;
}
new _fileRewriter[8];
while(fexist(_fileRewriter) < 1)
{
format(_fileRewriter, sizeof(_fileRewriter), cytatyf, random(AMOUNT_OF_FILES));
}
SendClientMessageToAll(-1, dini_Get(_fileRewriter, "Cytat"));
return true;
}
zrobi?em to tak, Ale dajem mam b??d, czyli mam wszystkie pliki, a pisze mi ze brak plik?w. A jezeli wpisze komende /cytaty, Liczba 100 dodaje sie kolejne 100, Plik?w z cytatami: 100, 200, 300, 400
Tagi: plik :: txt :: wczytywanie?
Anonymous
Na forum: 245 dni
Posty: 1
Anonymous Koniecznie zajrzyj na: