Jump to content

LucaAdv.

Membru
  • Posts

    201
  • Joined

  • Last visited

  • Days Won

    8

Posts posted by LucaAdv.

  1. Bine, hai sa-ti arat cod-ul :
    La inceput-ul gamemode ului jos de Include-uri pui asta:

    static const antisqlinjection[][] = {
        "'",
        "#",
        "`",
        "%"
    };

    Apoi mergi la OnDialogResponse si pui asta:

    public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
    {
        new string[700];
        new adv[MAX_PLAYER_NAME];
    	for(new i; i < sizeof(antisqlinjection); i++)
        {
            if(strfind(inputtext, antisqlinjection[i], true) != -1)
            {
                GetPlayerName(playerid, adv, sizeof(adv));
    			format(string,sizeof(string),"Server protected by NumeServer (Numele tau).",adv);
    		    SCM(playerid, COLOR_YELLOW, string);
                return 1;
            }
    	}

    Daca ti-a fost de ajutor poti lasa un Like
    Acel } nu este pus bine (eu l-am pus bn da systemu nu =]) il pui cu un tab mai in stanga decat penultimul

    • Thanks 2
  2. 34459-if(PlayerInfo[playerid][pRoll] < 10) return SCM(playerid, COLOR_ERROR, "Nu ai 10 puncte de roll");
    34508-PlayerInfo[playerid][pRoll] = 10;
    PlayerInfo[playerid][pRoll] = valoare; 

    Done

    Totusi erau niste simple warninguri, nu te afecta cu nimic

    1. Titlul cu numele gamemod-ului și versiune lui: BigZone Version 9.2.1
    2. O descriere cât mai mare a gamemod-ului. Este un gamemode editat de mine si TheRexAdv, este pe lv. Toate update-urile le aveti in GM.
    3. Poze și/sau video. Nu am...
    4. Creditele specificate (chiar dacă e un gamemod edit, postați creditele autorilor și celor care l-au editat).Autor: Hurdoock, Editori: LucaAdv & TheRexAdv
    5. Link de descărcare. O EXPIRAT!
    6. Link catre virustotal.com cu arhiva scanată:  o expirat!
    7. Systeme: -pet
      -VIP
      -Ruleta
      -Spin
      -BlackJack
      -Sistem de Accesorii
      -Crates (gen b-hood)
      -Job Electrician
      -Quest unic (de iarna, nu l-am updatat dar puteti face voi asta)
      - RainBow Vehicle
      -Sistem de Garaje (70% terminat)
      -Tot pe LV (gen b-hood) . RETINE: in baza in users adaugi TrustPoints iar object_accesory si player_accesory le bagati normale.
    8. GM-Copy (2).pwn este update-ul cu Accesory si RainBow. ms
    9.                                                                               O EXPIRAT!

                                                 

     

     

     

     

    • Like 1
    • Thanks 4
  3. 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
     

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