PDA

View Full Version : freeze


Trollerz
19/09/2015, 09:48 PM
hey guys, i wanna ask how can i make /freeze command?

Mister0
19/09/2015, 09:55 PM
Try this



CMD:freeze(playerid, params)
{
new player1, second, reason[256];
if(!IsPlayerAdmin(playerid)) return 1;
if(sscanf(params, "iis[256]", player1, second, reson))
return SendClientMessage(playerid, -1, "/freeze [ID] [Second] [Reason]");
TogglePlayerControllable(playerid, 0);
SetTimerEx("Unfreeze", second*1000, false, "i", playerid);
return 1;
}



forward Unfreeze(playerid);
public Unfreeze(playerid)
{
TogglePlayerControllable(playerid, true);
return 1;
}

KillerDVX
19/09/2015, 11:17 PM
Try this



CMD:freeze(playerid, params)
{
new player1, second, reason[256];
if(!IsPlayerAdmin(playerid)) return 1;
if(sscanf(params, "iis[256]", player1, second, reson))
return SendClientMessage(playerid, -1, "/freeze [ID] [Second] [Reason]");
TogglePlayerControllable(playerid, 0);
SetTimerEx("Unfreeze", second*1000, false, "i", playerid);
return 1;
}



forward Unfreeze(playerid);
public Unfreeze(playerid)
{
TogglePlayerControllable(playerid, true);
return 1;
}


Instead of copying that code, why wouldn't you explain what you have done in each line ?

Mister0
20/09/2015, 09:46 AM
I don't copy a code I am on the mobile phone and i can't explain all. If you want I explain everything, but serriousli is a simpli command for freeze

J4Rr3x
20/09/2015, 10:03 AM
// You need zcmd and sscanf2

CMD:freeze(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You aren't admin"); // Comment this line if you want the command for all player
new targetid;
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "Syntax: /freeze [playerid/playername]");
TogglePlayerControllable(targetid, 0);
SendClientMessage(targetid, -1, "An admin froze you.");
return 1;
}

jlalt
20/09/2015, 10:21 AM
// You need zcmd and sscanf2

CMD:freeze(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You aren't admin"); // Comment this line if you want the command for all player
new targetid;
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "Syntax: /freeze [playerid/playername]");
TogglePlayerControllable(targetid, 0);
SendClientMessage(targetid, -1, "An admin froze you.");
return 1;
}


and how the player will unfreeze O.O?

for freeze

CMD:freeze(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You aren't admin"); // Comment this line if you want the command for all player
new targetid,string[128],an[MAX_PLAYER_NAME],pn[MAX_PLAYER_NAME];
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "Syntax: /freeze [playerid/playername]");
GetPlayerName(playerid,an,sizeof(an)); GetPlayerName(targetid,pn,sizeof(pn));
TogglePlayerControllable(targetid, 0);
format(string,sizeof(string),"You has been frozen by administrator: %s",an);
SendClientMessage(targetid, 0x33FF33AA, string);
format(string,sizeof(string),"You has frozen %s",pn);
SendClientMessage(targetid, 0x33FF33AA, string);
return 1;
}


for unfreeze
CMD:unfreeze(playerid, params[]) {
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "You aren't admin"); // Comment this line if you want the command for all player
new targetid,string[128],an[MAX_PLAYER_NAME],pn[MAX_PLAYER_NAME];
if(sscanf(params, "u", targetid)) return SendClientMessage(playerid, -1, "Syntax: /unfreeze [playerid/playername]");
GetPlayerName(playerid,an,sizeof(an)); GetPlayerName(targetid,pn,sizeof(pn));
TogglePlayerControllable(targetid, 0);
format(string,sizeof(string),"You has been unfrozen by administrator: %s",an);
SendClientMessage(targetid, 0x33FF33AA, string);
format(string,sizeof(string),"You has unfrozen %s",pn);
SendClientMessage(playerid, 0x33FF33AA, string);
return 1;
}