Update OnPlayerCommand > sscanf zcmd -
EvgeniyHostel1992 - 12.02.2018
Give at least a brief example of how to convert the / edit command from gif to cmd: (sscanf zcmd)
PHP код:
if(strcmp(cmd, "/edit", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(pl[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_GRAD2, " You are not an Admin !");
return 1;
}
new x_job[256];
x_job = strtok(cmdtext, idx);
if(!strlen(x_job)) {
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Edit __________________|");
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /edit [name] [ammount] (Used for Houses and Businesses)");
SendClientMessage(playerid, COLOR_GREY, "Available names: Level, Price, Funds, Products");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, COLOR_GRAD2, "USAGE: /edit [name] [ammount]");
return 1;
}
new proplev = strval(tmp);
//if(strcmp(x_job,"car",true) == 0)
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
format(string, sizeof(string), "House: %d", i);
SendClientMessage(playerid, COLOR_GRAD2, string);
if(proplev > 0)
{
if(strcmp(x_job,"level",true) == 0)
{
HouseInfo[i][hLevel] = proplev;
}
else if(strcmp(x_job,"price",true) == 0)
{
HouseInfo[i][hValue] = proplev;
}
}
}
}
for(new i = 0; i < sizeof(BizzInfo); i++)
{
if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
{
format(string, sizeof(string), "Biz: %d", i);
SendClientMessage(playerid, COLOR_GRAD2, string);
if(proplev > 0)
{
if(strcmp(x_job,"level",true) == 0)
{
BizzInfo[i][bLevelNeeded] = proplev;
}
else if(strcmp(x_job,"price",true) == 0)
{
BizzInfo[i][bBuyPrice] = proplev;
}
else if(strcmp(x_job,"funds",true) == 0)
{
BizzInfo[i][bTill] = proplev;
}
else if(strcmp(x_job,"products",true) == 0)
{
BizzInfo[i][bProducts] = proplev;
}
}
}
}
for(new i = 0; i < sizeof(SBizzInfo); i++)
{
if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
{
format(string, sizeof(string), "SBiz: %d", i);
SendClientMessage(playerid, COLOR_GRAD2, string);
if(proplev > 0)
{
if(strcmp(x_job,"level",true) == 0)
{
SBizzInfo[i][sbLevelNeeded] = proplev;
}
else if(strcmp(x_job,"price",true) == 0)
{
SBizzInfo[i][sbBuyPrice] = proplev;
}
else if(strcmp(x_job,"funds",true) == 0)
{
SBizzInfo[i][sbTill] = proplev;
}
else if(strcmp(x_job,"products",true) == 0)
{
SBizzInfo[i][sbProducts] = proplev;
}
}
}
}
format(string, sizeof(string), "You've adjusted the: %s.", x_job);
SendClientMessage(playerid, COLOR_WHITE, string);
OnPropUpdate();
}
return 1;
}
examples of such simple I know:
PHP код:
CMD:setskin(playerid, params[]){
new skinid;
if(sscanf(params,"d", skinid))
return send(playerid, COLOR_GRAD1, "USAGE: /setskin [skin]");
SetPlayerSkin(playerid,skinid);
pl[playerid][pChar]=skinid;
return 1;}
Please at least an example

(
Re: Update OnPlayerCommand > sscanf zcmd -
Mugala - 12.02.2018
PHP код:
CMD:edit(playerid,params[])
{
if(IsPlayerConnected(playerid))
{
if(pl[playerid][pAdmin] < 4)
{
SendClientMessage(playerid, COLOR_GRAD2, " You are not an Admin !");
return 1;
}
new name[16],ammount;
if(sscanf(params,"s[16]d", name, ammount))
{
SendClientMessage(playerid, COLOR_WHITE, "|__________________ Edit __________________|");
SendClientMessage(playerid, COLOR_WHITE, "USAGE: /edit [name] [ammount] (Used for Houses and Businesses)");
SendClientMessage(playerid, COLOR_GREY, "Available names: Level, Price, Funds, Products");
SendClientMessage(playerid, COLOR_WHITE, "|____________________________________________|");
return 1;
}
for(new i = 0; i < sizeof(HouseInfo); i++)
{
if (PlayerToPoint(3, playerid,HouseInfo[i][hEntrancex], HouseInfo[i][hEntrancey], HouseInfo[i][hEntrancez]))
{
format(string, sizeof(string), "House: %d", i);
SendClientMessage(playerid, COLOR_GRAD2, string);
if(ammount > 0)
{
if(strcmp(name,"level",true) == 0)
{
HouseInfo[i][hLevel] = ammount;
}
else if(strcmp(name,"price",true) == 0)
{
HouseInfo[i][hValue] = ammount;
}
}
}
}
for(new i = 0; i < sizeof(BizzInfo); i++)
{
if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
{
format(string, sizeof(string), "Biz: %d", i);
SendClientMessage(playerid, COLOR_GRAD2, string);
if(ammount > 0)
{
if(strcmp(name,"level",true) == 0)
{
BizzInfo[i][bLevelNeeded] = ammount;
}
else if(strcmp(name,"price",true) == 0)
{
BizzInfo[i][bBuyPrice] = ammount;
}
else if(strcmp(name,"funds",true) == 0)
{
BizzInfo[i][bTill] = ammount;
}
else if(strcmp(name,"products",true) == 0)
{
BizzInfo[i][bProducts] = ammount;
}
}
}
}
for(new i = 0; i < sizeof(SBizzInfo); i++)
{
if (PlayerToPoint(3, playerid,SBizzInfo[i][sbEntranceX], SBizzInfo[i][sbEntranceY], SBizzInfo[i][sbEntranceZ]))
{
format(string, sizeof(string), "SBiz: %d", i);
SendClientMessage(playerid, COLOR_GRAD2, string);
if(ammount > 0)
{
if(strcmp(name,"level",true) == 0)
{
SBizzInfo[i][sbLevelNeeded] = ammount;
}
else if(strcmp(name,"price",true) == 0)
{
SBizzInfo[i][sbBuyPrice] = ammount;
}
else if(strcmp(name,"funds",true) == 0)
{
SBizzInfo[i][sbTill] = ammount;
}
else if(strcmp(name,"products",true) == 0)
{
SBizzInfo[i][sbProducts] = ammount;
}
}
}
}
format(string, sizeof(string), "You've adjusted the: %s.", name);
SendClientMessage(playerid, COLOR_WHITE, string);
OnPropUpdate();
}
return 1;
}
Re: Update OnPlayerCommand > sscanf zcmd -
EvgeniyHostel1992 - 13.02.2018
s[16] ? - [16] what this?
Re: Update OnPlayerCommand > sscanf zcmd -
KaRToNiToS - 13.02.2018
Код:
Specifiers:
Format Use
L(true/false) Optional logical truthity
l Logical truthity
B(binary) Optional binary number
b Binary number
N(any format number) Optional number
n Number
C(character) Optional character
c Character
I(integer) Optional integer
i Integer
D(integer) Optional integer
d Integer
H(hex value) Optional hex number
h Hex number
O(octal value) Optional octal value
o Octal value
F(float) Optional floating point number
f Floating point number
G(float/INFINITY/-INFINITY/NAN/NAN_E) Optional float with IEEE definitions
g Float with IEEE definitions
{ Open quiet section
} Close quiet section
P<delimiter> Invalid delimiter change
p<delimiter> Delimiter change
Z(string)[length] Invalid optional string
z(string)[length] Deprecated optional string
S(string)[length] Optional string
s[length] String
U(name/id) Optional user (bot/player)
u User (bot/player)
Q(name/id) Optional bot (bot)
q Bot (bot)
R(name/id) Optional player (player)
r Player (player)
A<type>(default)[length] Optional array of given type
a<type>[length] Array of given type
E<specification>(default) Optional enumeration of given layout
e<specification> Enumeration of given layout
'string' Search string
% Deprecated optional specifier prefix