Advertisement
Guest User

Untitled

a guest
Sep 12th, 2016
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.42 KB | None | 0 0
  1. new FermPickup[2];
  2. GetFermPickID(pickupid)
  3. {
  4. if(FermPickup[0] == pickupid) return 0;
  5. return 1;
  6. }
  7.  
  8. GetFermCarID(veh)
  9. {
  10. if(FermCar[0] == veh) return 0;
  11. return 1;
  12. }
  13.  
  14. if(carid >= FermCar[0] && carid <= FermCar[1])
  15. {
  16. if(PlayerInfo[playerid][pFerma] != 255 || PlayerInfo[playerid][pFermaJob] == 3 || PlayerInfo[playerid][pFermaJob] == 2)
  17. {
  18. new fID = GetFermCarID(veh);
  19. if(LoadZern[carid-FermCar[fID]] < 1000)//Если в машине меньше 0 зёрен то...
  20. {
  21. new string[50+MAX_PLAYER_NAME-2];
  22. static const ferm[] = "В грузовике %d / 1000 зёрен";
  23. format(string, sizeof(string), ferm, LoadZern[carid-FermCar[fID]]);
  24. SendClientMessage(playerid, COLOR_GREEN, string);
  25. new rand = random(sizeof(SborFerm_0));//Рандомное значение на собирание кустиков!
  26. SetPlayerCheckpoint(playerid, SborFerm_0[rand][0], SborFerm_0[rand][1], SborFerm_0[rand][2],5.0);
  27. }
  28. else//Если больше 1000 то...
  29. {
  30. LoadZern[carid-FermCar[fID]] = 1000;//Приравниваем значение зёрен к 1000 чтобы не было бага с количеством!
  31. new string[50+MAX_PLAYER_NAME-2];
  32. static const ferm[] = "В грузовике %d / 1000 зёрен";
  33. format(string, sizeof(string), ferm, LoadZern[carid-FermCar[fID]]);
  34. SendClientMessage(playerid, COLOR_GREEN, string);
  35. SendClientMessage(playerid, COLOR_GREEN, "Сбор урожая завершен. Теперь направляйтесь к ферме и разгрузитесь{FFFFFF} (( Командой: /funload ))");
  36. DestroyDynamicPickup(FermPickup[fID]);//Удалили пикап
  37. FermPickup[fID] = -1;
  38. Delete3DTextLabel(FermText3D[playerid]);//Удалили текст
  39. if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
  40. DisablePlayerCheckpoint(playerid);//Удалили чекпоинт
  41. }
  42. }
  43. else
  44. {
  45. SendClientMessage(playerid, COLOR_WHITE, "Вы не Фермер/Владелец/Заместитель!");
  46. RemovePlayerFromVehicleAC(playerid);
  47. SetTimerEx("RemovePlayerFromVehicleEx", 3000, false, "i", playerid);
  48. return 1;
  49. }
  50. }
  51.  
  52. public OnPlayerPickUpDynamicPickup(playerid, pickupid)
  53. {
  54. printf("Ferm pickupid %d", pickupid);
  55. if(pickupid == FermPickup[0] || pickupid == FermPickup[1])
  56. {
  57. if(PlayerKist[playerid] == true)
  58. {
  59. new pID = GetFermPickID(pickupid);
  60. for(new f = 0; f < sizeof(FermInfo); f++)
  61. {
  62. new carid = !GetPlayerVehicleID(playerid);
  63. if(LoadZern[carid-FermCar[pID]] > 1000)//Если в машине меньше 1000 зерен то...
  64. {
  65. new string[30+MAX_PLAYER_NAME-2];
  66. LoadZern[carid-FermCar[pID]] = 1000;
  67. SendClientMessage(playerid, COLOR_WHITE, "Грузовик полон!");
  68. static const ferm_1[] = "Загруженно\n{ffffff}%d / 1000";
  69. format(string, sizeof(string), ferm_1, LoadZern[carid-FermCar[pID]]);
  70. DisablePlayerCheckpoint(playerid);
  71. if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
  72. PlayerKist[playerid] = false;
  73. }
  74. else
  75. {
  76. new string[50+MAX_PLAYER_NAME-2];
  77. FermInfo[f][fZaseeno] -= 5;//Отнимаем -5 засеености!
  78. LoadZern[carid-FermCar[pID]] += 5;//Загрузили +5 зерен!
  79. FermZarabotok[playerid] += FermInfo[f][fPayday];//Прибовляем заработок
  80. static const ferm[] = "~b~count:~w~+%d$";
  81. format(string, sizeof(string), ferm, FermZarabotok[playerid]);
  82. GameTextForPlayer(playerid, string, 3000, 1);
  83. DisablePlayerCheckpoint(playerid);//Удалили чекпоинт
  84. GetXYInFrontOfPlayer(playerid, X12, Y12, Z12);
  85. SetPlayerCheckpoint(playerid, X12+random(10), Y12+random(10), Z12, 1.0);
  86. if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
  87. static const ferm_1[] = "Загруженно\n{ffffff}%d / 1000";
  88. format(string, sizeof(string), ferm_1, LoadZern[carid-FermCar[pID]]);
  89. Update3DTextLabelText(FermText3D[playerid], COLOR_YELLOW, string);
  90. PlayerKist[playerid] = false;
  91. if(gettime() - GetPVarInt(playerid, "BotFarm") < 20)
  92. {
  93. if(GetPVarInt(playerid, "BotCount") == 1)
  94. {
  95. static const ferm_2[] = "<<Warning>> Игрок %s[%d]: Возможно бот фермер";
  96. format(string, sizeof(string), ferm_2, PlayerInfo[playerid][pName], playerid);
  97. SendAdminMessage(COLOR_ADMIN, string);
  98. SetPVarInt(playerid, "BotCount", 0);
  99. }
  100. }
  101. SetPVarInt(playerid, "BotFarm", gettime());
  102. SetPVarInt(playerid, "BotCount", GetPVarInt(playerid, "BotCount") +1);
  103. }
  104. }
  105. }
  106. else
  107. {
  108. SendClientMessage(playerid, COLOR_GREEN, "{00D607} Для начала соберите урожай {FFFFFF}(( Встаньте на красный чекпоинт, и ждите 15 секунд ))");
  109. SendClientMessage(playerid, COLOR_GREEN, "{00D607} Когда соберёте положите в кузов автомобиля {FFFFFF}(( Встаньте на желтую стрелку ))");
  110. SendClientMessage(playerid, COLOR_GREEN, "{00D607} Если захотите завершить работу, пройдите к раздевалке {FFFFFF}(( Встаньте на синий пикап у фермы ))");
  111. SendClientMessage(playerid, COLOR_GREEN, "{00D607} Если вы фермер, то просто сядьте в машину для завершения сбора урожая, /funload - разгрузить урожай");
  112. DisablePlayerCheckpoint(playerid);
  113. if(IsPlayerAttachedObjectSlotUsed(playerid, 3)) RemovePlayerAttachedObject(playerid, 3);
  114. GetXYInFrontOfPlayer(playerid, X12, Y12, Z12);
  115. SetPlayerCheckpoint(playerid, X12+random(10), Y12+random(10), Z12, 1.0);
  116. PlayerKist[playerid] = false;
  117. }
  118. }
  119. return 1;
  120. }
  121.  
  122. if(SbotTime_1[i] > 0)
  123. {
  124. SbotTime_1[i]--;
  125. if(SbotTime_1[i] == 0)
  126. {
  127. SbotTime_1[i] = 0;
  128. for(new q = 0; q < 4; q++)//Цикл место сбора урожая
  129. {
  130. if(IsPlayerInRangeOfPoint(i, 5.0, SborFerm_0[q][0], SborFerm_0[q][1], SborFerm_0[q][2]))//Проверяем есть ли игрок в радиусе 5 метров от чекпоинта!
  131. {
  132. new carid = GetPlayerVehicleID(i);
  133. new fID = GetFermCarID(carid);
  134. GetVehiclePos(carid, X12, Y12, Z12);
  135. GetXYInFrontOfPlayer(i, X12, Y12,-3.0);
  136. FermPickup[fID] = CreateDynamicPickup(19197, 23, X12, Y12, Z12+0.3);
  137. GetVehicleParamsEx(carid, engine, lights, alarm, doors, bonnet, boot, objective);
  138. SetVehicleParamsEx(carid, VEHICLE_PARAMS_OFF, VEHICLE_PARAMS_OFF, alarm, doors, bonnet, boot, objective);
  139. zavodis[i] = false;
  140. new string[30+MAX_PLAYER_NAME-2];
  141. static const ferm[] = "Загруженно\n%d / 1000";
  142. format(string, sizeof(string), ferm, LoadZern[carid-FermCar[0]]);
  143. FermText3D[i] = Create3DTextLabel(string, COLOR_YELLOW, X12, Y12, Z12+0.5, 15.0, 0, 1);
  144. SendClientMessage(i, COLOR_WHITE, "{0289CC}Машина на месте. Теперь вы и ваши рабочие, могут загружать её");
  145. SendClientMessage(i, COLOR_WHITE, "{0289CC}Если решите завершить сбор урожая, /fpanel [9] завершить сбор урожая");
  146. DisablePlayerCheckpoint(i);//Удаляем чекпоинт!
  147. }
  148. }
  149. }
  150. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement