Balkan SA:MP

San Andreas Multiplayer - www.sa-mp.com => Tutorijali u vezi SA-MPa => Temu započeo: System32 poslato Jun 24, 2011, 14:47:46 POSLE PODNE

Naslov: [TuT] Chat Log
Poruka od: System32 poslato Jun 24, 2011, 14:47:46 POSLE PODNE
(http://www.zaslike.com/files/28w24bgas36d4p0tyf4.png)

Pozdrav svima! Danas ću vam pokazati kako kreirati chat log za vaš server!
Vrlo je jednostavno, ima nekoliko koraka!

1. OtiÄ'ite u vaÅ¡ scriptfiles folder i tu napravite folder zvan Logs, u njemu napravite textualni fajl zvan Chat.txt (Desni klik>New>Text Document)

2. Kopirajte ovo negdje na dno vašeg gamemoda!

stock ChatLog(playerid, text[])
{
new
    File:lFile = fopen("Logs/Chat.txt", io_append),
    logData[178],
fyear, fmonth, fday,
fhour, fminute, fsecond;

getdate(fyear, fmonth, fday);
gettime(fhour, fminute, fsecond);

format(logData, sizeof(logData),"[%02d/%02d/%04d %02d:%02d:%02d] %s: %s \r\n", fday, fmonth, fyear, fhour, fminute, fsecond, GetName(playerid), text);
fwrite(lFile, logData);

fclose(lFile);
return 1;
}


Da objasnim,

File:lFile = fopen("Logs/Chat.txt", io_append) - s ovim kodom pravimo novi fajl u folderu Logs zvan Chat.txt!

logData[178] - onoliko koliko će imati znakova u tom logu!

fyear, fmonth, fday, fhour, fminute, fsecond- varijable s kojim ćemo moći vidjeti kad otvorimo log godinu, mjesec, dan, sat, minute i sekund kad je to napisano!

getdate(fyear, fmonth, fday);
gettime(fhour, fminute, fsecond);

- s ove dvije funkcije ćemo doznati vrijeme kad je napisao, godina,mjesec,dan,sat,minuta i sekunda!

format(logData, sizeof(logData),"[%02d/%02d/%04d %02d:%02d:%02d] %s: %s \r\n", fday, fmonth, fyear, fhour, fminute, fsecond, GetName(playerid), text);
- s ovom funckijom ćemo formatirati podatke za log (Neznam kako da bolje objasnim)!

logData- ona varijabla za dužinu (Veličinu) znakova u logu!

fday, fmonth, fyear, fhour, fminute, fsecond
- dan, mjesec, godina, sat, minuta i sekunda!

GetName(playerid) - s ovom funkcijom ćemo doznati ime igrača koji je nešto napisao!

text - text koji je igrač napisao!

fwrite(lFile, logData);- s tim upisuje podatke u log

fclose(lFile); - s ovim zatvara (Neznan ni ja čemu ovo)!

Još jednu funkciju morate dodati negdje na dno vašeg moda a to je:

stock GetName(playerid)
{
new
    pName[MAX_PLAYER_NAME];
   
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
return pName;
}


3. Samo ovo dodajte u OnPlayerText callback:
ChatLog(playerid, text);

Ako ste sve dobro uradili, odite na server, napišite nešto u chat i otvorite vaš Chat.txt, trebali biste dobiti nešto ovako,[/size]
[17/06/2011 09:20:15] System32: test
Normalno vama će pisati vaše ime i vaš tekst!

Tutorial by System32
Script by Paradox
Naslov: Odg: [TUT] Chat Log
Poruka od: Rotcod poslato Jun 24, 2011, 17:12:25 POSLE PODNE
Ima vec tutorijala u vezi ovoga ali lepo si objasnio... Bravo tebi i Paradox-u za trud!
Naslov: Odg: [TUT] Chat Log
Poruka od: System32 poslato Jun 25, 2011, 18:34:20 POSLE PODNE
nisam nasao osim onog Vilkovog ukradenog, zahvaljujem :D
Naslov: Odg: [TUT] Chat Log
Poruka od: ...Neno... poslato Jun 26, 2011, 17:59:51 POSLE PODNE
To macko,ovo mi je trebalo,hvala i pohvala vama dvojici.Extra TuT! :)
Naslov: Odg: [TUT] Chat Log
Poruka od: System32 poslato Jun 26, 2011, 18:07:30 POSLE PODNE
ahahahha macko, svi su ti macke hahah xD hvala
Naslov: Odg: [TUT] Chat Log
Poruka od: Pixel poslato Jun 27, 2011, 09:21:17 PRE PODNE
Pohvala to mi je trebalo ;D