SA-MP Forums Archive
Breakcuffs bug - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Breakcuffs bug (/showthread.php?tid=405172)



Breakcuffs bug - maho422 - 05.01.2013

I made this command so you can do /breakcuffs if you get cuffed but somehow it auto breaks the cuff the second someone gets cuffed it automaticly removes the cuff ..

pawn Код:
dcmd_breakcuffs(playerid,params[])
{
    new string[128];
    #pragma unused params
    if(IsSpawned[playerid] != 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You must be alive and spawned in order to be able to use this command.");
        return 1;
    }
    if(IsCuffed[playerid] == 0)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You are not Cuffed. You cannot use this command.");
        return 1;
    }
    if(IsFrozen[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You have been frozen by a Server Administrator. You cannot use this command.");
        return 1;
    }
   
        if(AttemptedToBreakCuffsRecently[playerid] >= 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You are too tired from your last break attempt. Please wait before trying to break your cuffs again.");
        return 1;
       
       
    }
    SendClientMessage(playerid,COLOR_DEADCONNECT,"[[_Cuffs Breaked_]]");
    SendClientMessage(playerid,COLOR_LIGHTBLUE,"You have successfully broke the cuffs, run before the cop see's it!");
    IsCuffed[playerid] =1;
    TogglePlayerControllable(playerid,1);
    TextDrawSetString(MessageTD[playerid],"ESCAPED");
    TextDrawShowForPlayer(playerid,MessageTD[playerid]);
    MessageTDTime[playerid] =5;
   

    format(string,sizeof(string),"[Cuff ESCAPE] %s(%d) Has broke his cuffs to escape from the cops.",PlayerName(playerid),playerid);
    SendClientMessageToAll(COLOR_LIGHTBLUE,string);
    return 1;
   

}



Re: Breakcuffs bug - Riddy - 05.01.2013

Show us the /cuff command.


Re: Breakcuffs bug - maho422 - 05.01.2013

Here

pawn Код:
dcmd_cuff(playerid,params[])
{
    new string[128];
    new ID;
    if(sscanf(params, "u", ID))
    {
        SendClientMessage(playerid,COLOR_ERROR,"USAGE: /cuff (Player Name/ID)");
        return 1;
    }
    if(IsSpawned[playerid] != 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You must be alive and spawned in order to be able to use this command.");
        return 1;
    }
    if(IsKidnapped[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You are kidnapped. You cannot use this command.");
        return 1;
    }
    if(IsFrozen[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You have been frozen by a Server Administrator. You cannot use this command.");
        return 1;
    }
    if(InAdminMode[ID] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command on this player because they are in Administrator mode.");
        return 1;
    }
    if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA)
    {
        SendClientMessage(playerid,COLOR_ERROR,"Only law enforcement can place cuffs on suspects.");
        return 1;
    }
    if(!IsPlayerConnected(ID))
    {
        format(string,sizeof(string),"The player ID (%d) is not connected to the server. You cannot cuff them",ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,ID) > 4)
    {
        format(string,sizeof(string),"%s(%d) is too far away. You cannot reach him to place cuffs on him.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(gTeam[ID] == TEAM_COP || gTeam[ID] == TEAM_ARMY || gTeam[ID] == TEAM_CIA)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot place other Law Enforcement officer in cuffs. You might lose your job for that ..");
        return 1;
    }
    if(IsCuffed[ID] == 1)
    {
        format(string,sizeof(string),"%s(%d) is already cuffed. You don't want to waste a second pair of cuffs on them.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot place a suspect in cuffs while in a vehicle. Exit the vehicle first.");
        return 1;
    }
    if(GetPlayerState(ID) == PLAYER_STATE_DRIVER || GetPlayerState(ID) == PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot place a suspect in cuffs while they are in a vehicle. Get them to exit the vehicle first.");
        return 1;
    }
    if(playerid == ID)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot put cuffs on yourself, it wouldn't be a good idea with rapists around.");
        return 1;
    }
    if(IsSpawned[ID] != 1)
    {
        format(string,sizeof(string),"%s(%d) is not spawned. You cannot place cuffs on dead people ..",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(IsFrozen[ID] == 1)
    {
        format(string,sizeof(string),"%s(%d) is frozen by a Server Administrator. You cannot place cuffs them.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(AttemptedToCuffRecently[playerid] >= 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You're handcuffs are stuck in the lock from your last attempt. Please wait until they get unstuck first.");
        return 1;
    }
    new crand = random(100);
    if(crand <= 30)
    {
        SendClientMessage(playerid,COLOR_ERROR,"Cuff attempt failed. The suspect's arm slipped out of your hands.");
        AttemptedToCuffRecently[playerid] =5;
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,ID) <= 4 && crand > 30)
    {
        SendClientMessage(playerid,COLOR_DEADCONNECT,"[[_Suspect Cuffed_]]");
        format(string,sizeof(string),"You have placed cuffs on %s(%d)! They can no longer move.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_LIGHTBLUE,string);
        SendClientMessage(ID,COLOR_DEADCONNECT,"[[_Placed in handcuffs_]]");
        format(string,sizeof(string),"Law enforcement officer %s(%d) has placed you in handcuffs! You cannot move! You will be auto uncuffed in 15 seconds.",PlayerName(playerid),playerid);
        SendClientMessage(ID,COLOR_LIGHTBLUE,string);
        TogglePlayerControllable(ID,0);
        LoopingAnim(ID, "ped", "cower", 3.0, 1, 0, 0, 0, 0); // Taking Cover
        IsCuffed[ID] =1;
     CuffTime[ID] =15;
      return 1;
    }
    return 1;
}



dcmd_uncuff(playerid,params[])
{
    new string[128];
    new ID;
    if(sscanf(params, "u", ID))
    {
        SendClientMessage(playerid,COLOR_ERROR,"USAGE: /uncuff (Player Name/ID)");
        return 1;
    }
    if(IsSpawned[playerid] != 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You must be alive and spawned in order to be able to use this command.");
        return 1;
    }
    if(IsFrozen[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You have been frozen by a Server Administrator. You cannot use this command.");
        return 1;
    }
    if(IsKidnapped[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You are kidnapped. You cannot use this command.");
        return 1;
    }
    if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA)
    {
        SendClientMessage(playerid,COLOR_ERROR,"Only law enforcement can remove cuffs from suspects.");
        return 1;
    }
    if(InAdminMode[ID] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command on this player because they are in Administrator mode.");
        return 1;
    }
    if(!IsPlayerConnected(ID))
    {
        format(string,sizeof(string),"The player ID (%d) is not connected to the server. You cannot uncuff them",ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,ID) > 4)
    {
        format(string,sizeof(string),"%s(%d) is too far away. You cannot reach him to remove cuffs from him.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(IsCuffed[ID] == 0)
    {
        format(string,sizeof(string),"%s(%d) is not cuffed. You cannot uncuff them.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot remove a suspect's cuffs while in a vehicle. Exit the vehicle first.");
        return 1;
    }
    if(GetPlayerState(ID) == PLAYER_STATE_DRIVER || GetPlayerState(ID) == PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot remove a suspect's cuffs while they are in a vehicle. Get them to exit the vehicle first.");
        return 1;
    }
    if(playerid == ID)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot remove cuffs from yourself.");
        return 1;
    }
    if(IsSpawned[ID] != 1)
    {
        format(string,sizeof(string),"%s(%d) is not spawned. You cannot remove cuffs from dead people ..",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(IsFrozen[ID] == 1)
    {
        format(string,sizeof(string),"%s(%d) is frozen by a Server Administrator. You cannot remove cuffs from them.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,ID) <= 4)
    {
        format(string,sizeof(string),"You have removed %s(%d)'s cuffs. They can now move again.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        format(string,sizeof(string),"Law enforcement officer %s(%d) has removed your cuffs! You can now move again!",PlayerName(playerid),playerid);
        SendClientMessage(ID,COLOR_ERROR,string);
        TogglePlayerControllable(ID,1);
        IsCuffed[ID] =0;
        StopLoopingAnim(ID);
        CuffTime[ID] =0;
        return 1;
    }
    return 1;
}

dcmd_detain(playerid,params[])
{
    new string[128];
    new ID;
    if(sscanf(params, "u", ID))
    {
        SendClientMessage(playerid,COLOR_ERROR,"USAGE: /detain (Player Name/ID)");
        return 1;
    }
    if(IsSpawned[playerid] != 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You must be alive and spawned in order to be able to use this command.");
        return 1;
    }
    if(IsFrozen[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You have been frozen by a Server Administrator. You cannot use this command.");
        return 1;
    }
    if(gTeam[playerid] != TEAM_COP && gTeam[playerid] != TEAM_ARMY && gTeam[playerid] != TEAM_CIA)
    {
        SendClientMessage(playerid,COLOR_ERROR,"Only law enforcement can take suspects into their vehicle.");
        return 1;
    }
    if(InAdminMode[ID] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot use this command on this player because they are in Administrator mode.");
        return 1;
    }
    if(!IsPlayerConnected(ID))
    {
        format(string,sizeof(string),"The player ID (%d) is not connected to the server. You cannot detain them",ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(IsKidnapped[playerid] == 1)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You are kidnapped. You cannot use this command.");
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,ID) > 4)
    {
        format(string,sizeof(string),"%s(%d) is too far away. You cannot reach him to detain him.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(IsCuffed[ID] == 0)
    {
        format(string,sizeof(string),"%s(%d) is not cuffed. You cannot detain them.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER || GetPlayerState(playerid) == PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot detain a suspect while in a vehicle. Exit the vehicle first.");
        return 1;
    }
    if(GetPlayerState(ID) == PLAYER_STATE_DRIVER || GetPlayerState(ID) == PLAYER_STATE_PASSENGER)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot detain a suspect while they are in a vehicle. Get them to exit the vehicle first.");
        return 1;
    }
    if(playerid == ID)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You cannot detain yourself.");
        return 1;
    }
    if(IsSpawned[ID] != 1)
    {
        format(string,sizeof(string),"%s(%d) is not spawned. You cannot detain dead people ..",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(IsFrozen[ID] == 1)
    {
        format(string,sizeof(string),"%s(%d) is frozen by a Server Administrator. You cannot detain them.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_ERROR,string);
        return 1;
    }
    if(LastVehicle[playerid] == 0)
    {
        SendClientMessage(playerid,COLOR_ERROR,"You must enter a vehicle before trying to detain a suspect.");
        return 1;
    }
    if(GetDistanceBetweenPlayers(playerid,ID) <= 4)
    {
        format(string,sizeof(string),"[POLICE ACTION] Law Enforcement Officer %s(%d) has placed the suspect %s(%d) in his vehicle.",PlayerName(playerid),playerid,PlayerName(ID),ID);
        SendClientMessageToAll(COLOR_DODGERBLUE,string);
        format(string,sizeof(string),"12[POLICE ACTION] Law Enforcement Officer %s(%d) has placed the suspect %s(%d) in his vehicle.",PlayerName(playerid),playerid,PlayerName(ID),ID);
        IRC_Say(gGroupID,IRC_CHANNEL,string);

        SendClientMessage(ID,COLOR_DEADCONNECT,"[[_Detained_]]");
        format(string,sizeof(string),"Law Enforcement Officer %s(%d) has placed you in his vehicle. Your auto uncuff timer has been increased.",PlayerName(playerid),playerid);
        SendClientMessage(ID,COLOR_DODGERBLUE,string);

        SendClientMessage(playerid,COLOR_DEADCONNECT,"[[_Detained_]]");
        format(string,sizeof(string),"You have detained %s(%d) into the last vehicle you were in.",PlayerName(ID),ID);
        SendClientMessage(playerid,COLOR_DODGERBLUE,string);
        SendClientMessage(playerid,COLOR_DODGERBLUE,"You have recieved $5000 for detaining the suspect.");
        GivePlayerMoney(playerid,5000);

        //Put the suspect in the vehicle and increase cuff timer
        PutPlayerInVehicle(ID,LastVehicle[playerid],1);
        CuffTime[ID] =300;
        IsDetained[ID] =1;
        return 1;
    }
    return 1;
}



Re: Breakcuffs bug - maho422 - 05.01.2013

bump