Advertisement
BadDragonKiko

OverLight_Menu_Funcs. 15:52. 17.11.2020

Nov 17th, 2020
54
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 43.39 KB | None | 0 0
  1. #include "main.h"
  2.  
  3. //OVERLIGHT MENU FUNCTIONS
  4. int OverLight_CarFunctions_Callback(int op, struct menu_item *item)
  5. {
  6. if (g_SAMP == NULL)
  7. return 0;
  8. int increase = 0;
  9. char name[128];
  10. switch (op)
  11. {
  12. case MENU_OP_SELECT:
  13. switch (item->id)
  14. {
  15. case ID_CAR_SHOOTER:
  16. OLCheats->bCarShooter ^= true;
  17. break;
  18. case ID_FANTOZZI_CLOUD:
  19. OLCheats->bFantozziCloud ^= true;
  20. break;
  21. case ID_FAKE_CAR_SHOOTER:
  22. OLCheats->bFakeShooter ^= true;
  23. break;
  24. case ID_INVISIBLE_BIKE:
  25. OLCheats->bInvisibleBike ^= true;
  26. break;
  27. case ID_INVISIBLE_BIKE_2:
  28. OLCheats->bInvisibleBike2 ^= true;
  29. break;
  30. case ID_FIX_INVISIBLE_FIRE:
  31. OLCheats->bFixInvisibleFire ^= true;
  32. break;
  33. case ID_SHOOTER_ONCE:
  34. OLCheats->bShooterOnce ^= true;
  35. break;
  36. case ID_FUS_RO_DAH:
  37. OLCheats->bFusRoDah ^= true;
  38. break;
  39. case ID_PICK_CAR:
  40. OLCheats->bPickCar ^= true;
  41. break;
  42. case ID_USE_NEAREST_TARGET:
  43. OLCheats->bUseNearestTarget ^= true;
  44. break;
  45. case ID_VEHICLE_ELEVATOR:
  46. OLCheats->bVehicleElevator ^= true;
  47. break;
  48. case ID_VEHICLE_ELEVATOR_DOWN:
  49. OLCheats->bVehicleElevatorDown ^= true;
  50. break;
  51. case ID_KICK_PASSENGER:
  52. OLCheats->bKickPassenger ^= true;
  53. break;
  54. case ID_STEAL_PASSENGER:
  55. OLCheats->bStealPassenger ^= true;
  56. break;
  57. case ID_CAR_STREAMED_GRABBER:
  58. OLCheats->bVehicleGrabber ^= true;
  59. break;
  60. case ID_TRAILER_GRABBER:
  61. OLCheats->bTrailerGrabber ^= true;
  62. break;
  63. case ID_CAR_MAP_GRABBER:
  64. OLCheats->bVehicleGrabberMap ^= true;
  65. break;
  66. case ID_PLANE_CRASHER:
  67. OLCheats->bPlaneCrasher ^= true;
  68. break;
  69. case ID_VORTEX_CRASHER:
  70. OLCheats->bVortexCrasher ^= true;
  71. break;
  72. case ID_USE_FRIEND_TARGET:
  73. OLCheats->bUseFriendTarget ^= true;
  74. break;
  75. case ID_DOOR_STORM:
  76. OLCheats->bDoorStorm ^= true;
  77. break;
  78. case ID_VEHICLE_BUGGER:
  79. OLCheats->bVehicleBugger ^= true;
  80. break;
  81. //sync type
  82. case ID_SYNC_INCAR_MENU:
  83. OLCheats->iSyncType = VEHICLE_SYNC_IN_CAR;
  84. break;
  85. case ID_SYNC_UNOCCUPIED_MENU:
  86. OLCheats->iSyncType = VEHICLE_SYNC_UNOCCUPIED;
  87. break;
  88. case ID_SYNC_INCAR_RPC_MENU:
  89. OLCheats->iSyncType = VEHICLE_SYNC_IN_CAR_RPC;
  90. break;
  91.  
  92. }
  93. break;
  94. case MENU_OP_ENABLED:
  95. switch (item->id)
  96. {
  97. case ID_CAR_SHOOTER:
  98. return OLCheats->bCarShooter;
  99. break;
  100. case ID_FANTOZZI_CLOUD:
  101. return OLCheats->bFantozziCloud;
  102. break;
  103. case ID_FAKE_CAR_SHOOTER:
  104. return OLCheats->bFakeShooter;
  105. break;
  106. case ID_INVISIBLE_BIKE:
  107. return OLCheats->bInvisibleBike;
  108. break;
  109. case ID_FIX_INVISIBLE_FIRE:
  110. return OLCheats->bFixInvisibleFire;
  111. break;
  112. case ID_INVISIBLE_BIKE_2:
  113. return OLCheats->bInvisibleBike2;
  114. break;
  115. case ID_SHOOTER_ONCE:
  116. return OLCheats->bShooterOnce;
  117. break;
  118. case ID_FUS_RO_DAH:
  119. return OLCheats->bFusRoDah;
  120. break;
  121. case ID_PICK_CAR:
  122. return OLCheats->bPickCar;
  123. break;
  124. case ID_USE_NEAREST_TARGET:
  125. return OLCheats->bUseNearestTarget;
  126. break;
  127. case ID_VEHICLE_ELEVATOR:
  128. return OLCheats->bVehicleElevator;
  129. break;
  130. case ID_VEHICLE_ELEVATOR_DOWN:
  131. return OLCheats->bVehicleElevatorDown;
  132. break;
  133. case ID_KICK_PASSENGER:
  134. return OLCheats->bKickPassenger;
  135. break;
  136. case ID_STEAL_PASSENGER:
  137. return OLCheats->bStealPassenger;
  138.  
  139. case ID_PLANE_CRASHER:
  140. return OLCheats->bPlaneCrasher;
  141.  
  142. case ID_VORTEX_CRASHER:
  143. return OLCheats->bVortexCrasher;
  144.  
  145. case ID_CAR_STREAMED_GRABBER:
  146. return OLCheats->bVehicleGrabber;
  147.  
  148. case ID_TRAILER_GRABBER:
  149. return OLCheats->bTrailerGrabber;
  150.  
  151. case ID_CAR_MAP_GRABBER:
  152. return OLCheats->bVehicleGrabberMap;
  153.  
  154. case ID_USE_FRIEND_TARGET:
  155. return OLCheats->bUseFriendTarget;
  156. case ID_DOOR_STORM:
  157. return OLCheats->bDoorStorm;
  158. case ID_VEHICLE_BUGGER:
  159. return OLCheats->bVehicleBugger;
  160.  
  161. case ID_SELECT_PLAYER_TARGET:
  162. if (OLCheats->Target_PlayerID != -1)
  163. {
  164.  
  165. if (IsPlayerStreamed(OLCheats->Target_PlayerID))
  166. {
  167. snprintf(name, sizeof(name), "\aИгрок: %s <%d>", getPlayerName(OLCheats->Target_PlayerID), OLCheats->Target_PlayerID);
  168. menu_item_name_set(item, name);
  169. }
  170. else
  171. {
  172. snprintf(name, sizeof(name), "\aИгрок: <%d> [Нет]", OLCheats->Target_PlayerID);
  173. menu_item_name_set(item, name);
  174. }
  175. }
  176. else
  177. {
  178. OLCheats->Target_PlayerID = NearestPlayer();
  179. }
  180. return 0;
  181. case ID_SELECT_PASSENGER_TARGET:
  182. if (OLCheats->Target_Passenger_PlayerID != -1)
  183. {
  184.  
  185. if (IsPlayerStreamed(OLCheats->Target_Passenger_PlayerID))
  186. {
  187. snprintf(name, sizeof(name), "\aПассажир: %s <%d>", getPlayerName(OLCheats->Target_Passenger_PlayerID), OLCheats->Target_Passenger_PlayerID);
  188. menu_item_name_set(item, name);
  189. }
  190. else
  191. {
  192. snprintf(name, sizeof(name), "\aПассажир: <%d> [Нет]", OLCheats->Target_Passenger_PlayerID);
  193. menu_item_name_set(item, name);
  194. }
  195. }
  196. else
  197. {
  198. OLCheats->Target_Passenger_PlayerID = NearestPlayer();
  199. }
  200. return 0;
  201.  
  202. case ID_CAR_SEND_RATE:
  203. {
  204. snprintf(name, sizeof(name), "\aТемп: %d", OLCheats->SendRateCarCheatTick);
  205. menu_item_name_set(item, name);
  206. return 0;
  207. }
  208. //sync type
  209. case ID_SYNC_INCAR_MENU:
  210. if (OLCheats->iSyncType == VEHICLE_SYNC_IN_CAR)
  211. return 1;
  212. return 0;
  213. case ID_SYNC_UNOCCUPIED_MENU:
  214. if (OLCheats->iSyncType == VEHICLE_SYNC_UNOCCUPIED)
  215. return 1;
  216. return 0;
  217. case ID_SYNC_INCAR_RPC_MENU:
  218. if (OLCheats->iSyncType == VEHICLE_SYNC_IN_CAR_RPC)
  219. return 1;
  220. return 0;
  221.  
  222. }
  223.  
  224. case MENU_OP_DEC:
  225. case MENU_OP_INC:
  226. increase = (op == MENU_OP_DEC) ? -1 : 1;
  227. switch (item->id)
  228. {
  229. case ID_SELECT_PLAYER_TARGET:
  230. OLCheats->Target_PlayerID = NextPlayer(OLCheats->Target_PlayerID, increase);
  231. break;
  232. case ID_SELECT_PASSENGER_TARGET:
  233. OLCheats->Target_Passenger_PlayerID = NextPlayerPassenger(OLCheats->Target_Passenger_PlayerID, increase);
  234. break;
  235. case ID_CAR_SEND_RATE:
  236. OLCheats->SendRateCarCheatTick += 5 * increase;
  237. break;
  238. }
  239. }
  240.  
  241. return 0;
  242. }
  243.  
  244.  
  245. int OverLight_PlayerFunctions_Callback(int op, struct menu_item *item)
  246. {
  247. if (g_SAMP == NULL)
  248. return 0;
  249. int increase = 0;
  250. switch (op)
  251. {
  252. case MENU_OP_SELECT:
  253. switch (item->id)
  254. {
  255. case ID_INVERT_WALK:
  256. OLCheats->bInvertWalk ^= true;
  257. break;
  258. case ID_WHEEL_WALK:
  259. OLCheats->bWheelWalk ^= true;
  260. break;
  261. case ID_SLAPPER:
  262. OLCheats->bSlapper ^= true;
  263. break;
  264. case ID_ELEVATOR:
  265. OLCheats->bElevator ^= true;
  266. break;
  267. case ID_JETPACK_ELEVATOR:
  268. OLCheats->bJetpackElevator ^= true;
  269. break;
  270. case ID_INVERT_WALK_2:
  271. OLCheats->bInvertWalk2 ^= true;
  272. break;
  273. case ID_PLAYER_HOLOGRAM_MODE:
  274. OLCheats->bPlayerHologram ^= true;
  275. break;
  276. case ID_CAR_HOLOGRAM_MODE:
  277. OLCheats->bVehicleHologram ^= true;
  278. break;
  279. case ID_NOFALL:
  280. OLCheats->bNoFall ^= true;
  281. break;
  282. case ID_INVALID_AIMZ:
  283. OLCheats->bInvalidAimZ ^= true;
  284. break;
  285. case ID_USE_NEAREST_PLAYER:
  286. OLCheats->bUseNearestTarget ^= true;
  287. break;
  288. case ID_USE_FRIEND_TARGET2:
  289. OLCheats->bUseFriendTarget ^= true;
  290. break;
  291. }
  292. break;
  293. case MENU_OP_ENABLED:
  294. switch (item->id)
  295. {
  296. case ID_INVERT_WALK:
  297. return OLCheats->bInvertWalk;
  298. case ID_SLAPPER:
  299. return OLCheats->bSlapper;
  300. case ID_WHEEL_WALK:
  301. return OLCheats->bWheelWalk;
  302. case ID_ELEVATOR:
  303. return OLCheats->bElevator;
  304. case ID_JETPACK_ELEVATOR:
  305. return OLCheats->bJetpackElevator;
  306. case ID_INVERT_WALK_2:
  307. return OLCheats->bInvertWalk2;
  308. case ID_PLAYER_HOLOGRAM_MODE:
  309. return OLCheats->bPlayerHologram;
  310. case ID_CAR_HOLOGRAM_MODE:
  311. return OLCheats->bVehicleHologram;
  312. case ID_NOFALL:
  313. return OLCheats->bNoFall;
  314. case ID_INVALID_AIMZ:
  315. return OLCheats->bInvalidAimZ;
  316. case ID_USE_NEAREST_PLAYER:
  317. return OLCheats->bUseNearestTarget;
  318. case ID_USE_FRIEND_TARGET2:
  319. return OLCheats->bUseFriendTarget;
  320.  
  321. case ID_SELECT_PLAYER_TARGET_2:
  322. if (OLCheats->Target_PlayerID != -1)
  323. {
  324. char name[128];
  325. if (IsPlayerStreamed(OLCheats->Target_PlayerID))
  326. {
  327. snprintf(name, sizeof(name), "\aИгрок: %s <%d>", getPlayerName(OLCheats->Target_PlayerID), OLCheats->Target_PlayerID);
  328. menu_item_name_set(item, name);
  329. }
  330. else
  331. {
  332. snprintf(name, sizeof(name), "\aИгрок: <%d> [Нет]", OLCheats->Target_PlayerID);
  333. menu_item_name_set(item, name);
  334. }
  335. }
  336. else
  337. {
  338. OLCheats->Target_PlayerID = NearestPlayer();
  339. }
  340. return 0;
  341.  
  342. }
  343. break;
  344. case MENU_OP_DEC:
  345. case MENU_OP_INC:
  346. increase = (op == MENU_OP_DEC) ? -1 : 1;
  347. switch (item->id)
  348. {
  349. case ID_SELECT_FAKE_FPS:
  350. OLCheats->iFPS += increase;
  351. break;
  352. case ID_SELECT_PLAYER_TARGET_2:
  353. OLCheats->Target_PlayerID = NextPlayer(OLCheats->Target_PlayerID, increase);
  354. break;
  355. }
  356. break;
  357. }
  358. return 0;
  359. }
  360.  
  361.  
  362. int OverLight_DM_Stuff_Callback(int op, struct menu_item *item)
  363. {
  364. if (g_SAMP == NULL)
  365. return 0;
  366. int increase = 0;
  367. switch (op)
  368. {
  369. case MENU_OP_SELECT:
  370. switch (item->id)
  371. {
  372. case ID_SILENT_AIM:
  373. OLCheats->bSilentAim ^= true;
  374. break;
  375. case ID_SHOT_WALL:
  376. OLCheats->bShotWall ^= true;
  377. OLCheats->bSilentAim = OLCheats->bShotWall;
  378. break;
  379. case ID_BYPASS_ANTICHEAT:
  380. OLCheats->bBypassAimAntiCheat ^= true;
  381. break;
  382. case ID_BYPASS_ANTICHEAT_2:
  383. OLCheats->bBypassAimAntiCheat2 ^= true;
  384. break;
  385. case ID_FAKE_LAG_SYNC:
  386. OLCheats->bFakeLagSync ^= true;
  387. break;
  388. case ID_SYNC_WHEN_AIM:
  389. OLCheats->bSyncWhenAim ^= true;
  390. break;
  391. case ID_DRAW_FINDER:
  392. OLCheats->bRenderFinder ^= true;
  393. break;
  394. case ID_FAKE_LAG_SPEED:
  395. OLCheats->bFakeLagSpeed ^= true;
  396. break;
  397. case ID_CHAMS:
  398. OLCheats->bChams ^= true;
  399. break;
  400. case ID_SHOT_REPEATER:
  401. OLCheats->bShotRepeater ^= true;
  402. break;
  403. case ID_AUTO_C_BUG:
  404. OLCheats->bAutoCBug ^= true;
  405. break;
  406. case ID_AUTO_SCROLL:
  407. OLCheats->bAutoScroll ^= true;
  408. break;
  409. case ID_ANTISTUN:
  410. OLCheats->bAntiStun ^= true;
  411. break;
  412. case ID_NOSPREAD:
  413. OLCheats->bNoSpread ^= true;
  414. break;
  415. case ID_AUTOSHOT:
  416. OLCheats->bAutoShot ^= true;
  417. break;
  418. case ID_SLOWSENSAIM:
  419. OLCheats->bSlowAim ^= true;
  420. break;
  421. }
  422. break;
  423. case MENU_OP_ENABLED:
  424. switch (item->id)
  425. {
  426. case ID_ANTISTUN:
  427. return OLCheats->bAntiStun;
  428. case ID_SILENT_AIM:
  429. return OLCheats->bSilentAim;
  430. case ID_SHOT_WALL:
  431. return OLCheats->bShotWall;
  432. case ID_BYPASS_ANTICHEAT:
  433. return OLCheats->bBypassAimAntiCheat;
  434. case ID_BYPASS_ANTICHEAT_2:
  435. return OLCheats->bBypassAimAntiCheat2;
  436. case ID_FAKE_LAG_SYNC:
  437. return OLCheats->bFakeLagSync;
  438. case ID_SYNC_WHEN_AIM:
  439. return OLCheats->bSyncWhenAim;
  440. case ID_DRAW_FINDER:
  441. return OLCheats->bRenderFinder;
  442. case ID_FAKE_LAG_SPEED:
  443. return OLCheats->bFakeLagSpeed;
  444. case ID_CHAMS:
  445. return OLCheats->bChams;
  446. case ID_SHOT_REPEATER:
  447. return OLCheats->bShotRepeater;
  448. break;
  449. case ID_AUTO_C_BUG:
  450. return OLCheats->bAutoCBug;
  451. case ID_AUTOSHOT:
  452. return OLCheats->bAutoShot;
  453. case ID_AUTO_SCROLL:
  454. return OLCheats->bAutoScroll;
  455. case ID_NOSPREAD:
  456. return OLCheats->bNoSpread;
  457. case ID_SLOWSENSAIM:
  458. return OLCheats->bSlowAim;
  459. case ID_SLOWINC:
  460. {
  461. char name[128];
  462. snprintf(name, sizeof(name), "\aСила чувствительности: %.2f", OLCheats->fSlowValue);
  463. menu_item_name_set(item, name);
  464. return OLCheats->bSlowAim;
  465. }
  466. case ID_SPEED_MULTIPLIER:
  467. {
  468. char name[128];
  469. snprintf(name, sizeof(name), "\aРассинхрон при скорости: %.2f", OLCheats->fMultiplierFakeSpeed);
  470. menu_item_name_set(item, name);
  471. break;
  472. }
  473.  
  474.  
  475. case ID_FAKE_LAG_TIME_SYNC:
  476. {
  477. char name[128];
  478. snprintf(name, sizeof(name), "\aВремя синхронизации: %d мс", OLCheats->dwTimeFakeLagSync);
  479. menu_item_name_set(item, name);
  480. return OLCheats->bFakeLagSync;
  481. break;
  482. }
  483. case ID_FAKE_LAG_TIME_DESYNC:
  484. {
  485. char name[128];
  486. snprintf(name, sizeof(name), "\aВремя рассинхрона (АФК): %d мс", OLCheats->dwTimeFakeLagDesync);
  487. menu_item_name_set(item, name);
  488. return OLCheats->bFakeLagSync;
  489. break;
  490. }
  491. }
  492. break;
  493. case MENU_OP_DEC:
  494. case MENU_OP_INC:
  495. increase = (op == MENU_OP_DEC) ? -1 : 1;
  496. switch (item->id)
  497. {
  498. case ID_SPEED_MULTIPLIER:
  499. OLCheats->fMultiplierFakeSpeed += (float)increase / 10.0f;
  500. break;
  501. case ID_FAKE_LAG_TIME_SYNC:
  502. OLCheats->dwTimeFakeLagSync += increase * 10.0f;
  503. break;
  504. case ID_FAKE_LAG_TIME_DESYNC:
  505. OLCheats->dwTimeFakeLagDesync += increase * 10.0f;
  506. break;
  507. case ID_SLOWINC:
  508. OLCheats->fSlowValue += increase * 10.0f;
  509. break;
  510. }
  511. break;
  512. }
  513. return 0;
  514. }
  515.  
  516. int OverLight_Silent_Aim_Stuff_Callback(int op, struct menu_item *item)
  517. {
  518. if (g_SAMP == NULL)
  519. return 0;
  520. int increase = 0;
  521. switch (op)
  522. {
  523. case MENU_OP_SELECT:
  524. switch (item->id)
  525. {
  526. case ID_FILTER_FRIEND:
  527. OLCheats->bFriendFilter ^= true;
  528. break;
  529. case ID_FILTER_TEAM:
  530. OLCheats->bTeamFilter ^= true;
  531. break;
  532. case ID_FILTER_COLOR:
  533. OLCheats->bColorFilter ^= true;
  534. break;
  535. case ID_FILTER_SKIN:
  536. OLCheats->bSkinFilter ^= true;
  537. break;
  538. case ID_FILTER_VISIBLE:
  539. OLCheats->bVisibleFilter ^= true;
  540. break;
  541. case ID_FILTER_AFK:
  542. OLCheats->bAFKFilter ^= true;
  543. break;
  544. case ID_FILTER_ALIVE:
  545. OLCheats->bAlive ^= true;
  546. break;
  547. case ID_NOT_OUT_OF_RANGE:
  548. OLCheats->bOutOfRange ^= true;
  549. break;
  550.  
  551. }
  552. break;
  553. case MENU_OP_ENABLED:
  554. switch (item->id)
  555. {
  556. case ID_FILTER_FRIEND:
  557. return OLCheats->bFriendFilter;
  558. case ID_FILTER_TEAM:
  559. return OLCheats->bTeamFilter;
  560. case ID_FILTER_COLOR:
  561. return OLCheats->bColorFilter;
  562. case ID_FILTER_SKIN:
  563. return OLCheats->bSkinFilter;
  564. case ID_FILTER_VISIBLE:
  565. return OLCheats->bVisibleFilter;
  566. case ID_FILTER_AFK:
  567. return OLCheats->bAFKFilter;
  568. case ID_FILTER_ALIVE:
  569. return OLCheats->bAlive;
  570. case ID_NOT_OUT_OF_RANGE:
  571. return OLCheats->bOutOfRange;
  572.  
  573. case ID_INACCURATE_AIM:
  574. {
  575. char name[128];
  576. snprintf(name, sizeof(name), "\aСмещение прицела: %.2f", OLCheats->fInaccurateAim);
  577. menu_item_name_set(item, name);
  578. break;
  579. }
  580. }
  581. break;
  582. case MENU_OP_DEC:
  583. case MENU_OP_INC:
  584. increase = (op == MENU_OP_DEC) ? -1 : 1;
  585. switch (item->id)
  586. {
  587. case ID_INACCURATE_AIM:
  588. OLCheats->fInaccurateAim += (float)increase / 10.0f;
  589. break;
  590. }
  591. break;
  592. }
  593. return 0;
  594. }
  595.  
  596. int OverLight_Bot_Stuff_Callback(int op, struct menu_item *item)
  597. {
  598. if (g_SAMP == NULL)
  599. return 0;
  600. int increase = 0;
  601. short TargetID = g_BotFuncs->BotSettings.sTargetID;
  602. switch (op)
  603. {
  604. case MENU_OP_SELECT:
  605. switch (item->id)
  606. {
  607. case ID_CONNECT_BOT:
  608. g_BotFuncs->Client_in_Queue++;
  609. break;
  610. case ID_N_CONNECT_BOT:
  611. g_BotFuncs->Client_in_Queue += g_BotFuncs->N_Client_to_Add_In_Queue;
  612. break;
  613. case ID_FAKE_PING:
  614. g_BotFuncs->BotSettings.FakePing ^= true;
  615. break;
  616.  
  617. case ID_DELETE_BOT:
  618. g_BotFuncs->OL_Delete_Bot();
  619. break;
  620. case ID_DELETE_ALL_BOT:
  621. for (int i = g_BotFuncs->BotSettings.ClientCount; i > 0; i--)
  622. g_BotFuncs->OL_Delete_Bot();
  623. break;
  624. case ID_BOT_FOLLOW:
  625. g_BotFuncs->BotSettings.bFollow ^= true;
  626. break;
  627. case ID_BOT_SPAWN:
  628. for (int j = 0; j < 2; j++)
  629. for (int i = g_BotFuncs->BotSettings.ClientCount - 1; i >= 0; i--)
  630. g_BotFuncs->OL_Random_Spawn_Bot(i);
  631. break;
  632. case ID_BOT_SILENT:
  633. g_BotFuncs->BotSettings.bBotSilent ^= true;
  634. break;
  635. case ID_BOT_SHOOTER:
  636. g_BotFuncs->BotSettings.bShooter ^= true;
  637. break;
  638. case ID_BOT_USE_NEAREST_TARGET:
  639. g_BotFuncs->BotSettings.bUseNearestTarget ^= true;
  640. break;
  641. case ID_BOT_ATTACKER:
  642. g_BotFuncs->BotSettings.bBotAttacker ^= true;
  643. break;
  644. case ID_BOT_ELEVATOR:
  645. g_BotFuncs->BotSettings.bBotElevator ^= true;
  646. break;
  647. case ID_BOT_JETPACK_ELEVATOR:
  648. g_BotFuncs->BotSettings.bBotJetpackElevator ^= true;
  649. break;
  650. case ID_BOT_PICK:
  651. g_BotFuncs->BotSettings.bBotPick ^= true;
  652. break;
  653. case ID_BOT_SLAPPER:
  654. g_BotFuncs->BotSettings.bBotSlapper ^= true;
  655. break;
  656. case ID_BOT_FUCK:
  657. g_BotFuncs->BotSettings.bBotFuck ^= true;
  658. break;
  659. case ID_BOT_FOLLOW_ANIM:
  660. g_BotFuncs->BotSettings.bBotFollowAnim ^= true;
  661. break;
  662. case ID_USE_FRIEND_TARGET3:
  663. OLCheats->bUseFriendTarget ^= true;
  664. break;
  665. case ID_UIF_DM_FARMER:
  666. g_BotFuncs->BotSettings.bUIF_DM_Farmer ^= true;
  667. break;
  668. case ID_BOT_SUN:
  669. g_BotFuncs->BotSettings.bBotSun ^= true;
  670. break;
  671. case ID_BOT_STORM:
  672. g_BotFuncs->BotSettings.bStorm ^= true;
  673. break;
  674. }
  675. break;
  676. case MENU_OP_ENABLED:
  677. switch (item->id)
  678. {
  679. char name[128];
  680. case ID_N_CONNECT_BOT:
  681. snprintf(name, sizeof(name), "\aПодключить %d бота(ов)", g_BotFuncs->N_Client_to_Add_In_Queue);
  682. menu_item_name_set(item, name);
  683. break;
  684.  
  685. case ID_FAKE_PING:
  686. return g_BotFuncs->BotSettings.FakePing;
  687. break;
  688.  
  689. case ID_BOT_SILENT:
  690. return g_BotFuncs->BotSettings.bBotSilent;
  691. break;
  692.  
  693. case ID_BOT_SHOOTER:
  694. return g_BotFuncs->BotSettings.bShooter;
  695. break;
  696.  
  697. case ID_INCREASE_PING:
  698. snprintf(name, sizeof(name), "\aПинг: %d", g_BotFuncs->BotSettings.incrasePing);
  699. menu_item_name_set(item, name);
  700. break;
  701.  
  702. case ID_BOT_FOLLOW:
  703. return g_BotFuncs->BotSettings.bFollow;
  704. break;
  705. case ID_BOT_DISTANCE:
  706. {
  707. snprintf(name, sizeof(name), "\aДистанция от грока: %.2f", g_BotFuncs->BotSettings.fDistanceFollow);
  708. menu_item_name_set(item, name);
  709.  
  710. return g_BotFuncs->BotSettings.bFollow;
  711. break;
  712. }
  713. break;
  714. case ID_BOT_DISTANCE_2:
  715. {
  716. snprintf(name, sizeof(name), "\aДистанция от бота: %.2f", g_BotFuncs->BotSettings.fDistanceFollowBetweenBots);
  717. menu_item_name_set(item, name);
  718.  
  719. return g_BotFuncs->BotSettings.bFollow;
  720. break;
  721. }
  722.  
  723. case ID_BOT_SILENT_MULTIPLIER:
  724. {
  725. snprintf(name, sizeof(name), "\aBot Silent Multiplier: %.2f", g_BotFuncs->BotSettings.fMultiplierSilent);
  726. menu_item_name_set(item, name);
  727. break;
  728. }
  729. case ID_BOT_WEAPON:
  730. {
  731. snprintf(name, sizeof(name), "\aID Оружия для атаки: %d", g_BotFuncs->BotSettings.uiAttackWeaponID);
  732. menu_item_name_set(item, name);
  733. break;
  734. }
  735.  
  736. case ID_BOT_DELAY:
  737. {
  738. snprintf(name, sizeof(name), "\aТемп: %d мс", g_BotFuncs->BotSettings.UpdateSendRate);
  739. menu_item_name_set(item, name);
  740. return true;
  741. }
  742.  
  743.  
  744. case ID_BOT_SELECT_TARGET:
  745. if (TargetID >= 0)
  746. {
  747. if (IsPlayerStreamed(TargetID))
  748. {
  749. snprintf(name, sizeof(name), "\aИгрок: %s <%d>", getPlayerName(TargetID), TargetID);
  750. menu_item_name_set(item, name);
  751. }
  752. else
  753. {
  754. snprintf(name, sizeof(name), "\aИгрок: <%d> [Нет]", TargetID);
  755. menu_item_name_set(item, name);
  756. }
  757. }
  758. else
  759. {
  760. //snprintf(name, sizeof(name), "\aTroll: <%d> [Unstreamed]", TargetID);
  761. //menu_item_name_set(item, "\aTarget ID: Nearest Player");
  762. g_BotFuncs->BotSettings.sTargetID = NearestPlayer();
  763. }
  764. break;
  765. case ID_BOT_USE_NEAREST_TARGET:
  766. return g_BotFuncs->BotSettings.bUseNearestTarget;
  767. break;
  768. case ID_BOT_ATTACKER:
  769. return g_BotFuncs->BotSettings.bBotAttacker;
  770. break;
  771. case ID_BOT_ELEVATOR:
  772. return g_BotFuncs->BotSettings.bBotElevator;
  773. break;
  774. case ID_BOT_SUN:
  775. return g_BotFuncs->BotSettings.bBotSun;
  776. break;
  777. case ID_BOT_JETPACK_ELEVATOR:
  778. return g_BotFuncs->BotSettings.bBotJetpackElevator;
  779. break;
  780. case ID_BOT_PICK:
  781. return g_BotFuncs->BotSettings.bBotPick;
  782. break;
  783. case ID_BOT_SLAPPER:
  784. return g_BotFuncs->BotSettings.bBotSlapper;
  785. break;
  786. case ID_BOT_FUCK:
  787. return g_BotFuncs->BotSettings.bBotFuck;
  788. break;
  789. case ID_BOT_FOLLOW_ANIM:
  790. return g_BotFuncs->BotSettings.bBotFollowAnim;
  791. break;
  792. case ID_BOT_FOLLOW_SEL_ANIM:
  793. {
  794. snprintf(name, sizeof(name), "\aID Анимации: %d", g_BotFuncs->BotSettings.sBotFollowAnimID);
  795. menu_item_name_set(item, name);
  796. break;
  797. }
  798. case ID_USE_FRIEND_TARGET3:
  799. return OLCheats->bUseFriendTarget;
  800. case ID_UIF_DM_FARMER:
  801. return g_BotFuncs->BotSettings.bUIF_DM_Farmer;
  802. case ID_BOT_STORM:
  803. return g_BotFuncs->BotSettings.bStorm;
  804. }
  805. break;
  806. case MENU_OP_DEC:
  807. case MENU_OP_INC:
  808. increase = (op == MENU_OP_DEC) ? -1 : 1;
  809. switch (item->id)
  810. {
  811. case ID_N_CONNECT_BOT:
  812. g_BotFuncs->N_Client_to_Add_In_Queue += increase;
  813. break;
  814. case ID_INCREASE_PING:
  815. g_BotFuncs->BotSettings.incrasePing += increase;
  816. break;
  817.  
  818. case ID_BOT_DISTANCE:
  819. g_BotFuncs->BotSettings.fDistanceFollow += (float)increase / 10.0f;
  820. break;
  821. case ID_BOT_DISTANCE_2:
  822. g_BotFuncs->BotSettings.fDistanceFollowBetweenBots += (float)increase / 10.0f;
  823. break;
  824.  
  825. case ID_BOT_SILENT_MULTIPLIER:
  826. g_BotFuncs->BotSettings.fMultiplierSilent += 0.01f * increase;
  827. break;
  828. case ID_BOT_SELECT_TARGET:
  829. g_BotFuncs->BotSettings.sTargetID = NextPlayer(g_BotFuncs->BotSettings.sTargetID, increase);
  830. break;
  831. case ID_BOT_WEAPON:
  832. g_BotFuncs->BotSettings.uiAttackWeaponID += increase;
  833. break;
  834. case ID_BOT_FOLLOW_SEL_ANIM:
  835. g_BotFuncs->BotSettings.sBotFollowAnimID += increase;
  836. break;
  837.  
  838. case ID_BOT_DELAY:
  839. g_BotFuncs->BotSettings.UpdateSendRate += increase * 5;
  840. break;
  841. }
  842. break;
  843.  
  844. }
  845. return 0;
  846. }
  847.  
  848. int OverLight_Client_Stuff_Callback(int op, struct menu_item *item)
  849. {
  850. if (g_SAMP == NULL)
  851. return 0;
  852. int increase = 0;
  853. char name[128];
  854. switch (op)
  855. {
  856. case MENU_OP_SELECT:
  857. switch (item->id)
  858. {
  859. case ID_ANTI_CAR_TROLL:
  860. bAntiBadVehicle ^= true;
  861. break;
  862. case ID_ANTI_BULLET_CRASHER:
  863. bAntiBadAim ^= true;
  864. bAntiBadBullets ^= true;
  865. break;
  866. case ID_ANTI_BAD_VEHICLES:
  867. bAntiBadUnoccupied ^= true;
  868. break;
  869. case ID_RCON_ATTACK:
  870. OLCheats->bRCON_Attack ^= true;
  871. break;
  872. case ID_SERVER_LAG:
  873. OLCheats->bServerLag ^= true;
  874. break;
  875. case ID_JOIN_FLOOD:
  876. OLCheats->bJoinFlood ^= true;
  877. break;
  878. case ID_FAKE_FPS:
  879. OLCheats->bFakeFPS ^= true;
  880. break;
  881. case ID_ANTI_LOADING:
  882. OLCheats->bAntiLoading ^= true;
  883. break;
  884. case ID_CHANGE_GPCI:
  885. OLCheats->bChangeGPCIa ^= true;
  886. OL_ChangeSettings("OL_ChangeGPCI", OLCheats->bChangeGPCIa ? "true" : "false");
  887. cheat_state_text("Настройки сохранены, перезагрузитесь чтобы изменения вступили в силу.");
  888. break;
  889. }
  890. break;
  891. case MENU_OP_ENABLED:
  892. switch (item->id)
  893. {
  894. case ID_ANTI_CAR_TROLL:
  895. return bAntiBadVehicle;
  896. break;
  897. case ID_ANTI_BULLET_CRASHER:
  898. return bAntiBadBullets;
  899. break;
  900. case ID_ANTI_BAD_VEHICLES:
  901. return bAntiBadUnoccupied;
  902. break;
  903. case ID_RCON_ATTACK:
  904. return OLCheats->bRCON_Attack;
  905. break;
  906. case ID_SERVER_LAG:
  907. return OLCheats->bServerLag;
  908. break;
  909. case ID_JOIN_FLOOD:
  910. return OLCheats->bJoinFlood;
  911. break;
  912. case ID_FAKE_FPS:
  913. return OLCheats->bFakeFPS;
  914. case ID_ANTI_LOADING:
  915. return OLCheats->bAntiLoading;
  916. case ID_CHANGE_GPCI:
  917. return OLCheats->bChangeGPCIa;
  918.  
  919. case ID_MESSAGES_LIMIT:
  920. {
  921. snprintf(name, sizeof(name), "\aТемп сообщений: %d/сек", OLCheats->iLimitMessages);
  922. menu_item_name_set(item, name);
  923. return OLCheats->bServerLag;
  924. break;
  925. }
  926. case ID_SELECT_FAKE_FPS:
  927. {
  928. snprintf(name, sizeof(name), "\aFPS: %d", OLCheats->iFPS);
  929. menu_item_name_set(item, name);
  930. return OLCheats->bFakeFPS;
  931. }
  932. }
  933. break;
  934. case MENU_OP_DEC:
  935. case MENU_OP_INC:
  936. increase = (op == MENU_OP_DEC) ? -1 : 1;
  937. switch (item->id)
  938. {
  939. case ID_MESSAGES_LIMIT:
  940. OLCheats->iLimitMessages += 25 * increase;
  941. break;
  942. case ID_SELECT_FAKE_FPS:
  943. OLCheats->iFPS += increase;
  944. break;
  945. }
  946. break;
  947. }
  948. return 0;
  949. }
  950.  
  951. int OverLight_Bot_Follow_Callback(int op, struct menu_item *item)
  952. {
  953. if (g_SAMP == NULL)
  954. return 0;
  955.  
  956. switch (op)
  957. {
  958. case MENU_OP_SELECT:
  959. switch (item->id)
  960. {
  961. case ID_BOT_COPY_HEALTH:
  962. g_BotFuncs->BotSettings.bCopyHealth ^= true;
  963. break;
  964. case ID_BOT_COPY_ARMOR:
  965. g_BotFuncs->BotSettings.bCopyArmor ^= true;
  966. break;
  967. case ID_BOT_COPY_WEAPON:
  968. g_BotFuncs->BotSettings.bCopyWeapon ^= true;
  969. break;
  970. case ID_BOT_COPY_CHAT:
  971. g_BotFuncs->BotSettings.bCopyChat ^= true;
  972. g_BotFuncs->BotSettings.bCopyRPC = false;
  973. break;
  974. case ID_BOT_COPY_RPC:
  975. g_BotFuncs->BotSettings.bCopyRPC ^= true;
  976. g_BotFuncs->BotSettings.bCopyChat = false;
  977. break;
  978. }
  979. break;
  980. case MENU_OP_ENABLED:
  981. switch (item->id)
  982. {
  983. case ID_BOT_COPY_HEALTH:
  984. return g_BotFuncs->BotSettings.bCopyHealth;
  985. break;
  986. case ID_BOT_COPY_ARMOR:
  987. return g_BotFuncs->BotSettings.bCopyArmor;
  988. break;
  989. case ID_BOT_COPY_WEAPON:
  990. return g_BotFuncs->BotSettings.bCopyWeapon;
  991. break;
  992. case ID_BOT_COPY_CHAT:
  993. return g_BotFuncs->BotSettings.bCopyChat;
  994. break;
  995. case ID_BOT_COPY_RPC:
  996. return g_BotFuncs->BotSettings.bCopyRPC;
  997. break;
  998. }
  999. break;
  1000. /*
  1001. case MENU_OP_DEC:
  1002. case MENU_OP_INC:
  1003. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1004. switch (item->id)
  1005. {
  1006. }
  1007. break;*/
  1008. }
  1009. return 0;
  1010. }
  1011.  
  1012. int OverLight_Chams_Callback(int op, struct menu_item *item)
  1013. {
  1014. if (g_SAMP == NULL)
  1015. return 0;
  1016. int increase = 0;
  1017. char name[128];
  1018. switch (op)
  1019. {
  1020. case MENU_OP_SELECT:
  1021. switch (item->id)
  1022. {
  1023. case ID_BEHIND_SOLID:
  1024. OLCheats->ChamsTypeBehindWall = D3DFILL_SOLID;
  1025. break;
  1026. case ID_BEHIND_WIREFRAME:
  1027. OLCheats->ChamsTypeBehindWall = D3DFILL_WIREFRAME;
  1028. break;
  1029. case ID_BEHIND_POINT:
  1030. OLCheats->ChamsTypeBehindWall = D3DFILL_POINT;
  1031. break;
  1032. case ID_INFRONT_SOLID:
  1033. OLCheats->ChamsTypeInFrontWall = D3DFILL_SOLID;
  1034. break;
  1035. case ID_INFRONT_WIREFRAME:
  1036. OLCheats->ChamsTypeInFrontWall = D3DFILL_WIREFRAME;
  1037. break;
  1038. case ID_INFRONT_POINT:
  1039. OLCheats->ChamsTypeInFrontWall = D3DFILL_POINT;
  1040. break;
  1041. }
  1042. break;
  1043. case MENU_OP_ENABLED:
  1044. switch (item->id)
  1045. {
  1046. case ID_BEHIND_RED:
  1047. {
  1048. snprintf(name, sizeof(name), "\aКрасный: %.f", OLCheats->fColorChamsBehindWall[0]);
  1049. menu_item_name_set(item, name);
  1050. break;
  1051. }
  1052. case ID_BEHIND_GREEN:
  1053. {
  1054. snprintf(name, sizeof(name), "\aЗеленый: %.f", OLCheats->fColorChamsBehindWall[1]);
  1055. menu_item_name_set(item, name);
  1056. break;
  1057. }
  1058. case ID_BEHIND_BLUE:
  1059. {
  1060. snprintf(name, sizeof(name), "\aСиний: %.f", OLCheats->fColorChamsBehindWall[2]);
  1061. menu_item_name_set(item, name);
  1062. break;
  1063. }
  1064.  
  1065. case ID_BEHIND_SOLID:
  1066. {
  1067. if (OLCheats->ChamsTypeBehindWall == D3DFILL_SOLID)
  1068. {
  1069. return true;
  1070. }
  1071. else
  1072. {
  1073. return false;
  1074. }
  1075. break;
  1076. }
  1077. case ID_BEHIND_WIREFRAME:
  1078. {
  1079. if (OLCheats->ChamsTypeBehindWall == D3DFILL_WIREFRAME)
  1080. {
  1081. return true;
  1082. }
  1083. else
  1084. {
  1085. return false;
  1086. }
  1087. break;
  1088. }
  1089. case ID_BEHIND_POINT:
  1090. {
  1091. if (OLCheats->ChamsTypeBehindWall == D3DFILL_POINT)
  1092. {
  1093. return true;
  1094. }
  1095. else
  1096. {
  1097. return false;
  1098. }
  1099. break;
  1100. }
  1101.  
  1102. case ID_INFRONT_SOLID:
  1103. {
  1104. if (OLCheats->ChamsTypeInFrontWall == D3DFILL_SOLID)
  1105. {
  1106. return true;
  1107. }
  1108. else
  1109. {
  1110. return false;
  1111. }
  1112. break;
  1113. }
  1114. case ID_INFRONT_WIREFRAME:
  1115. {
  1116. if (OLCheats->ChamsTypeInFrontWall == D3DFILL_WIREFRAME)
  1117. {
  1118. return true;
  1119. }
  1120. else
  1121. {
  1122. return false;
  1123. }
  1124. break;
  1125. }
  1126. case ID_INFRONT_POINT:
  1127. {
  1128. if (OLCheats->ChamsTypeInFrontWall == D3DFILL_POINT)
  1129. {
  1130. return true;
  1131. }
  1132. else
  1133. {
  1134. return false;
  1135. }
  1136. break;
  1137. }
  1138. case ID_INFRONT_RED:
  1139. {
  1140. snprintf(name, sizeof(name), "\aКрасный: %.f", OLCheats->fColorChamsInFrontWall[0]);
  1141. menu_item_name_set(item, name);
  1142. break;
  1143. }
  1144. case ID_INFRONT_GREEN:
  1145. {
  1146. snprintf(name, sizeof(name), "\aЗеленый: %.f", OLCheats->fColorChamsInFrontWall[1]);
  1147. menu_item_name_set(item, name);
  1148. break;
  1149. }
  1150. case ID_INFRONT_BLUE:
  1151. {
  1152. snprintf(name, sizeof(name), "\aСиний: %.f", OLCheats->fColorChamsInFrontWall[2]);
  1153. menu_item_name_set(item, name);
  1154. break;
  1155. }
  1156.  
  1157. case ID_INFRONT_ALPHA:
  1158. {
  1159. snprintf(name, sizeof(name), "\aПрозрачность: %.f", OLCheats->fColorChamsInFrontWall[3]);
  1160. menu_item_name_set(item, name);
  1161. break;
  1162. }
  1163.  
  1164. case ID_BEHIND_ALPHA:
  1165. {
  1166. snprintf(name, sizeof(name), "\aПрозрачность: %.f", OLCheats->fColorChamsBehindWall[3]);
  1167. menu_item_name_set(item, name);
  1168. break;
  1169. }
  1170.  
  1171. }
  1172. break;
  1173. case MENU_OP_DEC:
  1174. case MENU_OP_INC:
  1175. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1176. switch (item->id)
  1177. {
  1178. case ID_BEHIND_RED:
  1179. if ((OLCheats->fColorChamsBehindWall[0] + increase * 15.0f) > 255
  1180. || (OLCheats->fColorChamsBehindWall[0] + increase * 15.0f) < 0)
  1181. break;
  1182. OLCheats->fColorChamsBehindWall[0] += increase * 15.0f;
  1183. Set_Chams_Color_Behind_Wall();
  1184. break;
  1185. case ID_BEHIND_GREEN:
  1186. if ((OLCheats->fColorChamsBehindWall[1] + increase * 15.0f) > 255
  1187. || (OLCheats->fColorChamsBehindWall[1] + increase * 15.0f) < 0)
  1188. break;
  1189. OLCheats->fColorChamsBehindWall[1] += increase * 15.0f;
  1190. Set_Chams_Color_Behind_Wall();
  1191. break;
  1192. case ID_BEHIND_BLUE:
  1193. if ((OLCheats->fColorChamsBehindWall[2] + increase * 15.0f) > 255
  1194. || (OLCheats->fColorChamsBehindWall[2] + increase * 15.0f) < 0)
  1195. break;
  1196. OLCheats->fColorChamsBehindWall[2] += increase * 15.0f;
  1197. Set_Chams_Color_Behind_Wall();
  1198. break;
  1199. case ID_INFRONT_RED:
  1200. if ((OLCheats->fColorChamsInFrontWall[0] + increase * 15.0f) > 255
  1201. || (OLCheats->fColorChamsInFrontWall[0] + increase * 15.0f) < 0)
  1202. break;
  1203. OLCheats->fColorChamsInFrontWall[0] += increase * 15.0f;
  1204. Set_Chams_Color_InFront_Wall();
  1205. break;
  1206. case ID_INFRONT_GREEN:
  1207. if ((OLCheats->fColorChamsInFrontWall[1] + increase * 15.0f) > 255
  1208. || (OLCheats->fColorChamsInFrontWall[1] + increase * 15.0f) < 0)
  1209. break;
  1210. OLCheats->fColorChamsInFrontWall[1] += increase * 15.0f;
  1211. Set_Chams_Color_InFront_Wall();
  1212. break;
  1213. case ID_INFRONT_BLUE:
  1214. if ((OLCheats->fColorChamsInFrontWall[2] + increase * 15.0f) > 255
  1215. || (OLCheats->fColorChamsInFrontWall[2] + increase * 15.0f) < 0)
  1216. break;
  1217. OLCheats->fColorChamsInFrontWall[2] += increase * 15.0f;
  1218. Set_Chams_Color_InFront_Wall();
  1219. break;
  1220. case ID_BEHIND_ALPHA:
  1221. if ((OLCheats->fColorChamsBehindWall[3] + increase * 15.0f) > 255
  1222. || (OLCheats->fColorChamsBehindWall[3] + increase * 15.0f) < 0)
  1223. break;
  1224. OLCheats->fColorChamsBehindWall[3] += increase * 15.0f;
  1225. Set_Chams_Color_Behind_Wall();
  1226. break;
  1227. case ID_INFRONT_ALPHA:
  1228. if ((OLCheats->fColorChamsInFrontWall[3] + increase * 15.0f) > 255
  1229. || (OLCheats->fColorChamsInFrontWall[3] + increase * 15.0f) < 0)
  1230. break;
  1231. OLCheats->fColorChamsInFrontWall[3] += increase * 15.0f;
  1232. Set_Chams_Color_InFront_Wall();
  1233. break;
  1234. }
  1235. break;
  1236. }
  1237. return 0;
  1238. }
  1239.  
  1240. int OverLight_Bot_Control_Callback(int op, struct menu_item *item)
  1241. {
  1242. if (g_SAMP == NULL)
  1243. return 0;
  1244. int increase = 0;
  1245. static int botID = -1;
  1246. char name[128];
  1247. switch (op)
  1248. {
  1249. /*
  1250. case MENU_OP_SELECT:
  1251. switch (item->id)
  1252. {
  1253. }
  1254. break;*/
  1255. case MENU_OP_ENABLED:
  1256. switch (item->id)
  1257. {
  1258. case ID_BOT_ID:
  1259. if (botID == -1)
  1260. {
  1261. snprintf(name, sizeof(name), "\aID Бота: [Все боты]");
  1262. menu_item_name_set(item, name);
  1263. }
  1264. else
  1265. {
  1266. snprintf(name, sizeof(name), "\aID Бота: %d", botID);
  1267. menu_item_name_set(item, name);
  1268. }
  1269. break;
  1270. case ID_BOT_ANIMATION:
  1271. if (botID == -1)
  1272. {
  1273. snprintf(name, sizeof(name), "\aID Анимации: %d", g_BotFuncs->BotClient[0].sCurrentAnimationID);
  1274. menu_item_name_set(item, name);
  1275. }
  1276. else
  1277. {
  1278. snprintf(name, sizeof(name), "\aID Антмации: %d", g_BotFuncs->BotClient[botID].sCurrentAnimationID);
  1279. menu_item_name_set(item, name);
  1280. }
  1281. break;
  1282. }
  1283. break;
  1284. case MENU_OP_DEC:
  1285. case MENU_OP_INC:
  1286. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1287. switch (item->id)
  1288. {
  1289. case ID_BOT_ID:
  1290. if (((botID + increase) < g_BotFuncs->BotSettings.ClientCount)
  1291. && (botID + increase) >= -1)
  1292. {
  1293. botID += increase;
  1294. }
  1295. break;
  1296. case ID_BOT_ANIMATION:
  1297. if (botID == -1)
  1298. {
  1299. if ((g_BotFuncs->BotClient[0].sCurrentAnimationID + increase) >= -1)
  1300. {
  1301. g_BotFuncs->BotClient[0].sCurrentAnimationID += increase;
  1302. for (int i = 0; i < g_BotFuncs->BotSettings.ClientCount; i++)
  1303. {
  1304. g_BotFuncs->BotClient[i].sCurrentAnimationID = g_BotFuncs->BotClient[0].sCurrentAnimationID;
  1305. }
  1306. }
  1307. }
  1308. else
  1309. {
  1310. if ((g_BotFuncs->BotClient[botID].sCurrentAnimationID + increase) > -1)
  1311. {
  1312. g_BotFuncs->BotClient[botID].sCurrentAnimationID += increase;
  1313. }
  1314. }
  1315. break;
  1316. case ID_BOT_ACTION:
  1317. if (botID == -1)
  1318. {
  1319. if ((g_BotFuncs->BotClient[0].byteSpecialAction + increase) >= -1)
  1320. {
  1321. g_BotFuncs->BotClient[0].byteSpecialAction += increase;
  1322. for (int i = 0; i < g_BotFuncs->BotSettings.ClientCount; i++)
  1323. {
  1324. g_BotFuncs->BotClient[i].byteSpecialAction = g_BotFuncs->BotClient[0].byteSpecialAction;
  1325. }
  1326. }
  1327. }
  1328. else
  1329. {
  1330. if ((g_BotFuncs->BotClient[botID].byteSpecialAction + increase) > -1)
  1331. {
  1332. g_BotFuncs->BotClient[botID].byteSpecialAction += increase;
  1333. }
  1334. }
  1335. break;
  1336. }
  1337. break;
  1338. }
  1339. return 0;
  1340. }
  1341.  
  1342. int OverLight_Bot_Connect_Callback(int op, struct menu_item *item)
  1343. {
  1344. if (g_SAMP == NULL)
  1345. return 0;
  1346. char name[128];
  1347. int increase = 0;
  1348. switch (op)
  1349. {
  1350. case MENU_OP_SELECT:
  1351. switch (item->id)
  1352. {
  1353. case ID_BOT_STEAL_NICK:
  1354. g_BotFuncs->BotSettings.UseFakeBot ^= true;
  1355. break;
  1356. case ID_MENU_NICK_LOCAL:
  1357. g_BotFuncs->BotSettings.NicknameStyle = ID_NICK_LOCAL;
  1358. break;
  1359. case ID_MENU_NICK_REALISTIC:
  1360. g_BotFuncs->BotSettings.NicknameStyle = ID_NICK_REALISTIC;
  1361. break;
  1362. case ID_MENU_NICK_BINARY:
  1363. g_BotFuncs->BotSettings.NicknameStyle = ID_NICK_BINARY;
  1364. break;
  1365. case ID_BOT_SPAWN2:
  1366. for (int j = 0; j < 2; j++)
  1367. for (int i = g_BotFuncs->BotSettings.ClientCount - 1; i >= 0; i--)
  1368. g_BotFuncs->OL_Spawn_Bot(i);
  1369. break;
  1370. }
  1371. break;
  1372. case MENU_OP_ENABLED:
  1373. switch (item->id)
  1374. {
  1375. case ID_BOT_STEAL_NICK:
  1376. return g_BotFuncs->BotSettings.UseFakeBot;
  1377. break;
  1378. case ID_MENU_NICK_LOCAL:
  1379. if (g_BotFuncs->BotSettings.NicknameStyle == ID_NICK_LOCAL)
  1380. {
  1381. return true;
  1382. }
  1383. else
  1384. {
  1385. return false;
  1386. }
  1387. break;
  1388. case ID_MENU_NICK_REALISTIC:
  1389. if (g_BotFuncs->BotSettings.NicknameStyle == ID_NICK_REALISTIC)
  1390. {
  1391. return true;
  1392. }
  1393. else
  1394. {
  1395. return false;
  1396. }
  1397. break;
  1398. case ID_MENU_NICK_BINARY:
  1399. if (g_BotFuncs->BotSettings.NicknameStyle == ID_NICK_BINARY)
  1400. {
  1401. return true;
  1402. }
  1403. else
  1404. {
  1405. return false;
  1406. }
  1407. break;
  1408. case ID_BOT_CLASS_ID:
  1409. {
  1410. snprintf(name, sizeof(name), "\aID Класса: %d", g_BotFuncs->BotSettings.ClassID);
  1411. menu_item_name_set(item, name);
  1412. break;
  1413. }
  1414.  
  1415. case ID_BOT_PLAYER:
  1416. if (OLCheats->Target_PlayerID != -1)
  1417. {
  1418. if (IsPlayerStreamed(OLCheats->Target_PlayerID))
  1419. {
  1420. snprintf(name, sizeof(name), "\aИгрок: %s <%d>", getPlayerName(OLCheats->Target_PlayerID), OLCheats->Target_PlayerID);
  1421. menu_item_name_set(item, name);
  1422. }
  1423. else
  1424. {
  1425. snprintf(name, sizeof(name), "\aИгрок: <%d> [Нет]", OLCheats->Target_PlayerID);
  1426. menu_item_name_set(item, name);
  1427. }
  1428. }
  1429. else
  1430. {
  1431. OLCheats->Target_PlayerID = NearestPlayer();
  1432. }
  1433. return g_BotFuncs->BotSettings.UseFakeBot;
  1434. break;
  1435. }
  1436. break;
  1437. case MENU_OP_DEC:
  1438. case MENU_OP_INC:
  1439. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1440. switch (item->id)
  1441. {
  1442. case ID_BOT_PLAYER:
  1443. OLCheats->Target_PlayerID = NextPlayer(OLCheats->Target_PlayerID, increase);
  1444. break;
  1445. case ID_BOT_CLASS_ID:
  1446. g_BotFuncs->BotSettings.ClassID += increase;
  1447. break;
  1448. }
  1449. break;
  1450. }
  1451. return 0;
  1452. }
  1453.  
  1454. int OverLight_Credits_Callback(int op, struct menu_item *item)
  1455. {
  1456. return 0;
  1457. }
  1458.  
  1459. int OverLight_HUD_Settings_Callback(int op, struct menu_item *item)
  1460. {
  1461. if (g_SAMP == NULL)
  1462. return 0;
  1463. int increase = 0;
  1464. char value[10];
  1465. char name[128];
  1466. switch (op)
  1467. {
  1468. case MENU_OP_SELECT:
  1469. switch (item->id)
  1470. {
  1471. case ID_PLAYER_TAGS:
  1472. OLCheats->bPlayerTags ^= true;
  1473. break;
  1474. case ID_VEHICLE_TAGS:
  1475. OLCheats->bVehicleTags ^= true;
  1476. break;
  1477. case ID_FONT_CHAT_SIZE:
  1478. itoa(OLCheats->ChatFontSize, value, 10);
  1479. OL_ChangeSettings("chat_font_size", value);
  1480. cheat_state_text("Шрифт сохранен, перезайдите в игру чтобы изменения вступии в силу.");
  1481. break;
  1482. case ID_FONT_SMALL_SIZE:
  1483. itoa(OLCheats->SmallFontSize, value, 10);
  1484. OL_ChangeSettings("small_font_size", value);
  1485. cheat_state_text("Шрифт сохранен, перезайдите в игру чтобы изменения вступии в силу.");
  1486. break;
  1487. case ID_FONT_FOOTER_SIZE:
  1488. itoa(OLCheats->FooterFontSize, value, 10);
  1489. OL_ChangeSettings("footer_font_size", value);
  1490. cheat_state_text("FШрифт сохранен, перезайдите в игру чтобы изменения вступии в силу.");
  1491. break;
  1492. case ID_FONT_MENU_SIZE:
  1493. itoa(OLCheats->MenuFontSize, value, 10);
  1494. OL_ChangeSettings("menu_font_size", value);
  1495. cheat_state_text("FШрифт сохранен, перезайдите в игру чтобы изменения вступии в силу.");
  1496. break;
  1497. case ID_FONT_NICK_SIZE:
  1498. itoa(OLCheats->NicknameFontSize, value, 10);
  1499. OL_ChangeSettings("nickname_font_name", value);
  1500. cheat_state_text("Шрифт сохранен, перезайдите в игру чтобы изменения вступии в силу.");
  1501. break;
  1502. }
  1503. break;
  1504. case MENU_OP_ENABLED:
  1505. switch (item->id)
  1506. {
  1507. case ID_PLAYER_TAGS:
  1508. return OLCheats->bPlayerTags;
  1509. case ID_VEHICLE_TAGS:
  1510. return OLCheats->bVehicleTags;
  1511. case ID_FONT_CHAT_SIZE:
  1512. {
  1513. snprintf(name, sizeof(name), "\aРазмер шрифта чата: %d", OLCheats->ChatFontSize);
  1514. menu_item_name_set(item, name);
  1515. break;
  1516. }
  1517. case ID_FONT_SMALL_SIZE:
  1518. {
  1519. snprintf(name, sizeof(name), "\aМаленький размер шрифта: %d", OLCheats->SmallFontSize);
  1520. menu_item_name_set(item, name);
  1521. break;
  1522. }
  1523. case ID_FONT_FOOTER_SIZE:
  1524. {
  1525. snprintf(name, sizeof(name), "\aБольшой размер шрифта: %d", OLCheats->FooterFontSize);
  1526. menu_item_name_set(item, name);
  1527. break;
  1528. }
  1529. case ID_FONT_MENU_SIZE:
  1530. {
  1531. snprintf(name, sizeof(name), "\aРазмер шрифта в собейте: %d", OLCheats->MenuFontSize);
  1532. menu_item_name_set(item, name);
  1533. break;
  1534. }
  1535. case ID_FONT_NICK_SIZE:
  1536. {
  1537. snprintf(name, sizeof(name), "\aРазмер шрифта ников: %d", OLCheats->NicknameFontSize);
  1538. menu_item_name_set(item, name);
  1539. break;
  1540. }
  1541.  
  1542. }
  1543. break;
  1544. case MENU_OP_DEC:
  1545. case MENU_OP_INC:
  1546. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1547. switch (item->id)
  1548. {
  1549. case ID_FONT_NICK_SIZE:
  1550. {
  1551. OLCheats->NicknameFontSize += increase;
  1552. break;
  1553. }
  1554. case ID_FONT_CHAT_SIZE:
  1555. {
  1556. OLCheats->ChatFontSize += increase;
  1557. break;
  1558. }
  1559. case ID_FONT_SMALL_SIZE:
  1560. {
  1561. OLCheats->SmallFontSize += increase;
  1562. break;
  1563. }
  1564. case ID_FONT_FOOTER_SIZE:
  1565. {
  1566. OLCheats->FooterFontSize += increase;
  1567. break;
  1568. }
  1569. case ID_FONT_MENU_SIZE:
  1570. {
  1571. OLCheats->MenuFontSize += increase;
  1572. break;
  1573. }
  1574. }
  1575. break;
  1576. }
  1577. return 0;
  1578.  
  1579. }
  1580.  
  1581. int OverLight_Crashers_Callback(int op, struct menu_item *item)
  1582. {
  1583. if (g_SAMP == NULL)
  1584. return 0;
  1585.  
  1586. switch (op)
  1587. {
  1588. case MENU_OP_SELECT:
  1589. switch (item->id)
  1590. {
  1591. case ID_PLANE_CRASHER2:
  1592. OLCheats->bPlaneCrasher2 ^= true;
  1593. break;
  1594. case ID_VORTEX_CRASHER2:
  1595. OLCheats->bVortexCrasher2 ^= true;
  1596. break;
  1597. case ID_PLANE_CRASHER_:
  1598. OLCheats->bPlaneCrasher ^= true;
  1599. break;
  1600. case ID_VORTEX_CRASHER_:
  1601. OLCheats->bVortexCrasher ^= true;
  1602. break;
  1603. case ID_BULLET_CRASHER:
  1604. OLCheats->bBulletCrasher ^= true;
  1605. break;
  1606. case ID_CARJACK_CRASHER:
  1607. OLCheats->bCarJackCrasher ^= true;
  1608. break;
  1609. case ID_STUNT_CRASHER:
  1610. OLCheats->bStuntCrasher ^= true;
  1611. break;
  1612. case ID_HUNTER_CRASHER:
  1613. OLCheats->bHunterCrasher ^= true;
  1614. break;
  1615. case ID_DETONATOR_CRASHER:
  1616. OLCheats->bDetonatorCrasher ^= true;
  1617. break;
  1618. case ID_JETPACK_ROLL_CRASHER:
  1619. ShellExecute(NULL, "open"," https://youtu.be/9Nqe2TzAZX0", NULL, NULL, SW_SHOW);
  1620. break;
  1621.  
  1622. }
  1623. break;
  1624. case MENU_OP_ENABLED:
  1625. switch (item->id)
  1626. {
  1627. case ID_PLANE_CRASHER2:
  1628. return OLCheats->bPlaneCrasher2;
  1629. case ID_VORTEX_CRASHER2:
  1630. return OLCheats->bVortexCrasher2;
  1631. case ID_PLANE_CRASHER_:
  1632. return OLCheats->bPlaneCrasher;
  1633. case ID_VORTEX_CRASHER_:
  1634. return OLCheats->bVortexCrasher;
  1635. case ID_BULLET_CRASHER:
  1636. return OLCheats->bBulletCrasher;
  1637. case ID_CARJACK_CRASHER:
  1638. return OLCheats->bCarJackCrasher;
  1639. case ID_STUNT_CRASHER:
  1640. return OLCheats->bStuntCrasher;
  1641. case ID_HUNTER_CRASHER:
  1642. return OLCheats->bHunterCrasher;
  1643. case ID_DETONATOR_CRASHER:
  1644. return OLCheats->bDetonatorCrasher;
  1645. }
  1646. break;
  1647. /*
  1648. case MENU_OP_DEC:
  1649. case MENU_OP_INC:
  1650. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1651. switch (item->id)
  1652. {
  1653.  
  1654. }
  1655. break;*/
  1656. }
  1657. return 0;
  1658. }
  1659.  
  1660. int OverLight_Chat_Callback(int op, struct menu_item *item)
  1661. {
  1662. if (g_SAMP == NULL)
  1663. return 0;
  1664.  
  1665. switch (op)
  1666. {
  1667. case MENU_OP_SELECT:
  1668. switch (item->id)
  1669. {
  1670. case ID_TRANSP:
  1671. OLCheats->bTranspBackGroundChat ^= true;
  1672. break;
  1673. case ID_SEND_NICKNAME:
  1674. OLCheats->bSendNickname ^= true;
  1675. OL_ChangeSettings("OL_Chat_send_nickname", OLCheats->bSendNickname ? "true" : "false");
  1676. break;
  1677. case ID_SEND_SERVER:
  1678. OLCheats->bSendServer ^= true;
  1679. OL_ChangeSettings("OL_Chat_send_server", OLCheats->bSendServer ? "true" : "false");
  1680. break;
  1681. }
  1682. break;
  1683. case MENU_OP_ENABLED:
  1684. switch (item->id)
  1685. {
  1686. case ID_TRANSP:
  1687. return OLCheats->bTranspBackGroundChat;
  1688. case ID_SEND_NICKNAME:
  1689. return OLCheats->bSendNickname;
  1690. case ID_SEND_SERVER:
  1691. return OLCheats->bSendServer;
  1692. }
  1693. break;
  1694. /*case MENU_OP_DEC:
  1695. case MENU_OP_INC:
  1696. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1697. switch (item->id)
  1698. {
  1699. default:
  1700. break;
  1701. }
  1702. break;*/
  1703. }
  1704. return 0;
  1705. }
  1706.  
  1707. int OverLight_Change_Graphics_Callback(int op, struct menu_item *item)
  1708. {
  1709. if (g_SAMP == NULL)
  1710. return 0;
  1711. int increase = 0;
  1712. char name[128];
  1713. switch (op)
  1714. {
  1715. case MENU_OP_SELECT:
  1716. switch (item->id)
  1717. {
  1718. case ID_TRANSP:
  1719. OLCheats->bChangeGraphics ^= true;
  1720. break;
  1721. }
  1722. break;
  1723. case MENU_OP_ENABLED:
  1724. switch (item->id)
  1725. {
  1726. case ID_CHANGE_GRAPHICS:
  1727. return OLCheats->bChangeGraphics;
  1728.  
  1729. case ID_SHARPNESS_POWER:
  1730. {
  1731. snprintf(name, sizeof(name), "\aЧеткость материалов: %.2f", OLCheats->fSharpnessPower);
  1732. menu_item_name_set(item, name);
  1733. break;
  1734. }
  1735. case ID_LIGHT_RANGE:
  1736. {
  1737. snprintf(name, sizeof(name), "\aДиапазон светоотражения: %.2f", OLCheats->fCutoffRange);
  1738. menu_item_name_set(item, name);
  1739. break;
  1740. }
  1741. case ID_MAT_SHININESS:
  1742. {
  1743. snprintf(name, sizeof(name), "\aБлеск материала: %.2f", OLCheats->fMatShininess);
  1744. menu_item_name_set(item, name);
  1745. break;
  1746. }
  1747. case ID_LIGHT_SHININESS:
  1748. {
  1749. snprintf(name, sizeof(name), "\aСила света: %.2f", OLCheats->fLightShininess);
  1750. menu_item_name_set(item, name);
  1751. break;
  1752. }
  1753. case ID_MAT_AMBIENTCOLOR:
  1754. {
  1755. snprintf(name, sizeof(name), "\aАмбиент цвет материалов: %.2f", OLCheats->fMatAmbColor);
  1756. menu_item_name_set(item, name);
  1757. break;
  1758. }
  1759. case ID_MAT_DIFFUSECOLOR:
  1760. {
  1761. snprintf(name, sizeof(name), "\aДиффузный цвет материалов: %.2f", OLCheats->fMatDiffColor);
  1762. menu_item_name_set(item, name);
  1763. break;
  1764. }
  1765. case ID_MAT_EMESSIVECOLOR:
  1766. {
  1767. snprintf(name, sizeof(name), "\aЦвет светящихся материалов:: %.2f", OLCheats->fMatEmesColor);
  1768. menu_item_name_set(item, name);
  1769. break;
  1770. }
  1771.  
  1772. case ID_LIGHT_AMBIENTCOLOR:
  1773. {
  1774. snprintf(name, sizeof(name), "\aАмбиент цвет света: %.2f", OLCheats->fLightAmbColor);
  1775. menu_item_name_set(item, name);
  1776. break;
  1777. }
  1778. case ID_LIGHT_DIFFUSECOLOR:
  1779. {
  1780. snprintf(name, sizeof(name), "\aДиффузный цвет света: %.2f", OLCheats->fLightDiffColor);
  1781. menu_item_name_set(item, name);
  1782. break;
  1783. }
  1784.  
  1785. }
  1786. break;
  1787. case MENU_OP_DEC:
  1788. case MENU_OP_INC:
  1789. increase = (op == MENU_OP_DEC) ? -1 : 1;
  1790. switch (item->id)
  1791. {
  1792. case ID_SHARPNESS_POWER:
  1793. {
  1794. OLCheats->fSharpnessPower += increase * 0.25f;
  1795. break;
  1796. }
  1797.  
  1798. case ID_LIGHT_RANGE:
  1799. {
  1800. OLCheats->fCutoffRange += increase * 50;
  1801. break;
  1802. }
  1803. case ID_MAT_SHININESS:
  1804. {
  1805. OLCheats->fMatShininess += increase * 0.25f;
  1806. break;
  1807. }
  1808. case ID_LIGHT_SHININESS:
  1809. {
  1810. OLCheats->fLightShininess += increase * 0.25f;
  1811. break;
  1812. }
  1813.  
  1814. case ID_MAT_AMBIENTCOLOR:
  1815. {
  1816. OLCheats->fMatAmbColor += increase * 0.25f;
  1817. break;
  1818. }
  1819.  
  1820. case ID_MAT_DIFFUSECOLOR:
  1821. {
  1822. OLCheats->fMatDiffColor += increase * 0.25f;
  1823. break;
  1824. }
  1825. case ID_MAT_EMESSIVECOLOR:
  1826. {
  1827. OLCheats->fMatEmesColor += increase * 0.25f;
  1828. break;
  1829. }
  1830.  
  1831. case ID_LIGHT_AMBIENTCOLOR:
  1832. {
  1833. OLCheats->fLightAmbColor += increase * 0.25f;
  1834. break;
  1835. }
  1836.  
  1837. case ID_LIGHT_DIFFUSECOLOR:
  1838. {
  1839. OLCheats->fLightDiffColor += increase * 0.25f;
  1840. break;
  1841. }
  1842.  
  1843. }
  1844. break;
  1845. }
  1846. return 0;
  1847.  
  1848. }
  1849.  
  1850. // if (g_SAMP == NULL)
  1851. // return 0;
  1852. // int increase = 0;
  1853. // switch (op)
  1854. // {
  1855. // case MENU_OP_SELECT:
  1856. // switch (item->id)
  1857. // {
  1858. // }
  1859. // break;
  1860. // case MENU_OP_ENABLED:
  1861. // switch (item->id)
  1862. // {
  1863. // }
  1864. // break;
  1865. // case MENU_OP_DEC:
  1866. // case MENU_OP_INC:
  1867. // increase = (op == MENU_OP_DEC) ? -1 : 1;
  1868. // switch (item->id)
  1869. // {
  1870. // }
  1871. // break;
  1872. // }
  1873. // return 0;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement