Код:
}
COMMAND:gundealer(playerid, params[])
{
if(IsPlayerFED(playerid))
return SendClientError(playerid, CANT_USE_CMD);
if(!IsPlayerInSphere(playerid,2201.1729,-1970.2307,13.7841,5))
return SendClientError(playerid, "You are not at the right location!");
if(strcmp(PlayerInfo[playerid][job],"None",true))
return SendClientMessage(playerid,COLOR_RED,"[JOB] You already have a job - Use \"/quitjob\" to leave your current one!");
myStrcpy(PlayerInfo[playerid][job],"GunDealer");
ShowInfoBox(playerid, "GunDealer", "congratulations, you are now a ~r~gundealer~w~! Use /jobhelp to see your new commands. Check your radar for the place to buy guns!");
SetPlayerCheckpoint(playerid, -33.6417,-1122.1495,1.0970, 3.0);
format(iStr, sizeof(iStr), "6[JOB] %s is now a GunDealer!", PlayerName(playerid));
return 1;
}
enum _wdata
{
wname[ 12 ],
wID,
wAmmo,
wSellables,
}
new weapon_arr[][_wdata] = {
// Weapon , ID, Ammo, Materials
{ "Katana", 8, 1 , 1},
{ "Flowers", 14,1 , 1},
{ "Molotov", 18,1 , 12},
{ "Deagle", 24,75 , 1},
{ "MP5", 29,150, 1},
{ "Shotgun", 25,75 , 2},
{ "AK47", 30,150, 2},
{ "M4", 31,150, 2},
{ "Rifle", 33,75, 2}
};
COMMAND:sellgun(playerid, params[])
{
if(strcmp(PlayerInfo[playerid][job],"GunDealer", true)) return SendClientError(playerid, CANT_USE_CMD);
new iPlayer, iWeapon[ 128 ];
if( sscanf ( params, "us", iPlayer, iWeapon))
{
SCP(playerid, "[PlayerID/PartOfName] [weapon]");
new bStr[ 256 ];
format(bStr, sizeof(bStr), "Available weapons: ");
for(new q; q < sizeof(weapon_arr); q++)
{
new tmp[ 20 ];
format(tmp, sizeof(tmp), " %s (%d ammo),", weapon_arr[q][wname], weapon_arr[q][wAmmo]);
strcat(bStr, tmp);
}
strdel(bStr,strlen(bStr)-1, strlen(bStr));
SendMessageToPlayer(playerid, COLOR_ADMIN_PM, bStr);
return 1;
}
if(!IsPlayerConnected(iPlayer)) return SendClientError(playerid, PLAYER_NOT_FOUND);
//if(iPlayer == playerid) return SendClientError(playerid, "You cannot sell any guns to yourself!");
if(GetDistanceBetweenPlayers(playerid, iPlayer) > 3) return SendClientError(playerid, "He is too far away!");
new dSELECT = -1;
for(new q; q < sizeof(weapon_arr); q++)
{
if(strfind(weapon_arr[q][wname],iWeapon, true) != -1) dSELECT = q;
}
if(dSELECT == -1)
{
new bStr[ 256 ];
format(bStr, sizeof(bStr), "Available weapons: ");
for(new q; q < sizeof(weapon_arr); q++)
{
new tmp[ 20 ];
format(tmp, sizeof(tmp), " %s (%d ammo),", weapon_arr[q][wname], weapon_arr[q][wAmmo]);
strcat(bStr, tmp);
}
strdel(bStr,strlen(bStr)-1, strlen(bStr));
SendMessageToPlayer(playerid, COLOR_ADMIN_PM, bStr);
return 1;
}
if(PlayerInfo[playerid][sguns] < weapon_arr[dSELECT][wSellables])
return SendClientMSG(playerid, COLOR_ADMIN_PM, "[GUNDEALER]: You don't have enough sellables! You need %d sellabes.", weapon_arr[dSELECT][wSellables]);
format(iStr, sizeof(iStr), "has sold a %s with %d ammo to %s.", weapon_arr[dSELECT][wname],weapon_arr[dSELECT][wAmmo], MaskedName(iPlayer));
Action(playerid, iStr);
if(dSELECT == 3) SetPVarInt(iPlayer, "Molotov", 1);
GivePlayerWeapon(iPlayer, weapon_arr[dSELECT][wID], weapon_arr[dSELECT][wAmmo]);
PlayerInfo[playerid][sguns] -= weapon_arr[dSELECT][wSellables];
PlayerInfo[playerid][jobskill] += minrand(1,2);
format(iStr, sizeof(iStr), "6[JOB] GunDealer %s has sold a %s to %s.", PlayerName(playerid), weapon_arr[dSELECT][wname], PlayerName(iPlayer));
SendClientMSG(playerid, COLOR_LIGHTGREY, " You lost %d sellables selling this %s. You now have %d sellables left.", weapon_arr[dSELECT][wSellables], weapon_arr[dSELECT][wname], PlayerInfo[playerid][sguns]);
return 1;
}