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

Почему не работает система спаррингов?

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

Xxxtreton

Умник
Всем здравствуйте, система не работает сейчас скажу в чем проблема, при смерти оппонента, ничего не происходит хотя спарринг начинается
команда чтобы начать спарринг:
Код:
CMD:gofight(playerid, params[])
{
    if(IsPlayerInRangeOfPoint(playerid, 25.0, 765.0000, 5.5000, 1000.0000) == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Необходимо находиться в спортзале") & 0x1;

    new sport_count = -1;
    if(SportData[State] != -1) return SendClientMessage(playerid, 0xCCCCCCFF, "Сейчас ринг занят");

    for(new i = 0; i != 10; i ++)
    {
        if(SportData[Give][i] == playerid || SportData[Take][i] == playerid) sport_count = i;
    }
    if(sport_count == -1) return SendClientMessage(playerid, 0xCCCCCCFF, "Вас нет в списке на участие в бою") & 0x1;

    new playerid_0 = SportData[Give][sport_count];
    new playerid_1 = SportData[Take][sport_count];

    if(GetPlayerSkin(playerid_0) != 80 && GetPlayerSkin(playerid_0) != 81 && GetPlayerSkin(playerid_0) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Для начала нужно одеть спортивную форму") & 0x1;
    if(GetPlayerSkin(playerid_1) != 80 && GetPlayerSkin(playerid_1) != 81 && GetPlayerSkin(playerid_1) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Ваш соперник не в спортивной форме") & 0x1;
    if(GetPlayerDistanceToPlayer(playerid, playerid_1) > 10.0) return ErrorMessage(playerid, "Игрок слишком далеко")  & 0x1;
    switch(random(2))
    {
    case 0: {
        SetPlayerPosAC(playerid_0, 763.1276, -1.9598, 1001.5942, 0, 5);
        SetPlayerFacingAngle(playerid_0, 46.0000);
        SetCameraBehindPlayer(playerid_0);

        SetPlayerPosAC(playerid_1, 758.6279, 2.4567, 1001.5942, 0, 5);
        SetPlayerFacingAngle(playerid_1, 219.0000);
        SetCameraBehindPlayer(playerid_1);
    }
    case 1: {
        SetPlayerPosAC(playerid_1, 763.1276, -1.9598, 1001.5942, 0, 5);
        SetPlayerFacingAngle(playerid_1, 46.0000);
        SetCameraBehindPlayer(playerid_1);

        SetPlayerPosAC(playerid_0, 758.6279, 2.4567, 1001.5942, 0, 5);
        SetPlayerFacingAngle(playerid_0, 219.0000);
        SetCameraBehindPlayer(playerid_0);
    }
    }
    PlayerBoxTime[playerid_0] = 3;
    PlayerBoxTime[playerid_1] = 3;

    FreezePlayerForTime(playerid_0, 4);
    FreezePlayerForTime(playerid_1, 4);
    SetPlayerHealth(playerid_0, 100.0);
    SetPlayerHealth(playerid_1, 100.0);
    SportData[State] = sport_count;
    return 0x1;
}
команда чтобы предложить спарринг:
PHP:
CMD:fight(playerid, params[])
{
    if(IsPlayerInRangeOfPoint(playerid, 25.0, 765.0000, 5.5000, 1000.0000) == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Необходимо находиться в спортзале") & 0x1;
    if(GetPlayerSkin(playerid) != 80 && GetPlayerSkin(playerid) != 81 && GetPlayerSkin(playerid) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Для начала нужно одеть спортивную форму") & 0x1;
    if(sscanf(params, "id", params[0], params[1])) return SendClientMessage(playerid, 0xFFFFFFFF, "Введите: /fight [id] [ставка]") & 0x1;
    if(GetPlayerSkin(params[0]) != 80 && GetPlayerSkin(params[0]) != 81 && GetPlayerSkin(params[0]) != 192) return SendClientMessage(playerid, 0xCCCCCCFF, "Данный игрок не в спортивной форме") & 0x1;
    if(IsPlayerConnected(params[0]) == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Данный игрок оффлайн") & 0x1;
    if(PlayerBoxContract[params[0]] != 0xFFFF) return SendClientMessage(playerid, 0xCCCCCCFF, "Данный игрок уже заявлен с кем то на бой") & 0x1;
    if(GetPlayerDistanceToPlayer(playerid, params[0]) > 10.0) return ErrorMessage(playerid, "Игрок слишком далеко")  & 0x1;
    if(params[1] < 1000 || params[1] > 100000) return SendClientMessage(playerid, 0xCCCCCCFF, "Ставка не может быть менее 1.000 и более 100.000 вирт") & 0x1;
    if(GetPlayerMoneyEx(playerid) < params[1])
        return SendClientMessage(playerid, 0xCCCCCCFF, "У вас недостаточно денежный средств") & 0x1;


    new sport_coint = 0;
    for(new i = 0; i != 10; i ++) if(SportData[Give][i] == 0xFFFF && SportData[Take][i] == 0xFFFF) sport_coint ++;
    if(sport_coint == 0) return SendClientMessage(playerid, 0xCCCCCCFF, "Все места на участие в поединках заняты") & 0x1;

    PlayerBoxBank[playerid] = params[1];
    PlayerBoxBank[params[0]] = params[1];
    PlayerBoxContract[playerid] = params[0];
    PlayerBoxContract[params[0]] = playerid;

    new string[512];
    format(string, sizeof(string), "Вы предложили участие в поединке "P"%s"G" за "ORANGE"$%d", player_name[params[0]], params[1]);
    SendUse(playerid, string);

    format(string, sizeof(string), ""P"%s"G" предложил Вам участие в поединке за "ORANGE"$%d", player_name[playerid], params[1]);
    SendUse(params[0], string);

    SendClientMessage(params[0], COLOR_BLUE, "Нажмите "YES"Y "BLUE"чтобы согласиться "NO"N "BLUE"для отказа");
    return 0x1;
}
public onplayerdeath:
Код:
if(UsePlayerSportBox[playerid] != 0 && killerid)
    {
        for(new i = 0; i != 10; i ++)
        {
            if(SportData[State] == SportData[Give][i] || SportData[State] == SportData[Take][i])
            {
                new SlotID = SportData[State];
                if(SportData[Give][SlotID] == playerid || SportData[Take][SlotID] == playerid)
                {
                    SendClientMessage(playerid, 0x00FF00FF, "Бой окончен, вы проиграли");
                }
                if(SportData[Give][SlotID] == killerid || SportData[Take][SlotID] == killerid)
                {
                    SendClientMessage(killerid, 0x00FF00FF, "Бой окончен, вы победили");
                }

                SportData[State] = -1;
                PlayerBoxBank[playerid] = 0;
                PlayerBoxBank[killerid] = 0;
                SportData[Give][SlotID] = 0xFFFF;
                SportData[Take][SlotID] = 0xFFFF;
                GiveMoney(killerid, SportData[Bank][SlotID], "Победа в бою в спортзале");
                SetPlayerPosAC(killerid, 770.7805, 5.3604, 1000.7148, 0, 5);
                SetPlayerFacingAngle(killerid, 90.0000);
            }
        }
    }
    }
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу