SA-MP Forums Archive
Canno't sell guns to myself - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+---- Forum: Help Archive (https://sampforum.blast.hk/forumdisplay.php?fid=89)
+---- Thread: Canno't sell guns to myself (/showthread.php?tid=111838)



Canno't sell guns to myself - Alex_Dimitriev - 04.12.2009

Hello, I'd need some help with it, it's for the Guns dealer job. Well as you can see it says "you can not sell weapons to yourself" and I'd like it to allow me to sell guns to myself.

I've searched all around the Forum, ******, Wiki etc. and couldn't find anything. I'd be thankful to those who will help me.

Код:
if(giveplayerid == playerid)
					{
						SendClientMessage(playerid, COLOR_GREY, "[Error:] You can not sell weapons to yourself");
						return 1;
					}
Someone told me to simply remove it but it makes PAWNO crash when I comply.

Here is the script :


Код:
	if(strcmp(cmd,"/sellgun",true)==0)
  {
    if(IsPlayerConnected(playerid))
	  {
		  if (PlayerInfo[playerid][pJob] != 9)
			{
			  SendClientMessage(playerid,COLOR_GREY,"  You're not Gun dealer!");
			  return 1;
			}
			new x_weapon[256],weapon[MAX_PLAYERS],ammo[MAX_PLAYERS],price[MAX_PLAYERS];
			tmp = strtok(cmdtext, idx);
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /sellgun [playerid/PartOfName] [weaponname]");
				SendClientMessage(playerid, COLOR_GREY, "Weapons: flowers(25) club (25) bat (25) cue (25) katana (50) knife (50) sdpistol(100) ");
				SendClientMessage(playerid, COLOR_GREY, "Weapons: shotgun(150) mp5(300) rifle(800) eagle(1200) ak47(1700) m4(1800) sniper (2500)");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (IsPlayerConnected(giveplayerid))
			{
			  if(giveplayerid != INVALID_PLAYER_ID)
			  {
			    if (!ProxDetectorS(8.0, playerid, giveplayerid))
			    {
			      SendClientMessage(playerid, COLOR_WHITE, "You're not close to the player.");
			      return 1;
			    }
					x_weapon = strtok(cmdtext, idx);
					if(!strlen(x_weapon))
					{
						SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
						SendClientMessage(playerid, COLOR_WHITE, "*** Sell Guns ***");
						SendClientMessage(playerid, COLOR_GREY, "USAGE: /sellgun [playerid/PartOfName] [weaponname]");
						SendClientMessage(playerid, COLOR_GREY, "Weapons: flowers(25) club (25) bat (25) cue (25) katana (50) knife (50) sdpistol(100) ");
						SendClientMessage(playerid, COLOR_GREY, "Weapons: shotgun(150) mp5(300) rifle(800) eagle(1200) ak47(1700) m4(1800) sniper (2500)");
						SendClientMessage(playerid, COLOR_GREEN, "________________________________________________");
						return 1;
					}
				}
				if(strcmp(x_weapon,"knife",true) == 0) { if(PlayerInfo[playerid][pMats] > 49) { weapon[playerid] = 4; price[playerid] = 100; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 4; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"club",true) == 0) { if(PlayerInfo[playerid][pMats] > 24) { weapon[playerid] = 3; price[playerid] = 100; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 3; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"bat",true) == 0) { if(PlayerInfo[playerid][pMats] > 24) { weapon[playerid] = 5; price[playerid] = 100; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 5; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"cue",true) == 0) { if(PlayerInfo[playerid][pMats] > 24) { weapon[playerid] = 7; price[playerid] = 100; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 7; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"katana",true) == 0) { if(PlayerInfo[playerid][pMats] > 49) { weapon[playerid] = 8; price[playerid] = 100; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 8; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"sdpistol",true) == 0) { if(PlayerInfo[playerid][pMats] > 99) { weapon[playerid] = 23; price[playerid] = 100; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 23; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"flowers",true) == 0) { if(PlayerInfo[playerid][pMats] > 24) { weapon[playerid] = 14; price[playerid] = 25; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 14; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"eagle",true) == 0) { if(PlayerInfo[playerid][pMats] > 1199) { weapon[playerid] = 24; price[playerid] = 150; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 24; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  Pas assez de matйriaux pour cette arme!"); return 1; } }
				else if(strcmp(x_weapon,"mp5",true) == 0) {	if(PlayerInfo[playerid][pMats] > 299) { weapon[playerid] = 29; price[playerid] = 200; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 29; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"shotgun",true) == 0) {	if(PlayerInfo[playerid][pMats] > 149) { weapon[playerid] = 25; price[playerid] = 200; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 25; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				//else if(strcmp(x_weapon,"spas12",true) == 0) { if(PlayerInfo[playerid][pMats] > 599) { weapon[playerid] = 27; price[playerid] = 600; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 27; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"ak47",true) == 0) { if(PlayerInfo[playerid][pMats] > 1699) { weapon[playerid] = 30; price[playerid] = 600; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 30; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"m4",true) == 0) { if(PlayerInfo[playerid][pMats] > 1799) { weapon[playerid] = 31; price[playerid] = 600; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 31; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"sniper",true) == 0) { if(PlayerInfo[playerid][pMats] > 2499) { weapon[playerid] = 34; price[playerid] = 600; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 34; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
				else if(strcmp(x_weapon,"rifle",true) == 0) { if(PlayerInfo[playerid][pMats] > 799) { weapon[playerid] = 33; price[playerid] = 600; ammo[playerid] = 99999; PlayerInfo[giveplayerid][pGun2] = 33; PlayerInfo[giveplayerid][pAmmo2] = 99999; } else { SendClientMessage(playerid,COLOR_GREY,"  You haven't go enough materials!"); return 1; } }
		  	else { SendClientMessage(playerid,COLOR_GREY,"  Invalid weapon name !"); return 1; }
				if (ProxDetectorS(5.0, playerid, giveplayerid))
				{
    			if(giveplayerid == playerid)
					{
						SendClientMessage(playerid, COLOR_GRAD1, "  You can not sell Guns to yourself!");
						return 1;
					}
					if(PlayerInfo[playerid][pMiserPerk] > 0)
					{
					  new skill = 2 * PlayerInfo[playerid][pMiserPerk];
					  new mats = price[playerid] / 100;
					  price[playerid] -= (mats)*(skill);
					}
					//ConsumingMoney[playerid] = 1;
					GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
					GetPlayerName(playerid, sendername, sizeof(sendername));
					format(string, sizeof(string), "  Vous avez vendu а %s, un %s avec %d munitions, pour %d Matйriaux.", giveplayer,x_weapon, ammo[playerid], price[playerid]);
					PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
					SendClientMessage(playerid, COLOR_GRAD1, string);
					format(string, sizeof(string), "  Vous avez reзu un %s avec %d munitions par %s.", x_weapon, ammo[playerid], sendername);
					SendClientMessage(giveplayerid, COLOR_GRAD1, string);
					PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
					new gunname[100];
					GetWeaponName(weapon[playerid], gunname, sizeof(gunname));
					format(string, sizeof(string), "* %s a crййe une arme а partir de ses matйriaux, et la donne а %s.", sendername ,giveplayer);
					ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
					SafeGivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]);
					PlayerInfo[playerid][pMats] -= price[playerid];
				}
				else
				{
					SendClientMessage(playerid, COLOR_GRAD1, "  You're to far.");
					return 1;
				}
			}
			else
			{
				format(string, sizeof(string), "  %d is not an active player.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;



Re: Canno't sell guns to myself - Alex_Dimitriev - 04.12.2009

Problem fixed.