Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3089 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Sveiki, kaip ir dauguma čia postu yra apie "Kuriu serva" "Kaip sukurti serva" t.t

Taip aš irgi kuriu serverį, aš neimu gm redegavimui, sugalvoju kurti nuo tuščio new.pwn. Kuriu savo malonumui kažką išmokt suprasti programavimą.

Susidomėjau mysql duomenų baze, norėčiau informacijos apie kai kurias užklausas, žinau yra pilna pamokų apie tai, bet nelabai draugauju su anglų kalba.

Tai va kai kuriuos dalykus kažkiek supratau, bet man nėra aišku su kitais dalykais, tuoj parodysiu...

 

Prisijungimo kodas...

 

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
	switch (dialogid)
	{
		case DIALOG_LOGIN:
		{
			if(!response) return Kick(playerid);

			new Salted_Key[65];
			SHA256_PassHash(inputtext, pInfo[playerid][Salt], Salted_Key, 65);

			if(strcmp(Salted_Key, pInfo[playerid][Password]) == 0)
			{

				
				cache_set_active(pInfo[playerid][Player_Cache]);

				// Okay, we are retrieving the information now..
            	cache_get_value_int(0, "ID", pInfo[playerid][ID]);
            	
        		cache_get_value_int(0, "KILLS", pInfo[playerid][Kills]);
        		cache_get_value_int(0, "DEATHS", pInfo[playerid][Deaths]);

        		cache_get_value_int(0, "SCORE", pInfo[playerid][Score]);
        		cache_get_value_int(0, "CASH", pInfo[playerid][Cash]);
        		
        		SetPlayerScore(playerid, pInfo[playerid][Score]);
        		
        		ResetPlayerMoney(playerid);
        		GivePlayerMoney(playerid, pInfo[playerid][Cash]);


				
				cache_delete(pInfo[playerid][Player_Cache]);
				pInfo[playerid][Player_Cache] = MYSQL_INVALID_CACHE;

				pInfo[playerid][LoggedIn] = true;
				SendClientMessage(playerid, 0x00FF00FF, "Logged in to the account.");
			}
			else
			{
			    new String[150];
					
				pInfo[playerid][PasswordFails] += 1;
				printf("%s has been failed to login. (%d)", pInfo[playerid][Name], pInfo[playerid][PasswordFails]);


				if (pInfo[playerid][PasswordFails] >= 3) 
				{
					format(String, sizeof(String), "%s has been kicked Reason: {FF0000}(%d/3) Login fails.", pInfo[playerid][Name], pInfo[playerid][PasswordFails]);
					SendClientMessageToAll(0x969696FF, String);
					Kick(playerid);
				}
				else
				{
					// If the player didn't exceed the limits we send him a message that the password is wrong.
					format(String, sizeof(String), "Wrong password, you have %d out of 3 tries.", pInfo[playerid][PasswordFails]);
					SendClientMessage(playerid, 0xFF0000FF, String);
					
              		format(String, sizeof(String), "{FFFFFF}Welcome back, %s.\n\n{0099FF}This account is already registered.\n\
            		{0099FF}Please, input your password below to proceed to the game.\n\n", pInfo[playerid][Name]);
            		ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login System", String, "Login", "Leave");
				}
			}
		}

Apie šį kodą:

cache_get_value_int(0, "SCORE", pInfo[playerid][Score]);

Kur yra 0 reikšmė. Kada bus rašoma kitokia reikšmė?

 

Ką daro šie du kodai?

cache_set_active(pInfo[playerid][Player_Cache]);


Kitas:

cache_delete(pInfo[playerid][Player_Cache]);
pInfo[playerid][Player_Cache] = MYSQL_INVALID_CACHE;

 

tas 0 yra skaicius kuris nurodo is kurios vietos imama informacija atsakyme, dabar rasai 0 nes tikiesi tik vieno zaidejo su tuo vardu duomenu bazeje ir jo vieta atsakyme bus 0 nes jis tik vienas, ne 0 irasyt teks kai tu tikiesises kad isgausi daugiau nei viena elementa pvz selectinsi visus zaidejus dbazeje tada tikrai gausi neviena todel irasinesi skirtingus.

cache(atsakymas)

tavo variantu jis isaugojamas atmintyje (kad nereiketu daugiau siusti uzklausu I dbaze), bet sistema susimaisytu jeigu nezinotu is kurio atsakymo gauti informacija todel cache_set_active funkcija nurodo sistemai is kurio atsakymo norima imti informacija, o cache_delete reiskia kad atsakymas istrinamas is atminties.

 

siulyciau perzvelgt mysql kalbos pagrindus kad suprastum kaip kas veikia bent jau basic, tokios informacijos turetum rasti ir lietuviskos.

prieš 16 valandas(-ų), sanchezz parašė:

tas 0 yra skaicius kuris nurodo is kurios vietos imama informacija atsakyme, dabar rasai 0 nes tikiesi tik vieno zaidejo su tuo vardu duomenu bazeje ir jo vieta atsakyme bus 0 nes jis tik vienas, ne 0 irasyt teks kai tu tikiesises kad isgausi daugiau nei viena elementa pvz selectinsi visus zaidejus dbazeje tada tikrai gausi neviena todel irasinesi skirtingus.

cache(atsakymas)

tavo variantu jis isaugojamas atmintyje (kad nereiketu daugiau siusti uzklausu I dbaze), bet sistema susimaisytu jeigu nezinotu is kurio atsakymo gauti informacija todel cache_set_active funkcija nurodo sistemai is kurio atsakymo norima imti informacija, o cache_delete reiskia kad atsakymas istrinamas is atminties.

 

siulyciau perzvelgt mysql kalbos pagrindus kad suprastum kaip kas veikia bent jau basic, tokios informacijos turetum rasti ir lietuviskos.

Dėkui, na dėl basic kaip tu sakai, nelabai yra lietuvių kalba mysql R40 informacijos :/ arba aš klystu ir nepamačiau kažko.

prieš 3 valandas(-ų), BoCeNas* parašė:

Dėkui, na dėl basic kaip tu sakai, nelabai yra lietuvių kalba mysql R40 informacijos :/ arba aš klystu ir nepamačiau kažko.

r*skaicius yra tik plugino versija kuris padeda naudoti mysql kalba  sa-mp kode, as turejau omeni kad pasiskaitymum apie mysql, o ne mysql plugina sa-mpui, paskaites apskritai apie mysql turetum suprasti kas ir kaip vyksta.

 

 

 

 

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 3089 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...