/materials & /sellgun
#1

Ok i use GF Script.
I moded the job to work only for gangs.
here is the script i wrote:
/materials
Код:
	if(strcmp(cmd,"/materials",true)==0)
  {
    if(IsPlayerConnected(playerid))
	  {
		  if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14 )
			{
			  SendClientMessage(playerid,COLOR_GREY,"  You are not a Arms Dealer !");
			  return 1;
			}
			new x_nr[256];
			x_nr = strtok(cmdtext, idx);
			if(!strlen(x_nr)) {
				SendClientMessage(playerid, COLOR_WHITE, "USAGE: /materials [name]");
				SendClientMessage(playerid, COLOR_WHITE, "Available names: Get, Deliver.");
				return 1;
			}
			if(strcmp(x_nr,"get",true) == 0)
			{
			  if(PlayerToPoint(3.0,playerid,-1826.4905,1455.6202,7.1875))
			  {
			    if(MatsHolding[playerid] >= 30)
			    {
			      SendClientMessage(playerid, COLOR_GREY, "  You can't hold any more Materials Packages !");
				    return 1;
			    }
			    tmp = strtok(cmdtext, idx);
			    if(!strlen(tmp)) {
						SendClientMessage(playerid, COLOR_WHITE, "USAGE: /materials get [ammount]");
						return 1;
					}
					moneys = strval(tmp);
					if(moneys < 1 || moneys > 10) { SendClientMessage(playerid, COLOR_GREY, "  Package Number can't be below 1 or higher then 30 !"); return 1; }
					new price = moneys * 100;
					if(GetPlayerMoney(playerid) > price)
					{
					  format(string, sizeof(string), "* You bought %d Materials Packages for $%d.", moneys, price);
					  SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
					  GivePlayerMoney(playerid, - price);
					  MatsHolding[playerid] = moneys;
					}
					else
					{
					  format(string, sizeof(string), "  You can't afford the $%d !", price);
					  SendClientMessage(playerid, COLOR_GREY, string);
					}
			  }
			  else
			  {
			    SendClientMessage(playerid, COLOR_GREY, "  You are not at the Materials Package Building in Los Santos !");
			    return 1;
			  }
			}
			else if(strcmp(x_nr,"deliver",true) == 0)
			{
			  if(PlayerToPoint(3.0,playerid,-2140.8992,-248.4330,36.5156))
			  {
			    if(MatsHolding[playerid] > 0)
			    {
			      new payout = (50)*(MatsHolding[playerid]);
			      format(string, sizeof(string), "* The Factory gave you %d Materials for your %d Materials Packages.", payout, MatsHolding[playerid]);
					  SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
			      PlayerInfo[playerid][pMats] += payout;
			      MatsHolding[playerid] = 0;
			    }
			    else
			    {
			      SendClientMessage(playerid, COLOR_GREY, "  You don't have any Materials Packages !");
				    return 1;
			    }
			  }
			  else
			  {
			    SendClientMessage(playerid, COLOR_GREY, "  You are not at the Materials Factory in San Fierro !");
			    return 1;
			  }
			}
			else
			{
			  SendClientMessage(playerid, COLOR_GREY, "  Invalid Materials Name !");
			  return 1;
			}
		}
		return 1;
	}
/sellgun:
Код:
  if(strcmp(cmd,"/sellgun",true)==0)
  {
    if(IsPlayerConnected(playerid))
	  {
		  if (PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14 )
			{
			  SendClientMessage(playerid,COLOR_GREY,"  You are not a Arms Dealer !");
			  return 1;
			}
			new x_weapon[256],weapon[MAX_PLAYERS],ammo[MAX_PLAYERS],price[MAX_PLAYERS];
			tmp = strtok(cmdtext, idx);
			new randommats = random(2);
			new flowerbmmats = 50/randommats;
			new sdpistolbmmats = 100/randommats;
			new deaglebmmats = 150/randommats;
			new mp5shotbmmats = 200/randommats;
			new m4akriflebmmats = 600/randommats;
			new rpgsniperbmmats = 1000/randommats;
			if(!strlen(tmp))
			{
				SendClientMessage(playerid, COLOR_GRAD1, "USAGE: /sellgun [playerid/PartOfName] [weaponname]");
				SendClientMessage(playerid, COLOR_GREEN, "_____Street Weapons:_____________________");
				SendClientMessage(playerid, COLOR_GREY, "Weapons: flowers(50) sdpistol(100) deagle(150) mp5(200) shotgun(200)");
				SendClientMessage(playerid, COLOR_GREEN, "_____Black Market Weapons:_______________");
				SendClientMessage(playerid, COLOR_GREY, "Weapons: ak47(600) m4(600) rifle(600) RPG(1000) Sniper(1000)");
				return 1;
			}
			giveplayerid = ReturnUser(tmp);
			if (IsPlayerConnected(giveplayerid))
			{
			  if(giveplayerid != INVALID_PLAYER_ID)
			  {
					x_weapon = strtok(cmdtext, idx);
					if(!strlen(x_weapon))
					{
				SendClientMessage(playerid, COLOR_GREEN, "_____Street Weapons:_____________________");
				SendClientMessage(playerid, COLOR_GREY, "Weapons: flowers(50) sdpistol(100) deagle(150) mp5(200) shotgun(200)");
				SendClientMessage(playerid, COLOR_GREEN, "_____Black Market Weapons:_______________");
				SendClientMessage(playerid, COLOR_GREY, "Weapons: ak47(600) m4(600) rifle(600) RPG(1000) Sniper(1000)");
						return 1;
					}
				}
				if(PlayerToPoint(5.0,playerid,-2145.5586,-231.1469,36.5156)) {
				if(strcmp(x_weapon,"sdpistol",true) == 0) { if(PlayerInfo[playerid][pMats] >= sdpistolbmmats) { weapon[playerid] = 23; price[playerid] = sdpistolbmmats; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 23; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"flowers",true) == 0) { if(PlayerInfo[playerid][pMats] >= flowerbmmats) { weapon[playerid] = 14; price[playerid] = flowerbmmats; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 14; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"deagle",true) == 0) { if(PlayerInfo[playerid][pMats] >= deaglebmmats) { weapon[playerid] = 24; price[playerid] = deaglebmmats; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 24; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"mp5",true) == 0) {	if(PlayerInfo[playerid][pMats] >= mp5shotbmmats) { weapon[playerid] = 29; price[playerid] = mp5shotbmmats; ammo[playerid] = 200; PlayerInfo[giveplayerid][pGun2] = 29; PlayerInfo[giveplayerid][pAmmo2] = 200; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"shotgun",true) == 0) {	if(PlayerInfo[playerid][pMats] >= mp5shotbmmats) { weapon[playerid] = 25; price[playerid] = mp5shotbmmats; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 25; 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] >= m4akriflebmmats) { weapon[playerid] = 30; price[playerid] = m4akriflebmmats; ammo[playerid] = 250; PlayerInfo[giveplayerid][pGun2] = 30; PlayerInfo[giveplayerid][pAmmo2] = 250; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"m4",true) == 0) { if(PlayerInfo[playerid][pMats] >= m4akriflebmmats) { weapon[playerid] = 31; price[playerid] = m4akriflebmmats; ammo[playerid] = 250; PlayerInfo[giveplayerid][pGun2] = 31; PlayerInfo[giveplayerid][pAmmo2] = 250; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"rifle",true) == 0) { if(PlayerInfo[playerid][pMats] >= m4akriflebmmats) { weapon[playerid] = 33; price[playerid] = m4akriflebmmats; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 33; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"rpg",true) == 0) { if(PlayerInfo[playerid][pMats] >= rpgsniperbmmats) { weapon[playerid] = 35; price[playerid] = rpgsniperbmmats; ammo[playerid] = 5; PlayerInfo[giveplayerid][pGun2] = 35; PlayerInfo[giveplayerid][pAmmo2] = 5; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"sniper",true) == 0) { if(PlayerInfo[playerid][pMats] >= rpgsniperbmmats) { weapon[playerid] = 34; price[playerid] = rpgsniperbmmats; ammo[playerid] = 20; PlayerInfo[giveplayerid][pGun2] = 34; PlayerInfo[giveplayerid][pAmmo2] = 20; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else { SendClientMessage(playerid,COLOR_GREY,"  Invalid Weapon name!"); return 1; }
				} else {
				if(strcmp(x_weapon,"sdpistol",true) == 0) { if(PlayerInfo[playerid][pMats] > 99) { weapon[playerid] = 23; price[playerid] = 100; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 23; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"flowers",true) == 0) { if(PlayerInfo[playerid][pMats] > 49) { weapon[playerid] = 14; price[playerid] = 50; ammo[playerid] = 1; PlayerInfo[giveplayerid][pGun1] = 14; PlayerInfo[giveplayerid][pAmmo1] = 1; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"deagle",true) == 0) { if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 24; price[playerid] = 150; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 24; PlayerInfo[giveplayerid][pAmmo2] = 50; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"mp5",true) == 0) {	if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 29; price[playerid] = 200; ammo[playerid] = 200; PlayerInfo[giveplayerid][pGun2] = 29; PlayerInfo[giveplayerid][pAmmo2] = 200; } else { SendClientMessage(playerid,COLOR_GREY,"  Not enough Materials for that Weapon!"); return 1; } }
				else if(strcmp(x_weapon,"shotgun",true) == 0) {	if(PlayerInfo[playerid][pMats] > 199) { weapon[playerid] = 25; price[playerid] = 200; ammo[playerid] = 50; PlayerInfo[giveplayerid][pGun2] = 25; 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) { SendClientMessage(playerid,COLOR_GREY,"  You can't sell that weapon here!"); return 1; }
				else if(strcmp(x_weapon,"m4",true) == 0) { SendClientMessage(playerid,COLOR_GREY,"  You can't sell that weapon here!"); return 1; }
				else if(strcmp(x_weapon,"rifle",true) == 0) { SendClientMessage(playerid,COLOR_GREY,"  You can't sell that weapon here!"); return 1; }
				else if(strcmp(x_weapon,"rpg",true) == 0) { SendClientMessage(playerid,COLOR_GREY,"  You can't sell that weapon here!"); return 1; }
				else if(strcmp(x_weapon,"sniper",true) == 0) { SendClientMessage(playerid,COLOR_GREY,"  You can't sell that weapon here!"); 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), "  You have given %s, a %s with %d ammo, for %d Materials.", 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), "  You have recieved a %s with %d ammo from %s.", x_weapon, ammo[playerid], sendername);
					SendClientMessage(giveplayerid, COLOR_GRAD1, string);
					PlayerPlaySound(giveplayerid, 1052, 0.0, 0.0, 0.0);
					format(string, sizeof(string), "* %s created a Gun from Materials, and hands it to %s.", sendername ,giveplayer);
					ProxDetector(30.0, playerid, string, COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE,COLOR_PURPLE);
					GivePlayerWeapon(giveplayerid,weapon[playerid],ammo[playerid]);
					PlayerInfo[playerid][pMats] -= price[playerid];
				}
				else
				{
					SendClientMessage(playerid, COLOR_GRAD1, "  Your too far away.");
					return 1;
				}
			}
			else
			{
				format(string, sizeof(string), "  %d is not an active player.", giveplayerid);
				SendClientMessage(playerid, COLOR_GRAD1, string);
			}
		}
		return 1;
	}
and when i go to the point to get the Matts and type: /materials get 10 it writes that i am not an Arms dealer. but i am the Gang LEADER.
Why is that?
Can someone help me?
Reply
#2

You disabled it if you are a leader or of that team (use !)
Reply
#3

What do you mean?!
Reply
#4

pawn Код:
if(IsPlayerConnected(playerid) && !IsNotStupid(playerid)){
Example... (look at the !IsNotStupid)

Rksss
Reply
#5

What the code you did does?
Reply
#6

It was an example and the! part means = everything except .....
Reply
#7

Yes, Andre, i gave an example, so the ! would be noticed.
Reply
#8

Still doesnt work, Writes: You aren't Arms Dealer
Reply
#9

Sorry Andre, you are right ! :P

Rksss
Reply
#10

Quote:
Originally Posted by Andre9977
Rksss: You didn't show this operator "!=", you showed "!".

Here's a "useful function":
pawn Код:
IsPlayerArmsDealer(playerid)
{
  if(PlayerInfo[playerid][pMember] == 5 || PlayerInfo[playerid][pLeader] == 5 || PlayerInfo[playerid][pMember] == 13 || PlayerInfo[playerid][pLeader] == 13 || PlayerInfo[playerid][pMember] == 6 || PlayerInfo[playerid][pLeader] == 6 || PlayerInfo[playerid][pMember] == 14 || PlayerInfo[playerid][pLeader] == 14)
  {
    return 1; // The player is arms dealer
  }
  return 0; // The player is not arms dealer
}
Might come handy, so you'll do:
pawn Код:
if(!IsPlayerArmsDealer(playerid)) return SendClientMessage(playerid, COLOR, "You must be arms dealer!");
So to if i want to make the Job Accessible i need to change:
pawn Код:
if(IsPlayerConnected(playerid))
with this:
pawn Код:
if(IsPlayerArmsDealer(playerid))
!?

Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)