Рекомендованные сообщения



4 posts in this topic

Привет, я делал работу, но я хочу сделать что бы выдавался скин и когда человек заканчивал работать у него он пропадал

 

Спойлер

new LesJob[MAX_PLAYERS];

 

Спойлер

public OnPlayerDisconnect(playerid, reason)
{
    LesJob[playerid] = 0;
}

 

Спойлер

        if(LesJob[playerid] == 1)
        {
            if(IsPlayerAttachedObjectSlotUsed(playerid, 1))
            {
                SendClientMessage(playerid, COLOR_YELLOW, "Информация: {ffffff}Вы уронили древесину.");
                RemovePlayerAttachedObject(playerid,1);// Удаляем объект из рук
                RemovePlayerAttachedObject(playerid,2);// Удаляем объект из рук
                SetPlayerAttachedObject(playerid,0,341,6);
                DisablePlayerCheckpoint(playerid);//Удаляем старый чекпоинт
                pLes[playerid]=cLesIN;//Показываем снова откуда брать
                  ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
                switch(random(8))
                {
                    case 0: SetPlayerCheckpoint(playerid, 1777.4689,1376.9280,9.7621, 2.0);
                    case 1: SetPlayerCheckpoint(playerid, 1770.4738,1370.3153,9.7621, 2.0);
                    case 2: SetPlayerCheckpoint(playerid, 1765.9247,1347.9548,9.7556, 2.0);
                    case 3: SetPlayerCheckpoint(playerid, 1747.8583,1343.0192,9.7556, 2.0);
                    case 4: SetPlayerCheckpoint(playerid, 1751.6307,1335.2753,9.7556, 2.0);
                    case 5: SetPlayerCheckpoint(playerid, 1758.4377,1415.1527,9.7621, 2.0);
                    case 6: SetPlayerCheckpoint(playerid, 1776.0068,1406.7897,9.7814, 2.0);
                    case 7: SetPlayerCheckpoint(playerid, 1808.8218,1417.3912,9.7621, 2.0);
                }
            }
        }
        ////////////////////////////////////////////////////////////////////////////
    }

 

Спойлер

      if(LesJob[playerid] == 1)
    {
        switch(pLes[playerid])
         {
                case cLesIN://Пришли,взяли,нам показали куда идти.
                {
                    SetPlayerSkin(playerid,161);
                    new player_state = GetPlayerState(playerid);
                    if(player_state == PLAYER_STATE_DRIVER || player_state == PLAYER_STATE_PASSENGER) return false;
                    DisablePlayerCheckpoint(playerid);
                    pLes[playerid]=cLesOUT;
                    if(pila[playerid] == 1)
                    {
                        ApplyAnimation(playerid,"CHAINSAW","WEAPON_csaw",1.0,1,0,0,0,3000,0);
                        SetTimerEx("WoodLoaded",3000,false,"i",playerid);
                    }
                    else
                    {
                        ApplyAnimation(playerid,"CHAINSAW","WEAPON_csaw",1.0,1,0,0,0,9000,0);
                        SetTimerEx("WoodLoaded",9000,false,"i",playerid);
                    }
                }
                case cLesOUT:
                {
                    bag[playerid] = 20 + random(60);
                    DisablePlayerCheckpoint(playerid);//Удаляем старый чекпоинт
                    pLes[playerid]=cLesIN;//Показываем снова откуда брать
                    RemovePlayerAttachedObject(playerid,1);// Удаляем объект из рук
                    RemovePlayerAttachedObject(playerid,2);// Удаляем объект из рук
                    SetPlayerAttachedObject(playerid,0,341,6);
                       ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
                    switch(random(8))
                    {
                        case 0: SetPlayerCheckpoint(playerid, 1777.4689,1376.9280,9.7621, 2.0);
                        case 1: SetPlayerCheckpoint(playerid, 1770.4738,1370.3153,9.7621, 2.0);
                        case 2: SetPlayerCheckpoint(playerid, 1765.9247,1347.9548,9.7556, 2.0);
                        case 3: SetPlayerCheckpoint(playerid, 1747.8583,1343.0192,9.7556, 2.0);
                        case 4: SetPlayerCheckpoint(playerid, 1751.6307,1335.2753,9.7556, 2.0);
                        case 5: SetPlayerCheckpoint(playerid, 1758.4377,1415.1527,9.7621, 2.0);
                        case 6: SetPlayerCheckpoint(playerid, 1776.0068,1406.7897,9.7814, 2.0);
                        case 7: SetPlayerCheckpoint(playerid, 1808.8218,1417.3912,9.7621, 2.0);
                    }
                    new stri[512];
                    bagALL[playerid] += bag[playerid];
                    format(stri, 512, "Информация: {ffffff}Вы принесли: %d древесины.", bag[playerid]);//Простейший формат.
                    SendClientMessage(playerid, COLOR_YELLOW, stri);//Отошлем сколько в итоге мы перенесли
                }
          }
      }

 

Спойлер

      if(LesJob[playerid] == 1)
    {
        switch(pLes[playerid])
         {
                case cLesIN://Пришли,взяли,нам показали куда идти.
                {
                    SetPlayerSkin(playerid,161);
                    new player_state = GetPlayerState(playerid);
                    if(player_state == PLAYER_STATE_DRIVER || player_state == PLAYER_STATE_PASSENGER) return false;
                    DisablePlayerCheckpoint(playerid);
                    pLes[playerid]=cLesOUT;
                    if(pila[playerid] == 1)
                    {
                        ApplyAnimation(playerid,"CHAINSAW","WEAPON_csaw",1.0,1,0,0,0,3000,0);
                        SetTimerEx("WoodLoaded",3000,false,"i",playerid);
                    }
                    else
                    {
                        ApplyAnimation(playerid,"CHAINSAW","WEAPON_csaw",1.0,1,0,0,0,9000,0);
                        SetTimerEx("WoodLoaded",9000,false,"i",playerid);
                    }
                }
                case cLesOUT:
                {
                    bag[playerid] = 20 + random(60);
                    DisablePlayerCheckpoint(playerid);//Удаляем старый чекпоинт
                    pLes[playerid]=cLesIN;//Показываем снова откуда брать
                    RemovePlayerAttachedObject(playerid,1);// Удаляем объект из рук
                    RemovePlayerAttachedObject(playerid,2);// Удаляем объект из рук
                    SetPlayerAttachedObject(playerid,0,341,6);
                       ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
                    switch(random(8))
                    {
                        case 0: SetPlayerCheckpoint(playerid, 1777.4689,1376.9280,9.7621, 2.0);
                        case 1: SetPlayerCheckpoint(playerid, 1770.4738,1370.3153,9.7621, 2.0);
                        case 2: SetPlayerCheckpoint(playerid, 1765.9247,1347.9548,9.7556, 2.0);
                        case 3: SetPlayerCheckpoint(playerid, 1747.8583,1343.0192,9.7556, 2.0);
                        case 4: SetPlayerCheckpoint(playerid, 1751.6307,1335.2753,9.7556, 2.0);
                        case 5: SetPlayerCheckpoint(playerid, 1758.4377,1415.1527,9.7621, 2.0);
                        case 6: SetPlayerCheckpoint(playerid, 1776.0068,1406.7897,9.7814, 2.0);
                        case 7: SetPlayerCheckpoint(playerid, 1808.8218,1417.3912,9.7621, 2.0);
                    }
                    new stri[512];
                    bagALL[playerid] += bag[playerid];
                    format(stri, 512, "Информация: {ffffff}Вы принесли: %d древесины.", bag[playerid]);//Простейший формат.
                    SendClientMessage(playerid, COLOR_YELLOW, stri);//Отошлем сколько в итоге мы перенесли
                }
          }
      }

 

Спойлер

    if(LesJob[playerid] == 1)
    {
        if(IsPlayerAttachedObjectSlotUsed(playerid, 1))
        {
             if((newkeys & KEY_JUMP) && !(oldkeys & KEY_JUMP) || (newkeys & KEY_FIRE) || (newkeys & KEY_CROUCH))
            {
                SendClientMessage(playerid, COLOR_YELLOW, "Информация: {ffffff}Вы уронили древесину.");
                DisablePlayerCheckpoint(playerid);//Удаляем старый чекпоинт
                pLes[playerid]=cLesIN;//Показываем снова откуда брать
                RemovePlayerAttachedObject(playerid,1);// Удаляем объект из рук
                RemovePlayerAttachedObject(playerid,2);
                SetPlayerAttachedObject(playerid,0,341,6);
                  ApplyAnimation(playerid,"PED","IDLE_tired",4.1,0,1,1,0,1);
                switch(random(8))
                {
                    case 0: SetPlayerCheckpoint(playerid, 1777.4689,1376.9280,9.7621, 2.0);
                    case 1: SetPlayerCheckpoint(playerid, 1770.4738,1370.3153,9.7621, 2.0);
                    case 2: SetPlayerCheckpoint(playerid, 1765.9247,1347.9548,9.7556, 2.0);
                    case 3: SetPlayerCheckpoint(playerid, 1747.8583,1343.0192,9.7556, 2.0);
                    case 4: SetPlayerCheckpoint(playerid, 1751.6307,1335.2753,9.7556, 2.0);
                    case 5: SetPlayerCheckpoint(playerid, 1758.4377,1415.1527,9.7621, 2.0);
                    case 6: SetPlayerCheckpoint(playerid, 1776.0068,1406.7897,9.7814, 2.0);
                    case 7: SetPlayerCheckpoint(playerid, 1808.8218,1417.3912,9.7621, 2.0);
                }
            }
        }
    }

 

Спойлер

      if(IsPlayerInRangeOfPoint(playerid,2.0,1831.1531,1450.1713,9.7621))
    {
          if(newkeys == KEY_WALK)
          {
               if(LesJob[playerid] == 0)
             {
                  ShowPlayerDialogFix(playerid,d3,DIALOG_STYLE_MSGBOX,""hEVENCE"Лесопилка","{ffffff}Вы прибыли на работу "hEVENCE"лесоруба.\n{ffffff}Ваша задача состоит в том, чтобы срубать деревья и носить древесину на склад.\n\n{FFFFFF}Вы желаете начать работу?","Да","Нет");//Покажем диалог если зашли на пикап
            }
            if(LesJob[playerid] == 1)
            {
                ShowPlayerDialogFix(playerid,d4,DIALOG_STYLE_MSGBOX,""hEVENCE"Лесопилка","{ffffff}Вы желаете закончить рабочий день и забрать деньги?","Да","Нет");//Покажем диалог если зашли на пикап
            }
        }
      }

 

Спойлер

        case d3:
        {
            if(!response) return true;
              if(response)//Если нажали на левую кнопку
             {
                 if(LesJob[playerid] == 0)
                 {
                        SetPlayerSkin(playerid,161);
                        SendClientMessage(playerid, COLOR_YELLOW, "Информация: {ffffff}Теперь отправляйтесь срубать деревья в лес.");
                        LesJob[playerid] = 1;
                        pLes[playerid]=cLesIN;//Установим значения чекпоинта на показ его.
                        SetPlayerAttachedObject(playerid,0,341,6);
                        switch(random(8))
                        {
                            case 0: SetPlayerCheckpoint(playerid, 1777.4689,1376.9280,9.7621, 2.0);
                            case 1: SetPlayerCheckpoint(playerid, 1770.4738,1370.3153,9.7621, 2.0);
                            case 2: SetPlayerCheckpoint(playerid, 1765.9247,1347.9548,9.7556, 2.0);
                            case 3: SetPlayerCheckpoint(playerid, 1747.8583,1343.0192,9.7556, 2.0);
                            case 4: SetPlayerCheckpoint(playerid, 1751.6307,1335.2753,9.7556, 2.0);
                            case 5: SetPlayerCheckpoint(playerid, 1758.4377,1415.1527,9.7621, 2.0);
                            case 6: SetPlayerCheckpoint(playerid, 1776.0068,1406.7897,9.7814, 2.0);
                            case 7: SetPlayerCheckpoint(playerid, 1808.8218,1417.3912,9.7621, 2.0);
                        }
                  }
             }
        }
        case d4:
        {
            if(!response) return true;
              if(response)//Если нажали на левую кнопку
             {
                if(LesJob[playerid] == 1)
                {

                    LesJob[playerid] = 0;//Вернем на 0 чтобы мы могли снова работать
                    new string[512];
                    format(string, 512, "Информация: {ffffff}Вы заработали: {63BD4E}%d рублей{ffffff}.", bagALL[playerid]*3);//Кол-во умноженное на то же число что и зп.
                    SendClientMessage(playerid, COLOR_GREEN, string);
                    if(PLAYER_DATA[playerid][data_MEMBER] != 0 && PLAYER_DATA[playerid][data_JOBIN] == 1)SetPlayerSkinAC(playerid,PLAYER_DATA[playerid][data_SKINM]);
                       else SetPlayerSkinAC(playerid,PLAYER_DATA[playerid][data_OSNSLOT]);
                    give_player_money(playerid,bagALL[playerid]*3,"#5");
                    bagALL[playerid] = 0;
                    bag[playerid] = 0;
                    DisablePlayerCheckpoint(playerid);//Удаляем старый чекпоинт
                    RemovePlayerAttachedObject(playerid,1);// Удаляем объект из рук
                    RemovePlayerAttachedObject(playerid,0);// Удаляем объект из рук
                    RemovePlayerAttachedObject(playerid,2);// Удаляем объект из рук
                  }
             }
        }
        case d5:
        {
              if(response)//Если нажали на левую кнопку
             {
                if(pila[playerid] == 1) return SendClientMessage(playerid, COLOR_GREY, "У Вас уже есть новая бензопила!");
                if(LesJob[playerid] != 1) return SendClientMessage(playerid, COLOR_GREY, "Только для лесорубов!");
                if(get_player_money(playerid) < 1000) return SendClientMessage(playerid, COLOR_YELLOW, "Ошибка: {ffffff}У Вас недостаточно средств!");
                give_player_money(playerid,-1000,"#5");
                 pila[playerid] = 1;
                 SendClientMessage(playerid, COLOR_YELLOW, "Спасибо за покупку! Удачи тебе в работе...");
             }
         }

 

Share this post


Link to post
Share on other sites

В case d3: добавь SetPlayerSkin(playerid,ИД СКИНА);

Share this post


Link to post
Share on other sites

@Lil Pokemon А как сделать после как игрок закончит работать скин обратно давался?

Share this post


Link to post
Share on other sites

@Lil Pokemon Извиняюсь, я понял, Спасибо огромное!

 

p.s С Наступающим :3

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • Feris
      By Feris
      Приветствую всех, Вы ищете SA-MP серверы Freeroam ? Вот, пожалуйста!

      Языковые серверы: Английский/Чешский/Словацкий

      Посетите наши SA-MP серверы :

      Сервер 1 0.3.7 Клиентский сервер:
      Для подключения: play.superparba.eu:7777

      Сервер 2 0.3DL Клиентский сервер собственные острова и новые сюжетные миссии:
      Для подключения: Dl.superparba.eu:7777

      Сайт сервера: SuperParba.eu

      Discord: https://discord.com/invite/VRrtbsCJgb

      Почему вы должны играть на наших игровых серверах?

      SuperParba построен на создании сообщества и его характера, в котором вы можете управлять своим собственным
      бизнесом, покупать недвижимость, компании, быть членом банды - участвовать в гонках, бороться за территорию, захватывать склады в уникальной игре GANG.
      захватывать склады в уникальной системе GANG. Множество различных мероприятий от команды администрации, таких как
      Fallout, Sky (street) races, Color Dash, Runners VS Riders, Shooters VS Riders, Random events, Hit & Run,
      Тюнинг события, Дерби, Смертельные события, DM ... будут проходить каждый день и дополняться МЕГА
      событиями, которые проходят в течение нескольких недель! Мы работаем с 2008 года, сервер прошел
      через сотни полноценных обновлений из предложений по улучшению сервера от игрового
      сообщества! PARTY СЕРВЕР с игровым режимом RZE 10.1 режим попадает прямо под кожу, такова
      SuperParba!

      - Профессиональная команда администраторов, которая следит за порядком, создает веселье и помогает игрокам с любой проблемой.
      Если вы не знаете, как справиться с чем-то, используйте /ask, чтобы отправить свой вопрос напрямую к
      Администраторам, и вы получите ответ в кратчайшие сроки.

      - Для новичков был добавлен краткий учебник. Для навигации к месту запуска используйте команду
      /tutorial. Завершив учебник с 0 часов игры, новичок получит 7 дней
      премиум классик бесплатно.

      - Игроки нашли много веселья, эмоций, поворотов, друзей, новостей и воспоминаний за эти 12
      лет. Есть даже несколько реальных отношений, с которыми они познакомились в SuperParba. Это будет
      безумие, когда они расскажут об этом своим детям. Игроки рады вернуться на наш сервер, так что приходите и присоединяйтесь к нашей
      семье!

      Спасибо, что читаете.
    • panda1999
      By panda1999
      Ищу команду для открытие Торговой площадки Котороя готова вложиться на разработку писать в лс на сайте или вк https://vk.com/panda131999
      Скрин шот главной страницы


    • Zerno303
      By Zerno303


      Просмотр файла Продажа мода Race RP.
      -------------------------------------------------------------------------------------------------------------------
      ВАЖНО!
      Перед покупкой лучше спросите лишний раз, чем потом кидать претензии в мою сторону!
      -------------------------------------------------------------------------------------------------------------------
      Доброго времени суток! Этот мод подойдёт по основу и даже под открытие.
      9 уровней админки.
      Лидерки: Мэрия, ГУВД, УГИБДД, ФСБ, Больница, Автошкола, Южная ОПГ, Арзамасская ОПГ, Армия, Лыткаринская ОПГ, Батыревская ОПГ,, RECORD FM и Спецназ.
      Работы: Городской склад, Шахта, Лесопилка и Автомеханик.
      crmp 0.3e
      Нет сборки. 
      Мод-пак есть. Если понадобится пишите в лс.
      Добавил Zerno303 Добавлено 16.10.2021 Категория Моды Автор Zerno303  
    • Zerno303
      By Zerno303
      -------------------------------------------------------------------------------------------------------------------
      ВАЖНО!
      Перед покупкой лучше спросите лишний раз, чем потом кидать претензии в мою сторону!
      -------------------------------------------------------------------------------------------------------------------
      Доброго времени суток! Этот мод подойдёт по основу и даже под открытие.
      9 уровней админки.
      Лидерки: Мэрия, ГУВД, УГИБДД, ФСБ, Больница, Автошкола, Южная ОПГ, Арзамасская ОПГ, Армия, Лыткаринская ОПГ, Батыревская ОПГ,, RECORD FM и Спецназ.
      Работы: Городской склад, Шахта, Лесопилка и Автомеханик.
      crmp 0.3e
      Нет сборки. 
      Мод-пак есть. Если понадобится пишите в лс.