Доступ к архиву

Переход в группу "Пользователь"

300.00 ₽
Одноразовый платёж
Быстрый переход в группу "Пользователи", без надобности написания постов и ожидания.

Покупка дает возможность:
Быть полноправным участником форума
Нормальное копирование кода
Создавать темы
Скачивать файлы
Доступ к архиву Pawno-Info
Статус
В этой теме нельзя размещать новые ответы.

NekiT33RUS

Ученик
Доброго времени суток.
Делаю работу грузчика, такой баг появился: даже если нет мешка в руках и начинаешь прыгать, в чат пишет что уронил его, и так до бесконечности

public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
{
    if(newkeys & KEY_JUMP || newkeys & KEY_FIRE || newkeys & KEY_SECONDARY_ATTACK)  // при нажатии выполняется действие
    {
        if(GetPVarInt(playerid, "load_bags_in_hands") > 0)
        {
            SendClientMessage(playerid, COLOR_RED, "Вы уронили мешок!");
            RemovePlayerAttachedObject(playerid, 2);
            ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1,0,1,1,0,1);
            return DeletePVar(playerid, "loader_bags_in_hands");
        }
    }
	return true;
}

public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 100:
        {
            if(!response)
            {
                if(GetPVarInt(playerid, "loader_job") < 1)
                {
                    SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы не начинали работу");
                    return true;
                }
                else
                {
					if(GetPVarInt(playerid, "loader_money") > 0) return SCM(playerid,COLOR_WHITE, "Вы должны получить зарплату в офисе");
					else
					{
	                    SendClientMessage(playerid, COLOR_GREEN, "Рабочий день окончен");
	                    SetPlayerSkin(playerid, player[playerid][pSkin]);
	                    DeletePVar(playerid, "loader_job");
			            DeletePVar(playerid, "loader_bags");
			            DeletePVar(playerid, "loader_money");
	                    DisablePlayerCheckpoint(playerid);
					}
                    return true;
                }
            }
            if(GetPVarInt(playerid, "loader_job") > 0)
            {
                SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы уже начали работу");
                return true;
            }
            else
            {
                SetPVarInt(playerid, "loader_job", 1);
                SetPlayerSkin(playerid, 260);
                SendClientMessage(playerid, COLOR_GREEN, "Рабочий день начат. (( На радаре помечены места загрузки и разгрузки ))");
                SetPVarInt(playerid, "load_bags_in_hands", 1);
                return true;
            }
        }

public OnGameModeInit()

PHP:
gruz_pick[0] = CreatePickup(1275, 23, 2137.7915,-2282.3511,20.6719, 0);
    gruz_pick[1] = CreatePickup(1274, 23, 2127.6316,-2275.5657,20.6719, 0);
    gruz_pick[2] = CreatePickup(1240, 23, 2131.6370,-2283.1619,20.6719, 0);
    gruz_pick[3] = CreatePickup(2060, 23, 2224.3311,-2277.6963,14.7647, 0);

public OnPlayerStateChange(playerid, newstate, oldstate)
PHP:
{
//================================= Грузчики ===================================
    if(newstate == PLAYER_STATE_DRIVER)
    {
        if(GetPVarInt(playerid, "load_bags_in_hands") > 0)
        {
            SendClientMessage(playerid, COLOR_RED, "Вы уронили мешок!");
            RemovePlayerAttachedObject(playerid, 2);
            ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1,0,1,1,0,1);
            return DeletePVar(playerid, "loader_bags_in_hands");
        }
    }
//==============================================================================
	return true;
}

public OnPlayerEnterCheckpoint(playerid)
PHP:
{
//================================= Грузчики ===================================
    if(IsPlayerInRangeOfPoint(playerid, 2.0, 2224.3311,-2277.6963,14.7647))
    {
        if(GetPVarInt(playerid, "loader_job") > 0)
        {
            SetPlayerCheckpoint(playerid, 2171.8792,-2255.2795,13.3039, 2.0);
            ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1,0,1,1,1,1);
            SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85);
            SetPVarInt(playerid, "loader_bags_in_hands", 1);
            return true;
        }
    }
    if(IsPlayerInRangeOfPoint(playerid, 2.0, 2171.8792,-2255.2795,13.3039))
    {
        if(GetPVarInt(playerid, "loader_job") > 0)
        {
            static const fmt_str[] = "Мешков перетащено: %d";
            new str[sizeof(fmt_str) + (-2+5)];
            DeletePVar(playerid, "loader_bags_in_hands");
            DisablePlayerCheckpoint(playerid);
            SetPVarInt(playerid, "loader_bags", GetPVarInt(playerid, "loader_bags")+1);
            SetPVarInt(playerid, "loader_money", GetPVarInt(playerid, "loader_money")+35);
            RemovePlayerAttachedObject(playerid, 2);
            ApplyAnimation(playerid, "PED", "IDLE_tired", 4.1,0,1,1,0,1);
            format(str, sizeof(str), fmt_str, GetPVarInt(playerid, "loader_bags"));
            SendClientMessage(playerid, COLOR_GREEN, str);
            return true;
        }
    }
//==============================================================================
	return true;
}

public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
{
//================================== Грузчики ==================================
    if(pickupid == gruz_pick[0])
    {
        ShowPlayerDialog(playerid, 100, DIALOG_STYLE_MSGBOX, "Раздевалка", "Вы хотите начать рабочий день, или завершить?", "Начать", "Завершить");
    }
    if(pickupid == gruz_pick[1])
    {
        if(GetPVarInt(playerid, "loader_job") < 1)
        {
            SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы не начинали работу");
            return true;
        }
        if(GetPVarInt(playerid, "loader_money") < 35)
        {
            SendClientMessage(playerid, COLOR_GREY, "[Ошибка] Вы ничего не заработали");
            return true;
        }
        else
        {
            static const fmt_str[] = "~g~+%d$";
            new str[sizeof(fmt_str) + (-2+10)];
            SendClientMessage(playerid, COLOR_GREEN, "Спасибо за работу, приходите ещё");
            format(str, sizeof(str), fmt_str, GetPVarInt(playerid, "loader_money"));
            GameTextForPlayer(playerid, str, 2000, 1);
            player[playerid][pMoney] += GetPVarInt(playerid, "loader_money");
            DeletePVar(playerid, "loader_job");
            DeletePVar(playerid, "loader_bags");
            DeletePVar(playerid, "loader_money");
            SetPlayerSkin(playerid, player[playerid][pSkin]);
            DisablePlayerCheckpoint(playerid);
            return true;
        }
    }
    if(pickupid == gruz_pick[2])
    {
        if(player[playerid][pLevel] > 1) return SendClientMessage(playerid, COLOR_RED, "Только для новичков(1 лвл)");
        SetPlayerHealth(playerid, 100.0);
        return true;
    }
    if(pickupid == gruz_pick[3])
    {
        if(GetPVarInt(playerid, "loader_job") > 0)
        {
            SetPlayerCheckpoint(playerid, 2171.8792,-2255.2795,13.3039, 2.0);
            ApplyAnimation(playerid, "CARRY", "crry_prtial", 4.1,0,1,1,1,1);
            SetPlayerAttachedObject(playerid, 2, 2060, 5, 0.01, 0.1, 0.2, 100, 10, 85);
            SetPVarInt(playerid, "load_bags_in_hands", 1);
            return true;
        }
    }
//==============================================================================
	return true;
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу