Работа дальнобойщика ( урок ) - Форум Cheat-Master.ru
  • Страница 1 из 1
  • 1
Модератор форума: Phoenixxx_Czar, Getbackthere, [CM]OlegEhtler  
Работа дальнобойщика ( урок )
[CM]Mikki Дата: Среда, 24.10.2012, 17:14 | Сообщение # 1
Боец
Сообщений: 98
Статус: Offline
Code
new takeload[MAX_PLAYERS]; // Вставляем ко всем new
new gruz[MAX_PLAYERS]; // Вставляем ко всем new
new gruz1[MAX_PLAYERS];  // Вставляем ко всем new

В OnPlayerCommandText:

Code
if(strcmp(cmd, "/takeload", true) == 0)
      {
          if(PlayerInfo[playerid][pJob] != 6) return SendClientSendClientMessagee(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы не дальнобойщик, используйте (( /job )).");
          if(takeload[playerid] == 1) return SendClientSendClientMessagee(playerid, COLOR_GREY, "{FF0000}[Недоступно]{ffffff} Вы уже взяли задание.");
          new model = GetVehicleModel(GetPlayerVehicleID(playerid));
          if(GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==515 || GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==514 || GetPlayerState(playerid) != PLAYER_STATE_DRIVER && model==403) return SendClientMessagee(playerid,COLOR_GRAD,"{ff0000}[Недоступно]{ffffff} Вы должны находиться в фуре, за рулём.");
          if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessagee(playerid,COLOR_GREY,"{FF0000}[Недоступно]{ffffff} Вы без прицепа, подцепите прицеп для начала грузоперевозки.");
          new tasks = random(2);
          switch(tasks)
          {
          case 0:
              {
                  SendClientMessagee(playerid, COLOR_WHITE, "- Здравствуйте, доставьте груз до места назначения №1.");
                  SendClientMessagee(playerid, COLOR_WHITE, "- По прибытию вы получите зарплату, удачи.");
                  takeload[playerid] = 1;
                  gruz[playerid] = 1;
                  SetPlayerCheckpoint(playerid, 264.1020,1409.9296,10.4917, 3.0);
                  return 1;
              }
          case 1:
              {
                  SendClientMessagee(playerid, COLOR_WHITE, "- Здравствуйте, доставьте груз до места назначения №2.");
                  SendClientMessagee(playerid, COLOR_WHITE, "- По прибытию вы получите зарплату, удачи.");
                  takeload[playerid] = 1;
                  gruz1[playerid] = 1;
                  SetPlayerCheckpoint(playerid, 264.1020,1409.9296,10.4917, 3.0);
                  return 1;
              }
          }
      }  

В public OnPlayerEnterCheckpoint(playerid):

Code
if(gruz[playerid] == 1)
      {
          if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,COLOR_GREY,"{FF0000}[Недоступно]{ffffff} Вы без прицепа.");
          takeload[playerid] = 0;
          SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
          DisablePlayerCheckpoint(playerid);
          gruz[playerid] = 0;
          new rand;
          new strings[256];
          new level = PlayerInfo[playerid][pTruckSkill];
          if(level >= 0 && level <= 20) { rand = 600-random(800); }
          else if(level >= 21 && level <= 50) { rand = 1200-random(1400); }
          else if(level >= 51 && level <= 100) { rand = 1800-random(2000); }
          else if(level >= 101 && level <= 225) { rand = 3600-random(5000); }
          GivePlayerMoney(playerid, rand);
          new rand1;
          format(strings, sizeof(strings),"Груз {ff0000}№1{ffffff} успешно доставлен. Ваша зарплата: {ff0000}$%d{ffffff}.", rand);
          SendClientMessage(playerid, COLOR_WHITE, strings);
          PlayerInfo[playerid][pTruckSkill] ++;
          if(PlayerInfo[playerid][pTruckSkill] == 20)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 2, теперь вы получаете больше денег за доставку груза."); }
          else if(PlayerInfo[playerid][pTruckSkill] == 50)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 3, теперь вы получаете больше денег за доставку груза."); }
          else if(PlayerInfo[playerid][pTruckSkill] == 100)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 4, теперь вы получаете больше денег за доставку груза."); }
          else if(PlayerInfo[playerid][pTruckSkill] == 225)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика максимальный, теперь вы получаете более $3600 денег за доставку груза."); }
      }
      if(gruz1[playerid] == 1)
      {
          if(!IsTrailerAttachedToVehicle(GetPlayerVehicleID(playerid))) return SendClientMessage(playerid,COLOR_GREY,"{FF0000}[Недоступно]{ffffff} Вы не без прицепа.");
          SetVehicleToRespawn(GetVehicleTrailer(GetPlayerVehicleID(playerid)));
          DisablePlayerCheckpoint(playerid);
          gruz1[playerid] = 0;
          new rand2;
          new strings[256];
          new level = PlayerInfo[playerid][pTruckSkill];
          if(level >= 0 && level <= 20) { rand2 = 680-random(880); }
          else if(level >= 21 && level <= 50) { rand2 = 1280-random(1480); }
          else if(level >= 51 && level <= 100) { rand2 = 1880-random(2880); }
          else if(level >= 101 && level <= 225) { rand2 = 3680-random(6980); }
          GivePlayerMoney(playerid, rand2);
          format(strings, sizeof(strings),"Груз {ff0000}№2{ffffff} успешно доставлен. Ваша зарплата: {ff0000}$%d{ffffff}.", rand2);
          SendClientMessage(playerid, COLOR_WHITE, strings);
          PlayerInfo[playerid][pTruckSkill] ++;
          if(PlayerInfo[playerid][pTruckSkill] == 20)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 2, теперь вы получаете больше денег за доставку груза."); }
          else if(PlayerInfo[playerid][pTruckSkill] == 50)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 3, теперь вы получаете больше денег за доставку груза."); }
          else if(PlayerInfo[playerid][pTruckSkill] == 100)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика 4, теперь вы получаете больше денег за доставку груза."); }
          else if(PlayerInfo[playerid][pTruckSkill] == 225)
          { SendClientSendClientMessage(playerid, COLOR_YELLOW, "Ваш скилл дальнобойщика максимальный, теперь вы получаете более $3680 денег за доставку груза."); }
      }  

ну в общем она и готова приступим к созданию скиллов
Code
В pInfo:
pTruckSkill,

В OnPlayerRegister:
Code
iniSetInt(File, "TruckSkill", PlayerInfo[playerid][pTruckSkill]);  

В OnPlayerLogin:
Code
iniGetInt(File,"TruckSkill", PlayerInfo[playerid][pTruckSkill]);

В stock SavePlayer: (( Может по другому называется ))
Code
iniSetInt(File, "TruckSkill", PlayerInfo[playerid][pTruckSkill]);  

Вот и всё, работа готова.
Сам не проверял поидее рабочая на 95%


Сообщение отредактировал [CM]Mikki - Среда, 24.10.2012, 19:59
Эльдар Дата: Четверг, 25.10.2012, 00:07 | Сообщение # 2
Советник
Сообщений: 672
Статус: Offline
Рабочая, но:
1) Не оптимизирована
2) В паблике есть другие уроки лучше


Продам инвайт в DOTA 2 - skype:e.l119

  • Страница 1 из 1
  • 1
Поиск:
Статистика Форума