Dakle pokusavam slozit unban da nemoram brisat acc. Jer izvorna komanda /unban je napravljena da pobrise acc zeljenog igraca. Koristi se funkcija fremove... a to je funkcija iz includea file.
Sad zanima me kako da napravim da pri komandi unban da se otvori igracev fajl (acc) i da se u njemu izmjeni neki zeljeni playerinfo. Pokusavao sam probati nekako ali neznam na koju foru.
Btw. pokusavam prilagoditi /unban da ga lakse koristim. Tj da nemoram vracat statse nekome kad dobije unban.
Hvala.
Iskreno moram opet prouciti GF da ti dam tocno sto treba. Vidis zato ja koristim mysql jer tamo za unban treba samo 1 query.
Iskreno ovo ce ti najbolje odgovorit zoran jer ch to ima kolko sam vidio a neznam koji jos server bi imao...
Ma vidite, trazim tak dobre stvari :D.. kao primjerice da ti se iseli auto/kuca/bizz kad dobijes unban. Mislim to mogu i sam napravit, al ovo malo teze.
hmm zanimljivo .. probaj ovako nekako ...
if (strcmp(cmd, "/rmban", true)==0)
{
new igrac[32];
if((IsPlayerAdmin(playerid)))
{
igrac = strtok(cmdtext, idx);
if(!strlen(igrac))
{
SendClientMessage(playerid, COLOR_WHITE, "KORISTENJE: /rmban[Ime_Prezime]");
return 1;
}
new String[32];
format(String, sizeof(String), "%s.ini", igrac);
if(fexist(String) == 1)
{
new File: hFile = fopen(String, io_append);
if (hFile)
{
new TajVar[32];
format(TajVar, 32, "Banan=%d",0);fwrite(hFile, TajVar);
fclose(hFile);
SCM(playerid,COLOR_LIGHTRED,"unbanan!");
}
else
{
SCM(playerid,COLOR_LIGHTRED,"Ne postoji!");
}
itd itd itd
edit: ovo di sam stavio "tajvar"pa sam stavio "banan" tu stavis svoju varijbalu koju mjenjas ili tako nes .. mislim da bi na tu foru trebalo radit
Gle u teoriji bi ti trebao napraviti isto to sto se dogada kod logina samo bi ti to trebao potaknuti rucno.
Trebaš loadati cijeli user fajl, vrijednosti spremiti u neki temp array, promijeniti šta želiš i onda sve u kompletu spremiti natrag u fajl.
Ako koristiš GF mod, onda potraži primjere pod OnPlayerLogin (loadanje statsa iz fajla) i OnPlayerUpdate (spremanje statsa u fajl).
Sad neznam da li postoji neki bolji naćin, no ovako sam ja to sebi napravio i radi. ;)
Prebacim iz onplayerlogin load fajlova, i samo napravim onplayerupdate dolje :)
moras prvo ucitat statse iz filea bananog igraca, recino napravi si enum za unban i u njega ucitaj, promijeni varijablu koja ti je za ban kao da nije ban. Zatim obrisi taj acc i kreiraj novi sa statsima koje si ucitao u novi enum ali sa onom promjenom za bananog igraca i to je to...
A zasto se jednostavno nebi otvorio postojeci i izmjenio što treba?
ne smijes istodobno ucitavat i pisat dio po dio jer ce doci do gresaka... prouci rad sa datotekama, ne smijes istodobno otvorit istu i odmah dok je otvorena upisivat u nju...
Aha, good to know. Nisam previse radio s tim tako da neznam.
Malo offa :P
Ne kužim zašt dok daješ unban moraš vraćati statse na novi acc?
Citat: Carlsson poslato Avgust 05, 2010, 19:33:24 POSLE PODNE
Malo offa :P
Ne kužim zašt dok daješ unban moraš vraćati statse na novi acc?
Zbog ovoga Slone...
format(string,sizeof(string),"%s.ini",tmp);
fremove(string);
Remove = odstrani, pobrisi... i od prilike niceg drugog nema kao komanda /deleteaccount