Help with SSCANF.
#1

Well, I want to make a command with strcmp, means that if I write
/modifyint <intid> name BlaBla
It will change the interior ID I created to name 'BlaBla'..
I think I just did something wrong, please help me up.

PHP код:
CMD:modifyint(playerid,params[])
{
if(
Logged[playerid] == 0) return 0;
new 
id;
new 
text[128];
if(
Info[playerid][Admin] < 1) return NoAdmin(playerid);
if(
sscanf(params"ds"idtext)) return SendClientMessage(playerid0xFFFFFFFFAA"USAGE: /modify [interior id] [Name/Exterior/Interior]");
new 
forint[128];
format(forintsizeof(forint), "Interiors/%d.ini"id);
if(!
dini_Exists(forint)) return CPF(playerid,COLOR_RED,"[ERROR]:"COL_WHITE" Interior ID %d does not exist."id);
if(!
strcmp(text"Name",true))
{
new 
texti[128];
if(
sscanf(params"s"texti)) return SendClientMessage(playerid0xFFFFFFFFAA"USAGE: /modify [int id] [name] <new name>");
dini_Set(forint"Name"texti);
LoadInteriors();
CPF(playerid,COLOR_GREEN"[SUCCESS]:"COL_WHITE" Interior name has been changed to %s."texti);
return 
1;
}
if(!
strcmp(text"Exterior",true))
{
new 
x,y,z;
if(
sscanf(params"fff"x,y,z)) return SendClientMessage(playerid0xFFFFFFFFAA"USAGE: /modify [int id] [exterior] <x> <y> <z>");
dini_FloatSet(forint"EnterX"x);
dini_FloatSet(forint"EnterY"y);
dini_FloatSet(forint"EnterZ"z);
CPF(playerid,COLOR_GREEN"[SUCCESS]:"COL_WHITE" Interior entrance pos has been changed to %d : %d : %d."x,y,z);
return 
1;
}
if(!
strcmp(text"Interior",true))
{
new 
x,y,z,int1;
if(
sscanf(params"fffd"x,y,z,int1)) return SendClientMessage(playerid0xFFFFFFFFAA"USAGE: /modify [int id] [exterior] <x> <y> <z> <intID>");
dini_FloatSet(forint"IntX"x);
dini_FloatSet(forint"IntY"y);
dini_FloatSet(forint"IntZ"z);
dini_IntSet(forint"IntID"int1);
CPF(playerid,COLOR_GREEN"[SUCCESS]:"COL_WHITE" Interior has been changed to %d : %d : %d INTID: %d."x,y,zint1);
return 
1;
}
return 
1;

BTW I'm pretty new to SSCANF.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)