unjail
#1

after i jail someone i can't unjail him it says he is not jailed

PHP Code:
CMD:unjail(playeridparams[])
{
    if(
pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command.");
    {
           new 
idstring[128],admin[24], name[24];
           if(
pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !");
           if(
Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed");
           if(
sscanf(params"d",id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: {FFFFFF}USAGE: /unjail [id]");
           if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: The player is not connected");
           
SetPlayerVirtualWorld(id0);
           
SetPlayerInterior(id0);
           
SetPlayerHealth(id100);
           
GivePlayerMoney(id, -800);
           
GivePlayerWeapon(id24,60);
           
SpawnPlayer(id);
           
GetPlayerName(playeridadmin,sizeof(admin));
           
GetPlayerName(idnamesizeof(name) ) ;
           
format(stringsizeof string"{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",nameadmin);
           
SendClientMessageToAll(-1string);
           
Jailed[id] = 0;
    }
    return 
1;

Reply
#2

Hello!

I explained it already, but here.

PHP Code:
CMD:unjail(playeridparams[])
{
    if(
pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command.");
    {
           new 
idstring[128],admin[24], name[24];
           if(
pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !");
           if(
sscanf(params"d",id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: {FFFFFF}USAGE: /unjail [id]");
           if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: The player is not connected");
           if(
Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed");
           
SetPlayerVirtualWorld(id0);
           
SetPlayerInterior(id0);
           
SetPlayerHealth(id100);
           
GivePlayerMoney(id, -800);
           
GivePlayerWeapon(id24,60);
           
SpawnPlayer(id);
           
GetPlayerName(playeridadmin,sizeof(admin));
           
GetPlayerName(idnamesizeof(name) ) ;
           
format(stringsizeof string"{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",nameadmin);
           
SendClientMessageToAll(-1string);
           
Jailed[id] = 0;
    }
    return 
1;

PHP Code:
if(Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed"); 
have to be after the sscanf.

- Mencent
Reply
#3

Quote:
Originally Posted by Mencent
View Post
Hello!

I explained it already, but here.

PHP Code:
CMD:unjail(playeridparams[])
{
    if(
pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command.");
    {
           new 
idstring[128],admin[24], name[24];
           if(
pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !");
           if(
sscanf(params"d",id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: {FFFFFF}USAGE: /unjail [id]");
           if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: The player is not connected");
           if(
Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed");
           
SetPlayerVirtualWorld(id0);
           
SetPlayerInterior(id0);
           
SetPlayerHealth(id100);
           
GivePlayerMoney(id, -800);
           
GivePlayerWeapon(id24,60);
           
SpawnPlayer(id);
           
GetPlayerName(playeridadmin,sizeof(admin));
           
GetPlayerName(idnamesizeof(name) ) ;
           
format(stringsizeof string"{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",nameadmin);
           
SendClientMessageToAll(-1string);
           
Jailed[id] = 0;
    }
    return 
1;

PHP Code:
if(Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed"); 
have to be after the sscanf.

- Mencent
Hope you understand..
Code:
CMD:unjail(playerid, params[])
{
    if(pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command.");
	else // you need to add else here to make cmd enable for only admins.
	{
    
           new id, string[128],admin[24], name[24];
           if(pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !");
           if(sscanf(params, "d",id)) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM ERROR]: {FFFFFF}USAGE: /unjail [id]");
           if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM ERROR]: The player is not connected");
           if(Jailed[id] == 0) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM]: The player is not jailed");
  			else if(Jailed[id] == 1) // also you need to add this also other wise it detect player is not in jail..
  			{
      	   SetPlayerVirtualWorld(id, 0);
           SetPlayerInterior(id, 0);
           SetPlayerHealth(id, 100);
           GivePlayerMoney(id, -800);
           GivePlayerWeapon(id, 24,60);
           SpawnPlayer(id);

           GetPlayerName(playerid, admin,sizeof(admin));
           GetPlayerName(id, name, sizeof(name) ) ;
           format(string, sizeof string, "{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",name, admin);
           SendClientMessageToAll(-1, string);
           Jailed[id] = 0;
           }
    }
    return 1;
}
Reply
#4

Quote:
Originally Posted by Glossy42O
View Post
after i jail someone i can't unjail him it says he is not jailed

PHP Code:
CMD:unjail(playeridparams[])
{
    if(
pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command.");
    {
           new 
idstring[128],admin[24], name[24];
           if(
pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !");
           if(
Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed");
           if(
sscanf(params"d",id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: {FFFFFF}USAGE: /unjail [id]");
           if(!
IsPlayerConnected(id)) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM ERROR]: The player is not connected");
           
SetPlayerVirtualWorld(id0);
           
SetPlayerInterior(id0);
           
SetPlayerHealth(id100);
           
GivePlayerMoney(id, -800);
           
GivePlayerWeapon(id24,60);
           
SpawnPlayer(id);
           
GetPlayerName(playeridadmin,sizeof(admin));
           
GetPlayerName(idnamesizeof(name) ) ;
           
format(stringsizeof string"{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",nameadmin);
           
SendClientMessageToAll(-1string);
           
Jailed[id] = 0;
    }
    return 
1;

The issue should be in the jail command, you're probably not setting "Jailed[id] == 1" there, show me the jail command
Reply
#5

No. The Problem is that he has this query
PHP Code:
if(Jailed[id] == 0) return SendClientMessage(playerid, -1"{FF0000}[SYSTEM]: The player is not jailed"); 
before the sscanf-query.

- Mencent
Reply
#6

Code:
CMD:unjail(playerid, params[]) 
{ 
    if(pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command."); 
    { 
           new id, string[128],admin[24], name[24]; 
           if(pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !"); 
            if(sscanf(params, "d",id)) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM ERROR]: {FFFFFF}USAGE: /unjail [id]"); 
           if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM ERROR]: The player is not connected"); 
          if(Jailed[id] == 0) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM]: The player is not jailed"); 

           SetPlayerVirtualWorld(id, 0); 
           SetPlayerInterior(id, 0); 
           SetPlayerHealth(id, 100); 
           GivePlayerMoney(id, -800); 
           GivePlayerWeapon(id, 24,60); 
           SpawnPlayer(id); 

           GetPlayerName(playerid, admin,sizeof(admin)); 
           GetPlayerName(id, name, sizeof(name) ) ; 
           format(string, sizeof string, "{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",name, admin); 
           SendClientMessageToAll(-1, string); 
           Jailed[id] = 1; // 1 is true 0 is false 
    } 
    return 1; 
}
Reply
#7

The problem is that you are declaring the id of the player you used the command on after using it to validate whether that player is in jail or not (sscanf).

Also, make that variable a boolean.
pawn Code:
new bool:sJailed[MAX_PLAYERS] = false;
pawn Code:
// When you jail someone:
sJailed[lookupid] = true;
pawn Code:
// When you un-jail someone:
sJailed[lookupid] = false;
pawn Code:
// To validate whether a player is jailed or not:
// For accessibility:
#define function%0(%1) forward%0(%1); public%0(%1)

// Function:
function bool:IsPlayerJailed(playerid) return sJailed[playerid];
pawn Code:
When checking if the player is in jail:
if(IsPlayerJailed(lookupid))
pawn Code:
When checking if the player is not in jail:
if(!IsPlayerJailed(lookupid))
Reply
#8

Code:
CMD:unjail(playerid, params[]) 
{ 
    if(pInfo[playerid][AdminLevel] < 1) return SendClientMessage(playerid, -1,"{FF0000}[SYSTEM ERROR]: You don't have the privilege to use that command."); 
    { 
           new id, string[128],admin[24], name[24]; 
           if(pInfo[playerid][Logged] == 0) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM[: {FFFFFF}You have to login before you can use commands !"); 
           if(sscanf(params, "d",id)) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM ERROR]: 
           if(Jailed[id] == 0) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM]: The player is not jailed"); 
          {FFFFFF}USAGE: /unjail [id]"); 
           if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "{FF0000}[SYSTEM ERROR]: The player is not connected"); 

           SetPlayerVirtualWorld(id, 0); 
           SetPlayerInterior(id, 0); 
           SetPlayerHealth(id, 100); 
           GivePlayerMoney(id, -800); 
           GivePlayerWeapon(id, 24,60); 
           SpawnPlayer(id); 

           GetPlayerName(playerid, admin,sizeof(admin)); 
           GetPlayerName(id, name, sizeof(name) ) ; 
           format(string, sizeof string, "{FF0000}[SYSTEM]: {FFFFFF}%s has been released from jail by %s",name, admin); 
           SendClientMessageToAll(-1, string); 
           Jailed[id] = 0; 
    } 
    return 1; 
}
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)