MySQL Problem

Započeo Danculovic
23. Jul 2022. Zaključano
459
pregleda
11
postova
Danculovic
2
Rookie
23. Jul 2022.
Problem(error/warning): E ovako, nov sam u MySQL-u ali sam ga relativno brzo savladao i jako mi se svidja kako radi, krenuo sam mod od nule i za sada nema nikakvih problema niti bug-ova. Danas sam probao da uradim sistem ucitavanja offline Admina preko cache_get_field_content funkcije koja ucitava stringove ali kada udjem in-game i ukucam komandu u dijalogu ne ucitava string, pawno ne izbacuje nikakav problem ili ista, negde sam procitao da je to do verzije MySQL-a ja koristim 39-6 jer mi je 41-4 mrsko za raditi iznova skriptu. Da li postoji resenje ili da ne razmisljam o koriscenju funkcije ucitavanja stringova, moram da napomenem da brojeve ucitava savrseno, tojest integere.
Deo skripte:
/

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):

Slika/video ingame problema(obavezno ako je ingame problem):
NegativeIQ
5
Kingpin
23. Jul 2022.
Nije do verzije sigurno, vecina modova koristi R-39 dok ja imam iskustva sa R41 i sve radi savrseno. Razlika izmedju R39 i R41 je minimalna iako ima par breaking changes.
Daj relativni kod za problem pa cemo videti sta i kako, ovako samo da vangujemo...
Danculovic
2
Rookie
23. Jul 2022.
Znaci ovako, cache_get_field_content(0, "ImeAdmina", dest, ImeDataBaze, 64); posto imam vise admin slotova a brojanje krece od nule, imam naprimer maximalno 10 admina, i hocu da na komandu /admini, ono sto je vec ucitano samo izlista u dijalogu, koliko sam citao funkcija cache_get_field_content bi trebala da ucita string ali meni nikako da ucita, probao sam 1001 varijantu ali nista
ivan221
5
Made Man
🔥6
23. Jul 2022.
"Deo skripte", pa onda imas prazno polje da ubacis, pa onda ispod "Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log)", pa takodje prazno polje, ne znam zasto ocekujes da neko gleda u pasulj...
Danculovic
2
Rookie
23. Jul 2022.
U prevodu, hocu da koristim ovu funkciju

new dest;
cache_get_field_content(0, "name", dest);
printf("The value in the field 'name' is '%s'.", dest);
Fergosonn
4
Made Man
23. Jul 2022.
Daj kod od komande za dialog i daj kako prizivas taj dialog
ivan221
5
Made Man
🔥6
23. Jul 2022.
Fergosonn wrote on July 23, 2022, 10:22 pm:
Daj kod od komande za dialog i daj kako prizivas taj dialog
Prizivas HAHAHAHHAHAH
Fergosonn
4
Made Man
23. Jul 2022.
CMD:sviadmini(playerid)
{
    if(PlayerInfo < 1)
        return SendClientMessage(playerid, 0xFF6347FF, "* Nemate ovlascenje za upotrebu ove komande.");
       
    new string;
    mysql_format(SQL, string, sizeof string, "SELECT `Username`,`Lastseen`,`Admin` FROM `accounts` WHERE `Admin`");
    mysql_tquery(SQL, string, "AdminCheckRank", "id", playerid, PlayerInfo);
    return 1;
}

forward AdminCheckRank(playerid, idorg);
public AdminCheckRank(playerid, idorg) {

    new count;
    cache_get_row_count(count);
    new lastlogin, imestr;
    new string, string1;
    for(new i = 0; i < count < 40; i++)
    {
        new Admin;
        cache_get_value_name(i, "Username", imestr, 50);
        cache_get_value_name(i, "Lastseen", lastlogin, 50);
        cache_get_value_name_int(i, "Admin", Admin);
        format(string, sizeof(string),"%s\t%s\t"BELA"%d\n", imestr, IsPlayerConnected(CvetkoPizda(imestr)) ? "{6EF83C}ONLINE" : lastlogin, Admin);
        strcat(string1, string, sizeof(string1));
    }
    format(string, sizeof(string), "Ime\tLast-Seen\tLevel\n%s", string1);
    Dialog_Show(playerid, administracija1, DIALOG_STYLE_TABLIST_HEADERS, "Spisak administracije", string, "Dalje", "Izlaz");
    return 1;
}
NegativeIQ
5
Kingpin
25. Jul 2022.
Ovako, prvo imas mysql log, to se loguje u posebnom fajlu, u zavisnosti od toga sta si stavio za logovanje (Sve, upozorenja ili samo errore) to ce ti i biti logovano - u development naravno logujes sve dok na live serveru samo errore, eventualno warninge ako imas mesta i naravno proveravas i popravljas ako ti izadje a ne zatvaras oci na to. Takodje imas i OnQueryError callback koji se naravno pozove kada se desi neki error u query.

To receno, takodje vidim da ne znas sta radis. Ako zelis najvise 40 admina da se pokaze u query stavljas LIMIT 40 na kraju query-a da ne predje taj broj da bi izbegao glavobolju kasnije.
Recimo ovaj deo koda nece raditi ako imas vise 40 ili vise admin accounta na serveru for(new i = 0; i < count < 40; i++). Posto je uslov da je i < count ali i da je count manje od 40 naravno cim je count > 40 petlja se prekida. Kad stavis LIMIT 40 u query, ovde 40 postaje visak u kodu i loopujes od 0 do koliko imas query rezultata kako bi i trebalo da bude.

Trazio sam jednom, trazio je jos neko da das relativni kod, dao si prvo neke linije pa si sad tek dao i komandu i query callback handle. Pogledaj logove, vidi sta kazu, sta vise ocisti ih pa pokreni server, udji in game, probaj komandu i tek onda vidi sta kazu logovi da ne bude puno smeca od pre nego da je izolirano na jedno pokretanje servera.

Sad cu da progledam kroz prste, ali ubuduce te molim da razmislis sta nama treba da bi ti pomogli i da das to sta ti se trazi odmah a ne da cijedimo informacije iz tebe. Ne shvati pogresno, imaju gori od tebe 300x, ti si makar ko covek postovao formular ali i za kodove/errore/logove uvek stavljaj code/pawn bbcode tagove a ne samo u prvi post.
Lexy
5
Underboss
25. Jul 2022.
a zasto nekoristis ovako nesto
public OnQueryFinished(threadid, extraid, playerid)


mnogo lakse i pronades se lako
NegativeIQ
5
Kingpin
25. Jul 2022.
yeet wrote on July 25, 2022, 8:11 pm:
a zasto nekoristis ovako nesto
public OnQueryFinished(threadid, extraid, playerid)


mnogo lakse i pronades se lako

Prvo, nije lakse, njegov nacin jasno kaze koji su argumenti i sta znace.
Drugo, OnQueryFinished ne postoji u R39 (ne postoji nakon R7)

I odakle ti znas za OnQueryFinished i extraid ? To se ne koristi ima brat bratu jedno 10 godina...

EDIT: Neaktivno - Lock

Morate biti prijavljeni da biste odgovorili na ovu temu.

Prijava

© 2026 SmartShark. All rights reserved.

Powered by Momentum|v2026.3.001 Alpha