Ezt érdemes a Mód elejére írni. Én általában ilyen sorrendben szoktam:
- Include
- Változók
- Forwardok.
Most hozzá kell hogy adjuk a funkciót (public) is.
Ez így néz ki:
public Bannok(string[])
Minden funkciót forwardolni kell.
Ha egy funkció nincs forwardolva, akkor fordításkor (konvertálás) warningokat fogsz kapni.
Szóval, most leírok nektek ide néhány sort, alatta megtaláltok egy magyarázatot is
public Bannok(string[])
{
new ujstr[128];
format(ujstr, sizeof(ujstr), \"%s\\n\",string);
new File:hFile;
hFile = fopen(\"/Logok/bannok.log\", io_append);
fwrite(hFile, ujstr);
fclose(hFile);
}
Na, akkor nézzük:
new ujstr[128];
format(ujstr, sizeof(ujstr), \"%s\\n\",string);
Létrehoztunk egy Új Stringet, ami a fájlba fog írni nekünk.
A %s lesz ebben az esetben az adott sor. (Pistikét bannolta Janika. Indok: Juliska)
A \\n egy új sort nyit, így a következõ bejegyzés új sorba kerül.
Nem szeretnénk, ha összemosódna
Nézzük tovább:
new File:hFile;
hFile = fopen(\"/Logok/bannok.log\", io_append);
fwrite(hFile, ujstr);
fclose(hFile);
Itt megcsináljuk a Scriptfiles mappába a \"Logok Mappát\" és azon belülre a bannok.log fájlt.
Minden létrehozott Mappa és Fájl, legyen az akármilyen log, a SCRIPTFILES mappába kerül!
Egyébként azon belül megváltoztathatod, pl. Pistikeszervere/bannok.log. Bármi.
Amint a fájl megnyílt, a szerver ezzel ír bele:
fwrite(hFile, ujstr);
Amikor az írásnak vége, lezárja.
fclose(hFile);
Utolsó simításként az esetleges /ban parancsunk a végére:
CMD:ban(playerid, params[])
{
new aldozat, indok[ 128 ]; //Létrehozzuk a változókat
if (sscanf(params, \"us[128]\", aldozat, indok))
{
SendClientMessage(playerid, 0x00FF, \"Helyes használat: /ban JátékosID Indok \"); // Ha nem megfelelõen adta meg
return 1;
}
if (aldozat == INVALID_PLAYER_ID) // Ha az \"Áldozat\" nem online
{
SendClientMessage(playerid, 0xAA3333AA, \"Nem Online\"); // Ha az \"Áldozat\" nem online
return 1;
}
new banstr[128], AdminNeve[24], BannoltNeve[24]; //Létrehozzuk a változókat
GetPlayerName(playerid, AdminNeve, 24); // Lekérjük az admin nevét
GetPlayerName(aldozat, BannoltNeve, 24); // Lekérjük a bannolt játékos nevét (Áldozat)
format(banString, 128, \"%s Játékost bannolta: %s. Indok: %s.\", BannoltNeve, AdminNeve, Indok);
BanLog(banString);
Ban(toplayerid);
}
return 1;
}