• Уважаемый Гость.
    - Прежде чем создать свою тему, пожалуйста, попробуй воспользоваться этим -> ПОИСКОМ !!!
    - После решения Вашего вопроса (проблемы) - нажмите "Лучший ответ", на сообщении, которое его решило. За игнорирование этого действия - Вы получите соответствующее предупреждение. Мы - стараемся Вам помочь. Уделите 10 секунд - чтобы нажать кнопку. (Если у Вас нет такой возможности - укажите в последнем своем сообщении какой ответ Вы считаете лучшим. Наши модераторы сделают это за Вас)
    ЗАПРЕЩЕНО:
    - Cоздавать темы с названиями "Помогите", "Плиз", "Ошибка", "Не могу найти", "Хелп" и тому подобное;
    - Cоздавать темы без детального описания того, что нужно исправить.
    - Cоздавать темы из одного скриншота.
    За игнор правил форума - Ваша тема будет удалена, а Вы получите системное предупреждение.

Как убрать лечение, если игрок попадает в тюрьму после смерти?

Статус
В этой теме нельзя размещать новые ответы.

samperonline

Умник
помогите разобраться игрок попадает в тюрьму после ареста (когда гос сотрудники убивают игрока в розыске) он попадает в тюрьму и у него начинается лечение

это спавн в больнице
C++:
    if(PlayerInfo[playerid][pHospital] == 1)
    {
        switch(random(5))
        {
            case 0: SetSpawnInfoEx(playerid, 1379.7363,824.2398,1049.1451,85.3961);
            case 1: SetSpawnInfoEx(playerid, 1380.1393,828.2863,1049.1451,92.7083);
            case 2: SetSpawnInfoEx(playerid, 1374.0117,829.5414,1049.1451,269.9389);
            case 3: SetSpawnInfoEx(playerid, 1374.0439,826.0952,1049.1451,271.3998);
            case 4: SetSpawnInfoEx(playerid, 1374.2838,822.7759,1049.1451,273.7418);
        }
        SetPlayerInteriorEx(playerid, 1);
        SetPlayerVirtualWorldEx(playerid, 1);
        return true;
    }
спавн в тюрьме
C++:
    if(PlayerInfo[playerid][pJailed])
    {
        if(PlayerInfo[playerid][pJailed] == 4)
        {
            SetSpawnInfoEx(playerid, 766.6920,-68.5695,1001.5692, 177.9913);
            SetPlayerInteriorEx(playerid, 7);
            SetPlayerVirtualWorldEx(playerid, 7);
        }
        else if(PlayerInfo[playerid][pMestoJail] == 1)
        {
            SetSpawnInfoEx(playerid, 264.4434,77.4830,1001.0391,270.1890);
            SetPlayerInteriorEx(playerid, 6);
        }
        else if(PlayerInfo[playerid][pMestoJail] == 2)
        {
            SetSpawnInfoEx(playerid, 264.9435,82.1367,1001.0391,268.4344);
            SetPlayerInteriorEx(playerid, 6);
        }
        else if(PlayerInfo[playerid][pMestoJail] == 3)
        {
            SetSpawnInfoEx(playerid, 264.9278,86.5297,1001.0391,268.4343);
            SetPlayerInteriorEx(playerid, 6);
        }
        return true;
    }
это код когда игрок попытается выйти с тюрьмы* чтобы возвращало обратно, и выход из тюрьмы

C++:
        if(PlayerInfo[i][pJailed] > 0)
        {
            if(GetPVarInt(i, "AFK_Time") < 2) {
                if(!IsPlayerInRangeOfPoint(i,30.0,766.6920,-68.5695,1001.5692) && PlayerInfo[i][pJailed] == 4 && PlayerInfo[i][pMestoJail] == 0)
                {
                    SetPlayerInteriorEx(i, 7);
                    SetPlayerVirtualWorldEx(i,7);
                    SetPPos(i,766.6920,-68.5695,1001.5692);
                    SetPlayerFacingAngle(i, 177.9913);
                   
                }
                else if(!IsPlayerInRangeOfPoint(i,10.0,264.4434,77.4830,1001.0391) && PlayerInfo[i][pMestoJail] == 1)
                {
                    SetPlayerInteriorEx(i, 6);
                    SetPPos(i,264.4434,77.4830,1001.0391);
                    SetPlayerFacingAngle(i, 270.1890);
                }
                else if(!IsPlayerInRangeOfPoint(i,10.0,264.9435,82.1367,1001.0391) && PlayerInfo[i][pMestoJail] == 2)
                {
                    SetPlayerInteriorEx(i, 6);
                    SetPPos(i,264.9435,82.1367,1001.0391);
                    SetPlayerFacingAngle(i,268.4344);
                }
                else if(!IsPlayerInRangeOfPoint(i,10.0,264.9278,86.5297,1001.0391) && PlayerInfo[i][pMestoJail] == 3)
                {
                    SetPlayerInteriorEx(i, 6);
                    SetPPos(i,264.9278,86.5297,1001.0391);
                    SetPlayerFacingAngle(i, 268.4343);
                }
            }
            if(PlayerInfo[i][pJailTime] > 0) PlayerInfo[i][pJailTime]--;
            if(PlayerInfo[i][pJailTime] <= 0)
            {
                if(PlayerInfo[i][pJailed] == 1)
                {
                    if(PlayerInfo[i][pMestoJail] == 1)
                    {
                        SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
                        SetPlayerFacingAngle(i, 88.2892);
                        SetPlayerInteriorEx(i, 0);
                        SetPlayerVirtualWorldEx(i, 0);
                        GameTextForPlayer(i, "~g~~h~~h~Freedom", 5000, 1);
                        SendClientMessage(i, C_ISPOLZUY,"Вы заплатили свой долг обществу, теперь вы свободны!");
                    }
                    if(PlayerInfo[i][pMestoJail] == 2)
                    {
                        SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
                        SetPlayerFacingAngle(i, 88.2892);
                        SetPlayerInteriorEx(i, 0);
                        SetPlayerVirtualWorldEx(i, 0);
                        GameTextForPlayer(i, "~g~~h~~h~Freedom", 5000, 1);
                        SendClientMessage(i, C_ISPOLZUY,"Вы заплатили свой долг обществу, теперь вы свободны!");
                    }
                    if(PlayerInfo[i][pMestoJail] == 3)
                    {
                        SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
                        SetPlayerFacingAngle(i, 88.2892);
                        SetPlayerInteriorEx(i, 0);
                        SetPlayerVirtualWorldEx(i, 0);
                        GameTextForPlayer(i, "~g~~h~~h~Freedom", 5000, 1);
                        SendClientMessage(i, C_ISPOLZUY,"Вы заплатили свой долг обществу, теперь вы свободны!");
                    }
                }
                else if(PlayerInfo[i][pJailed] == 4)
                {
                    SetPPos(i,1545.6829,-1675.5331,13.5608);//Выход Тюрьма
                    SetPlayerFacingAngle(i, 88.2892);
                    SetPlayerInteriorEx(i, 0);
                    SetPlayerVirtualWorldEx(i, 0);
                    SendClientMessage(i, 0x33CC00AA,"Вы вышли из деморгана");
                }
                PlayerInfo[i][pJailTime] = 0;
                PlayerInfo[i][pJailed] = 0;
                PlayerInfo[i][pMestoJail] = 0;
                PlayerInfo[i][pWanted] = 0;
                SetPlayerWantedLevel(i, 0);
                SetPlayerToTeamColor(i);
            }
        }
в public OnPlayerDeath(playerid, killerid, reason) проверка на то чтобы лечение небыло

C++:
if(PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0 && TeamPain[playerid] == 0 && PlayerInfo[playerid][pJailed] == 0 && gPlayerSpawnCamper[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena")) PlayerInfo[playerid][pHospital] = 1;

в том же паблике у меня вот это

C++:
    if(PlayerInfo[playerid][pWanted] > 0 && killerid != INVALID_PLAYER_ID && IsACop(killerid) && TeamPain[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena"))
    {
        if(PlayerInfo[killerid][pMember] == 1) PlayerInfo[playerid][pMestoJail] = 1;
        else if(PlayerInfo[killerid][pMember] == 2) PlayerInfo[playerid][pMestoJail] = 2;
        PlayerInfo[playerid][pJailTime] = (PlayerInfo[playerid][pWanted]*600);
        SendMes(playerid,COLOR_ORANGE, "Вы посажены в тюрьму на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
        SendMes(killerid,C_BLUE, "Вы посадили преступника на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
        GiveMoney(killerid, 1);
        PlayerInfo[playerid][pCash]-=PlayerInfo[playerid][pWanted];
        format(stringer1, sizeof(stringer1), "~r~-$%i", PlayerInfo[playerid][pWanted]);
        GameTextForPlayer(playerid, stringer1, 5000, 1);
        PlayerInfo[playerid][pWanted] = 0;
        PlayerInfo[playerid][pJailed] = 1;
        SetPlayerWantedLevel(playerid,0);
        SetPlayerHealthAC(playerid, 100.0);
        ResetWeapons(playerid);
    }
пробовал следующее


PlayerInfo[playerid][pMestoJail] = 0 не помогло

C++:
if(PlayerInfo[playerid][pMember] == 0 && PlayerInfo[playerid][pLeader] == 0 && PlayerInfo[playerid][pMestoJail] = 0 && TeamPain[playerid] == 0 && PlayerInfo[playerid][pJailed] == 0 && gPlayerSpawnCamper[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena")) PlayerInfo[playerid][pHospital] = 1;


потом попробовал так
PlayerInfo[playerid][pHospital] = 1;
тоже не помогло

C++:
    if(PlayerInfo[playerid][pWanted] > 0 && killerid != INVALID_PLAYER_ID && IsACop(killerid) && TeamPain[playerid] == 0 && !GetPVarInt(playerid, "on_dmarena")) PlayerInfo[playerid][pHospital] = 1;
    {
        if(PlayerInfo[killerid][pMember] == 1) PlayerInfo[playerid][pMestoJail] = 1;
        else if(PlayerInfo[killerid][pMember] == 2) PlayerInfo[playerid][pMestoJail] = 2;
        PlayerInfo[playerid][pJailTime] = (PlayerInfo[playerid][pWanted]*600);
        SendMes(playerid,COLOR_ORANGE, "Вы посажены в тюрьму на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
        SendMes(killerid,C_BLUE, "Вы посадили преступника на %i секунд!",(PlayerInfo[playerid][pWanted]*600));
        GiveMoney(killerid, 1);
        PlayerInfo[playerid][pCash]-=PlayerInfo[playerid][pWanted];
        format(stringer1, sizeof(stringer1), "~r~-$%i", PlayerInfo[playerid][pWanted]);
        GameTextForPlayer(playerid, stringer1, 5000, 1);
        PlayerInfo[playerid][pWanted] = 0;
        PlayerInfo[playerid][pJailed] = 1;
        SetPlayerWantedLevel(playerid,0);
        SetPlayerHealthAC(playerid, 100.0);
        ResetWeapons(playerid);
    }
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу