CMD:drag(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)){
SetPlayerPos(playerid, -2911.2407,-194.6217,2.7821);
CreateDynamicObject(4247, -3037.851074, -103.473968, 1.177714, 0.000000, 0.000000, 0.000000,1,-1,-1,300.0);//floor
SetPlayerFacingAngle(playerid, 0.0);
SetPlayerInterior(playerid, 0);
new string[128], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(string, sizeof(string), "{6666FF}(/drag) {00CCFF}%s {6666FF}has Teleported to Drag Area",pName);
SendClientMessageToAll(playerid, string);
SetPlayerVirtualWorld(playerid, 1);
}
else{
new veh = GetPlayerVehicleID(playerid);
LinkVehicleToInterior(veh, 0);
SetVehiclePos(veh, -2911.2407,-194.6217,2.7821);
SetVehicleZAngle(veh, 0.0);
SetPlayerPos(playerid, -2911.2407,-194.6217,2.7821);
CreateDynamicObject(4247, -3037.851074, -103.473968, 1.177714, 0.000000, 0.000000, 0.000000,1,-1,-1,300.0);//floor
new string[128], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(string, sizeof(string), "{6666FF}(/drag) {00CCFF}%s {6666FF}has Teleported to Drag Area",pName);
SendClientMessageToAll(playerid, string);
PutPlayerInVehicle(playerid, veh, 0);
SetVehicleVirtualWorld(veh, 1);
SetPlayerVirtualWorld(playerid, 1);
}
return SendClientMessage(playerid, 0xFF0000FF, "You have been teleported to Drag Arena");
}
new bool:gCommandsDisabled[MAX_PLAYERS];
OnPlayerCommandText(playerid,...)
{
if(strcmp("/suicide",cmdtext)==0)
{
if(gCommandsDisabled[playerid]==true)return SendClientMessage(playerid,0xFF0000FF,"More luck next time!");
//^^^^EDITED, was false, but have to be true
//....
}
gCommandsDisabled[playerid]==false;// EDITED - switched enabling/disabling
gCommandsDisabled[playerid]=true;
|
make a variable that will show if the commands are disabled or not.
new bool:gCommandsDisabled[MAX_PLAYERS]; and on every command in the beginning put if(gCommandsDisabled[playerid]==false)return SendClientMessage... to enable just gCommandsDisabled[playerid]==true; to disable gCommandsDisabled[playerid]=false; |
public OnPlayerCommandReceived(playerid, cmdtext[])// ZCMD's callback.
{
//Example of condition \/-------------Example of command \/
if( IsPlayerLogged(playerid) == 0 && strcmp(cmdtext, "/login", true) != 0)
return SendClientMessage(playerid, -1, "You are not logged."), 0;
//--------------------Example of messange /\
return 1;
}
|
im confused. So I can't use /suicide command everywhere?
Edit: What if i leave /drag and go to other place like /aa, Can suicide automatically enabled in /aa?? |
gCommandsDisabled[playerid]=true;
OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/teleport")==0)
{
SetPlayerPos(playerid,0,1,2);
gCommandsDisabled[playerid]==true;
return 1;
}
if(strcmp("/suicide",cmdtext)==0)
{
if(gCommandsDisabled[playerid]==true)return SendClientMessage(playerid,0xFF0000FF,"More luck next time!");
SetPlayerHealth(playerid,0);
return 1;
}
if(strcmp("/sorry",cmdtext)==0)
{
gCommandsDisabled[playerid]==false;
return 1;
}
}
|
That depends on scripter(you). If you want to disable the commands after player go to some other place(or after they killed someone, or after they have been prisoned, or any other YOUR reason) via command (or entering check point, or idk... picking pickup) just put
pawn Code:
for example I don't want player to /suicide after he uses command /teleport, but if really needed player can use command /sorry to enable commands: pawn Code:
|
CMD:drag(playerid, params[])
{
if(!IsPlayerInAnyVehicle(playerid)){
SetPlayerPos(playerid, -2911.2407,-194.6217,2.7821);
CreateDynamicObject(4247, -3037.851074, -103.473968, 1.177714, 0.000000, 0.000000, 0.000000,1,-1,-1,300.0);//floor
SetPlayerFacingAngle(playerid, 0.0);
SetPlayerInterior(playerid, 0);
new string[128], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(string, sizeof(string), "{6666FF}(/drag) {00CCFF}%s {6666FF}has Teleported to Drag Area",pName);
SendClientMessageToAll(playerid, string);
SetPlayerVirtualWorld(playerid, 1);
}
else{
new veh = GetPlayerVehicleID(playerid);
LinkVehicleToInterior(veh, 0);
SetVehiclePos(veh, -2911.2407,-194.6217,2.7821);
SetVehicleZAngle(veh, 0.0);
SetPlayerPos(playerid, -2911.2407,-194.6217,2.7821);
CreateDynamicObject(4247, -3037.851074, -103.473968, 1.177714, 0.000000, 0.000000, 0.000000,1,-1,-1,300.0);//floor
new string[128], pName[MAX_PLAYER_NAME];
GetPlayerName(playerid, pName, MAX_PLAYER_NAME);
format(string, sizeof(string), "{6666FF}(/drag) {00CCFF}%s {6666FF}has Teleported to Drag Area",pName);
SendClientMessageToAll(playerid, string);
PutPlayerInVehicle(playerid, veh, 0);
SetVehicleVirtualWorld(veh, 1);
SetPlayerVirtualWorld(playerid, 1);
}
gCommandsDisabled[playerid]==true;//add this <-<-<-<-<-<-<-<-<-<
return SendClientMessage(playerid, 0xFF0000FF, "You have been teleported to Drag Arena");
}
OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/t")==0 && cmdtext[2]=='\0')
{
if(gCommandsDisabled[playerid]==true)
{
// Now show him the dialog
return 1:
}
//...
}
OnPlayerDeath(//blah blah)
{
gCOmmandsDisabled[playerid]=false;
//rest of the code
}
|
pawn Код:
pawn Код:
Once you want to enable the command, for example: when player dies just put the gCOmmandsDisabled[playerid]=false; pawn Код:
|
(7814) : error 017: undefined symbol "gCOmmandsDisabled" (7814) : warning 215: expression has no effect (7814) : error 001: expected token: ";", but found "]" (7814) : error 029: invalid expression, assumed zero (7814) : fatal error 107: too many error messages on one line
(9449) : warning 203: symbol is never used: "zcmd_OnPlayerCommandText"
OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/t")==0 && cmdtext[2]=='\0')
{
if(gCommandsDisabled[playerid]==true)
{
//Text dialog
return 1:
}
//...
}
new bool:gCommandsDisabled[MAX_PLAYERS];
|
You forgot this :
pawn Код:
|
(7814) : warning 215: expression has no effect (7814) : error 001: expected token: ";", but found "]" (7814) : error 029: invalid expression, assumed zero (7814) : fatal error 107: too many error messages on one line
public OnPlayerDeath(playerid, killerid, reason)
{
gCOmmandsDisabled[playerid]=false; <------- THis one.
SendDeathMessage(killerid, playerid, reason);
GetPlayerSkin(playerid);
new Batz[45];
format(Batz, sizeof(Batz), "You were killed by %s", GetPName(killerid));
GameTextForPlayer(playerid,Batz, 4000,4);
format(Batz, sizeof(Batz), "You killed %s", GetPName(playerid));
GameTextForPlayer(killerid,Batz, 4000,4);
return 1;
}
public OnPlayerDeath(playerid, killerid, reason)
{
gCommandsDisabled[playerid]=false; // you made a typo, it's gCommands not gCOmmands
SendDeathMessage(killerid, playerid, reason);
GetPlayerSkin(playerid);
new Batz[45];
format(Batz, sizeof(Batz), "You were killed by %s", GetPName(killerid));
GameTextForPlayer(playerid,Batz, 4000,4);
format(Batz, sizeof(Batz), "You killed %s", GetPName(playerid));
GameTextForPlayer(killerid,Batz, 4000,4);
return 1;
}
|
pawn Код:
|
OnPlayerCommandText(playerid,cmdtext[])
{
if(strcmp(cmdtext,"/t")==0 && cmdtext[2]=='\0')
{
if(gCommandsDisabled[playerid]==true)
{
//Text dialog
return 1:
}
//...
}
new zcmd_OnPlayerCommandText;
|
Press CTRL + F, put zcmd_OnPlayerCommandText in the search box, hit enter and you will locate something like this
pawn Код:
|
OnPlayerCommandText(playerid,cmdtext[])
OnPlayerCommandReceived(playerid,cmdtext[])