Advertisement
kusehsup

Untitled

Dec 9th, 2024 (edited)
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 3.30 KB | None | 0 0
  1. #include <a_samp>
  2. #include <streamer>
  3. #include <dc_cmd>
  4. #include <a_mysql>
  5.  
  6. main(){}
  7.  
  8. #define BOX_ENABLED
  9. #define MAX_PRIZE_COUNT 5
  10.  
  11. new area;
  12.  
  13. enum E_BOX_STRUCT
  14. {
  15.     // структура боксов
  16.     Float: BS_POS_X,
  17.     Float: BS_POS_Y,
  18.     Float: BS_POS_Z,
  19.     BS_AREA_ID
  20. };
  21.  
  22. new g_boxes[MAX_BOXES_COUNT][E_BOX_STRUCT] =
  23. {
  24.     { 1899.2340, 1177.8785, 30.0135, INVALID_STREAMER_ID },
  25.     { 1879.9230, 1168.1254, 30.0106, INVALID_STREAMER_ID },
  26.     { 1886.7753, 1182.9382, 30.0087, INVALID_STREAMER_ID }
  27. }
  28.  
  29. enum E_PRIZE_STRUCT
  30. {
  31.     PS_ITEM_ID,
  32.     PS_ITEM_NAME[64]
  33. };
  34.  
  35. new g_prizes_list[MAX_PRIZE_COUNT][E_PRIZE_STRUCT] =
  36. {
  37.     { 24,   "Desert Eagle (15 пт.)"     },
  38.     { 6,    "Лопата"                    },
  39.     { 10,   "Дилдо"                     },
  40.     { 0,    "Деньги в размере 50.000"   },
  41.     { 0,    "Деньги в размере 100.000"  },
  42.     { 0,    "Деньги в размере 200.000"  }
  43. };
  44.  
  45. stock CreateBox(Float: x, Float: y, Float: z)
  46. {
  47.     new area_id = CreateDynamicSphere(x, y, z, 3.0, 0, 0);
  48.  
  49.     CreateDynamicObject(19056, x, y, z, 0, 0, 0, 0, 0);
  50.     CreateDynamic3DTextLabel("Нажмите alt чтобы открыть подарок", -1, x, y, z, 4.0, .worldid = 0, .interiorid = 0, .areaid = area_id);
  51.  
  52.     return area_id;
  53. }
  54.  
  55. public OnGameModeInit()
  56. {
  57.     SetGameModeText("Test");
  58.  
  59.     BoxInit();
  60.  
  61.     return 1;
  62. }
  63.  
  64. stock BoxInit()
  65. {
  66.     for (new i = 0; i < MAX_BOXES_COUNT; i++)
  67.     {
  68.         new x = g_boxes[i][BS_POS_X],
  69.             y = g_boxes[i][BS_POS_Y],
  70.             z = g_boxes[i][BS_POS_Z];
  71.  
  72.         new area_id = CreateBox(x, y, z);
  73.  
  74.         g_boxes[i][BS_AREA_ID] = area_id;
  75.  
  76.         printf("[Boxes] Box Init coord x: %f, y: %f, z: %f, area: %i", x, y, z, area_id);
  77.     }
  78. }
  79.  
  80. public OnPlayerEnterDynamicArea(playerid, STREAMER_TAG_AREA:areaid)
  81. {
  82.     area = areaid;
  83.  
  84.     new string[144];
  85.     format(string, sizeof(string), "Player: %i, Area: %i", playerid, areaid);
  86.     SendClientMessage(playerid, -1, string);
  87.  
  88.     return 1;
  89. }
  90.  
  91. public OnPlayerLeaveDynamicArea(playerid, STREAMER_TAG_AREA:areaid)
  92. {
  93.     area = 0;
  94.     return 1;
  95. }
  96.  
  97. public OnPlayerKeyStateChange(playerid, newkeys, oldkeys)
  98. {
  99.     if (newkeys == 1024 && area != 0){
  100.         new string[36];
  101.         format(string, sizeof(string), "Вы нашли подарок, открыв его Вы обнаружили Desert Eagle (15 пт.)")
  102.         ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "Подарок!", "Вы нашли подарок, открыв его обнаружили ", "Забрать", "Отказаться");
  103.         DestroyDynamicObject(STREAMER_TAG_OBJECT: area);
  104.         DestroyDynamic3DTextLabel(Text3D: area);
  105.         DestroyDynamicArea(STREAMER_TAG_AREA: area);
  106.     }
  107.     return 1;
  108. }
  109.  
  110. public OnGameModeExit()
  111. {
  112.     return 1;
  113. }
  114.  
  115. public OnPlayerConnect(playerid)
  116. {
  117.     return 1;
  118. }
  119.  
  120. public OnPlayerDisconnect(playerid, reason)
  121. {
  122.     return 1;
  123. }
  124.  
  125. public OnPlayerSpawn(playerid)
  126. {
  127.     SetPlayerPos(playerid, 1890.6500,1167.9888,29.6750);
  128.     return 1;
  129. }
  130.  
  131. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  132. {
  133.     if (response)
  134.     {
  135.         GivePlayerWeapon(playerid, 24, 15);
  136.         SendClientMessage(playerid, -1, "Вы забрали Desert Eagle (15 патронов)");
  137.     }
  138.     else
  139.     {
  140.         SendClientMessage(playerid, -1, "Вы отказались от приза");
  141.     }
  142. }
  143.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement