seriu_

Untitled

Aug 14th, 2021 (edited)
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 76.74 KB | None | 0 0
  1. #if defined _quest_inc
  2.     #endinput
  3. #endif
  4. #define _quest_inc
  5. //achievement
  6. enum
  7. {
  8.     QUEST_GUEST = 0,
  9.     QUEST_GHETTO,
  10.     QUEST_MAFIA,
  11.     QUEST_PD,
  12.     QUEST_FBI, // закон
  13.     QUEST_ARMY,
  14.     QUEST_SCHOOL,
  15.     QUEST_BIKERS,
  16.     QUEST_HOSPITAL,
  17.     QUEST_LAST
  18. }
  19. //Гетто\nЗакон\nМафия\nАрмия\nИнструкторы\nБайкеры\nМЧС
  20.  
  21. enum player_quest_
  22. {
  23.     pQuestID[QUEST_LAST], // сохранение квеста на сколько прошел
  24.     pQuestTemp[QUEST_LAST] // как квест на сколько пройденный
  25. };
  26.  
  27. new pQuest[MAX_PLAYERS][player_quest_];
  28.  
  29. enum {
  30.     QUEST_TASK_LOADER_BAGS,
  31.     QUEST_TASK_FACTORY,
  32.     QUEST_TASK_FARM,
  33.     QUEST_TASK_LICENCE_CAR,
  34.     QUEST_TASK_VICTIM,
  35.     QUEST_TASK_MAYOR,
  36.     QUEST_TASK_BUS, // квесты работы начало
  37.     QUEST_TASK_TAXI,
  38.     QUEST_TASK_MEH,
  39.     QUEST_TASK_COLLECTOR,
  40.     QUEST_TASK_COACH,
  41.     QUEST_TASK_TRUCK,
  42.     QUEST_TASK_HOUSE,
  43.     QUEST_TASK_CAR,
  44.  
  45.     QUEST_TASK_SLOT1, // свободный слот для гражданских 1
  46.     QUEST_TASK_SLOT2, // свободный слот для гражданских 2
  47.     QUEST_TASK_SLOT3, // свободный слот для гражданских 3
  48.     QUEST_TASK_SLOT4, // свободный слот для гражданских 4
  49.     QUEST_TASK_SLOT5, // свободный слот для гражданских 5
  50.     QUEST_TASK_SLOT6, // свободный слот для гражданских 6
  51.     QUEST_TASK_SLOT7, // свободный слот для гражданских 7
  52.     QUEST_TASK_SLOT8, // свободный слот для гражданских 8
  53.     QUEST_TASK_SLOT9, // свободный слот для гражданских 9
  54.  
  55. /*
  56.  
  57. COUNT_COMPLATE_BAGS,
  58. COUNT_COMPLATE_FACTORY,
  59. COUNT_COMPLATE_FARM, 1,1,1,  // QuestComplationLineMax[select][0] + pInfo[playerid][NumberQuest]
  60.     COUNT_COMPLATE_BUS,COUNT_COMPLATE_TAXI,COUNT_COMPLATE_MEH,COUNT_COMPLATE_COLLECTOR,COUNT_COMPLATE_COACH,COUNT_COMPLATE_TRUCK,1,1,
  61.     2,3,4,5,6,7,8,9,10,*/
  62.  
  63.  
  64.     QUEST_TASK_GUN,
  65.     QUEST_TASK_DRUGS,
  66.     QUEST_TASK_ROBHOUSE,
  67.     QUEST_TASK_DUEL_5,
  68.     QUEST_TASK_ROB_CAR,
  69.     QUEST_TASK_DMG_5,
  70.     QUEST_TASK_GPOINT_100,
  71.     QUEST_TASK_PAINT,
  72.     QUEST_TASK_CAPTURE,
  73.     QUEST_TASK_KILLS_400,
  74.     QUEST_TASK_WIN_CAPTURE,
  75.     QUEST_TASK_LSA_300,
  76.     QUEST_TASK_MATS_250,
  77.     QUEST_TASK_KILL_LEADER,
  78.  
  79.     QUEST_TASK_RACKET_BIZ,
  80.     QUEST_TASK_RACKET,
  81.     QUEST_TASK_HACKBASE,
  82.     QUEST_TASK_MAFIA_WAR,
  83.     QUEST_TASK_MAFIA_DICE,
  84.     QUEST_TASK_MAFIA_KILLER,
  85.     QUEST_TASK_MAFIA_TIE,
  86.     QUEST_TASK_MAFIA_JAIL,
  87.  
  88.     // ПД + ФБР
  89.  
  90.     QUEST_TASK_PD_NEWBIE, // Слуга народа
  91.     QUEST_TASK_PD_ARREST, // Дежурный офицер
  92.     QUEST_TASK_PD_TAZER, // Нападения на сотрудников
  93.     QUEST_TASK_PD_DRUGS, // Контроль оборотов
  94.     QUEST_TASK_PD_ARREST6, // Без башни
  95.     QUEST_TASK_PD_PATRUL, // Патрульная служба
  96.     QUEST_TASK_PD_GANG, // Наркобароны
  97.  
  98.     QUEST_TASK_PD_1,
  99.     QUEST_TASK_PD_2,
  100.     QUEST_TASK_PD_3,
  101.     QUEST_TASK_PD_4,
  102.     QUEST_TASK_PD_5,
  103.     QUEST_TASK_PD_6,
  104.     QUEST_TASK_PD_7,
  105.     QUEST_TASK_PD_8,
  106.     QUEST_TASK_PD_9,
  107.     QUEST_TASK_PD_10,
  108.     QUEST_TASK_PD_11,
  109.     QUEST_TASK_PD_12,
  110.     QUEST_TASK_PD_13,
  111.  
  112.     // ФБР
  113.     QUEST_TASK_FBI_ARREST, // Стажировка
  114.     QUEST_TASK_FBI_TIPSTER, // Поддержка безопасности
  115.     QUEST_TASK_FBI_ARREST_GHETTO, // Работа под прикрытием
  116.     QUEST_TASK_FBI_DRUGS, // Контроль оборотов II
  117.     QUEST_TASK_FBI_TAKE, // Неполноценные сотрудники
  118.     QUEST_TASK_FBI_PATRUL, // Имея должность Агент CID
  119.     QUEST_TASK_FBI_FIND, // Имея должность Глава GNK
  120.     QUEST_TASK_FBI_ARREST_GANG, // Нелегальные иммигранты
  121.     QUEST_TASK_FBI_ARREST_LEADER, // Имея должность глава CID
  122.  
  123.     QUEST_TASK_FBI_1,
  124.     QUEST_TASK_FBI_2,
  125.     QUEST_TASK_FBI_3,
  126.     QUEST_TASK_FBI_4,
  127.     QUEST_TASK_FBI_5,
  128.     QUEST_TASK_FBI_6,
  129.     QUEST_TASK_FBI_7,
  130.     QUEST_TASK_FBI_8,
  131.     QUEST_TASK_FBI_9,
  132.     QUEST_TASK_FBI_10,
  133.  
  134.     // ARMY
  135.     QUEST_TASK_ARMY_NEWBIE,
  136.     QUEST_TASK_ARMY_KMB,
  137.     QUEST_TASK_ARMY_SNIPER,
  138.     QUEST_TASK_ARMY_MP5,
  139.     QUEST_TASK_ARMY_UNLOAD_PORT,
  140.     QUEST_TASK_ARMY_UNLOAD_GOS,
  141.     QUEST_TASK_ARMY_GANG,
  142.     QUEST_TASK_ARMY_GANG_LS,
  143.     QUEST_TASK_ARMY_GANG_NODIE,
  144.  
  145.     QUEST_TASK_LAST
  146. };
  147.  
  148. // выдача денег
  149. // гражданские
  150. #define         MONEY_QUEST_LOADER_BAGS         2000
  151. #define         MONEY_QUEST_FACTORY             2000 // свободный слот для гражданских 0
  152. #define         MONEY_QUEST_FARM                3000
  153. #define         MONEY_QUEST_LICENCE_CAR         2000
  154. #define         MONEY_QUEST_VICTIM              1000
  155. #define         MONEY_QUEST_MAYOR               2000
  156. #define         MONEY_QUEST_BUS                 20000
  157. #define         MONEY_QUEST_TAXI                5000
  158. #define         MONEY_QUEST_MEH                 5000
  159. #define         MONEY_QUEST_COLLECTOR           5000
  160. #define         MONEY_QUEST_COACH               5000
  161. #define         MONEY_QUEST_TRUCK               10000
  162. #define         MONEY_QUEST_HOUSE               100000
  163. #define         MONEY_QUEST_CAR                 100000
  164.  
  165. #define         MONEY_QUEST_TASK_SLOT1          2000 // свободный слот для гражданских 1
  166. #define         MONEY_QUEST_TASK_SLOT2          2000 // свободный слот для гражданских 2
  167. #define         MONEY_QUEST_TASK_SLOT3          2000 // свободный слот для гражданских 3
  168. #define         MONEY_QUEST_TASK_SLOT4          2000 // свободный слот для гражданских 4
  169. #define         MONEY_QUEST_TASK_SLOT5          2000 // свободный слот для гражданских 5
  170. #define         MONEY_QUEST_TASK_SLOT6          2000 // свободный слот для гражданских 6
  171. #define         MONEY_QUEST_TASK_SLOT7          2000 // свободный слот для гражданских 7
  172. #define         MONEY_QUEST_TASK_SLOT8          2000 // свободный слот для гражданских 8
  173. #define         MONEY_QUEST_TASK_SLOT9          2000 // свободный слот для гражданских 9
  174.  // QUEST GHETTO
  175. #define         MONEY_TASK_GUN              3000
  176. #define         MONEY_TASK_DRUGS            3000
  177. #define         MONEY_TASK_ROBHOUSE         10000
  178. #define         MONEY_TASK_DUEL_5           10000
  179. #define         MONEY_TASK_ROB_CAR          10000
  180. #define         MONEY_TASK_DMG_5            50000
  181. #define         MONEY_TASK_GPOINT_100       20000
  182. #define         MONEY_TASK_PAINT            20000
  183. #define         MONEY_TASK_CAPTURE          100000
  184. #define         MONEY_TASK_KILLS_400        100000
  185. #define         MONEY_TASK_WIN_CAPTURE      30000
  186. #define         MONEY_TASK_LSA_300          50000
  187. #define         MONEY_TASK_MATS_250         50000
  188. #define         MONEY_TASK_KILL_LEADER      200000
  189. #define         MATERIALS_TASK_GUN          1000
  190. #define         MATERIALS_TASK_DUEL         1000
  191. #define         MATERIALS_TASK_KILLS        2000
  192. #define         MATERIALS_TASK_WIN_WAR      5000
  193. #define         MATERIALS_TASK_KILL_LEADER  5000
  194. // mafia
  195.  
  196. #define         MONEY_TASK_RACKET_BIZ       100000
  197. #define         MONEY_TASK_RACKET           50000
  198. #define         MONEY_TASK_HACKBASE         30000
  199. #define         MONEY_TASK_MAFIA_WAR        40000
  200. #define         MONEY_TASK_MAFIA_DICE       50000
  201. #define         MONEY_TASK_MAFIA_KILLER     50000
  202. #define         MONEY_TASK_MAFIA_TIE        70000
  203. #define         MONEY_TASK_MAFIA_JAIL       150000
  204.  
  205. // lawyer
  206.  
  207. #define         MONEY_TASK_PD_NEWBIE                5000
  208. #define         MONEY_TASK_PD_ARREST                10000
  209. #define         MONEY_TASK_PD_TAZER                 20000
  210. #define         MONEY_TASK_PD_DRUGS                 25000
  211. #define         MONEY_TASK_PD_ARREST6               30000
  212. #define         MONEY_TASK_PD_PATRUL                30000
  213. #define         MONEY_TASK_PD_GANG                  100000
  214.  
  215. // PD
  216.  
  217. #define         MONEY_TASK_PD_SLOT_1                1
  218. #define         MONEY_TASK_PD_SLOT_2                1
  219. #define         MONEY_TASK_PD_SLOT_3                1
  220. #define         MONEY_TASK_PD_SLOT_4                1
  221. #define         MONEY_TASK_PD_SLOT_5                1
  222. #define         MONEY_TASK_PD_SLOT_6                1
  223. #define         MONEY_TASK_PD_SLOT_7                1
  224. #define         MONEY_TASK_PD_SLOT_8                1
  225. #define         MONEY_TASK_PD_SLOT_9                1
  226. #define         MONEY_TASK_PD_SLOT_10               1
  227. #define         MONEY_TASK_PD_SLOT_11               1
  228. #define         MONEY_TASK_PD_SLOT_12               1
  229. #define         MONEY_TASK_PD_SLOT_13               1
  230.  
  231. // fbi
  232.  
  233. #define         MONEY_TASK_FBI_ARREST               20000
  234. #define         MONEY_TASK_FBI_TIPSTER              10000
  235. #define         MONEY_TASK_FBI_ARREST_GHETTO        30000
  236. #define         MONEY_TASK_FBI_DRUGS                20000
  237. #define         MONEY_TASK_FBI_TAKE                 20000
  238. #define         MONEY_TASK_FBI_PATRUL               50000
  239. #define         MONEY_TASK_FBI_FIND                 30000
  240. #define         MONEY_TASK_FBI_ARREST_GANG          50000
  241. #define         MONEY_TASK_FBI_ARREST_LEADER        100000
  242.  
  243. #define         MONEY_TASK_FBI_SLOT_1               1
  244. #define         MONEY_TASK_FBI_SLOT_2               1
  245. #define         MONEY_TASK_FBI_SLOT_3               1
  246. #define         MONEY_TASK_FBI_SLOT_4               1
  247. #define         MONEY_TASK_FBI_SLOT_5               1
  248. #define         MONEY_TASK_FBI_SLOT_6               1
  249. #define         MONEY_TASK_FBI_SLOT_7               1
  250. #define         MONEY_TASK_FBI_SLOT_8               1
  251. #define         MONEY_TASK_FBI_SLOT_9               1
  252. #define         MONEY_TASK_FBI_SLOT_10              1
  253.  
  254. // army
  255.  
  256. #define         MONEY_TASK_ARMY_NEWBIE              5000
  257. #define         MONEY_TASK_ARMY_KMB                 10000  
  258. #define         MONEY_TASK_ARMY_SNIPER              10000
  259. #define         MONEY_TASK_ARMY_MP5                 10000
  260. #define         MONEY_TASK_ARMY_UNLOAD_PORT         50000
  261. #define         MONEY_TASK_ARMY_UNLOAD_GOS          50000
  262. #define         MONEY_TASK_ARMY_GANG                30000
  263. #define         MONEY_TASK_ARMY_GANG_LS             20000
  264. #define         MONEY_TASK_ARMY_GANG_NODIE          100000
  265.  
  266.  
  267. // выдача exp
  268. #define         EXP_QUEST_LOADER_BAGS           2
  269. #define         EXP_QUEST_FACTORY               2 // свободный слот для гражданских 0
  270. #define         EXP_QUEST_FARM                  2
  271. #define         EXP_QUEST_LICENCE_CAR           2
  272. #define         EXP_QUEST_VICTIM                1
  273. #define         EXP_QUEST_MAYOR                 8
  274. #define         EXP_QUEST_BUS                   2
  275. #define         EXP_QUEST_TAXI                  2
  276. #define         EXP_QUEST_MEH                   2
  277. #define         EXP_QUEST_COLLECTOR             2
  278. #define         EXP_QUEST_COACH                 2
  279. #define         EXP_QUEST_TRUCK                 2
  280. #define         EXP_QUEST_HOUSE                 2
  281. #define         EXP_QUEST_CAR                   2
  282.  
  283. #define         EXP_QUEST_TASK_SLOT1            1 // свободный слот для гражданских 1
  284. #define         EXP_QUEST_TASK_SLOT2            1 // свободный слот для гражданских 2
  285. #define         EXP_QUEST_TASK_SLOT3            1 // свободный слот для гражданских 3
  286. #define         EXP_QUEST_TASK_SLOT4            1 // свободный слот для гражданских 4
  287. #define         EXP_QUEST_TASK_SLOT5            1 // свободный слот для гражданских 5
  288. #define         EXP_QUEST_TASK_SLOT6            1 // свободный слот для гражданских 6
  289. #define         EXP_QUEST_TASK_SLOT7            1 // свободный слот для гражданских 7
  290. #define         EXP_QUEST_TASK_SLOT8            1 // свободный слот для гражданских 8
  291. #define         EXP_QUEST_TASK_SLOT9            1 // свободный слот для гражданских 9
  292. // QUEST GHETTO
  293. #define         EXP_TASK_GUN                    1
  294. #define         EXP_TASK_DRUGS                  1
  295. #define         EXP_TASK_ROBHOUSE               2
  296. #define         EXP_TASK_DUEL_5                 2
  297. #define         EXP_TASK_ROB_CAR                1
  298. #define         EXP_TASK_DMG_5                  3
  299. #define         EXP_TASK_GPOINT_100             3
  300. #define         EXP_TASK_PAINT                  2
  301. #define         EXP_TASK_CAPTURE                2
  302. #define         EXP_TASK_KILLS_400              2
  303. #define         EXP_TASK_WIN_CAPTURE            3
  304. #define         EXP_TASK_LSA_300                5
  305. #define         EXP_TASK_MATS_250               5
  306. #define         EXP_TASK_KILL_LEADER            5
  307. // mafia
  308.  
  309. #define         EXP_TASK_RACKET_BIZ             2
  310. #define         EXP_TASK_RACKET                 2
  311. #define         EXP_TASK_HACKBASE               1
  312. #define         EXP_TASK_MAFIA_WAR              3
  313. #define         EXP_TASK_MAFIA_DICE             1
  314. #define         EXP_TASK_MAFIA_KILLER           2
  315. #define         EXP_TASK_MAFIA_TIE              2
  316. #define         EXP_TASK_MAFIA_JAIL             3
  317.  
  318. // lawyer
  319.  
  320. #define         EXP_TASK_PD_NEWBIE                  1
  321. #define         EXP_TASK_PD_ARREST                  1
  322. #define         EXP_TASK_PD_TAZER                   1
  323. #define         EXP_TASK_PD_DRUGS                   1
  324. #define         EXP_TASK_PD_ARREST6                 1
  325. #define         EXP_TASK_PD_PATRUL                  1
  326. #define         EXP_TASK_PD_GANG                    1
  327.  
  328. #define         EXP_TASK_PD_SLOT_1              1
  329. #define         EXP_TASK_PD_SLOT_2              1
  330. #define         EXP_TASK_PD_SLOT_3              1
  331. #define         EXP_TASK_PD_SLOT_4              1
  332. #define         EXP_TASK_PD_SLOT_5              1
  333. #define         EXP_TASK_PD_SLOT_6              1
  334. #define         EXP_TASK_PD_SLOT_7              1
  335. #define         EXP_TASK_PD_SLOT_8              1
  336. #define         EXP_TASK_PD_SLOT_9              1
  337. #define         EXP_TASK_PD_SLOT_10             1
  338. #define         EXP_TASK_PD_SLOT_11             1
  339. #define         EXP_TASK_PD_SLOT_12             1
  340. #define         EXP_TASK_PD_SLOT_13             1
  341.  
  342. // FBI
  343.  
  344. #define         EXP_TASK_FBI_ARREST                 1
  345. #define         EXP_TASK_FBI_TIPSTER                1
  346. #define         EXP_TASK_FBI_ARREST_GHETTO          1
  347. #define         EXP_TASK_FBI_DRUGS                  1
  348. #define         EXP_TASK_FBI_TAKE                   1
  349. #define         EXP_TASK_FBI_PATRUL                 1
  350. #define         EXP_TASK_FBI_FIND                   1
  351. #define         EXP_TASK_FBI_ARREST_GANG            1
  352. #define         EXP_TASK_FBI_ARREST_LEADER          1
  353.  
  354. #define         EXP_TASK_FBI_SLOT_1             1
  355. #define         EXP_TASK_FBI_SLOT_2             1
  356. #define         EXP_TASK_FBI_SLOT_3             1
  357. #define         EXP_TASK_FBI_SLOT_4             1
  358. #define         EXP_TASK_FBI_SLOT_5             1
  359. #define         EXP_TASK_FBI_SLOT_6             1
  360. #define         EXP_TASK_FBI_SLOT_7             1
  361. #define         EXP_TASK_FBI_SLOT_8             1
  362. #define         EXP_TASK_FBI_SLOT_9             1
  363. #define         EXP_TASK_FBI_SLOT_10            1
  364.  
  365.  
  366. // army
  367.  
  368. #define         EXP_TASK_ARMY_NEWBIE                1
  369. #define         EXP_TASK_ARMY_KMB                   2  
  370. #define         EXP_TASK_ARMY_SNIPER                1
  371. #define         EXP_TASK_ARMY_MP5                   1
  372. #define         EXP_TASK_ARMY_UNLOAD_PORT           3
  373. #define         EXP_TASK_ARMY_UNLOAD_GOS            3
  374. #define         EXP_TASK_ARMY_GANG                  1
  375. #define         EXP_TASK_ARMY_GANG_LS               1
  376. #define         EXP_TASK_ARMY_GANG_NODIE            3
  377.  
  378.  
  379. // сколько нужно до завершения квеста
  380. // гражданские
  381. #define         COUNT_COMPLATE_BAGS             20
  382. #define         COUNT_COMPLATE_FACTORY          20
  383. #define         COUNT_COMPLATE_FARM             20
  384. #define         COUNT_COMPLATE_BUS              100000
  385. #define         COUNT_COMPLATE_TAXI             50
  386. #define         COUNT_COMPLATE_MEH              50
  387. #define         COUNT_COMPLATE_COLLECTOR        50
  388. #define         COUNT_COMPLATE_COACH            20
  389. #define         COUNT_COMPLATE_TRUCK            50
  390. // ghetto
  391. #define         COUNT_TASK_GUN                  100
  392. #define         COUNT_TASK_DRUGS                150
  393. #define         COUNT_TASK_ROBHOUSE             10
  394. #define         COUNT_TASK_DUEL_5               5
  395. #define         COUNT_TASK_ROB_CAR              10
  396. #define         COUNT_TASK_DMG_5                5000
  397. #define         COUNT_TASK_GPOINT_100           100
  398. #define         COUNT_TASK_PAINT                10
  399. #define         COUNT_TASK_CAPTURE              3
  400. #define         COUNT_TASK_KILLS_400            400
  401. #define         COUNT_TASK_WIN_CAPTURE          3
  402. #define         COUNT_TASK_LSA_300              300000
  403. #define         COUNT_TASK_MATS_250             250000
  404. #define         COUNT_TASK_KILL_LEADER          1
  405. // mafia
  406. #define         COUNT_TASK_RACKET_BIZ           10
  407. #define         COUNT_TASK_RACKET               5
  408. #define         COUNT_TASK_HACKBASE             3
  409. #define         COUNT_TASK_MAFIA_WAR            20
  410. #define         COUNT_TASK_MAFIA_DICE           15000
  411. #define         COUNT_TASK_MAFIA_KILLER         5
  412. #define         COUNT_TASK_MAFIA_TIE            2
  413. #define         COUNT_TASK_MAFIA_JAIL           1
  414.  
  415. // lawyer
  416.  
  417. #define         COUNT_TASK_PD_NEWBIE                20
  418. #define         COUNT_TASK_PD_ARREST                30
  419. #define         COUNT_TASK_PD_TAZER                 20
  420. #define         COUNT_TASK_PD_DRUGS                 500
  421. #define         COUNT_TASK_PD_ARREST6               25
  422. #define         COUNT_TASK_PD_PATRUL                30
  423. #define         COUNT_TASK_PD_GANG                  20
  424.  
  425.  
  426. #define         COUNT_TASK_PD_SLOT_1                1
  427. #define         COUNT_TASK_PD_SLOT_2                1
  428. #define         COUNT_TASK_PD_SLOT_3                1
  429. #define         COUNT_TASK_PD_SLOT_4                1
  430. #define         COUNT_TASK_PD_SLOT_5                1
  431. #define         COUNT_TASK_PD_SLOT_6                1
  432. #define         COUNT_TASK_PD_SLOT_7                1
  433. #define         COUNT_TASK_PD_SLOT_8                1
  434. #define         COUNT_TASK_PD_SLOT_9                1
  435. #define         COUNT_TASK_PD_SLOT_10               1
  436. #define         COUNT_TASK_PD_SLOT_11               1
  437. #define         COUNT_TASK_PD_SLOT_12               1
  438. #define         COUNT_TASK_PD_SLOT_13               1
  439.  
  440. // FBI
  441.  
  442. #define         COUNT_TASK_FBI_ARREST               20
  443. #define         COUNT_TASK_FBI_TIPSTER              1
  444. #define         COUNT_TASK_FBI_ARREST_GHETTO        3
  445. #define         COUNT_TASK_FBI_DRUGS                5000
  446. #define         COUNT_TASK_FBI_TAKE                 1
  447. #define         COUNT_TASK_FBI_PATRUL               40
  448. #define         COUNT_TASK_FBI_FIND                 30
  449. #define         COUNT_TASK_FBI_ARREST_GANG          10
  450. #define         COUNT_TASK_FBI_ARREST_LEADER        5
  451.  
  452. #define         COUNT_TASK_FBI_SLOT_1               1
  453. #define         COUNT_TASK_FBI_SLOT_2               1
  454. #define         COUNT_TASK_FBI_SLOT_3               1
  455. #define         COUNT_TASK_FBI_SLOT_4               1
  456. #define         COUNT_TASK_FBI_SLOT_5               1
  457. #define         COUNT_TASK_FBI_SLOT_6               1
  458. #define         COUNT_TASK_FBI_SLOT_7               1
  459. #define         COUNT_TASK_FBI_SLOT_8               1
  460. #define         COUNT_TASK_FBI_SLOT_9               1
  461. #define         COUNT_TASK_FBI_SLOT_10              1
  462.  
  463. // ARMY
  464.  
  465. #define         COUNT_TASK_ARMY_NEWBIE              20
  466. #define         COUNT_TASK_ARMY_KMB                 1  
  467. #define         COUNT_TASK_ARMY_SNIPER              30
  468. #define         COUNT_TASK_ARMY_MP5                 50
  469. #define         COUNT_TASK_ARMY_UNLOAD_PORT         600000
  470. #define         COUNT_TASK_ARMY_UNLOAD_GOS          200000
  471. #define         COUNT_TASK_ARMY_GANG                10
  472. #define         COUNT_TASK_ARMY_GANG_LS             15
  473. #define         COUNT_TASK_ARMY_GANG_NODIE          20
  474.  
  475.  
  476.  
  477. /*
  478. static const QuestComplationALL[QUEST_LAST] = {
  479.     // номер квеста || кол-во для окончания
  480.     MAX_LINE_QUEST_GUEST,
  481.     MAX_LINE_QUEST_JOBS
  482. };*/
  483.  
  484. static const QuestComplationLineMax[QUEST_LAST][2] = { // для каждой линии мин. и максимальное значение QuestComplationLine
  485.     {QUEST_TASK_LOADER_BAGS, QUEST_TASK_CAR},
  486.     {QUEST_TASK_GUN, QUEST_TASK_KILL_LEADER},
  487.     {QUEST_TASK_RACKET_BIZ, QUEST_TASK_MAFIA_JAIL},
  488.     {QUEST_TASK_PD_NEWBIE, QUEST_TASK_PD_GANG},
  489.     {QUEST_TASK_FBI_ARREST, QUEST_TASK_FBI_ARREST_LEADER},
  490.     {QUEST_TASK_ARMY_NEWBIE, QUEST_TASK_ARMY_GANG_NODIE},
  491.  
  492.     {QUEST_TASK_LAST, QUEST_TASK_LAST},
  493.     {QUEST_TASK_LAST, QUEST_TASK_LAST},
  494.     {QUEST_TASK_LAST, QUEST_TASK_LAST}
  495. };
  496.  
  497.  
  498. static const QuestComplationLine[QUEST_TASK_LAST] = {// максимальное кол-во для выполнения подквеста
  499.     COUNT_COMPLATE_BAGS, COUNT_COMPLATE_FACTORY, COUNT_COMPLATE_FARM,1,1,1,  // QuestComplationLineMax[select][0] + pInfo[playerid][NumberQuest]
  500.     COUNT_COMPLATE_BUS,COUNT_COMPLATE_TAXI,COUNT_COMPLATE_MEH,COUNT_COMPLATE_COLLECTOR,COUNT_COMPLATE_COACH,COUNT_COMPLATE_TRUCK,1,1,
  501.     2,3,4,5,6,7,8,9,10,
  502.     // QUEST GHETTO
  503.     COUNT_TASK_GUN,COUNT_TASK_DRUGS,COUNT_TASK_ROBHOUSE,
  504.     COUNT_TASK_DUEL_5,COUNT_TASK_ROB_CAR,COUNT_TASK_DMG_5,
  505.     COUNT_TASK_GPOINT_100,COUNT_TASK_PAINT,COUNT_TASK_CAPTURE,
  506.     COUNT_TASK_KILLS_400,COUNT_TASK_WIN_CAPTURE,COUNT_TASK_LSA_300,
  507.     COUNT_TASK_MATS_250,COUNT_TASK_KILL_LEADER,
  508.     // QUEST MAFIA
  509.     COUNT_TASK_RACKET_BIZ,COUNT_TASK_RACKET,COUNT_TASK_HACKBASE,COUNT_TASK_MAFIA_WAR,
  510.     COUNT_TASK_MAFIA_DICE,COUNT_TASK_MAFIA_KILLER,COUNT_TASK_MAFIA_TIE,COUNT_TASK_MAFIA_JAIL,
  511.  
  512.  
  513.     // QUEST LAWYER
  514.  
  515.     COUNT_TASK_PD_NEWBIE,
  516.     COUNT_TASK_PD_ARREST,
  517.     COUNT_TASK_PD_TAZER,
  518.     COUNT_TASK_PD_DRUGS,
  519.     COUNT_TASK_PD_ARREST6,
  520.     COUNT_TASK_PD_PATRUL,
  521.     COUNT_TASK_PD_GANG,
  522.  
  523.     COUNT_TASK_PD_SLOT_1,COUNT_TASK_PD_SLOT_2,COUNT_TASK_PD_SLOT_3,COUNT_TASK_PD_SLOT_4,COUNT_TASK_PD_SLOT_5,
  524.     COUNT_TASK_PD_SLOT_6,COUNT_TASK_PD_SLOT_7,COUNT_TASK_PD_SLOT_8,COUNT_TASK_PD_SLOT_9,COUNT_TASK_PD_SLOT_10,
  525.     COUNT_TASK_PD_SLOT_11,COUNT_TASK_PD_SLOT_12,COUNT_TASK_PD_SLOT_13,
  526.     // fbi
  527.     COUNT_TASK_FBI_ARREST,
  528.     COUNT_TASK_FBI_TIPSTER,
  529.     COUNT_TASK_FBI_ARREST_GHETTO,
  530.     COUNT_TASK_FBI_DRUGS,
  531.     COUNT_TASK_FBI_TAKE,
  532.     COUNT_TASK_FBI_PATRUL,
  533.     COUNT_TASK_FBI_FIND,
  534.     COUNT_TASK_FBI_ARREST_GANG,
  535.     COUNT_TASK_FBI_ARREST_LEADER,
  536.  
  537.     COUNT_TASK_FBI_SLOT_1,COUNT_TASK_FBI_SLOT_2,COUNT_TASK_FBI_SLOT_3,COUNT_TASK_FBI_SLOT_4,COUNT_TASK_FBI_SLOT_5,
  538.     COUNT_TASK_FBI_SLOT_6,COUNT_TASK_FBI_SLOT_7,COUNT_TASK_FBI_SLOT_8,COUNT_TASK_FBI_SLOT_9,COUNT_TASK_FBI_SLOT_10,
  539.  
  540.  
  541.     COUNT_TASK_ARMY_NEWBIE,COUNT_TASK_ARMY_KMB,COUNT_TASK_ARMY_SNIPER,
  542.     COUNT_TASK_ARMY_MP5,COUNT_TASK_ARMY_UNLOAD_PORT,COUNT_TASK_ARMY_UNLOAD_GOS,
  543.     COUNT_TASK_ARMY_GANG,COUNT_TASK_ARMY_GANG_LS,COUNT_TASK_ARMY_GANG_NODIE
  544.  
  545.  
  546. };
  547.  
  548. static const QuestComplationLineReward[QUEST_TASK_LAST][3] = {// выдача денег за выполнения подквеста
  549.     {MONEY_QUEST_LOADER_BAGS, EXP_QUEST_LOADER_BAGS, 0},
  550.     {MONEY_QUEST_FACTORY, EXP_QUEST_FACTORY, 0},
  551.     {MONEY_QUEST_LICENCE_CAR, EXP_QUEST_FARM, 0},
  552.     {MONEY_QUEST_FARM, EXP_QUEST_LICENCE_CAR, 0},
  553.     {MONEY_QUEST_VICTIM, MONEY_QUEST_VICTIM, 0},
  554.     {MONEY_QUEST_MAYOR, EXP_QUEST_MAYOR, 0},
  555.     {MONEY_QUEST_BUS, EXP_QUEST_BUS, 0},
  556.     {MONEY_QUEST_TAXI, EXP_QUEST_TAXI, 0},
  557.     {MONEY_QUEST_MEH, EXP_QUEST_MEH, 0},
  558.     {MONEY_QUEST_COLLECTOR,EXP_QUEST_COLLECTOR, 0},
  559.     {MONEY_QUEST_COACH,EXP_QUEST_COACH, 0},
  560.     {MONEY_QUEST_TRUCK,EXP_QUEST_TRUCK, 0},
  561.     {MONEY_QUEST_HOUSE,EXP_QUEST_HOUSE, 0},
  562.     {MONEY_QUEST_CAR,EXP_QUEST_CAR, 0},
  563.    
  564.     {MONEY_QUEST_TASK_SLOT1,MONEY_QUEST_TASK_SLOT1, 0},
  565.     {MONEY_QUEST_TASK_SLOT2,MONEY_QUEST_TASK_SLOT2, 0},
  566.     {MONEY_QUEST_TASK_SLOT3,MONEY_QUEST_TASK_SLOT3, 0},
  567.     {MONEY_QUEST_TASK_SLOT4,MONEY_QUEST_TASK_SLOT4, 0},
  568.     {MONEY_QUEST_TASK_SLOT5,MONEY_QUEST_TASK_SLOT5, 0},
  569.     {MONEY_QUEST_TASK_SLOT6,MONEY_QUEST_TASK_SLOT6, 0},
  570.     {MONEY_QUEST_TASK_SLOT7,MONEY_QUEST_TASK_SLOT7, 0},
  571.     {MONEY_QUEST_TASK_SLOT8,MONEY_QUEST_TASK_SLOT8, 0},
  572.     {MONEY_QUEST_TASK_SLOT9,MONEY_QUEST_TASK_SLOT9, 0},
  573.     // QUEST GHETTO
  574.  
  575.     {MONEY_TASK_GUN,EXP_TASK_GUN, MATERIALS_TASK_GUN},
  576.     {MONEY_TASK_DRUGS,EXP_TASK_DRUGS, 0},
  577.     {MONEY_TASK_ROBHOUSE,EXP_TASK_ROBHOUSE, 0},
  578.     {MONEY_TASK_DUEL_5,EXP_TASK_DUEL_5, MATERIALS_TASK_DUEL},
  579.     {MONEY_TASK_ROB_CAR,EXP_TASK_ROB_CAR, 0},
  580.     {MONEY_TASK_DMG_5,EXP_TASK_DMG_5, 0},
  581.     {MONEY_TASK_GPOINT_100,EXP_TASK_GPOINT_100, 0},
  582.     {MONEY_TASK_PAINT,EXP_TASK_PAINT, 0},
  583.     {MONEY_TASK_CAPTURE,EXP_TASK_CAPTURE, 0},
  584.     {MONEY_TASK_KILLS_400,EXP_TASK_KILLS_400, MATERIALS_TASK_KILLS},
  585.     {MONEY_TASK_WIN_CAPTURE,EXP_TASK_WIN_CAPTURE, MATERIALS_TASK_WIN_WAR},
  586.     {MONEY_TASK_LSA_300,EXP_TASK_LSA_300, 0},
  587.     {MONEY_TASK_MATS_250,EXP_TASK_MATS_250, 0},
  588.     {MONEY_TASK_KILL_LEADER,EXP_TASK_KILL_LEADER, MATERIALS_TASK_KILL_LEADER},
  589.  
  590.     // QUEST MAFIA
  591.  
  592.     {MONEY_TASK_RACKET_BIZ,EXP_TASK_RACKET_BIZ, 0},
  593.     {MONEY_TASK_RACKET,EXP_TASK_RACKET, 0},
  594.     {MONEY_TASK_HACKBASE,EXP_TASK_HACKBASE, 0},
  595.     {MONEY_TASK_MAFIA_WAR,EXP_TASK_MAFIA_WAR, 0},
  596.     {MONEY_TASK_MAFIA_DICE,EXP_TASK_MAFIA_DICE, 0},
  597.     {MONEY_TASK_MAFIA_KILLER,EXP_TASK_MAFIA_KILLER, 0},
  598.     {MONEY_TASK_MAFIA_TIE,EXP_TASK_MAFIA_TIE, 0},
  599.     {MONEY_TASK_MAFIA_JAIL,EXP_TASK_MAFIA_JAIL, 0},
  600.  
  601.     // pd
  602.     {MONEY_TASK_PD_NEWBIE, EXP_TASK_PD_NEWBIE, 0},
  603.     {MONEY_TASK_PD_ARREST, EXP_TASK_PD_ARREST, 0},
  604.     {MONEY_TASK_PD_TAZER, EXP_TASK_PD_TAZER, 0},
  605.     {MONEY_TASK_PD_DRUGS, EXP_TASK_PD_DRUGS, 0},
  606.     {MONEY_TASK_PD_ARREST6, EXP_TASK_PD_ARREST6, 0},
  607.     {MONEY_TASK_PD_PATRUL, EXP_TASK_PD_PATRUL, 0},
  608.     {MONEY_TASK_PD_GANG, EXP_TASK_PD_GANG, 0},
  609.  
  610.     {MONEY_TASK_PD_SLOT_1,EXP_TASK_PD_SLOT_1, 0},
  611.     {MONEY_TASK_PD_SLOT_2,EXP_TASK_PD_SLOT_2, 0},
  612.     {MONEY_TASK_PD_SLOT_3,EXP_TASK_PD_SLOT_3, 0},
  613.     {MONEY_TASK_PD_SLOT_4,EXP_TASK_PD_SLOT_4, 0},
  614.     {MONEY_TASK_PD_SLOT_5,EXP_TASK_PD_SLOT_5, 0},
  615.     {MONEY_TASK_PD_SLOT_6,EXP_TASK_PD_SLOT_6, 0},
  616.     {MONEY_TASK_PD_SLOT_7,EXP_TASK_PD_SLOT_7, 0},
  617.     {MONEY_TASK_PD_SLOT_8,EXP_TASK_PD_SLOT_8, 0},
  618.     {MONEY_TASK_PD_SLOT_9,EXP_TASK_PD_SLOT_9, 0},
  619.     {MONEY_TASK_PD_SLOT_10,EXP_TASK_PD_SLOT_10, 0},
  620.     {MONEY_TASK_PD_SLOT_11,EXP_TASK_PD_SLOT_11, 0},
  621.     {MONEY_TASK_PD_SLOT_12,EXP_TASK_PD_SLOT_12, 0},
  622.     {MONEY_TASK_PD_SLOT_13,EXP_TASK_PD_SLOT_13, 0},
  623.  
  624.     // fbi
  625.     {MONEY_TASK_FBI_ARREST, EXP_TASK_FBI_ARREST, 0},
  626.     {MONEY_TASK_FBI_TIPSTER, EXP_TASK_FBI_TIPSTER, 0},
  627.     {MONEY_TASK_FBI_ARREST_GHETTO, EXP_TASK_FBI_ARREST_GHETTO, 0},
  628.     {MONEY_TASK_FBI_DRUGS, EXP_TASK_FBI_DRUGS, 0},
  629.     {MONEY_TASK_FBI_TAKE, EXP_TASK_FBI_TAKE, 0},
  630.     {MONEY_TASK_FBI_PATRUL, EXP_TASK_FBI_PATRUL, 0},
  631.     {MONEY_TASK_FBI_FIND, EXP_TASK_FBI_FIND, 0},
  632.     {MONEY_TASK_FBI_ARREST_GANG, EXP_TASK_FBI_ARREST_GANG, 0},
  633.     {MONEY_TASK_FBI_ARREST_LEADER, EXP_TASK_FBI_ARREST_LEADER, 0},
  634.  
  635.     {MONEY_TASK_FBI_SLOT_1,EXP_TASK_FBI_SLOT_1, 0},
  636.     {MONEY_TASK_FBI_SLOT_2,EXP_TASK_FBI_SLOT_2, 0},
  637.     {MONEY_TASK_FBI_SLOT_3,EXP_TASK_FBI_SLOT_3, 0},
  638.     {MONEY_TASK_FBI_SLOT_4,EXP_TASK_FBI_SLOT_4, 0},
  639.     {MONEY_TASK_FBI_SLOT_5,EXP_TASK_FBI_SLOT_5, 0},
  640.     {MONEY_TASK_FBI_SLOT_6,EXP_TASK_FBI_SLOT_6, 0},
  641.     {MONEY_TASK_FBI_SLOT_7,EXP_TASK_FBI_SLOT_7, 0},
  642.     {MONEY_TASK_FBI_SLOT_8,EXP_TASK_FBI_SLOT_8, 0},
  643.     {MONEY_TASK_FBI_SLOT_9,EXP_TASK_FBI_SLOT_9, 0},
  644.     {MONEY_TASK_FBI_SLOT_10,EXP_TASK_FBI_SLOT_10, 0},
  645.  
  646.     // army
  647.  
  648.     {MONEY_TASK_ARMY_NEWBIE,EXP_TASK_ARMY_NEWBIE, 0},
  649.     {MONEY_TASK_ARMY_KMB,EXP_TASK_ARMY_KMB, 0},
  650.     {MONEY_TASK_ARMY_SNIPER,EXP_TASK_ARMY_SNIPER, 0},
  651.     {MONEY_TASK_ARMY_MP5,EXP_TASK_ARMY_MP5, 0},
  652.     {MONEY_TASK_ARMY_UNLOAD_PORT,EXP_TASK_ARMY_UNLOAD_PORT, 0},
  653.     {MONEY_TASK_ARMY_UNLOAD_GOS,EXP_TASK_ARMY_UNLOAD_GOS, 0},
  654.     {MONEY_TASK_ARMY_GANG,EXP_TASK_ARMY_GANG, 0},
  655.     {MONEY_TASK_ARMY_GANG_LS,EXP_TASK_ARMY_GANG_LS, 0},
  656.     {MONEY_TASK_ARMY_GANG_NODIE,EXP_TASK_ARMY_GANG_NODIE, 0}
  657. };
  658.  
  659.  
  660.  
  661. //#define GetPlayerQuestTask(%1)        QuestComplationLineMax[ pInfo[%0][QuestSelect] ][0] +  pInfo[%0][NumberQuest]   pInfo[playerid][NumberQuest]
  662.  
  663.  
  664. stock GetPlayerQuestTask(playerid, quest_id)
  665. {
  666.     new task;
  667.     if (!(QUEST_GUEST <= quest_id <= QUEST_LAST-1)) return 0;
  668.     task =  QuestComplationLineMax[quest_id][0] + pQuest[playerid][pQuestID][quest_id];
  669.     //printf("task = %d",task);
  670.     if (task >= QUEST_TASK_LAST) task = 0;
  671.     return task;
  672. }
  673.  
  674.  
  675. #define IsPlayerQuestProgressFinish(%2,%1)      QuestComplationLine[ GetPlayerQuestTask(%2,%1) ]
  676. #define GetMoneyQuest(%2,%1)                    QuestComplationLineReward[ GetPlayerQuestTask(%2,%1)][0]
  677. #define GetExpQuest(%2,%1)                      QuestComplationLineReward[ GetPlayerQuestTask(%2,%1)][1]
  678. #define GetMaterialsQuest(%2,%1)                QuestComplationLineReward[ GetPlayerQuestTask(%2,%1)][2]
  679.  
  680. static const TitleQuest[QUEST_TASK_LAST][] = {
  681.     // мешки
  682.     ""colwhi"Привет, меня зовут Дэйв, я помогу тебе освоиться в этом городе и найти работу.\n\
  683.     В порту работает мой друг - Артем, ему требуются грузчики - это отличный способ заработать.\n\
  684.     С помощью /gps - [1] Работы - [0] Работа грузчика, ты сможешь отыскать его, он подгонит тебе работёнку.\n\
  685.     Если справишься с задачей, то через некоторое время я напишу тебе снова.\n\
  686.     У меня будут дела посложнее, но и награда будет соответствующая.\n{ffff99}Задача: Перетащить "#COUNT_COMPLATE_BAGS" мешков\n\
  687.     {33cc99}Награда: "#MONEY_QUEST_LOADER_BAGS"$, "#EXP_QUEST_LOADER_BAGS" - EXP",  
  688.  
  689.     // мешки
  690.     ""colwhi"Привет, моему коллеге по цеху требуется сборщик продуктов.\n\
  691.     Отправляйся в цех, там обратишься к начальнику, Максим зовут, а там и рабочий день начнёшь. Если будешь плотно работать, то может и сертификат на жильё подгонят.\n\
  692.     С помощью /gps - [1] Работы - [0] Работа в Цеху, начальника найдёшь в раздевалке, он даст тебе работу.\n\n\
  693.     {ffff99}Задача: Перетащить "#COUNT_COMPLATE_FACTORY" ящиков\n\
  694.     {33cc99}Награда: "#MONEY_QUEST_FACTORY"$, "#EXP_QUEST_FACTORY" - EXP",  
  695.  
  696.     // Фермы
  697.     ""colwhi"Здарова, слыхал про Яхт-Клуб на берегу пляжа Санта-Мария?\n\
  698.     Там сейчас аномальный приток рыбы, просто рай для рыбака.\n\
  699.     Так вот, в хижине, рядом с берегом, работает мой старый друг Дон.\n\
  700.     С помощью /gps - [1] Работы - [1] Яхт-Клуб, ты сможешь найти его неподалёку от берега, он даст тебе интересное задание. Удачной ловли!\n\
  701.     {ffff99}Задача: Поймать "#COUNT_COMPLATE_FARM" рыб\n{33cc99}Награда: "#MONEY_QUEST_FARM"$, "#EXP_QUEST_FARM" - EXP",
  702.    
  703.     // права
  704.     ""colwhi"Это снова Дэйв, вижу, что тебе нужны водительские права.\n\
  705.     У меня есть знакомые в местной Автошколе, они помогут сдать тебе экзамен совершенно бесплатно.\n\
  706.     Чтобы добраться до Автошколы, воспользуйся автобусом или такси.\n\
  707.     {ffff99}Задача: Пройдите автосдачу на права (не покупая права у инструктора)\n\
  708.     {33cc99}Награда: Бесплатная сдача на права, "#MONEY_QUEST_LICENCE_CAR"$, "#EXP_QUEST_LICENCE_CAR" - EXP",
  709.  
  710.     // магазин одежды
  711.     ""colwhi"Красавчик, теперь у тебя есть права и деньги, пора бы приодеться.\n\
  712.     В каждом городе есть магазин одежды. Доедь до любого из них и купи что-нибудь приличное.\n\
  713.     Не забывай использовать /gps.\n{ffff99}Задача: Купить любой скин\n{33cc99}Награда: "#MONEY_QUEST_VICTIM"$, "#EXP_QUEST_VICTIM" - EXP",
  714.  
  715.     // мэрия
  716.     ""colwhi"Войдите в Мэрии штата.\n{ffff99}Задача: Войти в мэрию (/gps - [0] Важные места - [3] Мэрия)\n\
  717.     {33cc99}Награда: "#MONEY_QUEST_MAYOR"$ , Начальный пакет: Стартовый на 7 дней, "#EXP_QUEST_MAYOR" - EXP",
  718.  
  719.     // автобусник
  720.     ""colwhi"Приветствую! Вас беспокоит служба занятости SAN ANDREAS.\n\
  721.     Городу требуются водители автобуса. Отличный способ заработать на жильё и транспорт.\n\
  722.     {ffff99}Задача: Заработать "#COUNT_COMPLATE_BUS"$\n{33cc99}Награда: "#MONEY_QUEST_BUS"$, "#EXP_QUEST_BUS" - EXP",
  723.  
  724.     // такси
  725.     ""colwhi"Приветствую! Вас беспокоит служба занятости SAN ANDREAS.\n\
  726.     Таксопарк объявляет о наборе водителей таксистов. Попробуйте себя в роли таксиста и увеличьте свой капитал.\n\
  727.     {ffff99}Задача: Обслужить "#COUNT_COMPLATE_TAXI" пассажиров\n{33cc99}Награда: "#MONEY_QUEST_TAXI"$, "#EXP_QUEST_TAXI" - EXP",
  728.  
  729.     // механик
  730.     ""colwhi"Приветствую! Вас беспокоит служба занятости SAN ANDREAS.\n\
  731.     В городской автопарк набирают Механиков. Работа сложная, но у вас все получится.\n\
  732.     {ffff99}Задача: Обслужить "#COUNT_COMPLATE_MEH" авто\n{33cc99}Награда: "#MONEY_QUEST_MEH"$, "#EXP_QUEST_MEH" - EXP",
  733.  
  734.     // инкасатор
  735.     ""colwhi"Приветствую! Вас беспокоит служба занятости SAN ANDREAS.\n\
  736.     В государственный банк SA требуются инкассаторы. Работа сложная, но и прибыль не плохая, отправляйтесь на собеседование.\n\
  737.     {ffff99}Задача: Провести инкассацию "#COUNT_COMPLATE_COLLECTOR" банкоматов\n{33cc99}Награда: "#MONEY_QUEST_COLLECTOR"$, "#EXP_QUEST_COLLECTOR" - EXP",
  738.  
  739.     // тренер
  740.     ""colwhi"Приветствую! Вас беспокоит служба занятости SAN ANDREAS.\n\
  741.     В спортзал требуются Тренеры по рукопашному бою\n\
  742.     Отправляйтесь в спортзал и приступайте к тренировке, форму возьмете в шкафчике.\n\
  743.     {ffff99}Задача: Начать "#COUNT_COMPLATE_COACH" уроков\n{33cc99}Награда: "#MONEY_QUEST_COACH"$, "#EXP_QUEST_COACH" - EXP",
  744.  
  745.     // дальнобойщик
  746.     ""colwhi"Приветствую! Вас беспокоит служба занятости SAN ANDREAS.\n\
  747.     Требуются водители Дальнобойщики. Арендуйте тягач и приступайте к грузоперевозкам,\n\
  748.     ваша заветная цель - жилье и собственный транспорт все ближе.\n\
  749.     {ffff99}Задача: Перевезти "#COUNT_COMPLATE_TRUCK" грузов.\n{33cc99}Награда: "#MONEY_QUEST_TRUCK"$, "#EXP_QUEST_TRUCK" - EXP",
  750.  
  751.     // покупка дома
  752.     ""colwhi"Я удивлён, ваше трудолюбие заслуживает уважения.\n\
  753.     Вы долго и упорно работали, что даёт вам возможность приобрести Вам собственное жильё.\n\
  754.     {ffff99}Задача: Купить жильё\n{33cc99}Награда: "#MONEY_QUEST_HOUSE"$, "#EXP_QUEST_HOUSE" - EXP",
  755.      
  756.     // покупка тачки
  757.     ""colwhi"Вам необходим достойный транспорт, подыщите себе что-нибудь стоящее.\n\
  758.     {ffff99}Задача: Купить транспорт в автосалоне\n{33cc99}Награда: "#MONEY_QUEST_CAR"$, "#EXP_QUEST_CAR" - EXP",
  759.  
  760.     //"QUEST_TASK_SLOT0", // свободный слот для гражданских 0
  761.     "QUEST_TASK_SLOT1", // свободный слот для гражданских 1
  762.     "QUEST_TASK_SLOT2", // свободный слот для гражданских 2
  763.     "QUEST_TASK_SLOT3", // свободный слот для гражданских 3
  764.     "QUEST_TASK_SLOT4", // свободный слот для гражданских 4
  765.     "QUEST_TASK_SLOT5", // свободный слот для гражданских 5
  766.     "QUEST_TASK_SLOT6", // свободный слот для гражданских 6
  767.     "QUEST_TASK_SLOT7", // свободный слот для гражданских 7
  768.     "QUEST_TASK_SLOT8", // свободный слот для гражданских 8
  769.     "QUEST_TASK_SLOT9", // свободный слот для гражданских 9
  770.  
  771.     ""colwhi"Создай себе оружие: Хола Амигос, сейчас проведу тебе инструктаж по первому правилу для выживания в Гетто. \n\
  772.     Всегда нужно иметь с собой пушку, чтобы защитить себя от других бандитов. Если не ты, то тебя\n\n\
  773.     {ffff99}Задача: Сделать "#COUNT_TASK_GUN" патрон Desert Eagle.\n\
  774.     {33cc99}Награда: \n\
  775.     \t - "#MONEY_TASK_GUN"$, "#EXP_TASK_GUN" - EXP\n\
  776.     \t - "#MATERIALS_TASK_GUN" - материалов",
  777.  
  778.     ""colwhi"Найди себе дурь: Отлично, вижу пушка у тебя уже есть. \n\
  779.     Теперь чтобы выглядеть естественно нужно закупиться наркотиками в нашем местном наркопритоне,\n\
  780.     чтобы тебя начали уважать свои. Ведь порой они устраивают вечеринки с дурью.\n\n\
  781.     {ffff99}Задача: Купить "#COUNT_TASK_DRUGS" грамм наркоты.\n\
  782.     {33cc99}Награда: "#MONEY_TASK_DRUGS"$, "#EXP_TASK_DRUGS" - EXP",
  783.  
  784.     ""colwhi"Мои руки чисты: Теперь после основного инструктажа, пора делать грязь.\n\
  785.     Тебе нужно вынести пару домов на территории противоположных банд.\n\n\
  786.     {ffff99}Задача: Ограбить "#COUNT_TASK_ROBHOUSE" домов.\n\
  787.     {33cc99}Награда: "#MONEY_TASK_ROBHOUSE"$, "#EXP_TASK_ROBHOUSE" - EXP",
  788.  
  789.     ""colwhi"\"Победа и только победа!\": Отлично вижу с тебя будет толк, недавно на нас начали гнать противоположные банды,\n\
  790.     тебе нужно показать кто тут король. Пойди и завали 5-ых человек на смертельной арене.\n\n\
  791.     {ffff99}Задача: Выйграть "#COUNT_TASK_DUEL_5" дуэлей.\n\
  792.     {33cc99}Награда: \n\
  793.     \t - "#MONEY_TASK_DUEL_5"$, "#EXP_TASK_DUEL_5" - EXP\n\
  794.     \t - "#MATERIALS_TASK_DUEL" - материалов",
  795.  
  796.     ""colwhi"\"Ключи есть, а что ещё надо?\": По нашей наводке, с нами недавно связались ребята,\n\
  797.     которые занимаются автоугоном и познакомили нас с одним человеком, который предложил доставить\n\
  798.     ему 10 автомобилей за каждый из них он заплатит, даже не хилой суммой g-points для нашей банды.\n\
  799.     Бери напарников которые могут тебе помочь, только бери проверенных мало-ли это будут крысы.\n\
  800.     Дело реально важное, возможно мы будем с ними сотрудничать дальше и нам будут капать проценты.\n\n\
  801.     {ffff99}Задача: Угнать "#COUNT_TASK_ROB_CAR" машин.\n\
  802.     {33cc99}Награда: "#MONEY_TASK_ROB_CAR"$, "#EXP_TASK_ROB_CAR" - EXP",
  803.  
  804.     ""colwhi"\"Покажи свою силу\": Вижу ты и с этим справился, молодец.\n\
  805.     Теперь у тебя начинается настоящая война против другой банды.\n\
  806.     Во время этого противостояния твоя задача вылить с них 5 литров крови. Удачи!\n\n\
  807.     {ffff99}Задача: Нанести "#COUNT_TASK_DMG_5" урона.\n\
  808.     {33cc99}Награда: "#MONEY_TASK_DMG_5"$, "#EXP_TASK_DMG_5" - EXP",
  809.  
  810.     ""colwhi"\"Заработай уважение\": Так же важной частью нахождение в банде, является то насколько\n\
  811.     ты много зарабатываешь репутацию в виде g-points. Тебе нужно заработать 100 g-points, они помогут\n\
  812.     твоей банде развиться, ведь это основная валюта чёрного рынка.\n\n\
  813.     {ffff99}Задача: Заработать "#COUNT_TASK_GPOINT_100" g-points.\n\
  814.     {33cc99}Награда: "#MONEY_TASK_GPOINT_100"$, "#EXP_TASK_GPOINT_100" - EXP",
  815.  
  816.     ""colwhi"\"Дай всем знать о своей банде\": Основной частью Гетто так же являются граффити,\n\
  817.     за их закраску твоя банда получает репутацию, после какая банда получит больше репутации \n\
  818.     в конце недели будет вознаграждена. Это небольшая пиар компания для твоей банды.\n\n\
  819.     {ffff99}Задача: Закрасить "#COUNT_TASK_PAINT" граффити.\n\
  820.     {33cc99}Награда: "#MONEY_TASK_PAINT"$, "#EXP_TASK_PAINT" - EXP",
  821.  
  822.     ""colwhi"\"Дикий запад\": Теперь твоя задача показать кто тут самый быстрый на диком западе,\n\
  823.     стань инициатором 3 захватов вражеских территорий\n\n\
  824.     {ffff99}Задача: Инициировать "#COUNT_TASK_CAPTURE" войны за территорию.\n\
  825.     {33cc99}Награда: "#MONEY_TASK_CAPTURE"$, "#EXP_TASK_CAPTURE" - EXP",
  826.  
  827.     ""colwhi"\"В чём твоя польза?\": Отлично, с тебя уже получился хороший бандит,\n\
  828.     а вот сможешь ли ты убить 400 противников на захватах?\n\
  829.     Возможно именно ты попадешь в топ-15 стрелков наших районов. Дерзай!\n\n\
  830.     {ffff99}Задача: Убить "#COUNT_TASK_KILLS_400" противников.\n\
  831.     {33cc99}Награда: \n\
  832.     \t - "#MONEY_TASK_KILLS_400"$, "#EXP_TASK_KILLS_400" - EXP\n\
  833.     \t - "#MATERIALS_TASK_KILLS" - материалов",  
  834.  
  835.  
  836.  
  837.     ""colwhi"\"Сила есть, ума не надо\": Грац, теперь твоя задача принести как можно больше пользы на захвате территорий,\n\
  838.     чтобы твоя банда могла стать королями. Помоги своей банде захватить 3 территории. Только без посторонних программ.\n\n\
  839.     {ffff99}Задача: Захватить "#COUNT_TASK_WIN_CAPTURE" территории.\n\
  840.     {33cc99}Награда: \n\
  841.     \t - "#MONEY_TASK_WIN_CAPTURE"$, "#EXP_TASK_WIN_CAPTURE" - EXP\n\
  842.     \t - "#MATERIALS_TASK_WIN_WAR" - материалов",  
  843.  
  844.     ""colwhi"\"Чужой среди своих\": К нам дошла информация, что сейчас в магазине одежды 3-х городов завалялась военная форма для новобранцев,\n\
  845.     твоя задача поехать с напарниками и забрать форму. После этого едьте на базу, берите вертолёт и разгрузите с корабля на базу LSA 300.000 материалов.\n\
  846.     Дальше наши сами развезут эти материалы нам на базу.\n\n\
  847.     {ffff99}Задача: Разгрузить "#COUNT_TASK_LSA_300" материалов на склад LSA.\n\
  848.     {33cc99}Награда: "#MONEY_TASK_LSA_300"$, "#EXP_TASK_LSA_300" - EXP",
  849.  
  850.     ""colwhi"\"Лидер долго не ждёт\": Слушай, у нас тут появились неприятности, помнишь я тебе говорил, что наши ребята разгрузят\n\
  851.     материалы которые ты доставил на LSA? Так вот их поймали, теперь возьми с собой людей и доставь нам эти материалы\n\
  852.     пока другие бандиты их не забрали. Good luck!\n\n\
  853.     {ffff99}Задача: Выгрузить "#COUNT_TASK_MATS_250" материалов на склад банды.\n\
  854.     {33cc99}Награда: "#MONEY_TASK_MATS_250"$, "#EXP_TASK_MATS_250" - EXP",
  855.  
  856.     ""colwhi"\"Последний рывок\": Ну что же, финальное задание от меня. Недавно на меня наехал лидер противоположной банды с его шайкой,\n\
  857.     тебе нужно будет на захвате унизить этого лидера посадив его на биту. Как выполнишь задание, на этом мы расходимся.\n\n\
  858.     {ffff99}Задача: Убить "#COUNT_TASK_KILL_LEADER" лидера из противоположной банды битой.\n\
  859.     {33cc99}Награда: \n\
  860.     \t - "#MONEY_TASK_KILL_LEADER"$, "#EXP_TASK_KILL_LEADER" - EXP\n\
  861.     \t - "#MATERIALS_TASK_KILL_LEADER" - материалов",    
  862.  
  863.  
  864.     // MAFIA
  865.  
  866.     ""colwhi"\"Первый рэкет\":{ffff99}Задача: инициировать "#COUNT_TASK_RACKET_BIZ" войну за бизнес.\n\
  867.     {33cc99}Награда: "#MONEY_TASK_RACKET_BIZ"$, "#EXP_TASK_RACKET_BIZ" - EXP",
  868.  
  869.     ""colwhi"\"Рэкет в слепую\":{ffff99}Задача: Рэкитировать "#COUNT_TASK_RACKET" рабочих.\n\
  870.     {33cc99}Награда: "#MONEY_TASK_RACKET"$, "#EXP_TASK_RACKET" - EXP",
  871.  
  872.     ""colwhi"\"Хакер\":{ffff99}Задача: Удалить из базы данных информацию о членах своей фракции "#COUNT_TASK_HACKBASE" раз.\n\
  873.     {33cc99}Награда: "#MONEY_TASK_HACKBASE"$, "#EXP_TASK_HACKBASE" - EXP",
  874.  
  875.  
  876.     ""colwhi"\"Уважение\":{ffff99}Задача: Учавствовать в войне между мафиями "#COUNT_TASK_MAFIA_WAR" раз.\n\
  877.     {33cc99}Награда: "#MONEY_TASK_MAFIA_WAR"$, "#EXP_TASK_MAFIA_WAR" - EXP",
  878.  
  879.     ""colwhi"\"Азарт\":{ffff99}Задача: Поставить ставку в игре \"кости\"  на  сумму "#COUNT_TASK_MAFIA_DICE"$ + .\n\
  880.     {33cc99}Награда: "#MONEY_TASK_MAFIA_DICE"$, "#EXP_TASK_MAFIA_DICE" - EXP",
  881.  
  882.     ""colwhi"\"Убийство\":{ffff99}Задача: выследить и убить адвоката/полицейского "#COUNT_TASK_MAFIA_KILLER" раз.\n\
  883.     {33cc99}Награда: "#MONEY_TASK_MAFIA_KILLER"$, "#EXP_TASK_MAFIA_KILLER" - EXP",
  884.  
  885.     ""colwhi"\"Похищение\":{ffff99}Задача: похитеть игрока используя команду /tie "#COUNT_TASK_MAFIA_TIE" раз.\n\
  886.     {33cc99}Награда: "#MONEY_TASK_MAFIA_TIE"$, "#EXP_TASK_MAFIA_TIE" - EXP",
  887.  
  888.     ""colwhi"\"Давление\": У адвокатов есть негласное правило \"Не заниматся делами особо опасных преступников\"\n\
  889.     Вам нужно надовить на адвоката, что бы он оправдал Вас ( выпустил из тюрьмы ).\n\n\
  890.     {ffff99}Задача: выйти из тюрьмы.\n\
  891.     {33cc99}Награда: "#MONEY_TASK_MAFIA_JAIL"$, "#EXP_TASK_MAFIA_JAIL" - EXP\n\
  892.     {F0DA3C}200 H-Point",
  893.  
  894.  
  895.     // ЗАКОН
  896.  
  897.     "{ffff99}Задача: выписать "#COUNT_TASK_PD_NEWBIE" штрафов/проверок документов.\n\
  898.     {33cc99}Награда: "#MONEY_TASK_PD_NEWBIE"$, "#EXP_TASK_PD_NEWBIE" - EXP",
  899.  
  900.     "{ffff99}Задача: Имя звание [2] \"офицер\" или выше арестовать "#COUNT_TASK_PD_ARREST" преступников.\n\
  901.     {33cc99}Награда: "#MONEY_TASK_PD_ARREST"$, "#EXP_TASK_PD_ARREST" - EXP",
  902.  
  903.     "{ffff99}Задача:  Обезвредить "#COUNT_TASK_PD_ARREST" преступников при помощи резиновых пуль.\n\
  904.     {33cc99}Награда: "#MONEY_TASK_PD_TAZER"$, "#EXP_TASK_PD_TAZER" - EXP",
  905.  
  906.     "{ffff99}Задача: Имея звание [4] Сержант или выше, изымите "#COUNT_TASK_PD_DRUGS" грамм наркотиков.\n\
  907.     {33cc99}Награда: "#MONEY_TASK_PD_DRUGS"$, "#EXP_TASK_PD_DRUGS" - EXP",
  908.  
  909.     "{ffff99}Задача: посадить "#COUNT_TASK_PD_ARREST6" человек имеющих уровень розыска 6.\n\
  910.     {33cc99}Награда: "#MONEY_TASK_PD_ARREST6"$, "#EXP_TASK_PD_ARREST6" - EXP",
  911.  
  912.     "{ffff99}Задача: Имея звание [5] \"Ст. Сержант\" или выше, арестуйте  "#COUNT_TASK_PD_PATRUL" человек имеющих уровень розыска 6.\n\
  913.     {33cc99}Награда: "#MONEY_TASK_PD_PATRUL"$, "#EXP_TASK_PD_PATRUL" - EXP",
  914.  
  915.     "{ffff99}Задача: Посадите "#COUNT_TASK_PD_GANG" бандитов или мафиози, имеющих ранг заместителя.\n\
  916.     {33cc99}Награда: "#MONEY_TASK_PD_GANG"$, "#EXP_TASK_PD_GANG" - EXP\n\
  917.     {F0DA3C}200 H-Point",
  918.  
  919.     "PD_SLOT 1",
  920.     "PD_SLOT 2",
  921.     "PD_SLOT 3",
  922.     "PD_SLOT 4",
  923.     "PD_SLOT 5",
  924.     "PD_SLOT 6",
  925.     "PD_SLOT 7",
  926.     "PD_SLOT 8",
  927.     "PD_SLOT 9",
  928.     "PD_SLOT 10",
  929.     "PD_SLOT 11",
  930.     "PD_SLOT 12",
  931.     "PD_SLOT 13",
  932.  
  933.     ""colwhi"\"Стажировка\":{ffff99}Задача: находясь в FBI проведите "#COUNT_TASK_FBI_ARREST" арестов в опасном районе.\n\
  934.     {33cc99}Награда: "#MONEY_TASK_FBI_ARREST"$, "#EXP_TASK_FBI_ARREST" - EXP",
  935.  
  936.     ""colwhi"\"Поддержка безопасности\":{ffff99}Задача: Имея звание [2] \"Дежурный\" или выше, установите жучок слежения на гос. организацию.\n\
  937.     {33cc99}Награда: "#MONEY_TASK_FBI_TIPSTER"$, "#EXP_TASK_FBI_TIPSTER" - EXP",
  938.  
  939.     ""colwhi"\"Работа под прикрытием\":{ffff99}Задача: Произведите задержание "#COUNT_TASK_FBI_ARREST_GHETTO" бандитов в гетто, \
  940.     имеющих ранг 7 или выше, будуче в маскировки.\n\
  941.     {33cc99}Награда: "#MONEY_TASK_FBI_ARREST_GHETTO"$, "#EXP_TASK_FBI_ARREST_GHETTO" - EXP",
  942.  
  943.     ""colwhi"\"Контроль оборотов II\":{ffff99}Задача: Имея ранг [4] \"Агент DEA\" или выше изъять "#COUNT_TASK_FBI_DRUGS" грамм наркотиков.\n\
  944.     {33cc99}Награда: "#MONEY_TASK_FBI_DRUGS"$, "#EXP_TASK_FBI_DRUGS" - EXP",
  945.  
  946.     ""colwhi"\"Неполноценные сотрудники\":{ffff99}Задача: Изымите наркотики у гос. сотрудника.\n\
  947.     {33cc99}Награда: "#MONEY_TASK_FBI_TAKE"$, "#EXP_TASK_FBI_TAKE" - EXP",
  948.  
  949.     ""colwhi"\"Сотрудник месяца\":{ffff99}Задача: Имея должность [5] \"Агент CID\" или выше задежите "#COUNT_TASK_FBI_PATRUL" преступников, используя /patrul.\n\
  950.     {33cc99}Награда: "#MONEY_TASK_FBI_PATRUL"$, "#EXP_TASK_FBI_PATRUL" - EXP",
  951.  
  952.     ""colwhi"\"Корпоротивная работа\":{ffff99}Задача: Имея должность [6] \"Глава DEA\" или выше задежите "#COUNT_TASK_FBI_FIND" преступников, используя /find.\n\
  953.     {33cc99}Награда: "#MONEY_TASK_FBI_FIND"$, "#EXP_TASK_FBI_FIND" - EXP",
  954.  
  955.     ""colwhi"\"Нелегальные иммигранты\":{ffff99}Задача: Арестуйте "#COUNT_TASK_FBI_ARREST_GANG" заместителей мафии.\n\
  956.     {33cc99}Награда: "#MONEY_TASK_FBI_ARREST_GANG"$, "#EXP_TASK_FBI_ARREST_GANG" - EXP",
  957.  
  958.     ""colwhi"\"Блюститель закона\":{ffff99}Задача: Имея должность [7] \"Глава CID\" или выше арестуйте лидера каждой банды.\n\
  959.     {33cc99}Награда: "#MONEY_TASK_FBI_ARREST_LEADER"$, "#EXP_TASK_FBI_ARREST_LEADER" - EXP\n\
  960.     {F0DA3C}200 H-Point",
  961.  
  962.     "FBI_SLOT 1",
  963.     "FBI_SLOT 2",
  964.     "FBI_SLOT 3",
  965.     "FBI_SLOT 4",
  966.     "FBI_SLOT 5",
  967.     "FBI_SLOT 6",
  968.     "FBI_SLOT 7",
  969.     "FBI_SLOT 8",
  970.     "FBI_SLOT 9",
  971.     "FBI_SLOT 10",
  972.  
  973.  
  974.     ""colwhi"\"Начало службы\":{ffff99}Задача: Обезвредить "#COUNT_TASK_ARMY_NEWBIE" бандитов на территории армии.\n\
  975.     {33cc99}Награда: "#MONEY_TASK_ARMY_NEWBIE"$, "#EXP_TASK_ARMY_NEWBIE" - EXP",
  976.  
  977.     ""colwhi"\"КМБ\":{ffff99}Задача: Получить звание [2] Ефрейтор или выше.\n\
  978.     Прокачать скиллы Deagle и M4 до 100%.\n\
  979.     Заправить Армейские автомобиль.\n\
  980.     {33cc99}Награда: "#MONEY_TASK_ARMY_KMB"$, "#EXP_TASK_ARMY_KMB" - EXP",
  981.  
  982.     ""colwhi"\"Снайперская подготовка\":{ffff99}Задача: Находять в звании [3] \"младший Сержант\" и выше.\n\
  983.     Расправьтесь с "#COUNT_TASK_ARMY_SNIPER" членами банд на территории армии при помощи оружия Rifle.\n\
  984.     {33cc99}Награда: "#MONEY_TASK_ARMY_SNIPER"$, "#EXP_TASK_ARMY_SNIPER" - EXP",
  985.  
  986.     ""colwhi"\"Новые склады\":{ffff99}Задача: Обезвредить "#COUNT_TASK_ARMY_MP5" бандитов на территории армейских складов ЛС используюя MP5.\n\
  987.     {33cc99}Награда: "#MONEY_TASK_ARMY_MP5"$, "#EXP_TASK_ARMY_MP5" - EXP",
  988.  
  989.     ""colwhi"\"Доставка\":{ffff99}Задача: Имея звание [4] \"Сержант\" и выше, разгрузите в порт ЛС "#COUNT_TASK_ARMY_UNLOAD_PORT" материалов.\n\
  990.     {33cc99}Награда: "#MONEY_TASK_ARMY_UNLOAD_PORT"$, "#EXP_TASK_ARMY_UNLOAD_PORT" - EXP",
  991.  
  992.     ""colwhi"\"Пополнение арсенала\":{ffff99}Задача: Разгрузите на склад любой гос. организации "#COUNT_TASK_ARMY_UNLOAD_GOS" материалов.\n\
  993.     {33cc99}Награда: "#MONEY_TASK_ARMY_UNLOAD_GOS"$, "#EXP_TASK_ARMY_UNLOAD_GOS" - EXP",
  994.  
  995.     ""colwhi"\"Придорожные мародеры\":{ffff99}Задача: Имея звание [4] \"Сержант\" и выше, обезвредить "#COUNT_TASK_ARMY_GANG" переодетых бандитов, используя Desert Eagle.\n\
  996.     {33cc99}Награда: "#MONEY_TASK_ARMY_GANG"$, "#EXP_TASK_ARMY_GANG" - EXP",
  997.  
  998.     ""colwhi"\"Генеральная уборка\":{ffff99}Задача: Имея звание [7] \"Прапорщик\" и выше, обезвредить "#COUNT_TASK_ARMY_GANG_LS" бандитов в порту ЛС имеющих ранг заместителя из оружия Shotgun.\n\
  999.     {33cc99}Награда: "#MONEY_TASK_ARMY_GANG_LS"$, "#EXP_TASK_ARMY_GANG_LS" - EXP",
  1000.  
  1001.     ""colwhi"\"Морской котик\":{ffff99}Задача: Имея звание [9] \"Лейтенант\" и выше, обезвредить "#COUNT_TASK_ARMY_GANG_NODIE" бандитов на территории любой военной базы, ни разу ни умерев.\n\
  1002.     {33cc99}Награда: "#MONEY_TASK_ARMY_GANG_NODIE"$, "#EXP_TASK_ARMY_GANG_NODIE" - EXP\n\
  1003.     {F0DA3C}200 H-Point"
  1004.  
  1005. };
  1006.  
  1007.  
  1008.  
  1009. static const TitleGiveMoneyQuest[QUEST_TASK_LAST][] = {
  1010.     "QUEST_GUEST > грузчик", "QUEST_GUEST > цех",
  1011.     "QUEST_GUEST > фермы","QUEST_GUEST > права", "QUEST_GUEST > скин","QUEST_GUEST > мэрия",
  1012.     "QUEST_GUEST > автобус","QUEST_GUEST > такси","QUEST_GUEST > механик","QUEST_GUEST > инкасатор","QUEST_GUEST > тренер",
  1013.     "QUEST_GUEST > дальнобой","QUEST_GUEST > дом","QUEST_GUEST > кар",
  1014.     "QUEST_TASK_SLOT1", // свободный слот для гражданских 1
  1015.     "QUEST_TASK_SLOT2", // свободный слот для гражданских 2
  1016.     "QUEST_TASK_SLOT3", // свободный слот для гражданских 3
  1017.     "QUEST_TASK_SLOT4", // свободный слот для гражданских 4
  1018.     "QUEST_TASK_SLOT5", // свободный слот для гражданских 5
  1019.     "QUEST_TASK_SLOT6", // свободный слот для гражданских 6
  1020.     "QUEST_TASK_SLOT7", // свободный слот для гражданских 7
  1021.     "QUEST_TASK_SLOT8", // свободный слот для гражданских 8
  1022.     "QUEST_TASK_SLOT9", // свободный слот для гражданских 9
  1023.     // GHETTO
  1024.     "QUEST_GHETTO > 1",
  1025.     "QUEST_GHETTO > 2",
  1026.     "QUEST_GHETTO > 3",
  1027.     "QUEST_GHETTO > 4",
  1028.     "QUEST_GHETTO > 5",
  1029.     "QUEST_GHETTO > 6",
  1030.     "QUEST_GHETTO > 7",
  1031.     "QUEST_GHETTO > 8",
  1032.     "QUEST_GHETTO > 9",
  1033.     "QUEST_GHETTO > 10",
  1034.     "QUEST_GHETTO > 11",
  1035.     "QUEST_GHETTO > 12",
  1036.     "QUEST_GHETTO > 13",
  1037.     "QUEST_GHETTO > 14",
  1038.     // MAFIA
  1039.     "QUEST_MAFIA > 1",
  1040.     "QUEST_MAFIA > 2",
  1041.     "QUEST_MAFIA > 3",
  1042.     "QUEST_MAFIA > 4",
  1043.     "QUEST_MAFIA > 5",
  1044.     "QUEST_MAFIA > 6",
  1045.     "QUEST_MAFIA > 7",
  1046.     "QUEST_MAFIA > 8",
  1047.  
  1048.     // PD
  1049.     "QUEST_PD > 1",
  1050.     "QUEST_PD > 2",
  1051.     "QUEST_PD > 3",
  1052.     "QUEST_PD > 4",
  1053.     "QUEST_PD > 5",
  1054.     "QUEST_PD > 6",
  1055.     "QUEST_PD > 7",
  1056.  
  1057.     "PD SLOT > 1",
  1058.     "PD SLOT > 2",
  1059.     "PD SLOT > 3",
  1060.     "PD SLOT > 4",
  1061.     "PD SLOT > 5",
  1062.     "PD SLOT > 6",
  1063.     "PD SLOT > 7",
  1064.     "PD SLOT > 8",
  1065.     "PD SLOT > 9",
  1066.     "PD SLOT > 10",
  1067.     "PD SLOT > 11",
  1068.     "PD SLOT > 12",
  1069.     "PD SLOT > 13",
  1070.  
  1071.     // FBI
  1072.     "QUEST_FBI > 2",
  1073.     "QUEST_FBI > 3",
  1074.     "QUEST_FBI > 4",
  1075.     "QUEST_FBI > 5",
  1076.     "QUEST_FBI > 6",
  1077.     "QUEST_FBI > 7",
  1078.     "QUEST_FBI > 8",
  1079.     "QUEST_FBI > 9",
  1080.     "QUEST_FBI > 10",
  1081.  
  1082.     "FBI SLOT > 1",
  1083.     "FBI SLOT > 2",
  1084.     "FBI SLOT > 3",
  1085.     "FBI SLOT > 4",
  1086.     "FBI SLOT > 5",
  1087.     "FBI SLOT > 6",
  1088.     "FBI SLOT > 7",
  1089.     "FBI SLOT > 8",
  1090.     "FBI SLOT > 9",
  1091.     "FBI SLOT > 10",
  1092.  
  1093.     "ARMY SLOT > 1",
  1094.     "ARMY SLOT > 2",
  1095.     "ARMY SLOT > 3",
  1096.     "ARMY SLOT > 4",
  1097.     "ARMY SLOT > 5",
  1098.     "ARMY SLOT > 6",
  1099.     "ARMY SLOT > 7",
  1100.     "ARMY SLOT > 8",
  1101.     "ARMY SLOT > 9"
  1102. };
  1103.  
  1104. /*
  1105. static const QuestName[QUEST_LAST][] = {
  1106.     "Гражданский",
  1107.     "Гетто"
  1108. };*/
  1109.  
  1110. static const QuestNameX[QUEST_LAST][] = {
  1111.     "Дом, милый дом!",
  1112.     "Извини мама, я вырос бандитом",
  1113.     "Мафиози",
  1114.     "Полиция",
  1115.     "ФБР",
  1116.     "Армия",
  1117.     "Автошкола",
  1118.     "Байкеры",
  1119.     "МЧС"
  1120. };
  1121.  
  1122. static const TitleQuestMissionName[QUEST_TASK_LAST][] = {
  1123.     "Первая работа", // мешки
  1124.     "Работа не сахар", // свободный слот для гражданских 0
  1125.     "Я рыбачка, ты рыбак",// Фермы
  1126.     "Я водитель..", // права
  1127.     "Отличный прикид", // магазин одежды
  1128.     "Почти биржа", // мэрия
  1129.     "Ох, уж эти пассажиры", // автобусник
  1130.     "Знакомство с городом", // такси
  1131.     "Много машин",// механик
  1132.     "Банкир",// инкасатор
  1133.     "Я босс!",// тренер
  1134.     "Железный конь",// дальнобойщик
  1135.     "Жить на широкую ногу",// покупка дома
  1136.     "Финансовые проблемы",// покупка тачки
  1137.    
  1138.     "QUEST_TASK_SLOT1", // свободный слот для гражданских 1
  1139.     "QUEST_TASK_SLOT2", // свободный слот для гражданских 2
  1140.     "QUEST_TASK_SLOT3", // свободный слот для гражданских 3
  1141.     "QUEST_TASK_SLOT4", // свободный слот для гражданских 4
  1142.     "QUEST_TASK_SLOT5", // свободный слот для гражданских 5
  1143.     "QUEST_TASK_SLOT6", // свободный слот для гражданских 6
  1144.     "QUEST_TASK_SLOT7", // свободный слот для гражданских 7
  1145.     "QUEST_TASK_SLOT8", // свободный слот для гражданских 8
  1146.     "QUEST_TASK_SLOT9", // свободный слот для гражданских 9
  1147.  
  1148.     "Создай себе оружие",
  1149.     "Найди себе дурь",
  1150.     "Мои руки чисты",
  1151.     "Победа и только победа!",
  1152.     "Ключи есть, а что ещё надо?",
  1153.     "Покажи свою силу",
  1154.     "Заработай уважение",
  1155.     "Дай всем знать о своей банде",
  1156.     "Дикий запад",
  1157.     "В чём твоя польза?",
  1158.     "Сила, есть ума не надо",
  1159.     "Чужой среди своих",
  1160.     "Лидер долго не ждёт",
  1161.     "Последний рывок",
  1162.  
  1163.     // mafia
  1164.  
  1165.     "Первый рэкет",
  1166.     "Рэкет в слепую",
  1167.     "Хакер",
  1168.     "Уважение",
  1169.     "Азарт",
  1170.     "Убийство",
  1171.     "Похищение",
  1172.     "Давление",
  1173.  
  1174.     // PD
  1175.     "Слуга народа",
  1176.     "Дежурный офицер",
  1177.     "Промежуточное решение",
  1178.     "Контроль оборотов",
  1179.     "Без башни",
  1180.     "Патрульная служба",
  1181.     "Наркобароны",
  1182.  
  1183.     "PD SLOT > 1",
  1184.     "PD SLOT > 2",
  1185.     "PD SLOT > 3",
  1186.     "PD SLOT > 4",
  1187.     "PD SLOT > 5",
  1188.     "PD SLOT > 6",
  1189.     "PD SLOT > 7",
  1190.     "PD SLOT > 8",
  1191.     "PD SLOT > 9",
  1192.     "PD SLOT > 10",
  1193.     "PD SLOT > 11",
  1194.     "PD SLOT > 12",
  1195.     "PD SLOT > 13",
  1196.  
  1197.     // fbi
  1198.     "Стажировка",
  1199.     "Поддержка безопасности",
  1200.     "Работа под прикрытием",
  1201.     "Контроль оборотов II",
  1202.     "Неполноценные сотрудники",
  1203.     "Сотрудник месяца",
  1204.     "Корпоротивная работа",
  1205.     "Нелегальные иммигранты",
  1206.     "Блюститель закона",
  1207.  
  1208.     "FBI SLOT > 1",
  1209.     "FBI SLOT > 2",
  1210.     "FBI SLOT > 3",
  1211.     "FBI SLOT > 4",
  1212.     "FBI SLOT > 5",
  1213.     "FBI SLOT > 6",
  1214.     "FBI SLOT > 7",
  1215.     "FBI SLOT > 8",
  1216.     "FBI SLOT > 9",
  1217.     "FBI SLOT > 10",
  1218.  
  1219.     "Начало службы",
  1220.     "КМБ",
  1221.     "Снайперская подготовка",
  1222.     "Новые склады",
  1223.     "Доставка",
  1224.     "Пополнение арсенала",
  1225.     "Придорожные мародеры",
  1226.     "Генеральная уборка",
  1227.     "Морской котик"
  1228. };
  1229.  
  1230.  
  1231. stock ShowNameQuest(playerid,quest_id)
  1232. {
  1233.     new tmp_str[34], task = GetPlayerQuestTask(playerid,quest_id);
  1234.     format(tmp_str,sizeof(tmp_str),""colserver"М: %s",TitleQuestMissionName[task]);
  1235.     ShowPlayerDialog(playerid, D_NULL, DIALOG_STYLE_MSGBOX, tmp_str, TitleQuest[GetPlayerQuestTask(playerid,quest_id)] ,"Готово", "");
  1236.     return 1;
  1237. }
  1238.  
  1239. stock ShowNameQuestTask(playerid,quest_task)
  1240. {
  1241.     if (!(QUEST_TASK_LOADER_BAGS <= quest_task <= QUEST_TASK_LAST-1)) return 0;
  1242.     new tmp_str[34];
  1243.     format(tmp_str,sizeof(tmp_str),""colserver"М: %s",TitleQuestMissionName[quest_task]);
  1244.     ShowPlayerDialog(playerid, D_QUEST_7, DIALOG_STYLE_MSGBOX, tmp_str, TitleQuest[quest_task] ,"Готово", "");
  1245.     return 1;
  1246. }
  1247.  
  1248. stock CheckQuestTeam(playerid,quest_id)
  1249. {
  1250.     switch(quest_id)
  1251.     {
  1252.         case QUEST_GUEST: {
  1253.             if (pInfo[playerid][pMember] == 0 || pTemp[playerid][tDutyWork] == 0) return 1;
  1254.         }
  1255.         case QUEST_GHETTO:{
  1256.             if (IsAGang(playerid)) return 1;
  1257.         }
  1258.         case QUEST_MAFIA:{
  1259.             if (IsAMafia(playerid)) return 1;
  1260.         }
  1261.         case QUEST_PD:{
  1262.             if (IsACopQuest(playerid)) return 1;
  1263.         }
  1264.         case QUEST_FBI:{
  1265.             if (IsAFBI(playerid)) return 1;
  1266.         }
  1267.         case QUEST_ARMY:{
  1268.             if (IsAArmy(playerid)) return 1;
  1269.         }
  1270.         case QUEST_SCHOOL:{
  1271.             if (IsALicenser(playerid)) return 1;
  1272.         }
  1273.         case QUEST_BIKERS:{
  1274.             if (IsABiker(playerid)) return 1;
  1275.         }
  1276.         case QUEST_HOSPITAL:{
  1277.             if (IsAMedic(playerid)) return 1;
  1278.         }
  1279.     }
  1280.     return 0;
  1281. }
  1282.  
  1283.  
  1284.  
  1285. stock OnPlayerQuestProgress(playerid, select, quest_task, progress = 1)
  1286. {
  1287.     //printf("OnPlayerQuestProgress START");
  1288.     if (!(QUEST_TASK_LOADER_BAGS <= quest_task <= QUEST_TASK_LAST-1) || !CheckQuestTeam(playerid,select)) return 0;
  1289.     //printf("OnPlayerQuestProgress 1");
  1290.     if (GetPlayerQuestTask(playerid,select) != quest_task) return 0;
  1291.     //printf("OnPlayerQuestProgress 2");
  1292.     pQuest[playerid][pQuestTemp][select] += progress;
  1293.  
  1294.     if (pQuest[playerid][pQuestTemp][select]  >  (IsPlayerQuestProgressFinish(playerid,select))-1)
  1295.     {
  1296.         //printf("GetMoneyQuest( %d) reason %s  >> 3",GetMoneyQuest(playerid,select), TitleGiveMoneyQuest[GetPlayerQuestTask(playerid,select)]);
  1297.         kLibGivePlayerMoney(playerid, GetMoneyQuest(playerid,select), TitleGiveMoneyQuest[GetPlayerQuestTask(playerid,select)],.type = SERVER);
  1298.         if (GetMaterialsQuest(playerid, select) != 0) {
  1299.             pInfo[playerid][pMats] += GetMaterialsQuest(playerid, select);
  1300.         }
  1301.         new exp = GetExpQuest(playerid,select);
  1302.         pQuest[playerid][pQuestTemp][select] = 0;
  1303.         pQuest[playerid][pQuestID][select]++;
  1304.  
  1305.        
  1306.         if (GetPlayerQuestTask(playerid,select) == QUEST_TASK_ROB_CAR){
  1307.             SendClientMessage(playerid, COLOR_GREY, !"Линия с кражей авто в разработке, Вам засчитало Quest.");
  1308.             pQuest[playerid][pQuestID][select]++;
  1309.         }
  1310.        
  1311.  
  1312.         if (pQuest[playerid][pQuestID][select] > QuestComplationLineMax[select][1])//QuestComplationALL[select] -1 ){
  1313.         {
  1314.             SendClientMessage(playerid, COLOR_GREY, !"Поздравляем сюжетная линия пройдена! Используйте команду /quest, чтобы выбрать новую");
  1315.             if (select != 0 ){
  1316.                 pInfo[playerid][pDonate] += 30;
  1317.                 SavePlayerInteger(playerid, "u_donate", pInfo[playerid][pDonate]);
  1318.             }
  1319.         }
  1320.         else ShowNameQuest(playerid,select);
  1321.  
  1322.         save_player_quest(playerid, 1);
  1323.         UpdatePlayerExp(playerid, exp);
  1324.     }
  1325.     //printf("OnPlayerQuestProgress 4");
  1326.     return 1;
  1327. }
  1328.  
  1329.  
  1330. CMD:quest(playerid)
  1331. {
  1332.     return ShowPlayerDialog(playerid, D_QUEST_0, DIALOG_STYLE_LIST, "Управление квестами","\
  1333.     [0] Гражданские\n\
  1334.     [1] Фракционные\n[2] Достижения","Далее","Отмена");
  1335. }
  1336.  
  1337.  
  1338. stock StatsQuestLine(playerid,quest_id)
  1339. {
  1340.     new tmp_str[240] = ""colwhi"Наименование\t"colwhi"Параметр\n";
  1341.     printf("pQuest[playerid][pQuestID][quest_id](%d) >  QuestComplationLineMax[quest_id][1] (%d)",pQuest[playerid][pQuestID][quest_id],QuestComplationLineMax[quest_id][1]);
  1342.     if (pQuest[playerid][pQuestID][quest_id] >  QuestComplationLineMax[quest_id][1])
  1343.         format(tmp_str,sizeof(tmp_str),
  1344.         "%s"colwhi"Пролог:\t"collime"Завершено\n\
  1345.         "colwhi"Миссия:\t"c_green"Выполнен\n\
  1346.         "colwhi"Статистика:\t["collime"Нет{FFFFFF}]\n\
  1347.         "colwhi"Информация",tmp_str);
  1348.     else
  1349.         format(tmp_str,sizeof(tmp_str),
  1350.         "%s"colwhi"Пролог:\t"collime"%s\n\
  1351.         "colwhi"Миссия:\t"collime"%s\n\
  1352.         "colwhi"Статистика:\t["collime"%d %%{FFFFFF}]\n\
  1353.         "colwhi"Информация",tmp_str,
  1354.         CheckQuestTeam(playerid,quest_id) == 0 ? ("["col_li_red"Не доступен"collime"]") : QuestNameX[quest_id],
  1355.         CheckQuestTeam(playerid,quest_id) == 0 ? ("["col_li_red"Не доступен"collime"]") :
  1356.         TitleQuestMissionName[GetPlayerQuestTask(playerid, quest_id)],
  1357.         ((pQuest[playerid][pQuestTemp][quest_id]*100)/IsPlayerQuestProgressFinish(playerid,quest_id))
  1358.         );
  1359.  
  1360.     ShowPlayerDialog(playerid,D_QUEST_1,DIALOG_STYLE_TABLIST_HEADERS,"Квесты", tmp_str, !"Далее",!"Назад");
  1361.     return 1;
  1362. }
  1363.  
  1364. stock PathQuestLine(playerid,quest_id)
  1365. {
  1366.     new min_line = QuestComplationLineMax[quest_id][0],
  1367.         max_line = QuestComplationLineMax[quest_id][1];
  1368.     new full_str[500] = !""colwhi"Миссия\t"colwhi"Статус\n",
  1369.         tmp_str[100],
  1370.         pos,
  1371.         status = pQuest[playerid][pQuestID][quest_id];
  1372.  
  1373.     for(new i = min_line; i <=  max_line; i++)
  1374.     {
  1375.         format(tmp_str,sizeof(tmp_str),""colwhi"%s\t%s\n",TitleQuestMissionName[i],
  1376.  
  1377.         status > pos ?  (""c_green"Выполнен"):
  1378.         CheckQuestTeam(playerid,quest_id) == 0 ? (""col_li_red"Не доступен") :
  1379.         pos == status ? (""collime"Активен"): (""col_li_red"Не выполнен")
  1380.         /*
  1381.         CheckQuestTeam(playerid,quest_id) == 0 ? (""col_li_red"Не доступен") :
  1382.         pos > status ? (""col_li_red"Не выполнен"): pos == status ? (""collime"Активен"): (""c_green"Выполнен")*/
  1383.         );
  1384.         pos++;
  1385.         strcat(full_str,tmp_str);
  1386.     }
  1387.  
  1388.     ShowPlayerDialog(playerid,D_QUEST_2,DIALOG_STYLE_TABLIST_HEADERS,"Квесты", full_str, !"Далее",!"Назад");
  1389.     return 1;
  1390. }
  1391.  
  1392. stock StatsTempQuest(playerid,quest_id)
  1393. {
  1394.     new tmp_str[180];
  1395.     if (pQuest[playerid][pQuestID][quest_id] >  QuestComplationLineMax[quest_id][1])
  1396.         format(tmp_str,sizeof(tmp_str),"\
  1397.         "colwhi"Пролог\t\t"collime"Завершено\n\
  1398.         "colwhi"Миссия:\t"c_green"Выполнен\n\
  1399.         "colwhi"Прогресс:\t"collime"Нет\n\
  1400.         "colwhi"Прогресс №2:\t"collime"Нет");
  1401.     else
  1402.         format(tmp_str,sizeof(tmp_str),"\
  1403.         "colwhi"Пролог\t\t"collime"%s\n\
  1404.         "colwhi"Миссия:\t"collime"%s\n\
  1405.         "colwhi"Прогресс:\t"collime"%d%%\n\
  1406.         "colwhi"Прогресс №2:\t"collime"%d/%d",
  1407.         QuestNameX[quest_id],
  1408.         TitleQuestMissionName[GetPlayerQuestTask(playerid, quest_id)],
  1409.         ((pQuest[playerid][pQuestTemp][quest_id]*100)/(IsPlayerQuestProgressFinish(playerid,quest_id))),
  1410.         pQuest[playerid][pQuestTemp][quest_id],
  1411.         (IsPlayerQuestProgressFinish(playerid,quest_id)));
  1412.  
  1413.     //printf("progress %d%% (pQuestTemp = %d * 100 / %d )",
  1414.     //((pQuest[playerid][pQuestTemp][quest_id]*100)/(IsPlayerQuestProgressFinish(playerid,quest_id))),
  1415.     //pQuest[playerid][pQuestTemp][quest_id], IsPlayerQuestProgressFinish(playerid,quest_id));
  1416.  
  1417.     ShowPlayerDialog(playerid,D_QUEST_3,DIALOG_STYLE_MSGBOX,"Квесты", tmp_str, !"ок",!"Назад");
  1418.     return 1;
  1419. }
  1420.  
  1421. stock ShowQuestDialog(playerid,dialogid)
  1422. {
  1423.     switch(dialogid)
  1424.     {
  1425.         case D_QUEST_5:
  1426.         {
  1427.             static str_frac_quest[] = "Информация\nПуть\t["collime"%s{ffffff}]";
  1428.             new str_fq[sizeof(str_frac_quest) + 40];
  1429.             format(str_fq,sizeof(str_fq),str_frac_quest,
  1430.  
  1431.             CheckQuestTeam(playerid,QUEST_GHETTO) == 1 ?  QuestNameX[QUEST_GHETTO] :
  1432.             CheckQuestTeam(playerid,QUEST_MAFIA) == 1 ?  QuestNameX[QUEST_MAFIA] :
  1433.             CheckQuestTeam(playerid,QUEST_PD) == 1 ?  QuestNameX[QUEST_PD] :
  1434.             CheckQuestTeam(playerid,QUEST_FBI) == 1 ?  QuestNameX[QUEST_FBI] :
  1435.             CheckQuestTeam(playerid,QUEST_ARMY) == 1 ?  QuestNameX[QUEST_ARMY] :
  1436.             CheckQuestTeam(playerid,QUEST_SCHOOL) == 1 ?  QuestNameX[QUEST_SCHOOL] :
  1437.             CheckQuestTeam(playerid,QUEST_BIKERS) == 1 ?  QuestNameX[QUEST_BIKERS] :
  1438.             CheckQuestTeam(playerid,QUEST_HOSPITAL) == 1 ?  QuestNameX[QUEST_HOSPITAL] :
  1439.             (""col_li_red"Не доступен")
  1440.  
  1441.             );
  1442.  
  1443.             ShowPlayerDialog(playerid,dialogid,DIALOG_STYLE_LIST,!"Квесты > Фракции",str_fq,!"Далее",!"Назад");
  1444.         }
  1445.         case D_QUEST_6:
  1446.         {
  1447.             static str_frac_all_quest[] = "\
  1448.                 Гетто\t%s\n\
  1449.                 Мафия\t%s\n\
  1450.                 Полиция\t%s\n\
  1451.                 ФБР\t%s\n\
  1452.                 Армия\t%s\n\
  1453.                 Автошкола\t%s\n\
  1454.                 Байкеры\t%s\n\
  1455.                 МЧС\t%s"
  1456.             ;
  1457.  
  1458.             new str_frac_all[sizeof(str_frac_all_quest) + (7*20)];
  1459.  
  1460.             format(str_frac_all,sizeof(str_frac_all),str_frac_all_quest,
  1461.  
  1462.             pQuest[playerid][pQuestID][QUEST_GHETTO] >=  QuestComplationLineMax[QUEST_GHETTO][1] ? (""c_green"Выполнен") :
  1463.             IsAGang(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1464.  
  1465.             pQuest[playerid][pQuestID][QUEST_MAFIA] >=  QuestComplationLineMax[QUEST_MAFIA][1] ? (""c_green"Выполнен") :
  1466.             IsAMafia(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1467.            
  1468.             pQuest[playerid][pQuestID][QUEST_PD] >=  QuestComplationLineMax[QUEST_PD][1] ? (""c_green"Выполнен") :
  1469.             IsACopQuest(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1470.  
  1471.             pQuest[playerid][pQuestID][QUEST_FBI] >=  QuestComplationLineMax[QUEST_FBI][1] ? (""c_green"Выполнен") :
  1472.             IsAFBI(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1473.  
  1474.             pQuest[playerid][pQuestID][QUEST_ARMY] >=  QuestComplationLineMax[QUEST_ARMY][1] ? (""c_green"Выполнен") :
  1475.             IsAArmy(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1476.  
  1477.             pQuest[playerid][pQuestID][QUEST_SCHOOL] >=  QuestComplationLineMax[QUEST_SCHOOL][1] ? (""c_green"Выполнен") :
  1478.             IsALicenser(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1479.  
  1480.             pQuest[playerid][pQuestID][QUEST_BIKERS] >=  QuestComplationLineMax[QUEST_BIKERS][1] ? (""c_green"Выполнен") :
  1481.             IsABiker(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен"),
  1482.  
  1483.             pQuest[playerid][pQuestID][QUEST_HOSPITAL] >=  QuestComplationLineMax[QUEST_HOSPITAL][1] ? (""c_green"Выполнен") :
  1484.             IsAMedic(playerid) == 1 ? (""collime"Активен") : (""col_li_red"Не доступен")
  1485.  
  1486.             );
  1487.  
  1488.             ShowPlayerDialog(playerid,dialogid,DIALOG_STYLE_TABLIST,!"Квесты > Фракции",str_frac_all,!"Далее",!"Назад");
  1489.         }
  1490.     }
  1491.     return 1;
  1492. }
  1493.  
  1494. stock quest_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  1495. {
  1496.     #pragma unused inputtext
  1497.     switch(dialogid)
  1498.     {
  1499.         case D_QUEST_0:
  1500.         {
  1501.             if (response){
  1502.                 playerListItem[playerid][0] = listitem;
  1503.                 if (listitem == 0)
  1504.                     StatsQuestLine(playerid,QUEST_GUEST);
  1505.                 else if (listitem == 1) ShowQuestDialog(playerid,D_QUEST_5);
  1506.                 else if (listitem == 2) {
  1507.                     ShowPlayerDialog(playerid, D_ACHIV_MENU, DIALOG_STYLE_LIST, !""colserver"Достижения", !"\
  1508.                         [0] Посмотреть: {009900}Ежедневные достижения\n\
  1509.                         [1] Посмотреть: {F4A900}Глобальные достижения\n\
  1510.                         [2] Посмотреть: {DDB201}Достижения на работах\n\
  1511.                         [3] Посмотреть: {EEDC82}Достижения во фракциях\n\
  1512.                         {828282}Посмотреть лог выполненных достижений",!"Выбрать",!"Закрыть"
  1513.                     );
  1514.                 }
  1515.                 else
  1516.                     SendClientMessage(playerid, CGRAY2, !"В разработке");
  1517.             }
  1518.             return 1;
  1519.         }
  1520.         case D_QUEST_1:
  1521.         {
  1522.             if (response){
  1523.                 switch(listitem)
  1524.                 {
  1525.                     case 0: StatsQuestLine(playerid, playerListItem[playerid][0]);
  1526.                     case 1: PathQuestLine(playerid, playerListItem[playerid][0]);
  1527.                     case 2: StatsTempQuest(playerid, playerListItem[playerid][0]);
  1528.                     case 3: ShowNameQuest(playerid, playerListItem[playerid][0]);
  1529.                     default: SendClientMessage(playerid, CGRAY2, !"В разработке");
  1530.                 }
  1531.             }
  1532.             else callcmd::quest(playerid);
  1533.             return 1;
  1534.         }
  1535.         case D_QUEST_2:
  1536.         {
  1537.             if (response){
  1538.                 new min_line = QuestComplationLineMax[ playerListItem[playerid][0] ][0];
  1539.                 ShowNameQuestTask(playerid, min_line + listitem);
  1540.                 //PathQuestLine(playerid,playerListItem[playerid][0]);
  1541.             }
  1542.             else StatsQuestLine(playerid,playerListItem[playerid][0]);
  1543.             return 1;
  1544.         }
  1545.         case D_QUEST_3:
  1546.         {
  1547.             if (response){
  1548.                 StatsTempQuest(playerid,playerListItem[playerid][0]);
  1549.             }
  1550.             else StatsQuestLine(playerid,playerListItem[playerid][0]);
  1551.         }
  1552.         case D_QUEST_4:
  1553.         {
  1554.             SendClientMessage(playerid, COLOR_YELLOW, !"Используйте команду /quest, чтобы повторно посмотреть текущий квест");
  1555.             ShowNameQuest(playerid,playerListItem[playerid][0]);
  1556.         }
  1557.         case D_QUEST_5:
  1558.         {
  1559.             if (response){
  1560.                 if (listitem == 0)
  1561.                 {
  1562.                     ShowPlayerDialog(playerid, D_NULL, DIALOG_STYLE_MSGBOX, "Информация",
  1563.                     "{FFFFFF}Награда за прохождение квестов:\n- за каждую линию {F0DA3C}50 H-Point", "Готово", "");
  1564.                 }
  1565.                 else if (listitem == 1)
  1566.                     ShowQuestDialog(playerid,D_QUEST_6);
  1567.                 else SendClientMessage(playerid, CGRAY2, !"В разработке");
  1568.             }
  1569.             else callcmd::quest(playerid);
  1570.         }
  1571.         case D_QUEST_6:
  1572.         {
  1573.             if (response){
  1574.                 playerListItem[playerid][0] = listitem+1;
  1575.                 if (listitem < 5)
  1576.                     StatsQuestLine(playerid,listitem+1);
  1577.                 else SendClientMessage(playerid, CGRAY2, !"В разработке");
  1578.             }
  1579.             else callcmd::quest(playerid);
  1580.         }
  1581.         case D_QUEST_7:
  1582.         {
  1583.             if (response)
  1584.             {
  1585.                 PathQuestLine(playerid,playerListItem[playerid][0]);
  1586.             }
  1587.         }
  1588.     }
  1589.     return 0;
  1590. }
  1591.  
  1592.  
  1593. stock quest_OnPlayerConnect(playerid)
  1594. {
  1595.     for(new i; i < QUEST_LAST; i++)
  1596.     {
  1597.         pQuest[playerid][pQuestID][i] = 0;
  1598.         pQuest[playerid][pQuestTemp][i] = 0;
  1599.     }
  1600. }
  1601.  
  1602. stock quest_OnPlayerDisconnect(playerid)
  1603. {
  1604.     save_player_quest(playerid);
  1605. }
  1606.  
  1607.  
  1608.  
  1609. CMD:qn(playerid,params[])
  1610. {
  1611.     if (pInfo[playerid][pAdmin] < 6 || !pTemp[playerid][PlayerADostup]) return 1;
  1612.     new targetid,quest_line,quest_task;
  1613.     if (sscanf(params,"uii",targetid,quest_line,quest_task)) return SendClientMessage(playerid,0xFFFFFFFF,!"Используйте: /qn [ид игрока] [линия квеста] [задание]");
  1614.     if (!(QUEST_GUEST <= quest_line <= QUEST_LAST-1)) return SendClientMessage(playerid, COLOR_GREY, !"Вы указали не верную линию квеста");
  1615.     if (!(QUEST_TASK_LOADER_BAGS <= quest_task <= QUEST_TASK_LAST-1)) return SendClientMessage(playerid, COLOR_GREY, !"Вы указали не верное задание");
  1616.     pQuest[targetid][pQuestID][quest_line] =  quest_task;
  1617.     pQuest[targetid][pQuestTemp][quest_line] = 0;
  1618.     return 1;
  1619. }
  1620. CMD:qs(playerid) return ShowNameQuest(playerid,QUEST_GUEST);
  1621. CMD:qp(playerid,params[])
  1622. {
  1623.     if (pInfo[playerid][pAdmin] < 6 || !pTemp[playerid][PlayerADostup]) return 1;
  1624.     new targetid,quest_line,quest_task;
  1625.     if (sscanf(params,"uii",targetid,quest_line,quest_task)) return SendClientMessage(playerid,0xFFFFFFFF,!"Используйте: /qp [ид игрока] [линия квеста] [задача] ");
  1626.     if (!(QUEST_GUEST <= quest_line <= QUEST_LAST-1)) return SendClientMessage(playerid, COLOR_GREY, !"Вы указали не верную линию квеста");
  1627.     if (!(QUEST_TASK_LOADER_BAGS <= quest_task <= QUEST_TASK_LAST-1))return SendClientMessage(playerid, COLOR_GREY, !"Вы указали не верную задачу линии квеста");
  1628.     quest_task += QuestComplationLineMax[quest_line][0];
  1629.     new str_tmp[100];
  1630.     format(str_tmp,sizeof(str_tmp),"Принудительный вызов прогресса: QLine = %d, QTask = %d (%d)",quest_line,quest_task,GetPlayerQuestTask(targetid,quest_line) );
  1631.     if (OnPlayerQuestProgress(targetid, quest_line,quest_task))
  1632.         SendClientMessage(playerid, CGRAY2, str_tmp);
  1633.     else SendClientMessage(playerid, CGRAY2, !"Этому игроку не доступен данный квест");
  1634.     return 1;
  1635. }
  1636.  
  1637. CMD:setprog(playerid,params[])
  1638. {
  1639.     if (pInfo[playerid][pAdmin] < 6 || !pTemp[playerid][PlayerADostup]) return 1;
  1640.     new targetid, quest_line,quest_task;
  1641.     if (sscanf(params,"uii",targetid,quest_line,quest_task)) return SendClientMessage(playerid,0xFFFFFFFF,!"Используйте: /setprog [ид игрока] [линия квеста] [прогресс] ");
  1642.     if (!(QUEST_GUEST <= quest_line <= QUEST_LAST-1)) return SendClientMessage(playerid, COLOR_GREY, !"Вы указали не верную линию квеста");
  1643.     new str_tmp[100];
  1644.     format(str_tmp,sizeof(str_tmp),"Вы установили: QUEST = %d, PROGRESS = %d (%d)",quest_line,quest_task,pQuest[targetid][pQuestTemp][quest_line]);
  1645.     SendClientMessage(playerid, CGRAY2, str_tmp);
  1646.     pQuest[targetid][pQuestTemp][quest_line] =  quest_task;
  1647.     return 1;
  1648. }
  1649.  
  1650.  
  1651. stock save_player_quest(playerid, type = 0)
  1652. {
  1653.     if (pInfo[playerid][pLogin] != 1 ) return 0;
  1654.     new tmp_query[128];
  1655.  
  1656.     if (type == 0 )
  1657.     {
  1658.         format(tmp_query, sizeof (tmp_query),"UPDATE `s_users` SET `pQuestTemp` = '%d,%d,%d,%d,%d,%d,%d,%d,%d' WHERE `pID` = '%d' LIMIT 1",
  1659.  
  1660.             pQuest[playerid][pQuestTemp][QUEST_GUEST],
  1661.             pQuest[playerid][pQuestTemp][QUEST_GHETTO],
  1662.             pQuest[playerid][pQuestTemp][QUEST_PD],
  1663.             pQuest[playerid][pQuestTemp][QUEST_FBI],
  1664.             pQuest[playerid][pQuestTemp][QUEST_MAFIA],
  1665.             pQuest[playerid][pQuestTemp][QUEST_ARMY],
  1666.             pQuest[playerid][pQuestTemp][QUEST_SCHOOL],
  1667.             pQuest[playerid][pQuestTemp][QUEST_BIKERS],
  1668.             pQuest[playerid][pQuestTemp][QUEST_HOSPITAL],
  1669.            
  1670.             pInfo[playerid][pID]
  1671.         );
  1672.     }
  1673.     else
  1674.     {
  1675.  
  1676.         format(tmp_query, sizeof (tmp_query),"UPDATE `s_users` SET `pQuestID` = '%d,%d,%d,%d,%d,%d,%d,%d,%d' WHERE `pID` = '%d' LIMIT 1",
  1677.             pQuest[playerid][pQuestID][QUEST_GUEST],
  1678.             pQuest[playerid][pQuestID][QUEST_GHETTO],
  1679.             pQuest[playerid][pQuestID][QUEST_PD],
  1680.             pQuest[playerid][pQuestID][QUEST_FBI],
  1681.             pQuest[playerid][pQuestID][QUEST_MAFIA],
  1682.             pQuest[playerid][pQuestID][QUEST_ARMY],
  1683.             pQuest[playerid][pQuestID][QUEST_SCHOOL],
  1684.             pQuest[playerid][pQuestID][QUEST_BIKERS],
  1685.             pQuest[playerid][pQuestID][QUEST_HOSPITAL],
  1686.  
  1687.             pInfo[playerid][pID]
  1688.         );
  1689.     }
  1690.     mysql_tquery(dbHandle, tmp_query, "", "");
  1691.     if (MYSQL_DEBUG) printf("CALLBACK | save_player_quest (%d) | Good", strlen(tmp_query));
  1692.     return 1;
  1693. }
  1694.  
  1695.  
  1696. stock IsACopQuest(playerid)
  1697. {
  1698.     if (!IsPlayerConnected(playerid)) return 0;
  1699.     if (pInfo[playerid][pMember] == 1 || pInfo[playerid][pMember] == 10 || pInfo[playerid][pMember] == 21) return 1;
  1700.     return 0;
  1701. }
  1702.  
  1703. stock IsPlayerProgress(playerid,progressid)
  1704. {
  1705.     switch(progressid)
  1706.     {
  1707.         case QUEST_TASK_ARMY_KMB:
  1708.         {
  1709.             if (
  1710.                 pInfo[playerid][pRank] > 1 &&
  1711.                 pInfo[playerid][pGunSkill][1] > 99 &&
  1712.                 pInfo[playerid][pGunSkill][5] > 99
  1713.             ) return 1;
  1714.         }
  1715.     }
  1716.     return 0;
  1717. }
Add Comment
Please, Sign In to add comment