Jump to content
  • 0

Problema /buygun !


AlyN.

Question

Problema intalnita (descriere):Cand merg la AmmuNation sau GSLS nu merge /buygun.Zice you not in a store.

Ero(area / rile) / warning-(ul / urile):-

Liniile de cod / sursa / script-ul:

if (strcmp(cmd, "/buygun", true) == 0)
{
 if(IsPlayerConnected(playerid))
 {
 if(GetPlayerMoney(playerid) < 1)
{
 SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You dont have enough money with you !");
 return 1;
}
if (PlayerInfo[playerid][pGunLic] < 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[Eroare]: Nu detii licenta de arme !");
return 1;
}
new gun;
new gunid[16];
new gunstring1[256];
new gunstring2[256];
new gunstring3[256];
new gunstring4[256];
new gunstring5[256];
new infostring[256];
new guncharge;
new ammocharge;
new location = PlayerInfo[playerid][pLocal];
if(location == 200 || location == 203)
{
 if(BizzInfo[location-200][bProducts] <= 0)
 {
 GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
return 1;
 }
new mod2 = 100;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "{00A1FF}USAGE{FFFFFF}: /buygun [gunname] [ammoamount]");
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
SendClientMessage(playerid, COLOR_WHITE,"*** Guns & Ammo ***");
SendClientMessage(playerid, COLOR_WHITE,string);
format(gunstring1, 256, "Weapons: parachute (%s) golfclub (%s) nightstick (%s) baseballbat (%s) shovel (%s) poolcue (%s)",
DecimalPoint(GunPrice[0][0]/100*mod2),DecimalPoint(GunPrice[1][0]/100*mod2),DecimalPoint(GunPrice[2][0]/100*mod2),
DecimalPoint(GunPrice[3][0]/100*mod2),DecimalPoint(GunPrice[4][0]/100*mod2),DecimalPoint(GunPrice[5][0]/100*mod2),DecimalPoint(GunPrice[6][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring1);
format(gunstring2, 256, "Weapons: purpledildo (%s) whitedildo (%s) longwhitedildo (%s) whitedildo2 (%s) flowers (%s) cane (%s)",
DecimalPoint(GunPrice[7][0]/100*mod2),DecimalPoint(GunPrice[8][0]/100*mod2),DecimalPoint(GunPrice[9][0]/100*mod2),
DecimalPoint(GunPrice[10][0]/100*mod2),DecimalPoint(GunPrice[11][0]/100*mod2),DecimalPoint(GunPrice[12][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring2);
format(gunstring3, 256, "Weapons: sdpistol (%s) deagle (%s) mp5 (%s) shotgun (%s) ak47 (%s) m4 (%s) rifle (%s)",
DecimalPoint(GunPrice[13][0]/100*mod2),DecimalPoint(GunPrice[14][0]/100*mod2),DecimalPoint(GunPrice[15][0]/100*mod2),
DecimalPoint(GunPrice[16][0]/100*mod2),DecimalPoint(GunPrice[17][0]/100*mod2),DecimalPoint(GunPrice[18][0]/100*mod2),
DecimalPoint(GunPrice[19][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring4);
format(gunstring5, 256, "Weapons: pistolammo (%s) shotgunammo (%s) smgammo (%s) assaultammo (%s) rifleammo (%s)",
DecimalPoint(GunPrice[25][0]/100*mod2),DecimalPoint(GunPrice[26][0]/100*mod2),DecimalPoint(GunPrice[27][0]/100*mod2),
DecimalPoint(GunPrice[28][0]/100*mod2),DecimalPoint(GunPrice[29][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring5);
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
return 1;
}
strmid(gunid, tmp, 0, strlen(cmdtext), 255);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "{00A1FF}USAGE{FFFFFF}: /buygun [gunname] [ammoamount]");
return 1;
}
new ammo = strval(tmp);
if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, "[Eroare]: Ammo ammount not lower then 1 or higher then 999 !"); return 1; }
if (strcmp(gunid, "parachute", true, strlen(gunid)) == 0)
{
gun = 46;
guncharge = GunPrice[0][0]/100*mod2;
ammocharge = 0;
}
else if (strcmp(gunid, "golfclub", true, strlen(gunid)) == 0)
{
gun = 2; guncharge = GunPrice[1][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "nightstick", true, strlen(gunid)) == 0)
{
gun = 3; guncharge = GunPrice[2][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "baseballbat", true, strlen(gunid)) == 0)
{
gun = 5; guncharge = GunPrice[4][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "shovel", true, strlen(gunid)) == 0)
{
gun = 6; guncharge = GunPrice[5][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
{
gun = 7; guncharge = GunPrice[6][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "purpledildo", true, strlen(gunid)) == 0)
{
gun = 10; guncharge = GunPrice[7][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 10; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "whitedildo", true, strlen(gunid)) == 0)
{
gun = 11; guncharge = GunPrice[8][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 11; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "longwhitedildo", true, strlen(gunid)) == 0)
{
gun = 12; guncharge = GunPrice[9][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 12; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "whitedildo2", true, strlen(gunid)) == 0)
{
gun = 13; guncharge = GunPrice[10][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 13; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "flowers", true, strlen(gunid)) == 0)
{
gun = 14; guncharge = GunPrice[11][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 14; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
{
gun = 15; guncharge = GunPrice[12][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 15; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "sdpistol", true, strlen(gunid)) == 0)
{
gun = 23; guncharge = GunPrice[13][0]/100*mod2; ammocharge = GunPrice[25][0]*ammo;
//PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "deagle", true, strlen(gunid)) == 0)
{
gun = 24; guncharge = GunPrice[15][0]/100*mod2; ammocharge = GunPrice[25][0]*ammo;
//PlayerInfo[playerid][pGun2] = 24; PlayerInfo[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "mp5", true, strlen(gunid)) == 0)
{
gun = 29; guncharge = GunPrice[18][0]/100*mod2; ammocharge = GunPrice[27][0]*ammo;
//PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
{
gun = 25; guncharge = GunPrice[19][0]/100*mod2; ammocharge = GunPrice[26][0]*ammo;
//PlayerInfo[playerid][pGun3] = 25; PlayerInfo[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "ak47", true, strlen(gunid)) == 0)
{
gun = 30; guncharge = GunPrice[22][0]/100*mod2; ammocharge = GunPrice[28][0]*ammo;
//PlayerInfo[playerid][pGun4] = 30; PlayerInfo[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "m4", true, strlen(gunid)) == 0)
{
gun = 31; guncharge = GunPrice[23][0]/100*mod2; ammocharge = GunPrice[28][0]*ammo;
//PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "rifle", true, strlen(gunid)) == 0)
{
gun = 33; guncharge = GunPrice[24][0]/100*mod2; ammocharge = GunPrice[29][0]*ammo;
//PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
}
else
{
SendClientMessage(playerid, COLOR_GRAD6, "ShopKeeper says: I have never heard of that weapon.");
return 1;
}
if((guncharge+ammocharge) > GetPlayerMoney(playerid))
{
format(infostring, 256, "[Eroare]: You don't have %s !",DecimalPoint(guncharge+ammocharge));
SendClientMessage(playerid, COLOR_GRAD3, infostring);
return 1;
}
if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
{
 SendClientMessage(playerid, COLOR_GREY, "[Eroare]: Can't afford that !");
 return 1;
}
new payout = guncharge + ammocharge;
format(infostring, 256, "You have purchased %s with %d ammo for %s",gunid,ammo,DecimalPoint(payout));
SendClientMessage(playerid, COLOR_GRAD3, infostring);
if(location == 203 && IsACop(playerid)) { }
else { SafeGivePlayerMoney(playerid, - payout); }
BizzInfo[location-200][bTill] += payout;
ExtortionBiz(location-200, payout);
BizzInfo[location-200][bProducts]--;
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SafeGivePlayerWeapon(playerid, gun, ammo);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s bought weapons for %s at biz %d", sendername, DecimalPoint(payout), location-200);
PayLog(string);
}
else
{
 SendClientMessage(playerid, COLOR_WHITE,"[Eroare]: You are not in a store.");
return 1;
}
}
return 1;
}

Imagini / Video (optional):

http://i58.tinypic.com/28gw0aa.png

Ati incercat sa rezolvati singur?:Da.

Tin sa mentionez ca acest topic a mai fost facut dar nu s-a rezolvat !

Edited by AlyN.
Link to comment
Share on other sites

13 answers to this question

Recommended Posts

  • 0

E doar un exemplu dar ma refeream la ceva de genul asta. Repet e doar un exemplu ca sa intelegi despre ce vorbesc. Presupun eu ca ai tu deja in gamemode o comanda sa intri in GSLS si am facut si eu acum una, mai mult de test dar ideea e ca daca pui comanda asta inaintea comenzii /buygun ar trebui sa functioneze bine si sa arate meniul de cumparare daca esti inauntru sau sa zica ca nu esti in GSLS si sa nu poti cumpara dar eu doar ti-am oferit baza si tu trebuie sa continui.

if (strcmp(cmd, "/intragsls", true) == 0)
{
    if(!IsPlayerInRangeOfPoint(playerid, 7.0, x, y, z)) return SendClientMessage(playerid, COLOR_RED, "[Nume Server] Nu esti in fata GSLS.");
    SetPlayerPos(playerid, x, y, z);
    SendClientMessage(playerid, COLOR_WHITE, "[Nume Server] Ai intrat in GSLS.");
    PlayerInfo[playerid][pLocal] = 200;
    return 1;
}
Edited by Nightkill
Link to comment
Share on other sites

  • 0

Dupa cum ai spus si tu , Local Interior Ammunation este 201 , modifici una din astea cu 201 , iar la gsls , daca zici ca este Local Interior 0 , pui 0 ! 

Incearca asa si spune-ne daca a functionat.

if(location == 200 || location == 203)

Deci :

if(location == 201 || location == 0)

Si modifici la toata comanda [/buygun] unde scrie 200 si 203 location , pui 201 respectiv 0.

Incearca asa.

 

@AlyN.

Edited by MrAndrei
Link to comment
Share on other sites

  • 0

 

Am incercat,nu merge !

Ineacrca sa iti dau setint si setvw in ammu nation pana merge /buygun ,este un int sau vw care strica ceva acolo.O sa iti dau eu comanda /buygin din propriul meu gamemode , insa functioneaza doar in gsls!

 

 

EDIT:

Incearca acum :

if (strcmp(cmd, "/buygun", true) == 0)
	{
	    if(IsPlayerConnected(playerid))
	    {
	        if(GetPlayerMoney(playerid) < 1)
			{
			    SendClientMessage(playerid, COLOR_GREY, "   You dont have enough money with you !");
			    return 1;
			}
			new gun;
			new gunid[16];
			new gunstring1[256];
			new gunstring2[256];
			new gunstring3[256];
			new gunstring4[256];
			new gunstring5[256];
			new infostring[256];
			new guncharge;
			new ammocharge;
			new location = PlayerInfo[playerid][pLocal];
			if(location == 99 || location == 100 || location == 102)
			{
			    if(BizzInfo[location-99][bProducts] <= 0)
			    {
			        GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
					return 1;
			    }
				new mod = 100;
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
					format(string, sizeof(string), "USAGE: /buygun [gunname] [ammoamount]");
					SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
					SendClientMessage(playerid, COLOR_WHITE,"*** Guns & Ammo ***");
					SendClientMessage(playerid, COLOR_GRAD2,string);
					format(gunstring1, 256, "Weapons: parachute ($%d) golfclub ($%d) nightstick ($%d) baseballbat ($%d) shovel ($%d) poolcue ($%d)",
					GunPrice[0][0]/100*mod,GunPrice[1][0]/100*mod,GunPrice[2][0]/100*mod,GunPrice[3][0]/100*mod,GunPrice[4][0]/100*mod,GunPrice[5][0]/100*mod,GunPrice[6][0]/100*mod);
					SendClientMessage(playerid, COLOR_GRAD3, gunstring1);
					format(gunstring2, 256, "Weapons: purpledildo ($%d) whitedildo ($%d) longwhitedildo ($%d) whitedildo2 ($%d) flowers ($%d) cane",
					GunPrice[7][0]/100*mod,GunPrice[8][0]/100*mod,GunPrice[9][0]/100*mod,GunPrice[10][0]/100*mod,GunPrice[11][0]/100*mod,GunPrice[12][0]/100*mod);
					SendClientMessage(playerid, COLOR_GRAD3, gunstring2);
					format(gunstring3, 256, "Weapons: sdpistol ($%d) deagle ($%d) mp5 ($%d)",
					GunPrice[13][0]/100*mod,GunPrice[14][0]/100*mod,GunPrice[15][0]/100*mod,GunPrice[16][0]/100*mod,GunPrice[17][0]/100*mod,GunPrice[18][0]/100*mod);
					SendClientMessage(playerid, COLOR_GRAD3, gunstring3);
					format(gunstring4, 256, "Weapons: shotgun ($%d) ak47 ($%d) m4 ($%d) rifle ($%d)",
					GunPrice[19][0]/100*mod,GunPrice[20][0]/100*mod,GunPrice[21][0]/100*mod,GunPrice[22][0]/100*mod,GunPrice[23][0]/100*mod,GunPrice[24][0]/100*mod);
					SendClientMessage(playerid, COLOR_GRAD3, gunstring4);
					format(gunstring5, 256, "Weapons: pistolammo ($%d) shotgunammo ($%d) smgammo ($%d) assaultammo ($%d) rifleammo ($%d)",
					GunPrice[25][0],GunPrice[26][0],GunPrice[27][0],GunPrice[28][0],GunPrice[29][0]);
					SendClientMessage(playerid, COLOR_GRAD3, gunstring5);
					SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
					return 1;
				}
				strmid(gunid, tmp, 0, strlen(cmdtext), 255);
				tmp = strtok(cmdtext, idx);
				if(!strlen(tmp))
				{
					format(string, sizeof(string), "USAGE: /buygun [gunname] [ammoamount]");
					return 1;
				}
				new ammo = strval(tmp);
				if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, "   Ammo ammount not lower then 1 or higher then 999 !"); return 1; }
				if (strcmp(gunid, "parachute", true, strlen(gunid)) == 0)
				{
					gun = 46;
					guncharge = GunPrice[0][0]/100*mod;
					ammocharge = 0;
				}
				else if (strcmp(gunid, "golfclub", true, strlen(gunid)) == 0)
				{
					gun = 2; guncharge = GunPrice[1][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "nightstick", true, strlen(gunid)) == 0)
				{
					gun = 3; guncharge = GunPrice[2][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "baseballbat", true, strlen(gunid)) == 0)
				{
					gun = 5; guncharge = GunPrice[4][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "shovel", true, strlen(gunid)) == 0)
				{
					gun = 6; guncharge = GunPrice[5][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
				{
					gun = 7; guncharge = GunPrice[6][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "purpledildo", true, strlen(gunid)) == 0)
				{
					gun = 10; guncharge = GunPrice[7][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 10; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "whitedildo", true, strlen(gunid)) == 0)
				{
					gun = 11; guncharge = GunPrice[8][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 11; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "longwhitedildo", true, strlen(gunid)) == 0)
				{
					gun = 12; guncharge = GunPrice[9][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 12; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "whitedildo2", true, strlen(gunid)) == 0)
				{
					gun = 13; guncharge = GunPrice[10][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 13; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "flowers", true, strlen(gunid)) == 0)
				{
					gun = 14; guncharge = GunPrice[11][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 14; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
				{
					gun = 15; guncharge = GunPrice[12][0]/100*mod; ammocharge = 0;
					//PlayerInfo[playerid][pGun1] = 15; PlayerInfo[playerid][pAmmo1] = 1;
				}
				else if (strcmp(gunid, "sdpistol", true, strlen(gunid)) == 0)
				{
					gun = 23; guncharge = GunPrice[13][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
					//PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
				}
				else if (strcmp(gunid, "deagle", true, strlen(gunid)) == 0)
				{
					gun = 24; guncharge = GunPrice[15][0]/100*mod; ammocharge = GunPrice[25][0]*ammo;
					//PlayerInfo[playerid][pGun2] = 24; PlayerInfo[playerid][pAmmo2] = ammo;
				}
				else if (strcmp(gunid, "mp5", true, strlen(gunid)) == 0)
				{
					gun = 29; guncharge = GunPrice[18][0]/100*mod; ammocharge = GunPrice[27][0]*ammo;
					//PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
				}
				else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
				{
					gun = 25; guncharge = GunPrice[19][0]/100*mod; ammocharge = GunPrice[26][0]*ammo;
					//PlayerInfo[playerid][pGun3] = 25; PlayerInfo[playerid][pAmmo3] = ammo;
				}
				else if (strcmp(gunid, "ak47", true, strlen(gunid)) == 0)
				{
					gun = 30; guncharge = GunPrice[22][0]/100*mod; ammocharge = GunPrice[28][0]*ammo;
					//PlayerInfo[playerid][pGun4] = 30; PlayerInfo[playerid][pAmmo4] = ammo;
				}
				else if (strcmp(gunid, "m4", true, strlen(gunid)) == 0)
				{
					gun = 31; guncharge = GunPrice[23][0]/100*mod; ammocharge = GunPrice[28][0]*ammo;
					//PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
				}
				else if (strcmp(gunid, "rifle", true, strlen(gunid)) == 0)
				{
					gun = 33; guncharge = GunPrice[24][0]/100*mod; ammocharge = GunPrice[29][0]*ammo;
					//PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
				}
				else
				{
					SendClientMessage(playerid, COLOR_GRAD6, "ShopKeeper says: I have never heard of that weapon.");
					return 1;
				}
				if((guncharge+ammocharge) > GetPlayerMoney(playerid))
				{
					format(infostring, 256, "   You don't have $%d !",guncharge+ammocharge);
					SendClientMessage(playerid, COLOR_GRAD3, infostring);
					return 1;
				}
				if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
				{
				    SendClientMessage(playerid, COLOR_GREY, "   Can't afford that !");
				    return 1;
				}
				new payout = guncharge + ammocharge;
				format(infostring, 256, "You have purchased %s with %d ammo for $%d",gunid,ammo,payout);
				SendClientMessage(playerid, COLOR_GRAD3, infostring);
				if(location == 102 && IsACop(playerid)) { }
				else { SafeGivePlayerMoney(playerid, - payout); }
				BizzInfo[location-99][bTill] += payout;
				ExtortionBiz(location-99, payout);
				BizzInfo[location-99][bProducts]--;
				PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
				GivePlayerWeapon(playerid, gun, ammo);
				GetPlayerName(playerid, sendername, sizeof(sendername));
				format(string, sizeof(string), "%s bought weapons for $%d at biz %d", sendername, payout, location-99);
				printf("%s", string);
				PayLog(string);
			}
			else
			{
			    SendClientMessage(playerid, COLOR_WHITE,"You are not in a store.");
				return 1;
			}
		}
		return 1;
	}

Aceasta comanda este din gamemode-ul meu si la mine functioneaza!Sper sa iti mearga si tie!

 

@AlyN. Edited by MrAndrei
Link to comment
Share on other sites

  • 0

if (strcmp(cmd, "/buygun", true) == 0)
{
 if(IsPlayerConnected(playerid))
 {
 if(!IsPlayerInRangeOfPoint(playerid, 7.0, 296.8718,-111.7265,1001.5156) && !IsPlayerInRangeOfPoint(playerid, 7.0, 2170.2781,1618.8182,999.9766))
                {
                    SendClientMessage(playerid, COLOR_GREY, "   Nu esti la Ammunation sau GSLS!");
                    return 1;
                }
 if(GetPlayerMoney(playerid) < 1)
{
 SendClientMessage(playerid, COLOR_GREY, "[Eroare]: You dont have enough money with you !");
 return 1;
}
if (PlayerInfo[playerid][pGunLic] < 1)
{
SendClientMessage(playerid, COLOR_WHITE, "[Eroare]: Nu detii licenta de arme !");
return 1;
}
new gun;
new gunid[16];
new gunstring1[256];
new gunstring2[256];
new gunstring3[256];
new gunstring4[256];
new gunstring5[256];
new infostring[256];
new guncharge;
new ammocharge;
new location = PlayerInfo[playerid][pLocal];
if(location == 200 || location == 203)
{
 if(BizzInfo[location-200][bProducts] <= 0)
 {
 GameTextForPlayer(playerid, "~r~Out Of Stock", 5000, 1);
return 1;
 }
new mod2 = 100;
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "{00A1FF}USAGE{FFFFFF}: /buygun [gunname] [ammoamount]");
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
SendClientMessage(playerid, COLOR_WHITE,"*** Guns & Ammo ***");
SendClientMessage(playerid, COLOR_WHITE,string);
format(gunstring1, 256, "Weapons: parachute (%s) golfclub (%s) nightstick (%s) baseballbat (%s) shovel (%s) poolcue (%s)",
DecimalPoint(GunPrice[0][0]/100*mod2),DecimalPoint(GunPrice[1][0]/100*mod2),DecimalPoint(GunPrice[2][0]/100*mod2),
DecimalPoint(GunPrice[3][0]/100*mod2),DecimalPoint(GunPrice[4][0]/100*mod2),DecimalPoint(GunPrice[5][0]/100*mod2),DecimalPoint(GunPrice[6][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring1);
format(gunstring2, 256, "Weapons: purpledildo (%s) whitedildo (%s) longwhitedildo (%s) whitedildo2 (%s) flowers (%s) cane (%s)",
DecimalPoint(GunPrice[7][0]/100*mod2),DecimalPoint(GunPrice[8][0]/100*mod2),DecimalPoint(GunPrice[9][0]/100*mod2),
DecimalPoint(GunPrice[10][0]/100*mod2),DecimalPoint(GunPrice[11][0]/100*mod2),DecimalPoint(GunPrice[12][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring2);
format(gunstring3, 256, "Weapons: sdpistol (%s) deagle (%s) mp5 (%s) shotgun (%s) ak47 (%s) m4 (%s) rifle (%s)",
DecimalPoint(GunPrice[13][0]/100*mod2),DecimalPoint(GunPrice[14][0]/100*mod2),DecimalPoint(GunPrice[15][0]/100*mod2),
DecimalPoint(GunPrice[16][0]/100*mod2),DecimalPoint(GunPrice[17][0]/100*mod2),DecimalPoint(GunPrice[18][0]/100*mod2),
DecimalPoint(GunPrice[19][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring4);
format(gunstring5, 256, "Weapons: pistolammo (%s) shotgunammo (%s) smgammo (%s) assaultammo (%s) rifleammo (%s)",
DecimalPoint(GunPrice[25][0]/100*mod2),DecimalPoint(GunPrice[26][0]/100*mod2),DecimalPoint(GunPrice[27][0]/100*mod2),
DecimalPoint(GunPrice[28][0]/100*mod2),DecimalPoint(GunPrice[29][0]/100*mod2));
SendClientMessage(playerid, COLOR_WHITE, gunstring5);
SendClientMessage(playerid, COLOR_GREEN,"_______________________________________");
return 1;
}
strmid(gunid, tmp, 0, strlen(cmdtext), 255);
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
format(string, sizeof(string), "{00A1FF}USAGE{FFFFFF}: /buygun [gunname] [ammoamount]");
return 1;
}
new ammo = strval(tmp);
if(ammo < 1 || ammo > 999) { SendClientMessage(playerid, COLOR_GREY, "[Eroare]: Ammo ammount not lower then 1 or higher then 999 !"); return 1; }
if (strcmp(gunid, "parachute", true, strlen(gunid)) == 0)
{
gun = 46;
guncharge = GunPrice[0][0]/100*mod2;
ammocharge = 0;
}
else if (strcmp(gunid, "golfclub", true, strlen(gunid)) == 0)
{
gun = 2; guncharge = GunPrice[1][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 2; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "nightstick", true, strlen(gunid)) == 0)
{
gun = 3; guncharge = GunPrice[2][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 3; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "baseballbat", true, strlen(gunid)) == 0)
{
gun = 5; guncharge = GunPrice[4][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 5; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "shovel", true, strlen(gunid)) == 0)
{
gun = 6; guncharge = GunPrice[5][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 6; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "poolcue", true, strlen(gunid)) == 0)
{
gun = 7; guncharge = GunPrice[6][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 7; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "purpledildo", true, strlen(gunid)) == 0)
{
gun = 10; guncharge = GunPrice[7][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 10; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "whitedildo", true, strlen(gunid)) == 0)
{
gun = 11; guncharge = GunPrice[8][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 11; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "longwhitedildo", true, strlen(gunid)) == 0)
{
gun = 12; guncharge = GunPrice[9][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 12; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "whitedildo2", true, strlen(gunid)) == 0)
{
gun = 13; guncharge = GunPrice[10][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 13; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "flowers", true, strlen(gunid)) == 0)
{
gun = 14; guncharge = GunPrice[11][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 14; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "cane", true, strlen(gunid)) == 0)
{
gun = 15; guncharge = GunPrice[12][0]/100*mod2; ammocharge = 0;
//PlayerInfo[playerid][pGun1] = 15; PlayerInfo[playerid][pAmmo1] = 1;
}
else if (strcmp(gunid, "sdpistol", true, strlen(gunid)) == 0)
{
gun = 23; guncharge = GunPrice[13][0]/100*mod2; ammocharge = GunPrice[25][0]*ammo;
//PlayerInfo[playerid][pGun2] = 23; PlayerInfo[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "deagle", true, strlen(gunid)) == 0)
{
gun = 24; guncharge = GunPrice[15][0]/100*mod2; ammocharge = GunPrice[25][0]*ammo;
//PlayerInfo[playerid][pGun2] = 24; PlayerInfo[playerid][pAmmo2] = ammo;
}
else if (strcmp(gunid, "mp5", true, strlen(gunid)) == 0)
{
gun = 29; guncharge = GunPrice[18][0]/100*mod2; ammocharge = GunPrice[27][0]*ammo;
//PlayerInfo[playerid][pGun3] = 29; PlayerInfo[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "shotgun", true, strlen(gunid)) == 0)
{
gun = 25; guncharge = GunPrice[19][0]/100*mod2; ammocharge = GunPrice[26][0]*ammo;
//PlayerInfo[playerid][pGun3] = 25; PlayerInfo[playerid][pAmmo3] = ammo;
}
else if (strcmp(gunid, "ak47", true, strlen(gunid)) == 0)
{
gun = 30; guncharge = GunPrice[22][0]/100*mod2; ammocharge = GunPrice[28][0]*ammo;
//PlayerInfo[playerid][pGun4] = 30; PlayerInfo[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "m4", true, strlen(gunid)) == 0)
{
gun = 31; guncharge = GunPrice[23][0]/100*mod2; ammocharge = GunPrice[28][0]*ammo;
//PlayerInfo[playerid][pGun4] = 31; PlayerInfo[playerid][pAmmo4] = ammo;
}
else if (strcmp(gunid, "rifle", true, strlen(gunid)) == 0)
{
gun = 33; guncharge = GunPrice[24][0]/100*mod2; ammocharge = GunPrice[29][0]*ammo;
//PlayerInfo[playerid][pGun4] = 33; PlayerInfo[playerid][pAmmo4] = ammo;
}
else
{
SendClientMessage(playerid, COLOR_GRAD6, "ShopKeeper says: I have never heard of that weapon.");
return 1;
}
if((guncharge+ammocharge) > GetPlayerMoney(playerid))
{
format(infostring, 256, "[Eroare]: You don't have %s !",DecimalPoint(guncharge+ammocharge));
SendClientMessage(playerid, COLOR_GRAD3, infostring);
return 1;
}
if(GetPlayerMoney(playerid) < (guncharge+ammocharge))
{
 SendClientMessage(playerid, COLOR_GREY, "[Eroare]: Can't afford that !");
 return 1;
}
new payout = guncharge + ammocharge;
format(infostring, 256, "You have purchased %s with %d ammo for %s",gunid,ammo,DecimalPoint(payout));
SendClientMessage(playerid, COLOR_GRAD3, infostring);
if(location == 203 && IsACop(playerid)) { }
else { SafeGivePlayerMoney(playerid, - payout); }
BizzInfo[location-200][bTill] += payout;
ExtortionBiz(location-200, payout);
BizzInfo[location-200][bProducts]--;
PlayerPlaySound(playerid, 1052, 0.0, 0.0, 0.0);
SafeGivePlayerWeapon(playerid, gun, ammo);
GetPlayerName(playerid, sendername, sizeof(sendername));
format(string, sizeof(string), "%s bought weapons for %s at biz %d", sendername, DecimalPoint(payout), location-200);
PayLog(string);
}
else
{
 SendClientMessage(playerid, COLOR_WHITE,"[Eroare]: You are not in a store.");
return 1;
}
}
return 1;
}

 

 

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • 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.