Pitanje/savjet: Da li je izvodljivo napraviti listu svih admina ( online i offline ) ali koristeci y_ini ??
Opširnije: //
Dodatno: Ako moze objasnjenje ukoliko je ikako moguce, nesto kao loop kroz svaki file u scriptfiles/Korisnici i da procita admin level i ispise odredjene stvari ako jeste
Citat: V01D poslato Januar 10, 2022, 04:44:35 PRE PODNE
Pitanje/savjet: Da li je izvodljivo napraviti listu svih admina ( online i offline ) ali koristeci y_ini ??
Opširnije: //
Dodatno: Ako moze objasnjenje ukoliko je ikako moguce, nesto kao loop kroz svaki file u scriptfiles/Korisnici i da procita admin level i ispise odredjene stvari ako jeste
Gle nista nije nemoguce, mozda da se u Admini folderu cuva ime i level, pa u dialogu ispise sve i jednog admina
Citat: V01D poslato Januar 10, 2022, 04:44:35 PRE PODNE
Pitanje/savjet: Da li je izvodljivo napraviti listu svih admina ( online i offline ) ali koristeci y_ini ??
Opširnije: //
Dodatno: Ako moze objasnjenje ukoliko je ikako moguce, nesto kao loop kroz svaki file u scriptfiles/Korisnici i da procita admin level i ispise odredjene stvari ako jeste
Samo napravi poseban file ili u admin file stavi da cuva ime/level/pin sta zelis i samo ubaci u komandu /admini da procita sve to, i izbacice ti listu svih admina (online i offline) naravno mozes doraditi da pise tipa Neko Admin Level 6 (Online) - Na duznosti i takodje Neko Admin Level 6 (offline) - Van Duznosti. Imas brdo modova koji to imaju samo ih treba naci :D
Citat: V01D poslato Januar 10, 2022, 04:44:35 PRE PODNE
Pitanje/savjet: Da li je izvodljivo napraviti listu svih admina ( online i offline ) ali koristeci y_ini ??
Op%u0161irnije: //
Dodatno: Ako moze objasnjenje ukoliko je ikako moguce, nesto kao loop kroz svaki file u scriptfiles/Korisnici i da procita admin level i ispise odredjene stvari ako jeste
imas to u ovom be modu pa pogledaj ako je to to sto trazis:
http://www.mediafire.com/file/1d2t9wfrbj9lpb6/Balkan_EXTAZY_New_update_bugfix.rar/file
Citat: ΛΣZΛKMI poslato Januar 10, 2022, 10:03:54 PRE PODNE
imas to u ovom be modu pa pogledaj ako je to to sto trazis:
http://www.mediafire.com/file/1d2t9wfrbj9lpb6/Balkan_EXTAZY_New_update_bugfix.rar/file
kako se na tom modu zove cmd za admine offline?
Citat: bassonja. poslato Januar 10, 2022, 10:21:51 PRE PODNE
kako se na tom modu zove cmd za admine offline?
kad upises /admini pise koji su online i ako nisu pre koliko su bili
Citat: V01D poslato Januar 10, 2022, 04:44:35 PRE PODNE
Pitanje/savjet: Da li je izvodljivo napraviti listu svih admina ( online i offline ) ali koristeci y_ini ??
Opširnije: //
Dodatno: Ako moze objasnjenje ukoliko je ikako moguce, nesto kao loop kroz svaki file u scriptfiles/Korisnici i da procita admin level i ispise odredjene stvari ako jeste
Evo buraz odgovor ti je ovde bas onako kako sam i ja bio reko
https://www.youtube.com/watch?v=LDLCViea5zI
Nisam bas najjasnije obrazlozio pitanje, znam da mogu da cuvam u poseban folder admine, itd, ali ne zelim samo za njih, admini su bili samo primer. Na primer, zelim da napravim isto za helpere, promotere, lidere, isto tako da prikazujem sve zatvorene igrace, itd itd..
Znaci u prevodu, pravljenje posebnog fajl za sve to je preveliki posao i mysql bi bio jednostavniji. Sada me zanima da li postoji nacin da se zaobidje mysql, kao i cuvanje svega toga u posebnim fajlovima, vec nesto na fazon da loopuje sve fajlove u Korisnici folderu i izvuce odredjeni podatak iz njega
[pawn]
#define MAX_ADMINA 21
enum admini
{
Admin[25],
aNeakt,
aDuty,
aLP
};
new AdminiInfo[MAX_ADMINA][admini];
[/pawn]
[pawn]
for(new s = 1; s < sizeof(AdminiInfo); s++) {
new gFile[60];
format(gFile, sizeof(gFile), "ADMINI/%d.ini",s);
if(fexist(gFile)) { INI_ParseFile(gFile, "UcitajAdmine", .bExtra = true, .extra = s); } }
[/pawn]
Ucitavanje pod ongamemodeinit gotovo
[pawn]
_callback: UcitajAdmine(clan, name[], value[])
{
INI_String("Admin",AdminiInfo[clan][Admin], 25);
INI_Int( "Neakt",AdminiInfo[clan][aNeakt]);
INI_Int( "Duty",AdminiInfo[clan][aDuty]);
INI_Int( "LP",AdminiInfo[clan][aLP]);
return 1;
}
[/pawn]
[pawn]
CMD:admini(playerid,params[])
{
new atext[64];
new asd[2000];
new online;
for(new b = 1; b < 21; b++)
{
if(!strcmp(AdminiInfo[Admin], "Niko", true))
{
format(atext, sizeof(atext), "{FFFFFF}[%d] Niko\n", b);
strcat(asd, atext);
}
else
{
format(atext, sizeof(atext), "{FFFFFF}[%d] %s | ", b, AdminiInfo[Admin]);
strcat(asd, atext);
online = 0;
for(new i=0; i<MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i) && PI[pASlot] == b)
{
online = 1;
new prm[20];
if(PI[pTaylorRank] == 1) { prm = "Skripter"; }
else if(PI[pTaylorRank] == 2) { prm = "Mapper"; }
else if(PI[pTaylorRank] == 3) { prm = "Direktor"; }
else if(PI[pAdmin] == 1) { prm = "Admin 1"; }
else if(PI[pAdmin] == 2) { prm = "Admin 2"; }
else if(PI[pAdmin] == 3) { prm = "Admin 3"; }
else if(PI[pAdmin] == 4) { prm = "Head Admin"; }
else if(PI[pAdmin] == 5) { prm = "Direktor"; }
else if(PI[pAdmin] == 6) { prm = "Vlasnik"; }
format(atext, sizeof(atext), "{21DD00}Online {FFFFFF}| "COL_SERVER"%s "COL_BELA"| ", prm);
strcat(asd, atext);
if( GetPVarInt( i, "admin_duty" ) == 1 )
{
strcat(asd, "{21DD00}OnDuty\n");
}
else { strcat(asd, ""COL_RED"OffDuty\n"); }
}
}
if(online == 0)
{
format(atext, sizeof(atext), ""COL_RED"Offline %dh\n", AdminiInfo[aNeakt]);
strcat(asd, atext);
}
}
}
SPD(playerid, 19999, DSM, "Admini", asd, "Ok", "");
return 1;
}
[/pawn]
Citat: V01D poslato Januar 10, 2022, 16:58:43 POSLE PODNE
Nisam bas najjasnije obrazlozio pitanje, znam da mogu da cuvam u poseban folder admine, itd, ali ne zelim samo za njih, admini su bili samo primer. Na primer, zelim da napravim isto za helpere, promotere, lidere, isto tako da prikazujem sve zatvorene igrace, itd itd..
Znaci u prevodu, pravljenje posebnog fajl za sve to je preveliki posao i mysql bi bio jednostavniji. Sada me zanima da li postoji nacin da se zaobidje mysql, kao i cuvanje svega toga u posebnim fajlovima, vec nesto na fazon da loopuje sve fajlove u Korisnici folderu i izvuce odredjeni podatak iz njega
bump :)
Ne, za to jednostavno uradi MySQL čuvanje korisnika i preko 1 querya dobij sve informacije, čemu patnja sa ini čuvanjem kada možeš prebaciti u mySQL, ne treba ti par sati rada da prebaciš korisnike u mySQL.
To je invaliditet inija, moraš znati koji fajl želiš da potrefiš, ili da petljom ideš kroz brojeve, postoji način da zapravo čuvas u txt/ini fajlu redove sa imenima i da pomocu njih loopas ini fajlove, ali to uopšte nije validan način pored SQLa
Citat: V01D poslato Januar 10, 2022, 16:58:43 POSLE PODNE
Nisam bas najjasnije obrazlozio pitanje, znam da mogu da cuvam u poseban folder admine, itd, ali ne zelim samo za njih, admini su bili samo primer. Na primer, zelim da napravim isto za helpere, promotere, lidere, isto tako da prikazujem sve zatvorene igrace, itd itd..
Znaci u prevodu, pravljenje posebnog fajl za sve to je preveliki posao i mysql bi bio jednostavniji. Sada me zanima da li postoji nacin da se zaobidje mysql, kao i cuvanje svega toga u posebnim fajlovima, vec nesto na fazon da loopuje sve fajlove u Korisnici folderu i izvuce odredjeni podatak iz njega
File manager plugin u kombinaciji sa y_ini
File manager otvori folder, izlista sve fajlove a ti loop kroz sve fajlove koristeci y_ini. Recimo otvoris folder korisnici, i kada ti plugin vrati niz fajlova, ti loop kroz nih.
To je direktan odgovor, ali to je samoubijstvo za server, pogotovo za live. Radije bih koristio sqlite ako nmg mysql.
Takodje niko ti ne brani da napravis poseban fajl za "listu" necega i da napravis funkciju da kad se promeni nesto da se doda/izvadi iz te liste.
Recimo mozes da napravis fajl admini i da ti ini key bude redni broj. Tako mozes da napravis loop od 0 do X, i da citas sve te "admine". Takodje mozes da cuvas i neki index counter u taj isti fajl, da znas dokle idu ti brojevi, pa da pre loopa procitas koja je vrednost tog index countera i da loop do tog broja. Malo ce ti biti zajebano posto kada brises nekoga key ostaje kao prazan, i na ucitavanje to moras da proveravas, i kada dodajes novog moras da vidis da li ima negde prazno mesto pre tox index countera, i ako ima tu da ubacis tako da ti fajl ne raste do beskonacnosti.
Takodje su problem i banovani i obrisani nalozi, i slicno, moraces sam da pazis na to, i zato je sqlite 300x bolja solucija (jedan ili dva uslova u query i resio si sve muke)
Citat: Deleted User poslato Januar 11, 2022, 00:06:53 PRE PODNE
File manager plugin u kombinaciji sa y_ini
File manager otvori folder, izlista sve fajlove a ti loop kroz sve fajlove koristeci y_ini. Recimo otvoris folder korisnici, i kada ti plugin vrati niz fajlova, ti loop kroz nih.
To je direktan odgovor, ali to je samoubijstvo za server, pogotovo za live. Radije bih koristio sqlite ako nmg mysql.
Takodje niko ti ne brani da napravis poseban fajl za "listu" necega i da napravis funkciju da kad se promeni nesto da se doda/izvadi iz te liste.
Recimo mozes da napravis fajl admini i da ti ini key bude redni broj. Tako mozes da napravis loop od 0 do X, i da citas sve te "admine". Takodje mozes da cuvas i neki index counter u taj isti fajl, da znas dokle idu ti brojevi, pa da pre loopa procitas koja je vrednost tog index countera i da loop do tog broja. Malo ce ti biti zajebano posto kada brises nekoga key ostaje kao prazan, i na ucitavanje to moras da proveravas, i kada dodajes novog moras da vidis da li ima negde prazno mesto pre tox index countera, i ako ima tu da ubacis tako da ti fajl ne raste do beskonacnosti.
Takodje su problem i banovani i obrisani nalozi, i slicno, moraces sam da pazis na to, i zato je sqlite 300x bolja solucija (jedan ili dva uslova u query i resio si sve muke)
Znaci u prevodu, jedina opcija koju imam a da je realna je mysql ili sqlite?
Sada mi stvara problem sto je meni server aktivan, radi vec zadnjih mesec dana, korisnici su u y_ini-ju, da li je izvodljivo prebacivati u mysql ili sqlite?
P.S. Ima oko 1000 registrovanih korisnika
Postojao je tool za to, trenutno nisam siguran da li radi i koliko ispravno radi, ipak isplati se googleovat i provjeri više puta prije nego to uradiš da ne moraš raditi global restart.
Svakako o tome si trebao voditi pažnju prije otvaranja servera, danas korisnike imati u iniju je samoubistvo.
Citat: Deleted User poslato Januar 11, 2022, 00:06:53 PRE PODNE
File manager plugin u kombinaciji sa y_ini
File manager otvori folder, izlista sve fajlove a ti loop kroz sve fajlove koristeci y_ini. Recimo otvoris folder korisnici, i kada ti plugin vrati niz fajlova, ti loop kroz nih.
To je direktan odgovor, ali to je samoubijstvo za server, pogotovo za live. Radije bih koristio sqlite ako nmg mysql.
Takodje niko ti ne brani da napravis poseban fajl za "listu" necega i da napravis funkciju da kad se promeni nesto da se doda/izvadi iz te liste.
Recimo mozes da napravis fajl admini i da ti ini key bude redni broj. Tako mozes da napravis loop od 0 do X, i da citas sve te "admine". Takodje mozes da cuvas i neki index counter u taj isti fajl, da znas dokle idu ti brojevi, pa da pre loopa procitas koja je vrednost tog index countera i da loop do tog broja. Malo ce ti biti zajebano posto kada brises nekoga key ostaje kao prazan, i na ucitavanje to moras da proveravas, i kada dodajes novog moras da vidis da li ima negde prazno mesto pre tox index countera, i ako ima tu da ubacis tako da ti fajl ne raste do beskonacnosti.
Takodje su problem i banovani i obrisani nalozi, i slicno, moraces sam da pazis na to, i zato je sqlite 300x bolja solucija (jedan ili dva uslova u query i resio si sve muke)
Mozes mi poslati neki primer koristeci filemanager u tu svrhu? Loop svih fajlova u folderu Korisnici i da izvuce podataka xAdmin i proveri da li je veci od 1
Citat: V01D poslato Januar 11, 2022, 00:57:22 PRE PODNE
Znaci u prevodu, jedina opcija koju imam a da je realna je mysql ili sqlite?
Sada mi stvara problem sto je meni server aktivan, radi vec zadnjih mesec dana, korisnici su u y_ini-ju, da li je izvodljivo prebacivati u mysql ili sqlite?
P.S. Ima oko 1000 registrovanih korisnika
Zasto da ne? Napravi skripticu bilo u pawn, php, java, go, nebitno, koja ce da cita podatke iz ini fajla i salje insert query u table...
Ja bih preporucio PHP posto je to lagan jezik i mislim da cak ini podrzava nativno, mada ima i pun kurac paketa za to.
Loop kroz sve fajlove (naloge/accounte) i insert ih u table. Kad bih napravio takvu skripticu, downtime 5-6 minuta (verovatno je to gotovo u sekundu ili dve za 1000 fajlova ali radi sigurnosti par minuta bih sacekao) u 3-4 ujutro kad nema nikoga i problem je resen, a i moze se staviti da se to odradi preko cron job-a tako da nemoras biti online (naravno ovo predpostavljam da imas root pristup masini, da nisi na shared hosting nego VPS ili Dedicated).
EDIT: Evo tek sad videh da si pitao ispod i za primer. Ovo je obican copy/paste sa git-a kako je on dao primer (samo prilagodjen malkice).
[pawn]
new dir:dHandle = dir_open("./Korisnici");
new item[40], type;
while(dir_list(dHandle, item, type))
{
if(type == FM_FILE)
{
//Klasicno citanje iz y_ini, znaci otvaras fajl, to jest nesto kao new File:fileHandle = INI_Open(item);
//I onda naravno citas i zatvoris na kraju fajl. Takodje provere i dodavanje u listu (niz/string) koju prikazujes ovde...
}
}
dir_close(dHandle);
[/pawn]
Inace ovo je suicide metoda po meni
Citat: V01D poslato Januar 11, 2022, 00:57:22 PRE PODNE
Znaci u prevodu, jedina opcija koju imam a da je realna je mysql ili sqlite?
Sada mi stvara problem sto je meni server aktivan, radi vec zadnjih mesec dana, korisnici su u y_ini-ju, da li je izvodljivo prebacivati u mysql ili sqlite?
P.S. Ima oko 1000 registrovanih korisnika
Svakako ti preporučujem MySQL.
Lakše je raditi,upravljati sa podatcima a koliko prednosti ima nad ini-em mislim da nema potrebe ni govoriti. To što ti hoćeš da napraviš je u MySQLu je jedan jednostavan upit.
Ja sam svoj server prebacivao iz ini u MySQL u trenutku dok je imao preko 25k registriranih računa tako da što se toga tiče nema nikakvih problema i može se odraditi na više načina.
(ovo možda nije najbolje riješenje ali za mene je u tom trenutku bilo najjednostavnije i tako sam odradio)-kasnije nisam ni istraživao postoje li bolja riješenja
Što se tiče standardnih sistema kao što su kuće,firme,vozila- Učitam u Yini-u sve,spremim u MySQLu i riješeno.
Za korisničke račune sam na sličan način odradio.
Na loginu bih provjeravao prvo postoji li korisnik u fajlu "Korisnici"
: ako postoji ,učitaj ga, spremi u MySQL, izbriši korisnički fajl
: ako ne postoji u Korisnici,provjeri postoji li u MySQLu,inače - registracija.
Tako sam držao mjesec dana,u to vrijeme sam ionako brisao neaktivne korisničke račune,nakon nekog vremena potpuno imao sve podatke u MySQLu. Mislim da je nebitno kako ćeš transfer odraditi dok god sve funkcionira kako treba - uradi kako je tebi najlakše i što za tebe ima najmanje komplikacija.
Citat: Paul Castellano poslato Januar 11, 2022, 19:56:49 POSLE PODNE
Svakako ti preporučujem MySQL.
Lakše je raditi,upravljati sa podatcima a koliko prednosti ima nad ini-em mislim da nema potrebe ni govoriti. To što ti hoćeš da napraviš je u MySQLu je jedan jednostavan upit.
Ja sam svoj server prebacivao iz ini u MySQL u trenutku dok je imao preko 25k registriranih računa tako da što se toga tiče nema nikakvih problema i može se odraditi na više načina.
(ovo možda nije najbolje riješenje ali za mene je u tom trenutku bilo najjednostavnije i tako sam odradio)-kasnije nisam ni istraživao postoje li bolja riješenja
Što se tiče standardnih sistema kao što su kuće,firme,vozila- Učitam u Yini-u sve,spremim u MySQLu i riješeno.
Za korisničke račune sam na sličan način odradio.
Na loginu bih provjeravao prvo postoji li korisnik u fajlu "Korisnici"
: ako postoji ,učitaj ga, spremi u MySQL, izbriši korisnički fajl
: ako ne postoji u Korisnici,provjeri postoji li u MySQLu,inače - registracija.
Tako sam držao mjesec dana,u to vrijeme sam ionako brisao neaktivne korisničke račune,nakon nekog vremena potpuno imao sve podatke u MySQLu. Mislim da je nebitno kako ćeš transfer odraditi dok god sve funkcionira kako treba - uradi kako je tebi najlakše i što za tebe ima najmanje komplikacija.
Da, mislim da je ovo definitivno jednostavnija metoda, i jedno i drugo. Za pocetak planiram samo korisnike da prebacim u mysql, kasnije, vremenom, ostatak, ali otom potom. Hvala svima na predlozima i pomoci :D <3