Доступ к готовым решениям

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

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

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

Мануал Работа в порту [new.pwn]

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

Merlin

Умник

Автор: Merlin
[HR][/HR]
Мод: Legend Role Play of Unreal
[HR][/HR]
К new
PHP:
new port;
new bool:PlayerDok[MAX_PLAYERS];
new doks[][1] = {{0}, {1}, {2}};
new portdok = 25;
new prod,topl,boe;
[HR][/HR]
В public OnGameModeInit()//события, когда загружается мод
PHP:
port = CreatePickup(1275, 23, 2772.9888,-2463.0105,13.6373);
[HR][/HR]
В public OnPlayerPickUpPickup(playerid, pickupid)
PHP:
if(pickupid == port)
   {
       if(PlayerDok[playerid] == false)
         {
          if(GetPVarInt(playerid,"JOB1") == 1) SPD(playerid,231,0,"Работа \"Грузчик\"","Вы действительно хотите уволиться с работы?","Да","Нет");
         else SPD(playerid,232,0,"Работа \"Грузчик\"","Вы собираетесь устроиться грузчиком?\n","Да","Нет");
      }
   }
[HR][/HR]
В public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
PHP:
case 232:
    {
        if(response)
        {
            if(GetPVarInt(playerid,"JOB1") == 1) return send(playerid, "Ошибка! Вы уже здесь работаете.");
            SetPVarInt(playerid,"JOB1" ,1);
            SetPVarInt(playerid,"Yash" ,0);
            SetPVarInt(playerid,"YASHIK",0);
            SetPlayerSkin(playerid, 16);
            DisablePlayerCheckpoint(playerid);
            SetPlayerCheckpoint(playerid, 2848.1050,-2452.1558,12.1007, 2.0);
            SendClientMessage(playerid, COLOR_GREEN, "{e49b0f}Рабочий день начат.");
        }
   }
    case 231:
    {
            if(response)
           {
               new string[128];
               if(GetPVarInt(playerid,"JOB1") == 0) return SendClientMessage(playerid, COLOR_GREY, "Ошибка! Вы еще не работаете грузчиком.");
               PlayerInfo[playerid][pCash] += GetPVarInt(playerid,"YASHIK")*portdok;
              format(string, sizeof(string), "{e49b0f} Вы заработали: {34c924}%d$", GetPVarInt(playerid,"YASHIK")*portdok);
              SendClientMessage(playerid, -1, string);
             SetPVarInt(playerid,"JOB1" ,0);
               SetPVarInt(playerid,"Yash" ,0);
               SetPVarInt(playerid,"YASHIK",0);
               DisablePlayerCheckpoint(playerid);
               if(PlayerInfo[playerid][pMember] >= 1) SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
            if(PlayerInfo[playerid][pMember] == 0) SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
            //Update3D();
           }
      }
[HR][/HR]
В public OnPlayerEnterCheckpoint(playerid)// Наступление игроком на Чекпоинт
PHP:
if(PlayerToPoint(2.0, playerid, 2848.1050,-2452.1558,12.1007))
    {
          ApplyAnimation(playerid,"CARRY","crry_prtial",4.1,0,1,1,1,1);
        SetPVarInt(playerid,"Yash",1);
          SetPlayerAttachedObject(playerid, 1 , 2358, 1,0.11,0.36,0.0,0.0,90.0);
        SetPlayerCheckpoint(playerid, 2780.0872,-2449.7361,13.6355, 2.0);
           return true;
    }
    if(PlayerToPoint(2.0, playerid,2780.0872,-2449.7361,13.6355))
    {
            new string[133];
            ClearAnimations(playerid);
          ApplyAnimation(playerid,"PED","IDLE_tired",4.1,1,0,0,0,2500);
          ApplyAnimation(playerid,"PED","IDLE_tired",4.1,1,0,0,0,2500);
          SetPVarInt(playerid,"YASHIK", GetPVarInt(playerid,"YASHIK")+1);
          if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1);
          SetPlayerCheckpoint(playerid, 2848.1050,-2452.1558,12.1007, 2.0);
          SetPVarInt(playerid,"Yash",0);
          format(string, sizeof(string), "{e49b0f}Перенесено ящиков:{34c924} %d шт.",GetPVarInt(playerid,"YASHIK"));
        switch(doks[random(sizeof(doks))][0])
        {
          case 0: prod += 10+random(10);
          case 1: topl += 10+random(10);
          case 2: boe += 20+random(10);
        }
          SendClientMessage(playerid, -1, string);
          return true;
    }
[HR][/HR]
В public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
PHP:
if(newkeys & KEY_JUMP || newkeys & KEY_SECONDARY_ATTACK || newkeys & KEY_FIRE || newkeys & KEY_SUBMISSION || newkeys & KEY_SPRINT)
   {
       if(GetPVarInt(playerid,"Yash") == 1)
      {
          SendClientMessage(playerid,-1,""C1"Вы уронили ящик");
          if(IsPlayerAttachedObjectSlotUsed(playerid,1)) RemovePlayerAttachedObject(playerid,1);
          DisablePlayerCheckpoint(playerid);
          ClearAnimations(playerid);
          SetPlayerCheckpoint(playerid, 2848.1050,-2452.1558,12.1007, 2.0);
          SetPVarInt(playerid,"Yash",0);
      }
   }
[HR][/HR]
В public OnPlayerConnect(playerid)//Вызывается когда игрок подключается к серверу.
PHP:
PlayerDok[playerid] = false;
[HR][/HR]
В конце мода
PHP:
stock EndPlayerCasualJob(playerid)
{
   if(PlayerDok[playerid] == true)
   {
       if(PlayerInfo[playerid][pMember] >= 1) SetPlayerSkin(playerid,PlayerInfo[playerid][pSkin]);
      if(PlayerInfo[playerid][pMember] == 0) SetPlayerSkin(playerid,PlayerInfo[playerid][pChar]);
       new vehicleid = GetJobVehicle[playerid];
       DestroyDynamic3DTextLabel(INFO[vehicleid]);
       KillTimer(ExitCarTimer[playerid]);
        GetJobVehicle[playerid] = INVALID_VEHICLE_ID;
      SetVehicleToRespawn(vehicleid);
      BenzCar[playerid] = 0;
      PlayerDok[playerid] = false;
   }
}
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху Снизу