Question

В чем суть я делал работу Грузчиков, но не обычную, а что бы игрок возил. Там нельзя закончить работать и не выдаются деньги

 

p.s Работа зачинается, но закончить не как, все кода ниже

 

Спойлер

    switch(GetPVarInt(playerid, "Checkpoint"))
    {
        case 1: // PVar "Checkpoint" равен единице если игрок без груза, и двойке если с грузом
        {
            obGruz[playerid] = CreateObject(1224, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0); // Создаём объект (коробка)
            AttachObjectToVehicle(obGruz[playerid], GetPlayerVehicleID(playerid), 0.15600, 1.75970, 0.15650, 0.0, 0.0, 0.0); // Прикрепляем к транспорту игрока (тут сделано немного коряво, нужно подредактировать)
            SetPVarInt(playerid, "Checkpoint", 2); // Присвоили PVar`у двойку, что значит игрок взял груз
            new rand = random(sizeof(cPricep)); // Выбираем любую из 4 возможных точек доставки груза
            SetPlayerCheckpoint(playerid, cPricep[rand][0], cPricep[rand][1], cPricep[rand][2], 3.0); // Отмечаем её игроку
        }
        case 2:
        {
            DestroyObject(obGruz[playerid]); // Удаляем коробку
            SetPVarInt(playerid, "Checkpoint", 1); // Показываем, что игрок теперь без груза
            new rand = random(sizeof(cSklad)); // Выбираем любую из возможных точек откуда можно взять груз
            SetPlayerCheckpoint(playerid, cSklad[rand][0], cSklad[rand][1], cSklad[rand][2], 3.0); // Отмечаем её игроку
            SetPVarInt(playerid, "Cash", GetPVarInt(playerid, "Cash")+300); // Добавляем к зарплате игрока 300 виртов за только что доставленную коробку
            GameTextForPlayer(playerid, "~r~+$300", 1000, 1);
        }
    }

 

Спойлер

    if(pickupid == PickJob)
    {
        switch(GetPVarInt(playerid, "Job"))
        {
            case 0:
            {
                SetPVarInt(playerid, "Old_Skin", GetPlayerSkin(playerid)); // Записываем текущий скин игрока, чтобы выдать его ему по окончанию работы
                SetPVarInt(playerid, "Cash", 0); // Объявил ПВар для хранения заработанных денег
                SetPVarInt(playerid, "Checkpoint", 0); // Для метки
                SetPVarInt(playerid, "JobCar", 0); // Запишем сюда потом ID раб. транспорта в который игрок сядет, если он вылезет из него мы его заспавнем.
                SetPlayerSkin(playerid, 27); // Установили скин рабочий
                SendClientMessage(playerid, 0x2CCD3AFF, "Рабочая смена началась. Возьми свободный погрузчик."); // Показали подсказку
           }
           case 1:
           {
                SendClientMessage(playerid, 0x2CCD3AFF, "Рабочая смена окончена.");
                SetPlayerSkin(playerid, GetPVarInt(playerid, "Old_Skin")); // Вернули старый скин
                GivePlayerMoney(playerid, GetPVarInt(playerid, "Cash")); // Выдали заработанные деньги
                new str[32];
                format(str, sizeof(str), "~g~Zarplata~n~~w~$%d", GetPVarInt(playerid, "Cash"));
                GameTextForPlayer(playerid, str, 3000, 6);
                DeletePVar(playerid, "Cash");
                DeletePVar(playerid, "Checkpoint");
            }
        }
        PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
    }

 

Share this post


Link to post

1 answer to this question

  • 0
 if(pickupid == PickJob)
    {
        switch(GetPVarInt(playerid, "Job"))
        {
            case 0:
            {
                SetPVarInt(playerid, "Old_Skin", GetPlayerSkin(playerid)); // Записываем текущий скин игрока, чтобы выдать его ему по окончанию работы
                SetPVarInt(playerid, "Cash", 0); // Объявил ПВар для хранения заработанных денег
                SetPVarInt(playerid, "Checkpoint", 0); // Для метки
              	SetPVarInt(playerid, "Job", 1); // Даем пвару Job значение 1.
                SetPVarInt(playerid, "JobCar", 0); // Запишем сюда потом ID раб. транспорта в который игрок сядет, если он вылезет из него мы его заспавнем.	  
                SetPlayerSkin(playerid, 27); // Установили скин рабочий
                SendClientMessage(playerid, 0x2CCD3AFF, "Рабочая смена началась. Возьми свободный погрузчик."); // Показали подсказку
           }
           case 1:
           {
                SendClientMessage(playerid, 0x2CCD3AFF, "Рабочая смена окончена.");
                SetPlayerSkin(playerid, GetPVarInt(playerid, "Old_Skin")); // Вернули старый скин
                GivePlayerMoney(playerid, GetPVarInt(playerid, "Cash")); // Выдали заработанные деньги
                new str[32];
                format(str, sizeof(str), "~g~Zarplata~n~~w~$%d", GetPVarInt(playerid, "Cash"));
                GameTextForPlayer(playerid, str, 3000, 6);
                DeletePVar(playerid, "Cash");
                DeletePVar(playerid, "Checkpoint");
                DeletePVar(playerid, "Job"); // обнуляем
            }
        }
        PlayerPlaySound(playerid, 1057, 0.0, 0.0, 0.0);
    }

 

Share this post


Link to post
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

    • Dexter Nomad
      By Dexter Nomad
      При попытке компиляции кода возникает ошибка:
      error 076: syntax error in the expression, or invalid function call
      Не могу найти причину, буду благодарен, если не только укажете, где сама ошибка, но еще и исправите ее.
      Сам код:
          if(strcmp(cmd, "/carsharing", true) == 0)     {         if(IsPlayerConnected(playerid))         {             if(PlayerInfo[playerid][CarLic] == 0) return SCM(playerid, COLOR_RED, "У вас нет вод.прав! Вы можете получить их в автошколе!");         }     }  
    • Sanya_Greison
      By Sanya_Greison
      Куплю РП мод под сервер без бонуса. Бюджет до 150 $
      А также скриптера с Украины
      мой вк vk.com/i_am_sashko