Jump to content

Recommended Posts

Posted

Salut sa-mp.ro , astazi va arat cum sa faceti un System RainBow Vehicle, sa incepem.

1. Definim la variabile

TimerRainbow[MAX_PLAYERS],

2. Facem comanda de start rainbow si stop .
 

CMD:rainbowveh(playerid, params[])
{
	if(PlayerInfo[playerid][pPremiumAccount] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "Nu ai cont Premium");
	if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "Nu te aflii intr-un Vehicul !");
	new time;
	if(sscanf(params, "i", time)) return SCM(playerid, COLOR_BLUE, "Sintaxa: /rainbowveh");
	if(time < 0) return 1;
	KillTimer(TimerRainbow[playerid]);
	TimerRainbow[playerid] = SetTimerEx("RainbowChange", time, true, "i", playerid);
	return 1;
}
CMD:rainbowvehoff(playerid, params[])
{
	if(PlayerInfo[playerid][pPremiumAccount] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "Nu ai cont Premium");
	KillTimer(TimerRainbow[playerid]);
	SCM(playerid, COLOR_ORANGE, "Ai oprit rainbowveh!");
	return 1;
}

3. Facem functia RainbowChange
 

function RainbowChange(playerid)
{
	if(IsPlayerInAnyVehicle(playerid)) {
		new c1 = random(255), c2 = random(255);
		ChangeVehicleColor(GetPlayerVehicleID(playerid, c1, c2));
	}	
	return 1;
}

4. (OPTIONAL) Dacã nu aveti sscanf in gamemode il definiti la sfarsit:
 

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
						#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;
}

EDIT :Definiti c1 si c2
 

new c1;
new c2;

Poate o sa va deie cateva Warninguri dar nu afecteaza.

Daca v-a fost de folos +1 mz
 

GameMode Edited: gamemode

Servicii Scripting:

Contact:
Email: [email protected]
Discord: LucaAdv //  LHS#9084

 

Posted

Ma poti ajuta sa il pun la mine in gm, cred ca nu il pun bine sau ceva, si chiar imi doresc sistem rainbow, daca vrei sa ma ajuti iti las discord-ul meu Kround#7434

Posted
La 05.03.2019 la 17:27, xXDANYXx121 a spus:

Ma poti ajuta sa il pun la mine in gm, cred ca nu il pun bine sau ceva, si chiar imi doresc sistem rainbow, daca vrei sa ma ajuti iti las discord-ul meu Kround#7434

Manema ajuti cu scripting? Kround#7434

Posted

What Is this :|
 

if(sscanf(params, "i", time)) return SCM(playerid, COLOR_BLUE, "Sintaxa: /rainbowveh");
parametr for what???
Posted
if(PlayerInfo[playerid][pPremiumAccount] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "Nu ai cont Premium");
	if(!IsPlayerInAnyVehicle(playerid)) return SCM(playerid, -1, "Nu te aflii intr-un Vehicul !");
	new time;
	if(sscanf(params, "i", time)) return SCM(playerid, COLOR_BLUE, "Sintaxa: /rainbowveh");
	if(time < 0) return 1;
	KillTimer(TimerRainbow[playerid]);
	TimerRainbow[playerid] = SetTimerEx("RainbowChange", time, true, "i", playerid);//Nu crezi ca mai trb cv aici?
	return 1;

MaiExact time*1000 daca vreti ca comanda sa fie in secunde

asgood.ro

 

 

 

  • 1 year later...
Posted

omule, daca tot ai copiat, nu ai copiat bine, ma intreb si eu, ce argumente mai are ChangeVehicleColor, daca c1 si c2 sunt bagate in GetPlayerVehicleID? de aia le dadea la copii warninguri

La 01.03.2019 la 15:16, LucaAdv. a spus:

function RainbowChange(playerid)
{
	if(IsPlayerInAnyVehicle(playerid)) {
		new c1 = random(255), c2 = random(255);
		ChangeVehicleColor(GetPlayerVehicleID(playerid, c1, c2));
	}	
	return 1;
}

 

 

 



 

 

  • 4 months later...
  • 2 years later...
Posted

Zici ca sunt spaghete in script ul asta așa are forma dar cred că ai depus efort deci bravo 

Posted
5 hours ago, Smulyz said:

Zici ca sunt spaghete in script ul asta așa are forma dar cred că ai depus efort deci bravo 

e din 2018 :))

Doamne ajuta!

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • 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.