/ma 0 6
CMD:ma(playerid, pid[], lvl[])
{
new string[128];
if(PlayerInfo[playerid][Level] != 6) {
return 1;
}
if(isnull(pid) || isnull(lvl)) {
SendClientMessage(playerid, COLOR_GREY,"[USAGE] /ma [id] [level]");
SendClientMessage(playerid, COLOR_GREY,"This will set player(id)'s level");
return 1;
}
new id = strval(pid),level = strval(lvl);
if(!IsPlayerConnected(id)) {
SendClientMessage(playerid, COLOR_RED,"[ERROR] Invalid ID");
return 1;
}
new File[256]; format(File,256,"users/%s.sav",PlayerName(id));
if(!fexist(File)) {
SendClientMessage(playerid, COLOR_RED,"[ERROR] Player is not registered, cannot setlevel");
return 1;
}
if(PlayerInfo[id][LoggedIn] == 0) {
SendClientMessage(playerid, COLOR_RED,"[ERROR] Player need to be loggedin to get level");
return 1;
}
if(PlayerInfo[id][Level] == level) {
SendClientMessage(playerid, COLOR_RED,"[ERROR] player is already on this level");
return 1;
}
if(level > PlayerInfo[id][Level]) {
GameTextForPlayer(id,"~b~Promoted", 1000, 4);
}else {
GameTextForPlayer(id,"~r~Demoted",1000,4);
}
if(level == 0) {
format(string,128,"[ADMIN] %s has fired %s from AdminPannel (%s's Level: %d)",PlayerName(playerid),PlayerName(id),PlayerName(id),level);
}else {
format(string,128,"[ADMIN] %s has setted %s's Level: %d (%s)",PlayerName(playerid),PlayerName(id),level,LevelName(level));
}
SendClientMessageToAll(COLOR_LIGHTBLUE,string);
dini_IntSet(File,"Level",level);
PlayerInfo[id][Level] = level;
return 1;
}
CMD:setmytime(playerid, hour[], minute[]) //I dont know the command works or not :P
{
if(isnull(hour) || isnull(minute)) return 1;
SetPlayerTime(playerid, strval(hour),strval(minute));
return 1;
}
/*According to settime command*/
CMD:setmytime(playerid, params[])
{
new min, hr;
if(sscanf(params, "ii", hr, min)) return SendClientMessage(playerid, -1, "Usage: /setmytime (hour) (minute)");
SetPlayerTime(playerid, hr, min);
return 1;
}
Why don't you try using sscanf2 by ******? It's more efficient in handling such cases.
pawn Код:
|
Ok i will try!
but i got a problem!! i dont know how to use it! i mean the "ii" one |
Originally Posted by ******
Код:
Format Use L(true/false) Optional logical truthity l Logical truthity K<callback>(default text) Optional custom operator k<callback> Custom operator 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 |
Usage: /kick <ID/Part Of Name> (Only for players) -> specifier would be "r".
Usage: /goto <ID/Part Of Name> (For players and Bots) -> specifier would be "u".
Usage: /time <hour> <seconds> (hour and seconds are integers -> specifier would be "ii".
Usage: /ban <ID/Part Of Name> <reason> (Player + reason (string)) -> specifier would be "rs[value]".
Usage: /say <text> (Only string) -> specifier would be "s[value]".