MYSQL REG LOG

Započeo Amil_Pawno, Jul 27, 2021, 20:35:35 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 5 gostiju pregledaju ovu temu.

Problem(error/warning): Napravio sam REG LOG pomocu tutorijala ovde na mysql u sekciju MySQL R2 REG LOG I POKAZUJEMI ERRORE
Deo skripte: [pawn]public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
   switch(dialogid)
   {
       case d_login:
       {
           if(!response) return Kick(playerid);
          
           new buf[65], name[MAX_PLAYER_NAME];
           SHA256_PassHash(inputtext, PlayerInfo[playerid][Salt], buf, 65);
          
           if(strcmp(buf, PlayerInfo[playerid][Password]) == 0)
           {
            GetPlayerName(playerid, name, sizeof(name));
               mysql_format(handle, query, sizeof(query), "SELECT * FROM players WHERE name = `%e` LIMIT 1", name);
               mysql_tquery(handle, query, "OnAccountLoad", "i", playerid);
         }
         else
         {
             ShowPlayerDialog(playerid, d_login, DIALOG_STYLE_PASSWORD, "Prijava", "Lozinka koju ste uneli nije ispravna, pokusajte ponovo:", "Dalje", "Izlaz");
         }
      }
      case d_register:
      {
          if(!response) return Kick(playerid);
         
          if(strlen(inputtext) < 6 || strlen(inputtext) > 20) // ako je lozinka kraca od 6 i duza od 20 karaktera vraca dialog
          {
              ShowPlayerDialog(playerid, d_register, DIALOG_STYLE_INPUT, "Registracija", "Vas racun nije pronadjen, molimo vas upisite lozinku da se registrujete:", "Dalje", "Izlaz");
              return true;
         }

          for (new i = 0; i < 10; i++) {
             PlayerInfo[playerid][Salt] = random(100) + 50;
          }
         
          PlayerInfo[playerid][Salt][10] = 0;
          SHA256_PassHash(inputtext, PlayerInfo[playerid][Salt], PlayerInfo[playerid][Password], 65);

          // sada unosimo u bazu podatke igraca
          new query[256], name[MAX_PLAYER_NAME];
          GetPlayerName(playerid, name, sizeof(name));
         
          mysql_format(handle, query, sizeof(query), "INSERT INTO players SET \
                                                         name=`%e`,\
                                                         password=`%e`,\
                                                         salt=`%e`,\
                                                         regdate=NOW()", name, PlayerInfo[playerid][Password], PlayerInfo[playerid][Salt]);
                                                        
            mysql_tquery(handle, query, "OnPlayerRegister", "d", playerid);
      }
   }
   return true;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
C:\Users\namik\Desktop\MySQL Tokyo\gamemodes\tokyo-rp.pwn(248) : error 017: undefined symbol "query"
C:\Users\namik\Desktop\MySQL Tokyo\gamemodes\tokyo-rp.pwn(248) : error 017: undefined symbol "query"
C:\Users\namik\Desktop\MySQL Tokyo\gamemodes\tokyo-rp.pwn(248) : error 029: invalid expression, assumed zero
C:\Users\namik\Desktop\MySQL Tokyo\gamemodes\tokyo-rp.pwn(248) : fatal error 107: too many error messages on one line
Poslednja Izmena: Avgust 07, 2021, 14:35:16 POSLE PODNE od M Ө M Σ N Z I

Fali ti query.. Dodaj ga iznad linije gde ti baca error ili ga napravi kao globalnu variablu, a ostale pobrisi.

Iznad selecta stavi new query[100];

Citat: Taylor Morelli poslato Jul 27, 2021, 21:51:14 POSLE PODNE
Iznad selecta stavi new query[100];
[pawn]new query[50 + MAX_PLAYER_NAME];[/pawn]
Čistije/Preglednije

Citat: Sage poslato Jul 28, 2021, 03:26:56 PRE PODNE
[pawn]new query[50 + MAX_PLAYER_NAME];[/pawn]
Čistije/Preglednije
Brze ce onda odradit new query[74]; nego da sabire dva broja

Citat: Taylor Morelli poslato Jul 28, 2021, 16:50:35 POSLE PODNE
Brze ce onda odradit new query[74]; nego da sabire dva broja
Zapravo ce biti isto, svaki staticni niz vec ima odredjenu vrednost koju ce koristiti tokom runtime-a servera, jer kada kompajlujes skriptu ta vrednost je vec sracunata i nema nikakvog uticaja na tvoj server niti ikakav kontakt sa brzinom sto se tice dodele velicine i gore navedenih sabiranja velicina.
Znaci da li ti napisao query[74] ili query[50 + MAX_PLAYER_NAME] dodje ti da je to isti kurac razlicito pakovanje.

To je eto cisto radi preglednosti i uopste nije obavezno.  :-\

Citat: tutankamon poslato Jul 28, 2021, 17:58:55 POSLE PODNE
Zapravo ce biti isto, svaki staticni niz vec ima odredjenu vrednost koju ce koristiti tokom runtime-a servera, jer kada kompajlujes skriptu ta vrednost je vec sracunata i nema nikakvog uticaja na tvoj server niti ikakav kontakt sa brzinom sto se tice dodele velicine i gore navedenih sabiranja velicina.
Znaci da li ti napisao query[74] ili query[50 + MAX_PLAYER_NAME] dodje ti da je to isti kurac razlicito pakovanje.

To je eto cisto radi preglednosti i uopste nije obavezno.  :-\
Odgovor sam dao cisto jer me nervira bezvezno ispravljanje samo da bi se ispravilo, isti mu je kurac string sa odp 100 char ako ce vec gledat svako slovo neka ide na counter da izbroji karaktere. Po mojoj logici ako bi se trazila ta brzina opet je lakse string odđa postaviti nego sabirati dva broja i uzimati vrijednost iz mpn samo radi neke gluposti. Sage nemoj se ti nac uvrijedjen svako ima pravo na misljenje

Citat: Taylor Morelli poslato Jul 28, 2021, 21:00:31 POSLE PODNE
Odgovor sam dao cisto jer me nervira bezvezno ispravljanje samo da bi se ispravilo, isti mu je kurac string sa odp 100 char ako ce vec gledat svako slovo neka ide na counter da izbroji karaktere. Po mojoj logici ako bi se trazila ta brzina opet je lakse string odđa postaviti nego sabirati dva broja i uzimati vrijednost iz mpn samo radi neke gluposti. Sage nemoj se ti nac uvrijedjen svako ima pravo na misljenje
Ispravljanje i nije baš, savet je.
Naravno stil ti može biti veoma neuredan i nepravilan, ovaj forum je pun Yandere Dev likova.

EDIT: I ja nisam mislio samo za ovo nego genarlno da zna da može i tako, ako na primer ima string dužine 343 i neke kurčeve da može
[pawn]new buffer[343 + MAX_PLAYER_NAME + 2 + 4 + 8 + 1];[/pawn]

Citat: Sage poslato Jul 28, 2021, 22:41:27 POSLE PODNE
Ispravljanje i nije baš, savet je.
Naravno stil ti može biti veoma neuredan i nepravilan, ovaj forum je pun Yandere Dev likova.

EDIT: I ja nisam mislio samo za ovo nego genarlno da zna da može i tako, ako na primer ima string dužine 343 i neke kurčeve da može
[pawn]new buffer[343 + MAX_PLAYER_NAME + 2 + 4 + 8 + 1];[/pawn]
aLi OvO nJeGoVo jE bRzE zAsTo Bi sAbIrAo kAdA mOzE sVe OdMaH dA iZrAcUnA bIcE mU sPoR mOd oN jE iPaK bOg sKrIpTeR  :-X