GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: smart - 2012. július 11. - 17:53:33

Cím: report mentése fájlba
Írta: smart - 2012. július 11. - 17:53:33
Sziasztok! Azt szeretném megkérdezni, hogy dinivel hogy tudom lementeni a reportot egy reportok.ini fájlba, hogy ne irja felül az elõzõt?
Cím: report mentése fájlba
Írta: Szilard - 2012. július 11. - 18:51:15
Akár törölheted is, ha új report van.
Cím: report mentése fájlba
Írta: smart - 2012. július 11. - 18:58:12
De úgy szeretném hogy az összes report nyomon követhetõ és visszaolvasható legyen. Szóval akkor is lássuk, ha nincs fent a szerón egy admin sem.
Cím: report mentése fájlba
Írta: Szilard - 2012. július 11. - 19:35:13
Bocsi, a \"ne írja felül az elõzõt\" úgy értettem, hogy van 2 report, felül a régi, alul az új, és a felsõt törölje :D.
Ha addig nem írja le senki, megcsinálom neked.
Írd le a /report parancsod.
Cím: report mentése fájlba
Írta: smart - 2012. július 11. - 19:54:04

CMD:report(playerid, params[])
{
new adottid, panasz[256], strdate[20], year, month, day, report[512];
if(sscanf(params, \"us\", adottid, panasz)) return SendClientMessage(playerid, piros, \"[ ! ] Használat: /report [iD] [PANASZ]\");
    if(adottid == INVALID_PLAYER_ID) return SendClientMessage(playerid, piros,\"[ ! ] Nincs ilyen játékos a szerveren!\");
    if(!dini_Exists(\"reportok.ini\")) dini_Create(\"reportok.ini\");
getdate(year, month, day);
format(strdate, sizeof(strdate), \"%d/%d/%d\",day,month,year);
    format(report, sizeof(report), \"|| [ %s ][bejelentõ: %s][bejelentett: %s] Panasz: %s ||\", strdate, GetName(playerid), GetName(adottid), panasz);
return 1;
}
Cím: report mentése fájlba
Írta: Szilard - 2012. július 11. - 20:48:23
Telóról írok. Holnap leszek géprõl.
Ha reggelig nem csinálja meg más, megcsinálom.
Cím: report mentése fájlba
Írta: CANNONN - 2012. július 12. - 11:20:35
Nem szükséges a dini, viszont neked kell létrehozni a reportok.ini fájlt.
 

CMD:report(playerid, params[])
{
new File: reportfile = fopen(\"reportok.ini\", io_write);
new adottid, panasz[256], strdate[20], year, month, day, report[512];
if(sscanf(params, \"us\", adottid, panasz)) return SendClientMessage(playerid, piros, \"[ ! ] Használat: /report [iD] [PANASZ]\");
        if(adottid == INVALID_PLAYER_ID) return SendClientMessage(playerid, piros,\"[ ! ] Nincs ilyen játékos a szerveren!\");
   
getdate(year, month, day);
format(strdate, sizeof(strdate), \"%d/%d/%d\",day,month,year);
        format(report, sizeof(report), \"|| [ %s ][bejelentõ: %s][bejelentett: %s] Panasz: %s ||\\r\\n\", strdate, GetName(playerid), GetName(adottid), panasz);
   
        fwrite(reportfile, report);
        fclose(reportfile);
return 1;
}
Cím: report mentése fájlba
Írta: JBauer - 2012. július 12. - 11:34:42
Meg kell adnod a \"panasz\" hosszúságát az sscanf használatánál, tehát:
 
CMD:report(playerid, params[])
{
new File: reportfile = fopen(\"reportok.ini\", io_write);
new adottid, panasz[256], strdate[20], year, month, day, report[512];
if(sscanf(params, \"us[256]\", adottid, panasz)) return SendClientMessage(playerid, piros, \"[ ! ] Használat: /report [iD] [PANASZ]\");
        if(adottid == INVALID_PLAYER_ID) return SendClientMessage(playerid, piros,\"[ ! ] Nincs ilyen játékos a szerveren!\");
   
getdate(year, month, day);
format(strdate, sizeof(strdate), \"%d/%d/%d\",day,month,year);
        format(report, sizeof(report), \"|| [ %s ][bejelentõ: %s][bejelentett: %s] Panasz: %s ||\\r\\n\", strdate, GetName(playerid), GetName(adottid), panasz);
   
        fwrite(reportfile, report);
        fclose(reportfile);
return 1;
}
Cím: report mentése fájlba
Írta: smart - 2012. július 12. - 11:35:19
Nagyon szépen köszönöm! ment a +