Jump to content

[0.3] Salvarea statisticilor & Sistem Admin


cmg4life

Recommended Posts

Am scris un mic sistem de salvarea statisticilor (stats), l-am scris in pastebin asa ca s-ar putea sa aibe o greseala de scriere sau doua... L-am facut ca un exemplu pt voi. Sistemul foloseste ZCMD, care e foarte rapid, mai putin lag si foarte simplu de folosit.

Sistemul salveaza Killuri, Morti si Level (admin):

Daca aveti intrebari va ascult (nu uitati sa puneti #include zcmd in scriptul unde il folositi)

http://pastebin.com/f5d988763

PS: Inlocuiti COLOR cu ce culoare vreti voi.

-Toate tutorialele postate intra aici sau puneti-le direct [url=http://www.sa-mp.ro/forum/index

Link to comment
Share on other sites

merge si la rpg dar nu e folositor la rpg trebuie sa iti arate mai multe chestii statusu :P de exemplu (Cheie de la casa, cheie de la biz, bani cash, bani in banca, level , daca ai sotie....) si multe altele :P

cmg4life a spus clar ca arata doar ( cati ai omorat, de cate ori ai murit, levelul de admin daca ai admin, daca esti logat sau nu si atat) il poti folosi la rpg dar nu pentru rpg este facut el este facut pt servere de stunt de "SUMO'(cum au unii :)) )

Mdea chiar folositor cmg gj :P

L-am facut sa invatati cum sa faceti, puteti sa-l dezvoltati.

-Toate tutorialele postate intra aici sau puneti-le direct [url=http://www.sa-mp.ro/forum/index

Link to comment
Share on other sites

Guest Alxxie

...frumos tutorial dar am o problema:am facut ca acolo dar imi da 3 erori:

D:\Jocuri\PENTRU~2\SCRIPT~2\MODELS~1\ADMINS~1.PWN(94) : error 017: undefined symbol "sscanf"

D:\Jocuri\PENTRU~2\SCRIPT~2\MODELS~1\ADMINS~1.PWN(114) : error 017: undefined symbol "sscanf"

D:\Jocuri\PENTRU~2\SCRIPT~2\MODELS~1\ADMINS~1.PWN(151) : error 017: undefined symbol "sscanf"

Pawn compiler 3.2.3664 Copyright © 1997-2006, ITB CompuPhase

3 Errors.

Cu acel sscanf e problema.Ce ii fac ca sa mearga?

Link to comment
Share on other sites

stock sscanf(string[], format[], {Float,_}:...)
{
	#if defined isnull
		if (isnull(string))
	#else
		if (string[0] == 0 || (string[0] == 1 && string[1] == 0))
	#endif
		{
			return format[0];
		}
	#pragma tabsize 4
	new
		formatPos = 0,
		stringPos = 0,
		paramPos = 2,
		paramCount = numargs(),
		delim = ' ';
	while (string[stringPos] && string[stringPos] <= ' ')
	{
		stringPos++;
	}
	while (paramPos < paramCount && string[stringPos])
	{
		switch (format[formatPos++])
		{
			case '\0':
			{
				return 0;
			}
			case 'i', 'd':
			{
				new
					neg = 1,
					num = 0,
					ch = string[stringPos];
				if (ch == '-')
				{
					neg = -1;
					ch = string[++stringPos];
				}
				do
				{
					stringPos++;
					if ('0' <= ch <= '9')
					{
						num = (num * 10) + (ch - '0');
					}
					else
					{
						return -1;
					}
				}
				while ((ch = string[stringPos]) > ' ' && ch != delim);
				setarg(paramPos, 0, num * neg);
			}
			case 'h', 'x':
			{
				new
					ch,
					num = 0;
				while ((ch = string[stringPos]) > ' ' && ch != delim)
				{
					switch (ch)
					{
						case 'x', 'X':
						{
							num = 0;
							continue;
						}
						case '0' .. '9':
						{
							num = (num << 4) | (ch - '0');
						}
						case 'a' .. 'f':
						{
							num = (num << 4) | (ch - ('a' - 10));
						}
						case 'A' .. 'F':
						{
							num = (num << 4) | (ch - ('A' - 10));
						}
						default:
						{
							return -1;
						}
					}
				}
				setarg(paramPos, 0, num);
			}
			case 'c':
			{
				setarg(paramPos, 0, string[stringPos++]);
			}
			case 'f':
			{
				setarg(paramPos, 0, _:floatstr(string[stringPos]));
			}
			case 'p':
			{
				delim = format[formatPos++];
				continue;
			}
			case '\'':
			{
				new
					end = formatPos - 1,
					ch;
				while ((ch = format[++end]) && ch != '\'') {}
				if (!ch)
				{
					return -1;
				}
				format[end] = '\0';
				if ((ch = strfind(string, format[formatPos], false, stringPos)) == -1)
				{
					if (format[end + 1])
					{
						return -1;
					}
					return 0;
				}
				format[end] = '\'';
				stringPos = ch + (end - formatPos);
				formatPos = end + 1;
			}
			case 'u':
			{
				new
					end = stringPos - 1,
					id = 0,
					bool:num = true,
					ch;
				while ((ch = string[++end]) && ch != delim)
				{
					if (num)
					{
						if ('0' <= ch <= '9')
						{
							id = (id * 10) + (ch - '0');
						}
						else
						{
							num = false;
						}
					}
				}
				if (num && IsPlayerConnected(id))
				{
					setarg(paramPos, 0, id);
				}
				else
				{
					#if !defined foreach
						#define foreach(%1,%2) for (new %2 = 0; %2 < MAX_PLAYERS; %2++) if (IsPlayerConnected(%2))
						#define __SSCANF_FOREACH__
					#endif
					string[end] = '\0';
					num = false;
					new
						name[MAX_PLAYER_NAME];
					id = end - stringPos;
					foreach (Player, playerid)
					{
						GetPlayerName(playerid, name, sizeof (name));
						if (!strcmp(name, string[stringPos], true, id))
						{
							setarg(paramPos, 0, playerid);
							num = true;
							break;
						}
					}
					if (!num)
					{
						setarg(paramPos, 0, INVALID_PLAYER_ID);
					}
					string[end] = ch;
					#if defined __SSCANF_FOREACH__
						#undef foreach
						#undef __SSCANF_FOREACH__
					#endif
				}
				stringPos = end;
			}
			case 's', 'z':
			{
				new
					i = 0,
					ch;
				if (format[formatPos])
				{
					while ((ch = string[stringPos++]) && ch != delim)
					{
						setarg(paramPos, i++, ch);
					}
					if (!i)
					{
						return -1;
					}
				}
				else
				{
					while ((ch = string[stringPos++]))
					{
						setarg(paramPos, i++, ch);
					}
				}
				stringPos--;
				setarg(paramPos, i, '\0');
			}
			default:
			{
				continue;
			}
		}
		while (string[stringPos] && string[stringPos] != delim && string[stringPos] > ' ')
		{
			stringPos++;
		}
		while (string[stringPos] && (string[stringPos] == delim || string[stringPos] <= ' '))
		{
			stringPos++;
		}
		paramPos++;
	}
	do
	{
		if ((delim = format[formatPos++]) > ' ')
		{
			if (delim == '\'')
			{
				while ((delim = format[formatPos++]) && delim != '\'') {}
			}
			else if (delim != 'z')
			{
				return delim;
			}
		}
	}
	while (delim > ' ');
	return 0;
}

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

cum il instalez? :-(

1. Copiezi tot ce ii pe link-ul ala

2. Intrii in /pawno si dai pe piesa aia de sah dupa aia dai 'New' si iti apre acolo ceva script il stergi!

3. Dai paste la ce ai copiat!

4. Dai compile pe sageata aia albastra ce ii sus!

5. Daca iti da ceva errori dai click pe main post si dai clikc pe ZCMD!

6. Il downloadezi si il pui in /pawno/includes

Fara reclama in semnatura!

Link to comment
Share on other sites

  • 2 months later...
  • 3 weeks later...
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Similar Content

    • By Liviu Adrian
      Salut, as dori si eu un sistem de admin folosesc mysql r41-2. Si cand vreau sa folosesc comanda /setadmin sau /makeadmin sa o pot da pe server, deoarece din baza de date phpmyadmin nu imi arata bara sa pot edita userul care era irnegsitrat sa imi pot da admin din baza de date.
    • By TheGodfather
      Salut! Ma gandeam daca merita implementarea unui sistem /svf, prin care masinile de la factiuni nu se spawneaza toate o data ci fiecare player isi spawneaza o masina pentru el. Afecteaza acest lucru in vreun fel performanta server-ului incat sa merite? 
    • By Panda Official
      Sistem de pet. unul clasic, dar il impartasesc si cu voi. Cei ce-l vor, il pot descarca de aici: https://www.facebook.com/s4urik
       





    • By Liberty City Roleplay
      23 Mai, 2021.
       
      Liberty City Roleplay 
       
      Este timpul pentru ceva nou, pentru comunitatea de Roleplay din Romania. Suntem gata să vă prezentăm proiectul, Liberty City Roleplay. 
      Gameplay-ul va avea loc în imensul și iubtul oraș, Liberty City, analogul Rockstar al orașului New York, mapa fiind similară cu cea de pe Grand Theft Auto III, doar că este mult mai stabilă și prezintă mult mai multe zone și detalii suplimentare, față de versiunea originală, pe parcurs, aceasta o să primească bug fix-uri si update-uri constant.
      Atmosfera de pe server, este principalul lucru vizat de echipa Liberty City Roleplay. Intelegem că în toate proiectele s-a spus exact acelasi lucru, doar ca noi, ca si echipă, am analizat toate proiectele din ultimul timp, de pe comunitatea românescă de roleplay și am evidențiat punctele negative, precum și cele pozitive din fiecare, astfel, am reușit, credem noi, să ajungem la o formulă cat mai convenabilă pentru jucători.
      Ca și sisteme, am incercat să eliminăm job-urile monotone si am venit cu un nou tip de job-uri, mult mai practice in Roleplay. Prin fiecare job, o sa aveti posibilitatea de a interactiona cu alti jucatori. Pe langa job-uri, server-ul asigură script-ul necesar dezvoltării orcarui tip de roleplay dorit.
      Versiunea 0.3.DL oferă spațiu pentru creativitate, iar din propriile experiențe, de pe servere de Roleplay care au rulat pe aceași versiune, am sesizat toate vulnerabilitațile acesteia si astfel, putem să o folosim la potențialul său maxim. 
      Nu este un secret faptul că atunci când am început dezvoltarea, echipa noastră era foarte restrânsă ca și număr. In continuare, echipa se afla intr-un numar restrans, ca urmare, la scurt timp după deschiderea oficială a comunității, o sa aiba loc o sesiune de integrare in STAFF.
       
       
      Ceea ce vreau sa spun prin faptul asta este ca serverul a ajuns într-un stadiu foarte înalt ce tine de mapă, mapă este foarte stabila și nu prezintă buguri. Echipa Liberty City Roleplay România este în căutare de Game Developeri ce au avut experienta în a scripta pe versiunea 0.3DL, sunteți interesat? Va rog sa lăsați un Private Message pe acest forum fie luați legătura cu Community Manager pe serverul de discord al comunității. 
       
      https://discord.gg/YudteMuMyv
  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.