[Pomoc] Komanda "/give" bug


Započeo DaxMunze, April 20, 2012, 17:57:17 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Skripta koju koristim: Ne znam
Detaljan opis problema: Kod komande /give gun ima bug koji se iskoristava. igraci kucaju /give gun ID -99999 i tih -99999 dodje kod njih u ruke samo sto bude u plusu 99999. Trebam nekako da zabranim da moze da se daje oruzje ispod 1 metak.
Dio skripte:
if(strcmp(x_nr,"gun",true) == 0)
			{
			    tmp = strtok(cmdtext, idx);
			    if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_GRAD1, "Koriscenje: /give gun [playerID/DeoImena] [amount]");
					return 1;
				}
				if(PlayerInfo[playerid][pAdminDuty] >= 1)
				{
					SendClientMessage(playerid, COLOR_GRAD2, "** Prvi iskljucite duty!");
					return 1;
				}
				if(PlayerInfo[playerid][pGmDuty] >= 1)
				{
					SendClientMessage(playerid, COLOR_GRAD2, "** Prvi iskljucite duty!");
					return 1;
				}
				if(PlayerInfo[playerid][pDuty] == 1)
				{
					SendClientMessage(playerid, COLOR_GRAD2, "** Prvi iskljucite duty!!!");
					return 1;
				}
				giveplayerid = ReturnUser(tmp);
				if(IsPlayerConnected(giveplayerid))
				{
				    if(giveplayerid != INVALID_PLAYER_ID)
				    {
				        new Float:x, Float:y, Float:z;
			            GetPlayerPos(giveplayerid,x,y,z);
				        GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
			            if(!IsPlayerInRangeOfPoint(playerid, 5, x, y, z))
			            {
			                SendClientMessage(playerid, COLOR_GRAD1, "** Player is not near you!");
			                return 1;
			            }
						tmp = strtok(cmdtext, idx);
						if(!strlen(tmp))
						{
							SendClientMessage(playerid, COLOR_GRAD1, "Koriscenje: /give gun [playerID/DeoImena] [amount]");
							return 1;
						}
						new sammo = GetPlayerAmmo(playerid);
						new weapon = GetPlayerWeapon(playerid);
						new ammo = strval(tmp);
						if(ammo > sammo)
						{
							SendClientMessage(playerid, COLOR_GREY, "*Nemate toliko metaka, minimum 1 i max 20000 metaka");
							return 1;
						}
						SafeGivePlayerWeapon(giveplayerid, weapon, ammo);
						SafeGivePlayerWeapon(playerid, weapon, -ammo);
						if(PlayerInfo[playerid][pSex] == 1)
						{
							format(string, sizeof(string), "* %s takes out his weapon and hands it to %s with %d bullets.", sendername, giveplayer, ammo);
						}
						else
						{
							format(string, sizeof(string), "* %s takes out her weapon and hands it to %s with %d bullets.", sendername, giveplayer, ammo);
						}
						ProxDetector(30.0, playerid, string, COLOR_CHAT1,COLOR_CHAT2,COLOR_CHAT3,COLOR_CHAT4,COLOR_CHAT5);
				        new y1, m, d;
						new h,mi,s;
						getdate(y1,m,d);
						gettime(h,mi,s);
						format(string,sizeof(string), "(%d/%d/%d)[%d:%d:%d] %s [CMD] -> /give gun %s %d",d,m,y1,h,mi,s,sendername,giveplayer, ammo);
						CommandLog(string);
					}
				}
				else
				{
				    SendClientMessage(playerid, COLOR_GRAD1, "   Igrac je offline!");
				    return 1;
				}
			}

Neke slike/video za lakse dobivanje pomoci(neobavezno):

Blaeks

*

Madmen

else if(strcmp(x_nr,"gun",true) == 0)
			{
			    tmp = strtok(cmdtext, idx);
			    if(!strlen(tmp))
				{
					SendClientMessage(playerid, COLOR_GRAD1, "Koristite: /give gun [igracev id/Deo imena]");
					return 1;
				}
				giveplayerid = ReturnUser(tmp);
				if(IsPlayerConnected(giveplayerid))
				{
				    if(giveplayerid != INVALID_PLAYER_ID)
				    {
						if(ProxDetectorS(5.0, playerid, giveplayerid))
						{
						    new gunID = GetPlayerWeapon(playerid);
            				new gunAmmo = GetPlayerAmmo(playerid);

						    GetPlayerName(playerid, sendername, sizeof(sendername));
						    GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));

						    if(gunID != 0 && gunAmmo != 0)
						    {
						        SafeGivePlayerWeapon(giveplayerid, gunID, gunAmmo);
						        RemovePlayerWeapon(playerid, gunID);
						        format(string, sizeof(string), "* %s daje oruzje igracu %s.", sendername, giveplayer);
						        ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
		            			return 1;
						    }
						    else
						    {
						        SendClientMessage(playerid, COLOR_GREY, "  Nemas oruzje da das !");
						        return 1;
						    }
						}
						else
						{
						    SendClientMessage(playerid, COLOR_GREY, "   Igrac nije u tvojoj blizini ! ");
						    return 1;
						}
				    }
				}
			}


??

Izbacilo mi 20 errora, jel mozes da preko moje skripte da sredis.

Blaeks

*

Madmen

Tvoja je ubagovana dosta pa sam ti napravio novu , daj errore ovde da vidim

Moja je bila greska oko kompilacije super kompiluje ali problem je sto kad kucas /give gun ID -999 on mu da sve metkove sto imas u ruci ili kad kucas /give gun ID 10 on mu isto da sve metkove sto imas u ruci :D

Bump, hitno mi je svi iskoristavaju bug


Nedim_Gun

A sto ne pribas /give gun ID I 0 metaka....Nez da li ce raditi al Pokusaj

Skini GameMod --> CLRP i nadji /give gun  kopitaj i stavi #define i forwarde u svoju skriptu i 100% ce ti raditi

P.S. --> Vin: nisi mu nikako pomogao s time sto si mu rekao  :-\

Nedim_Gun

Ja nisam siguran u to al ne znam...I nisam ga bas razumi sta hoce

Ubacio sam skriptu od CLRP i kad kucam /give gun ID 1 on mu da sve metkove iz moje ruke.
Opet bag.