Jump to content

xanto

Membru
  • Posts

    4
  • Joined

  • Last visited

    Never

Posts posted by xanto

  1. Aici e codul pe care l-am folosit in 2008:

    http://forum.egaming.ro/topic/74988-script-de-inregistrare-web-samp/

    De atunci lucrurile au mai evoluat, insa este o dovada a faptului ca se poate crea un sistem de inregistrare si fara a folosi mysql.

    Poti sa te folosesti de acel cod atata vreme cat pastrezi creditele si nu te dai drept proprietarul lui.

  2. Comanda propriuzisa

    CMD:cc(playerid, params[])
    {
    	new masina, culoare1, culoare2;
    	if(isnull(params)) return SendClientMessage(playerid, 0xB4B5B7FF, "Usage: /cc< Color 1 > < Color 2 >");
    	masina = GetPlayerVehicleID(playerid);
    	if(masina)
    	{
    		if (sscanf(params, "dd", culoare1, culoare2)) return SendClientMessage(playerid, 0xB4B5B7FF, "Usage: /cc < Color 1 > < Color 2 >");
    		ChangeVehicleColor(masina, culoare1, culoare2);
    	} else SendClientMessage(playerid, 0xB4B5B7FF, "You must be in car for this action.");
    	return 1;
    }
    
    Daca cumva nu ai isnull
    #if !defined isnull
        #define isnull(%1) \
                    ((!(%1[0])) || (((%1[0]) == '\1') && (!(%1[1]))))
    #endif
    
    Daca nu ai sscanf (desi recomanda versiunea plugin, insa pt inceput nu ne complicam)
    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
    					num = 0,
    					ch = string[stringPos];
    				do
    				{
    					stringPos++;
    					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;
    						}
    					}
    				}
    				while ((ch = string[stringPos]) > ' ' && ch != delim);
    				setarg(paramPos, 0, num);
    			}
    			case 'c':
    			{
    				setarg(paramPos, 0, string[stringPos++]);
    			}
    			case 'f':
    			{
    
    				new changestr[16], changepos = 0, strpos = stringPos;
    				while(changepos < 16 && string[strpos] && string[strpos] != delim)
    				{
    					changestr[changepos++] = string[strpos++];
        				}
    				changestr[changepos] = '\0';
    				setarg(paramPos,0,_:floatstr(changestr));
    			}
    			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_included
    						#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;
    }
    

×
×
  • 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.