YCMD:sell(playerid, params[], help)
{
if (help)
{
}
else
{
new targetid, itemname[20], itemprice, itemamount, HasManyItem;
if(PlayerInfo[playerid][pJob] == 2)
{
if(sscanf(params, "s[20]iiu", itemname, itemamount, itemprice, targetid)) return SendClientMessage(playerid, 0xFFFFFFF,"Syntax error.Correct usage: /sell [itemname] [amount] [price [playerid]]");
if(!strcmp(itemname, "IRON", true) || !strcmp(itemname, "ALUMINIUM", true) || !strcmp(itemname, "COPPER", true))
{
for(new i, len = strlen(itemname); i < len; ++i)
{
itemname[i] = toupper(itemname[i]);
}
if(PlayerHasItem(playerid, itemname))
{
HasManyItem = PlayerHasItem(playerid, itemname);
if(HasManyItem <itemamount)
{
SetPVarString(playerid, "itemname", itemname);
SetPVarInt(playerid, "amount", itemamount);
SetPVarInt(playerid, "price", itemprice);
Offering[playerid] = true;
Pending[targetid] = true;
SendClientMessageFormatted(targetid, COLOR_ORANGE, "%s want to sell you %i %s for $%i. type /accept to accept.", GetName(targetid), itemamount, itemname, itemprice);
SendClientMessageFormatted(playerid, COLOR_ORANGE, "You offered %s to %s", itemname, GetName(playerid));
}
}
}
else
{
SendClientMessageFormatted(playerid, -1, "Invalid item [%s]", itemname);
}
}
}
return 1;
}
YCMD:accept(playerid, params[], help)
{
if (help)
{
}
else
{
new targetid, itemname[20], itemprice, itemamount;
if(PlayerInfo[playerid][pJob] == 3)
{
if(sscanf(params, "s[20]iu", itemname, itemamount, targetid)) return SendClientMessage(playerid, 0xFFFFFFF,"Syntax error.Correct usage: /sell [itemname] [amount] [price [playerid]]");
for(new i, len = strlen(itemname); i < len; ++i)
{
itemname[i] = toupper(itemname[i]);
}
if(Pending[playerid] == true)
{
if(Offering[targetid] == true)
{
if(GetPlayerMoney(playerid) <itemprice)
{
if(sscanf(params, "%s[20]u", itemname, targetid)) SendClientMessage(playerid, 0xFFFFFFF,"Syntax error.Correct usage: /accept [itemname] [playerid]]");
GetPVarString(targetid, "itemname", itemname, sizeof(itemname));
itemamount = GetPVarInt(targetid, "amount");
itemprice = GetPVarInt(targetid, "price");
Offering[targetid] = false;
Pending[playerid] = false;
SendClientMessageFormatted(playerid, -1, "You accepted", itemname, itemamount, itemprice, GetName(targetid));
RemoveItem(targetid, itemname, itemamount);
AddItem(playerid, itemname, itemamount);
GivePlayerMoney(targetid, itemprice);
GivePlayerMoney(playerid, -itemprice);
DeletePVar(targetid, "itemname");
DeletePVar(targetid, "amount");
DeletePVar(targetid, "price");
}
}
}
}
}
return 1;
}
for(new i, len = strlen(itemname); i < len; ++i)
{
itemname[i] = toupper(itemname[i]);
}
// reduceing it to a "one-liner"
for(new i, len = strlen(itemname); i < len; ++i){itemname[i] = toupper(itemname[i]);}
|
ok thanks. it has no effect on performance right ?
cause i find it way easier to read and work with " multi-liner " |