Ban Sistem

Započeo Claus, Septembar 18, 2020, 12:47:10 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 4 gostiju pregledaju ovu temu.

Problem(error/warning): Radio sam novi ban sistem u MySQL, i radi sve, al sam napravio da kad igrač svaki put se KONEKTUJE na server da mu se pokaže dialog a u dijalogu razlog bana, ime igrača, admin, vreme i datum, dijalog se lepo prikaže ali neće da mi prikaze ime admina, razlog bana, vreme i datum, ostaviću vam kod ispod na pastebin!
Deo skripte: https://pastebin.com/M3DnLMXW
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Nepotrebno

Probaj umjesto: cache_get_value staviti: cache_get_value_name

Premda ne vjerujem da je do toga, pogledat cu jos malo...


Ajde da krenemo od onoga osnovnoga, dali se podatci nakon bana spremaju u bazu ?
You'll be always in my heart, the end and thanks for amazing times. #WeAreLords

Pa kakvi su to cachei prvenstveno? Imas gore cache_get_row_count, a dole pokreces novi query? Posalji kompletan dio, i ne mozes koristiti tquery tako, koristi obicni query sa Cacheom:

[pawn]new query[128], igrac_ime[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, igrac_ime, sizeof(igrac_ime));
mysql_format( Database, query, sizeof(query), "SELECT * FROM `ban` WHERE `banName`= '%s'", igrac_ime);
new Cache:rezultat = mysql_query( Database, db_Query );
new banName[MAX_PLAYER_NAME], banIP[16], banAdmin[MAX_PLAYER_NAME], banReason[24], banDate[24];
cache_get_value(0, "banName", banName, 24);
cache_get_value(0, "banIP", banIP, 16);
cache_get_value(0, "banAdmin", banAdmin, 24);
cache_get_value(0, "banReason", banReason, 24);
cache_get_value(0, "banDate", banDate, 24);
format( string, sizeof string, ""white"›› "cmduse_col"Your account has been "zelenakick"banned "cmduse_col"from this server!\n\
"white"›› "cmduse_col"Your Name: "zelenakick"%s\n"white"›› "cmduse_col"Admin Name: "zelenakick"%s\n\
"white"›› "cmduse_col"Reason: "zelenakick"%s\n"white"›› "cmduse_col"Time: "zelenakick"%s\n"white"›› "cmduse_col"Date: "zelenakick"TEST\n\
"white"›› "cmduse_col"If you think this is a mistake, please contact us at discord: "zelenakick"discord.io/InsanityDM", GetName(playerid), banAdmin, banReason, banDate );
ShowPlayerDialog( id, d_ban, dsm, ""zelenakick"Banned", string, "Okay", "" );
SetTimerEx( "KickTimer", 50, false, "d", playerid );
cache_delete(rezultat);[/pawn]

I drugo, what the fuck is that query? Apsolutno neispravan query: SELECT * FROM `ban` WHERE `banName`, `banIP`, `banAdmin`, `banReason`, `banDate` LIMIT 5
Dobro si odabrao kada si krenuo uciti mysql, ali query ti nije ispravan, ispravio sam ga u logickom smjeru, ali buduci da nisi nista poslao vezano za taj sistem osim tog dijela, ne znam jesam li dovoljno pomogao.

Sada query ide: SELECT * FROM `ban` WHERE `banName`= '%s'
Selektujemo sve redove (SELECT *) iz ban liste (FROM `ban`) gdje je ban Ime ime tog igraca (WHERE `banName`= '%s')
Mozes tu koristiti LIMIT 1.
Poslednja Izmena: Septembar 18, 2020, 14:58:55 POSLE PODNE od Slade

Prvo osove pa onda skriptanje...

Citat: Hydra. poslato Septembar 18, 2020, 13:52:54 POSLE PODNE
Ajde da krenemo od onoga osnovnoga, dali se podatci nakon bana spremaju u bazu ?
Spremaju se, znaci sve lepo radi ali kad igrac ode relog i kad mu izbaci dialog da je njegov acc banovan, ne izbaci ko ga je banovao, razlog bana, vreme bana

Citat: Slade poslato Septembar 18, 2020, 14:55:53 POSLE PODNE
Pa kakvi su to cachei prvenstveno? Imas gore cache_get_row_count, a dole pokreces novi query? Posalji kompletan dio, i ne mozes koristiti tquery tako, koristi obicni query sa Cacheom:

[pawn]new query[128], igrac_ime[MAX_PLAYER_NAME + 1];
GetPlayerName(playerid, igrac_ime, sizeof(igrac_ime));
mysql_format( Database, query, sizeof(query), "SELECT * FROM `ban` WHERE `banName`= '%s'", igrac_ime);
new Cache:rezultat = mysql_query( Database, db_Query );
new banName[MAX_PLAYER_NAME], banIP[16], banAdmin[MAX_PLAYER_NAME], banReason[24], banDate[24];
cache_get_value(0, "banName", banName, 24);
cache_get_value(0, "banIP", banIP, 16);
cache_get_value(0, "banAdmin", banAdmin, 24);
cache_get_value(0, "banReason", banReason, 24);
cache_get_value(0, "banDate", banDate, 24);
format( string, sizeof string, ""white"%u203A%u203A "cmduse_col"Your account has been "zelenakick"banned "cmduse_col"from this server!\n\
"white"%u203A%u203A "cmduse_col"Your Name: "zelenakick"%s\n"white"%u203A%u203A "cmduse_col"Admin Name: "zelenakick"%s\n\
"white"%u203A%u203A "cmduse_col"Reason: "zelenakick"%s\n"white"%u203A%u203A "cmduse_col"Time: "zelenakick"%s\n"white"%u203A%u203A "cmduse_col"Date: "zelenakick"TEST\n\
"white"%u203A%u203A "cmduse_col"If you think this is a mistake, please contact us at discord: "zelenakick"discord.io/InsanityDM", GetName(playerid), banAdmin, banReason, banDate );
ShowPlayerDialog( id, d_ban, dsm, ""zelenakick"Banned", string, "Okay", "" );
SetTimerEx( "KickTimer", 50, false, "d", playerid );
cache_delete(rezultat);[/pawn]

I drugo, what the fuck is that query? Apsolutno neispravan query: SELECT * FROM `ban` WHERE `banName`, `banIP`, `banAdmin`, `banReason`, `banDate` LIMIT 5
Dobro si odabrao kada si krenuo uciti mysql, ali query ti nije ispravan, ispravio sam ga u logickom smjeru, ali buduci da nisi nista poslao vezano za taj sistem osim tog dijela, ne znam jesam li dovoljno pomogao.

Sada query ide: SELECT * FROM `ban` WHERE `banName`= '%s'
Selektujemo sve redove (SELECT *) iz ban liste (FROM `ban`) gdje je ban Ime ime tog igraca (WHERE `banName`= '%s')
Mozes tu koristiti LIMIT 1.
Hmm ne radi, mucim se oko ovoga 2 dana xd i nikako da ga napravim. Napisi sta jos da dodam, ne znam ni ja xd
Poslednja Izmena: Septembar 18, 2020, 21:45:45 POSLE PODNE od Claus

Citat: Supe-rAdmi-n99 poslato Septembar 18, 2020, 16:47:33 POSLE PODNE
Prvo osove pa onda skriptanje...
Ovi koji su danas napravili acc na ovom forumu, mogu da rade nesto drugo a da ne nabijaju postove glupim recenicama, "prvo osnove" ? Ajde decko trazi da ti izmapaju sumu i da se izgubis u njoj, nisi ni procitao sta je u pitanju a seres ovde

Posalji kompletan taj dio, logina i to


Dal kada banuješ igrača unese red u tabelu, odnosno da li insert radi fino?

Edit: sad sam primjetio ovo
[pawn]ShowPlayerDialog( id, d_ban, dsm, ""zelenakick"Banned", string, "Okay", "" );[/pawn]

probaj ovako:
[pawn]ShowPlayerDialog( playerid, d_ban, dsm, ""zelenakick"Banned", string, "Okay", "" );[/pawn]

id ti je samo definisana varijabla, i samim time je uvjek 0, i radit će samo igraču id 0.
Poslednja Izmena: Septembar 18, 2020, 23:01:37 POSLE PODNE od Slade

Citat: Slade poslato Septembar 18, 2020, 22:57:51 POSLE PODNE
Dal kada banuješ igrača unese red u tabelu, odnosno da li insert radi fino?

Edit: sad sam primjetio ovo
[pawn]ShowPlayerDialog( id, d_ban, dsm, ""zelenakick"Banned", string, "Okay", "" );[/pawn]

probaj ovako:
[pawn]ShowPlayerDialog( playerid, d_ban, dsm, ""zelenakick"Banned", string, "Okay", "" );[/pawn]

id ti je samo definisana varijabla, i samim time je uvjek 0, i radit će samo igraču id 0.
Da, insert radi lepo, znaci sve se sacuva, samo nece ovo nakon reloga... https://imgur.com/a/nIRR3FI
Sto se tice ovog sto si rekao za ID, zamenio sam ga sa playerid i isto se desava, nista se ne promeni

Reseno, hvala svima koji su pokusali da mi pomognu! <3