Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2012-01-02, 20:34


=MaD=







Wiek: 37
Na forum: 5303 dni
Posty: 61
Nick w MP: FasoL

Piwa: 136

Respekt: 45,3

Witam. Ostatnio g?owi?em si? na skryptem kt?ry daje zapis do pliku. Przyk?ad :
''/Raport nazwa gracza pow?d '' I gdy to napiszemy zapisze nam to w pliku raport1.ini potem raport2.ini w folderze scriptfiles. Prosz? o pomoc jak co? takiego zrobi? ? Daj? piwka :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 20:58


Gonzales







Wiek: 32
Na forum: 5463 dni
Posty: 64
Nick w MP: Thorus

Piwa: 696

Respekt: 60

Yhh, nie rozumiem do ko?ca, chodzi Ci oto, ?eby zapisywa? powody report?w? Dini to z?e rozwi?zanie do tego, radzi?bym skorzysta? z bazy danych.W teorii to jest tak:

potrzebujesz co? co rozdzieli ci cmd na parametry, sscanf to za?atwi

i wtedy w komendzie tworzysz plik z u?yciem format, plik mia?by nazwe gracza, a w ?rodku pliku robisz pow?d, oto Ci chodzi?Albo te? mo?na w jednym pliku

@down dobrze wiedzie?

Ostatnio zmieniony przez Gonzales 2012-01-02, 21:04, w całości zmieniany 3 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:00


X11

Programista D-S






Wiek: 38
Na forum: 5278 dni
Posty: 14
Nick w MP: X11

Piwa: 133

Respekt: 50

Ostrzeżeń: 20%
=MaD=, ja Ci radz?, aby? mia? te raporty w jednym pliku..
Bo jak gracze wy?l? np. 50 raport?w dziennie, to sobie pomy?l, jaki b?dziesz mia? spam w folderze...
Kod:


#define raportsLog "raports.ini" //g?ra mapy

// w komendzie na raport
new g,m,s, string[160];
gettime(g,m,s);
new File:rapFile = fopen(raportsLog, io_append);
format(string, sizeof string, "[REPORT:][%02d:%02d:%02d] %s --> %s : %s\r\n", g, m, s, pName(playerid), pName(oskarzony), skarga);
fwrite(rapFile, string);
fclose(rapFile);



Gonzales, te? jest to dobre rozwi?zanie, ale r?wnie dobry jest zwykly File, upi?ksza on swoj? szybko?ci? i optymalno?ci? :D

Ostatnio zmieniony przez X11 2012-01-02, 21:09, w całości zmieniany 2 razy  
Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:05


=MaD=







Wiek: 37
Na forum: 5303 dni
Posty: 61
Nick w MP: FasoL

Piwa: 136

Respekt: 45,3

X11 a jak ja bym chcia? inn? komend? ni? /raport ? to jak to zmieni? ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:07


X11

Programista D-S






Wiek: 38
Na forum: 5278 dni
Posty: 14
Nick w MP: X11

Piwa: 133

Respekt: 50

Ostrzeżeń: 20%
=MaD=, z jakiego systemu komend korzystasz?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:09


=MaD=







Wiek: 37
Na forum: 5303 dni
Posty: 61
Nick w MP: FasoL

Piwa: 136

Respekt: 45,3

Normalna zwyk?a kom?da np :

Kod:

public OnPlayerCommandText(playerid, cmdtext[]) {

if (strcmp(cmdtext, "/komenda", true)==0){
SendClientMessage(playerid, 0xCCCCCCAA, "Wiadomosc...");
return 1;
}

return 0;
}



ZCMD te? ogarniam :)

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:12


X11

Programista D-S






Wiek: 38
Na forum: 5278 dni
Posty: 14
Nick w MP: X11

Piwa: 133

Respekt: 50

Ostrzeżeń: 20%
=MaD=, no ja Ci polecam korzystanie z ZCMD, jest on szybszy ni? to strcmp bo to czyste opieranie na stringach.. A zcmd korzysta zamienia komende na funkcje publiczn?.

W zcmd, jest fajny dodatek:
Kod:


CMD:raport(p, c[])
{
//twoj kod
return 1;
}
CMD:r(p, c[])
return cmd_report(p, c);


Inaczej bior?c, Gdy wpiszemy: "/r" zwr?ci nam komende jakby?my napisali j? jako "/raport"

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:15


=MaD=







Wiek: 37
Na forum: 5303 dni
Posty: 61
Nick w MP: FasoL

Piwa: 136

Respekt: 45,3

To jak zrobi? w Tym systemie ZCMD ten zapis Dini

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:25


X11

Programista D-S






Wiek: 38
Na forum: 5278 dni
Posty: 14
Nick w MP: X11

Piwa: 133

Respekt: 50

Ostrzeżeń: 20%
=MaD=, jakie dini?
Ja tutaj m?wie o File, dini to zapis/odczyt danych/plik?w, jednak jest ju? przestarzaly (;


Kod:


#define raportsLog "raports.ini" //g?ra mapy


CMD:raport(a, p[])
{
new gracz, RaportStr[160];
if(sscanf(p, "us[160]", gracz, RaportStr))
{
SendClientMessage(a, -1, "Wpisz: /raport [id gracza] [pow?d]");
return 1;
}
if(IsPlayerConnected(gracz))
{
new
g, m, s,
string[160],
File:rapFile = fopen(raportsLog, io_append);

format(RaportStr, sizeof(RaportStr), "Wys?a?e? raport do Administracji o graczu %s.", PlayerName(gracz));
SendClientMessage(a, colorCos, RaportStr);
gettime(g,m,s);
format(string, sizeof string, "[REPORT:][%02d:%02d:%02d] %s --> %s : %s\r\n", g, m, s, PlayerName(a), PlayerName(gracz), RaportStr);
fwrite(rapFile, string);
fclose(rapFile);
}
else
{
SendClientMessage(a, colorCos, "Brak gracza o podanym ID.");
}
return 1;
}
CMD:r(a, p[])
return cmd_raport(a, p);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-02, 21:34


=MaD=







Wiek: 37
Na forum: 5303 dni
Posty: 61
Nick w MP: FasoL

Piwa: 136

Respekt: 45,3

A je?li bym chcia? zrobi? inn? komend? to masz jaki? poradnik wed?ug, kt?rego robisz czy gotowy szablon ?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2012-01-03, 07:43


CRX







Wiek: 34
Na forum: 5671 dni
Posty: 114

Piwa: 106

Respekt: 51,6

Ostrzeżeń: 60%
No to zmieniasz sobie format w komendzie w kt?rej chcesz to umie?ci?.
Kod:

format(string, sizeof string, "[REPORT:][%02d:%02d:%02d] %s --> %s : %s\r\n", g, m, s, PlayerName(a), PlayerName(gracz), RaportStr);


Postaw piwo autorowi tego posta
 

 
Tagi: zapis :: pliku
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku