Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 3 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя
Показано с 21 по 30 из 31
  1. #21
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±
    1. #include <a_samp>
    2.  
    3. static enum e_chip_offset_info // coi = chip offset info
    4. {
    5. Float: coi_offset_x,
    6. Float: coi_offset_y,
    7. coi_up,
    8. coi_right,
    9. coi_down,
    10. coi_left
    11. };
    12.  
    13. static const g_chip_offset_info[][e_chip_offset_info]
    14. {
    15. { 0.074950, 0.566250, -1, 5, 3, 1 }, // Zero
    16. {-0.168349, 0.413749, 0, 2, 6, 119}, // 1
    17. {-0.046699, 0.413749, 0, 3, 7, 1}, // 2
    18. { 0.074950, 0.413749, 0, 4, 8, 2}, // 3
    19. { 0.196600, 0.413749, 0, 5, 9, 3}, // 4
    20. { 0.318250, 0.413749, 0, - 1, 10, 4}, // 5
    21. {-0.168349, 0.337499, 1, 7, 11, 119}, // 6
    22. {-0.046699, 0.337499, 2, 8, 12, 6}, // 7
    23. { 0.074950, 0.337499, 3, 9, 13, 7}, // 8
    24. { 0.196600, 0.337499, 4, 10, 14, 8}, // 9
    25. { 0.318250, 0.337499, 5, - 1, 15, 9}, // 10
    26. {-0.168349, 0.261249, 6, 12, 16, 119}, // 11
    27. {-0.046699, 0.261249, 7, 13, 17, 11}, // 12
    28. { 0.074950, 0.261249, 8, 14, 18, 12}, // 13
    29. { 0.196600, 0.261249, 9, 15, 19, 13}, // 14
    30. { 0.318250, 0.261249, 10, - 1, 20, 14}, // 15
    31. {-0.168349, 0.184999, 11, 17, 21, 119}, // 16
    32. {-0.046699, 0.184999, 12, 18, 22, 16}, // 17
    33. { 0.074950, 0.184999, 13, 19, 23, 17}, // 18
    34. { 0.196600, 0.184999, 14, 20, 24, 18}, // 19
    35. { 0.318250, 0.184999, 15, - 1, 25, 19}, // 20
    36. {-0.168349, 0.108749, 16, 22, 26, 119}, // 21
    37. {-0.046699, 0.108749, 17, 23, 27, 21}, // 22
    38. { 0.074950, 0.108749, 18, 24, 28, 22}, // 23
    39. { 0.196600, 0.108749, 19, 25, 29, 23}, // 24
    40. { 0.318250, 0.108749, 20, - 1, 30, 24}, // 25
    41. {-0.168349, 0.032499, 21, 27, 31, 119}, // 26
    42. {-0.046699, 0.032499, 22, 28, 32, 26}, // 27
    43. { 0.074950, 0.032499, 23, 29, 33, 27}, // 28
    44. { 0.196600, 0.032499, 24, 30, 34, 28}, // 29
    45. { 0.318250, 0.032499, 25, - 1, 35, 29}, // 30
    46. {-0.168349, -0.043750, 26, 32, 36, 119}, // 31
    47. {-0.046699, -0.043750, 27, 33, 37, 31}, // 32
    48. { 0.074950, -0.043750, 28, 34, 38, 32}, // 33
    49. { 0.196600, -0.043750, 29, 35, 39, 33}, // 34
    50. { 0.318250, -0.043750, 30, - 1, 40, 34}, // 35
    51. {-0.168349, -0.120000, 31, 37, 41, 120}, // 36
    52. {-0.046699, -0.120000, 32, 38, 42, 36}, // 37
    53. { 0.074950, -0.120000, 33, 39, 43, 37}, // 38
    54. { 0.196600, -0.120000, 34, 40, 44, 38}, // 39
    55. { 0.318250, -0.120000, 35, - 1, 45, 39}, // 40
    56. {-0.168349, -0.196250, 36, 42, 46, 120}, // 41
    57. {-0.046699, -0.196250, 37, 43, 47, 41}, // 42
    58. { 0.074950, -0.196250, 38, 44, 48, 42}, // 43
    59. { 0.196600, -0.196250, 39, 45, 49, 43}, // 44
    60. { 0.318250, -0.196250, 40, - 1, 50, 44}, // 45
    61. {-0.168349, -0.272500, 41, 47, 51, 120}, // 46
    62. {-0.046699, -0.272500, 42, 48, 52, 46}, // 47
    63. { 0.074950, -0.272500, 43, 49, 53, 47}, // 48
    64. { 0.196600, -0.272500, 44, 50, 54, 48}, // 49
    65. { 0.318250, -0.272500, 45, - 1, 55, 49}, // 50
    66. {-0.168349, -0.348750, 46, 52, 56, 120}, // 51
    67. {-0.046699, -0.348750, 47, 53, 57, 51}, // 52
    68. { 0.074950, -0.348750, 48, 54, 58, 52}, // 53
    69. { 0.196600, -0.348750, 49, 55, 59, 53}, // 54
    70. { 0.318250, -0.348750, 50, - 1, 60, 54}, // 55
    71. {-0.168349, -0.425000, 51, 57, 61, 120}, // 56
    72. {-0.046699, -0.425000, 52, 58, 62, 56}, // 57
    73. { 0.074950, -0.425000, 53, 59, 63, 57}, // 58
    74. { 0.196600, -0.425000, 54, 60, 64, 58}, // 59
    75. { 0.318250, -0.425000, 55, - 1, 65, 59}, // 60
    76. {-0.168349, -0.501250, 56, 62, 66, 120}, // 61
    77. {-0.046699, -0.501250, 57, 63, 67, 61}, // 62
    78. { 0.074950, -0.501250, 58, 64, 68, 62}, // 63
    79. { 0.196600, -0.501250, 59, 65, 69, 63}, // 64
    80. { 0.318250, -0.501250, 60, - 1, 70, 64}, // 65
    81. {-0.168349, -0.577500, 61, 67, 71, 120}, // 66
    82. {-0.046699, -0.577500, 62, 68, 72, 66}, // 67
    83. { 0.074950, -0.577500, 63, 69, 73, 67}, // 68
    84. { 0.196600, -0.577500, 64, 70, 74, 68}, // 69
    85. { 0.318250, -0.577500, 65, - 1, 75, 69}, // 70
    86. {-0.168349, -0.653750, 66, 72, 76, 121}, // 71
    87. {-0.046699, -0.653750, 67, 73, 77, 71}, // 72
    88. { 0.074950, -0.653750, 68, 74, 78, 72}, // 73
    89. { 0.196600, -0.653750, 69, 75, 79, 73}, // 74
    90. { 0.318250, -0.653750, 70, - 1, 80, 74}, // 75
    91. {-0.168349, -0.730000, 71, 77, 81, 121}, // 76
    92. {-0.046699, -0.730000, 72, 78, 82, 76}, // 77
    93. { 0.074950, -0.730000, 73, 79, 83, 77}, // 78
    94. { 0.196600, -0.730000, 74, 80, 84, 78}, // 79
    95. { 0.318250, -0.730000, 75, - 1, 85, 79}, // 80
    96. {-0.168349, -0.806250, 76, 82, 86, 121}, // 81
    97. {-0.046699, -0.806250, 77, 83, 87, 81}, // 82
    98. { 0.074950, -0.806250, 78, 84, 88, 82}, // 83
    99. { 0.196600, -0.806250, 79, 85, 89, 83}, // 84
    100. { 0.318250, -0.806250, 80, - 1, 90, 84}, // 85
    101. {-0.168349, -0.882500, 81, 87, 91, 121}, // 86
    102. {-0.046699, -0.882500, 82, 88, 92, 86}, // 87
    103. { 0.074950, -0.882500, 83, 89, 93, 87}, // 88
    104. { 0.196600, -0.882500, 84, 90, 94, 88}, // 89
    105. { 0.318250, -0.882500, 85, - 1, 95, 89}, // 90
    106. {-0.168349, -0.958750, 86, 92, 96, 121}, // 91
    107. {-0.046699, -0.958750, 87, 93, 97, 91}, // 92
    108. { 0.074950, -0.958750, 88, 94, 98, 92}, // 93
    109. { 0.196600, -0.958750, 89, 95, 99, 93}, // 94
    110. { 0.318250, -0.958750, 90, - 1, 100, 94}, // 95
    111. {-0.168349, -1.035000, 91, 97, 101, 121}, // 96
    112. {-0.046699, -1.035000, 92, 98, 102, 96}, // 97
    113. { 0.074950, -1.035000, 93, 99, 103, 97}, // 98
    114. { 0.196600, -1.035000, 94, 100, 104, 98}, // 99
    115. { 0.318250, -1.035000, 95, - 1, 105, 99}, // 100
    116. {-0.168349, -1.111250, 96, 102, 106, 121}, // 101
    117. {-0.046699, -1.111250, 97, 103, 107, 101}, // 102
    118. { 0.074950, -1.111250, 98, 104, 108, 102}, // 103
    119. { 0.196600, -1.111250, 99, 105, 109, 103}, // 104
    120. { 0.318250, -1.111250, 100, - 1, 110, 104}, // 105
    121. {-0.168349, -1.187500, 101, 107, 111, 122}, // 106
    122. {-0.046699, -1.187500, 102, 108, 112, 106}, // 107
    123. { 0.074950, -1.187500, 103, 109, 113, 107}, // 108
    124. { 0.196600, -1.187500, 104, 110, 114, 108}, // 109
    125. { 0.318250, -1.187500, 105, - 1, 115, 109}, // 110
    126. {-0.168349, -1.263750, 106, 112, 116, 122}, // 111
    127. {-0.046699, -1.263750, 107, 113, 117, 111}, // 112
    128. { 0.074950, -1.263750, 108, 114, 118, 112}, // 113
    129. { 0.196600, -1.263750, 109, 115, 119, 113}, // 114
    130. { 0.318250, -1.263750, 110, - 1, 120, 114}, // 115
    131. {-0.168349, -1.416249, 111, 117, -1, -1}, // 116 - 3 to 1
    132. { 0.074950, -1.416249, 113, 118, -1, 116}, // 117 - 3 to 1
    133. { 0.318250, -1.416249, 115, -1, -1, 117}, // 118 - 3 to 1
    134. {-0.411650, 0.185000, -1, 1, 120, 122}, // 119 - 1st 112
    135. {-0.411650, -0.425000, 119, 13, 121, 124}, // 120 - 2nd 112
    136. {-0.411650, -1.035000, 120, 25, -1, 126}, // 121 - 3rd 112
    137. {-0.654950, 0.337500, -1, 119, 123, -1}, // 122 - 1 to 18
    138. {-0.654950, 0.032499, 122, 119, 124, -1}, // 123 - EVEN
    139. {-0.654950, -0.272500, 123, 120, 125, -1}, // 124 - RED
    140. {-0.654950, -0.577499, 124, 120, 126, -1}, // 125 - BLACK
    141. {-0.654950, -0.882500, 125, 121, 127, -1}, // 126 - ODD
    142. {-0.654950, -1.187500, 126, 121, -1, -1} // 127 - 19 to 36
    143. }
    144.  
    145. main()
    146. {
    147.  
    148. }
    149.  
    150. public OnPlayerUpdate(playerid)
    151. {
    152. new
    153. direction,
    154. ud,
    155. lr,
    156. chip_index = 0;
    157.  
    158. playerid,
    159. direction,
    160. ud,
    161. lr
    162. );
    163.  
    164. direction = -1;
    165.  
    166. switch (ud)
    167. {
    168. case KEY_UP:
    169. {
    170. direction = 0;
    171. }
    172. case KEY_DOWN:
    173. {
    174. direction = 2;
    175. }
    176. }
    177. switch (lr)
    178. {
    179. case KEY_LEFT:
    180. {
    181. direction = 3;
    182. }
    183. case KEY_RIGHT:
    184. {
    185. direction = 1;
    186. }
    187. }
    188. if (direction != -1)
    189. {
    190. new Float: angle = atan2(
    191. 0.0 - 0.0,
    192. 0.0 - 0.0
    193. ) + 0.0;
    194.  
    195. new e_chip_offset_info:key_index = coi_up + (
    196. e_chip_offset_info:(direction + (((floatround(angle) % 360) + 45) / 90) & 3)
    197. );
    198.  
    199. key_index = e_chip_offset_info:g_chip_offset_info[chip_index][key_index];
    200.  
    201. if (key_index != e_chip_offset_info:-1)
    202. {
    203. // сохраняем данные о фишке
    204. // перемещаем фишку
    205. /*
    206.   Float: x_chip_pos = x_table + cos_z * offset_x - sin_z * offset_y,
    207.   Float: y_chip_pos = y_table + sin_z * offset_x + cos_z * offset_y;
    208.   */
    209. }
    210. }
    211. }


    как-то так
    Последний раз редактировалось tnc; 29.05.2021 в 16:17. Причина: Поправлены ошибки компилирования

  2. #22
    Аватар для XrenoTeHb
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.05.2021
    Сообщений
    18
    Репутация:
    0 ±
    Цитата Сообщение от tnc Посмотреть сообщение
    1. static enum e_chip_offset_info // coi = chip offset info
    2. {
    3. Float: coi_offset_x,
    4. Float: coi_offset_y,
    5. coi_up,
    6. coi_right,
    7. coi_down,
    8. coi_left
    9. };
    10.  
    11. static const g_chip_offset_info[][e_chip_offset_info]
    12. {
    13. { 0.074950, 0.566250, -1, 5, 3, 1 }, // Zero
    14. {-0.168349, 0.413749, 0, 2, 6, 119}, // 1
    15. {-0.046699, 0.413749, 0, 3, 7, 1}, // 2
    16. { 0.074950, 0.413749, 0, 4, 8, 2}, // 3
    17. { 0.196600, 0.413749, 0, 5, 9, 3}, // 4
    18. { 0.318250, 0.413749, 0, - 1, 10, 4}, // 5
    19. {-0.168349, 0.337499, 1, 7, 11, 119}, // 6
    20. {-0.046699, 0.337499, 2, 8, 12, 6}, // 7
    21. { 0.074950, 0.337499, 3, 9, 13, 7}, // 8
    22. { 0.196600, 0.337499, 4, 10, 14, 8}, // 9
    23. { 0.318250, 0.337499, 5, - 1, 15, 9}, // 10
    24. {-0.168349, 0.261249, 6, 12, 16, 119}, // 11
    25. {-0.046699, 0.261249, 7, 13, 17, 11}, // 12
    26. { 0.074950, 0.261249, 8, 14, 18, 12}, // 13
    27. { 0.196600, 0.261249, 9, 15, 19, 13}, // 14
    28. { 0.318250, 0.261249, 10, - 1, 20, 14}, // 15
    29. {-0.168349, 0.184999, 11, 17, 21, 119}, // 16
    30. {-0.046699, 0.184999, 12, 18, 22, 16}, // 17
    31. { 0.074950, 0.184999, 13, 19, 23, 17}, // 18
    32. { 0.196600, 0.184999, 14, 20, 24, 18}, // 19
    33. { 0.318250, 0.184999, 15, - 1, 25, 19}, // 20
    34. {-0.168349, 0.108749, 16, 22, 26, 119}, // 21
    35. {-0.046699, 0.108749, 17, 23, 27, 21}, // 22
    36. { 0.074950, 0.108749, 18, 24, 28, 22}, // 23
    37. { 0.196600, 0.108749, 19, 25, 29, 23}, // 24
    38. { 0.318250, 0.108749, 20, - 1, 30, 24}, // 25
    39. {-0.168349, 0.032499, 21, 27, 31, 119}, // 26
    40. {-0.046699, 0.032499, 22, 28, 32, 26}, // 27
    41. { 0.074950, 0.032499, 23, 29, 33, 27}, // 28
    42. { 0.196600, 0.032499, 24, 30, 34, 28}, // 29
    43. { 0.318250, 0.032499, 25, - 1, 35, 29}, // 30
    44. {-0.168349, -0.043750, 26, 32, 36, 119}, // 31
    45. {-0.046699, -0.043750, 27, 33, 37, 31}, // 32
    46. { 0.074950, -0.043750, 28, 34, 38, 32}, // 33
    47. { 0.196600, -0.043750, 29, 35, 39, 33}, // 34
    48. { 0.318250, -0.043750, 30, - 1, 40, 34}, // 35
    49. {-0.168349, -0.120000, 31, 37, 41, 120}, // 36
    50. {-0.046699, -0.120000, 32, 38, 42, 36}, // 37
    51. { 0.074950, -0.120000, 33, 39, 43, 37}, // 38
    52. { 0.196600, -0.120000, 34, 40, 44, 38}, // 39
    53. { 0.318250, -0.120000, 35, - 1, 45, 39}, // 40
    54. {-0.168349, -0.196250, 36, 42, 46, 120}, // 41
    55. {-0.046699, -0.196250, 37, 43, 47, 41}, // 42
    56. { 0.074950, -0.196250, 38, 44, 48, 42}, // 43
    57. { 0.196600, -0.196250, 39, 45, 49, 43}, // 44
    58. { 0.318250, -0.196250, 40, - 1, 50, 44}, // 45
    59. {-0.168349, -0.272500, 41, 47, 51, 120}, // 46
    60. {-0.046699, -0.272500, 42, 48, 52, 46}, // 47
    61. { 0.074950, -0.272500, 43, 49, 53, 47}, // 48
    62. { 0.196600, -0.272500, 44, 50, 54, 48}, // 49
    63. { 0.318250, -0.272500, 45, - 1, 55, 49}, // 50
    64. {-0.168349, -0.348750, 46, 52, 56, 120}, // 51
    65. {-0.046699, -0.348750, 47, 53, 57, 51}, // 52
    66. { 0.074950, -0.348750, 48, 54, 58, 52}, // 53
    67. { 0.196600, -0.348750, 49, 55, 59, 53}, // 54
    68. { 0.318250, -0.348750, 50, - 1, 60, 54}, // 55
    69. {-0.168349, -0.425000, 51, 57, 61, 120}, // 56
    70. {-0.046699, -0.425000, 52, 58, 62, 56}, // 57
    71. { 0.074950, -0.425000, 53, 59, 63, 57}, // 58
    72. { 0.196600, -0.425000, 54, 60, 64, 58}, // 59
    73. { 0.318250, -0.425000, 55, - 1, 65, 59}, // 60
    74. {-0.168349, -0.501250, 56, 62, 66, 120}, // 61
    75. {-0.046699, -0.501250, 57, 63, 67, 61}, // 62
    76. { 0.074950, -0.501250, 58, 64, 68, 62}, // 63
    77. { 0.196600, -0.501250, 59, 65, 69, 63}, // 64
    78. { 0.318250, -0.501250, 60, - 1, 70, 64}, // 65
    79. {-0.168349, -0.577500, 61, 67, 71, 120}, // 66
    80. {-0.046699, -0.577500, 62, 68, 72, 66}, // 67
    81. { 0.074950, -0.577500, 63, 69, 73, 67}, // 68
    82. { 0.196600, -0.577500, 64, 70, 74, 68}, // 69
    83. { 0.318250, -0.577500, 65, - 1, 75, 69}, // 70
    84. {-0.168349, -0.653750, 66, 72, 76, 121}, // 71
    85. {-0.046699, -0.653750, 67, 73, 77, 71}, // 72
    86. { 0.074950, -0.653750, 68, 74, 78, 72}, // 73
    87. { 0.196600, -0.653750, 69, 75, 79, 73}, // 74
    88. { 0.318250, -0.653750, 70, - 1, 80, 74}, // 75
    89. {-0.168349, -0.730000, 71, 77, 81, 121}, // 76
    90. {-0.046699, -0.730000, 72, 78, 82, 76}, // 77
    91. { 0.074950, -0.730000, 73, 79, 83, 77}, // 78
    92. { 0.196600, -0.730000, 74, 80, 84, 78}, // 79
    93. { 0.318250, -0.730000, 75, - 1, 85, 79}, // 80
    94. {-0.168349, -0.806250, 76, 82, 86, 121}, // 81
    95. {-0.046699, -0.806250, 77, 83, 87, 81}, // 82
    96. { 0.074950, -0.806250, 78, 84, 88, 82}, // 83
    97. { 0.196600, -0.806250, 79, 85, 89, 83}, // 84
    98. { 0.318250, -0.806250, 80, - 1, 90, 84}, // 85
    99. {-0.168349, -0.882500, 81, 87, 91, 121}, // 86
    100. {-0.046699, -0.882500, 82, 88, 92, 86}, // 87
    101. { 0.074950, -0.882500, 83, 89, 93, 87}, // 88
    102. { 0.196600, -0.882500, 84, 90, 94, 88}, // 89
    103. { 0.318250, -0.882500, 85, - 1, 95, 89}, // 90
    104. {-0.168349, -0.958750, 86, 92, 96, 121}, // 91
    105. {-0.046699, -0.958750, 87, 93, 97, 91}, // 92
    106. { 0.074950, -0.958750, 88, 94, 98, 92}, // 93
    107. { 0.196600, -0.958750, 89, 95, 99, 93}, // 94
    108. { 0.318250, -0.958750, 90, - 1, 100, 94}, // 95
    109. {-0.168349, -1.035000, 91, 97, 101, 121}, // 96
    110. {-0.046699, -1.035000, 92, 98, 102, 96}, // 97
    111. { 0.074950, -1.035000, 93, 99, 103, 97}, // 98
    112. { 0.196600, -1.035000, 94, 100, 104, 98}, // 99
    113. { 0.318250, -1.035000, 95, - 1, 105, 99}, // 100
    114. {-0.168349, -1.111250, 96, 102, 106, 121}, // 101
    115. {-0.046699, -1.111250, 97, 103, 107, 101}, // 102
    116. { 0.074950, -1.111250, 98, 104, 108, 102}, // 103
    117. { 0.196600, -1.111250, 99, 105, 109, 103}, // 104
    118. { 0.318250, -1.111250, 100, - 1, 110, 104}, // 105
    119. {-0.168349, -1.187500, 101, 107, 111, 122}, // 106
    120. {-0.046699, -1.187500, 102, 108, 112, 106}, // 107
    121. { 0.074950, -1.187500, 103, 109, 113, 107}, // 108
    122. { 0.196600, -1.187500, 104, 110, 114, 108}, // 109
    123. { 0.318250, -1.187500, 105, - 1, 115, 109}, // 110
    124. {-0.168349, -1.263750, 106, 112, 116, 122}, // 111
    125. {-0.046699, -1.263750, 107, 113, 117, 111}, // 112
    126. { 0.074950, -1.263750, 108, 114, 118, 112}, // 113
    127. { 0.196600, -1.263750, 109, 115, 119, 113}, // 114
    128. { 0.318250, -1.263750, 110, - 1, 120, 114}, // 115
    129. {-0.168349, -1.416249, 111, 117, -1, -1}, // 116 - 3 to 1
    130. { 0.074950, -1.416249, 113, 118, -1, 116}, // 117 - 3 to 1
    131. { 0.318250, -1.416249, 115, -1, -1, 117}, // 118 - 3 to 1
    132. {-0.411650, 0.185000, -1, 1, 120, 122}, // 119 - 1st 112
    133. {-0.411650, -0.425000, 119, 13, 121, 124}, // 120 - 2nd 112
    134. {-0.411650, -1.035000, 120, 25, -1, 126}, // 121 - 3rd 112
    135. {-0.654950, 0.337500, -1, 119, 123, -1}, // 122 - 1 to 18
    136. {-0.654950, 0.032499, 122, 119, 124, -1}, // 123 - EVEN
    137. {-0.654950, -0.272500, 123, 120, 125, -1}, // 124 - RED
    138. {-0.654950, -0.577499, 124, 120, 126, -1}, // 125 - BLACK
    139. {-0.654950, -0.882500, 125, 121, 127, -1}, // 126 - ODD
    140. {-0.654950, -1.187500, 126, 121, -1, -1} // 127 - 19 to 36
    141. }
    142.  
    143.  
    144. /*
    145.   создание фишки (инициализация на "zero")
    146. */
    147.  
    148. new
    149. Float: offset_x = g_chip_offset_info[0][coi_offset_x],
    150. Float: offset_y = g_chip_offset_info[0][coi_offset_y],
    151.  
    152. Float: cos_z = floatcos(rZ_table, degrees),
    153. Float: sin_z = floatsin(rZ_table, degrees),
    154.  
    155. Float: x_chip_pos = x_table + cos_z * offset_x - sin_z * offset_y,
    156. Float: y_chip_pos = y_table + sin_z * offset_x + cos_z * offset_y;
    157.  
    158. CreateDynamicObject(..., x_chip_pos, y_chip_pos, ...);
    159.  
    160.  
    161. /*
    162.   перемещение фишки (OnPlayerUpdate)
    163.  
    164.   TODO: Нужно сохранять позицию фишки у игрока
    165. */
    166.  
    167.  
    168. new
    169. direction,
    170. ud,
    171. lr;
    172.  
    173. playerid,
    174. direction,
    175. ud,
    176. lr
    177. );
    178.  
    179. direction = -1;
    180.  
    181. switch (ud)
    182. {
    183. case KEY_UP:
    184. {
    185. direction = 0;
    186. }
    187. case KEY_DOWN:
    188. {
    189. direction = 2;
    190. }
    191. }
    192. switch (lr)
    193. {
    194. case KEY_LEFT:
    195. {
    196. direction = 3;
    197. }
    198. case KEY_RIGHT:
    199. {
    200. direction = 1;
    201. }
    202. }
    203. if (direction != -1)
    204. {
    205. new Float: angle = atan2(
    206. x_table - x_camera_pos,
    207. y_table - y_camera_pos
    208. ) + rZ_table;
    209.  
    210. new e_chip_offset_info: key_index = coi_up + e_chip_offset_info: (
    211. direction + (((floatround(angle) % 360) + 45) / 90) & 3
    212. );
    213.  
    214. key_index = g_roullete_chip_offset[chip_index][key_index];
    215.  
    216. if (key_index != -1)
    217. {
    218. // сохраняем данные о фишке
    219. // перемещаем фишку
    220. /*
    221.   Float: x_chip_pos = x_table + cos_z * offset_x - sin_z * offset_y,
    222.   Float: y_chip_pos = y_table + sin_z * offset_x + cos_z * offset_y;
    223.   */
    224. }
    225. }


    как-то так
    сейчас попробую, спасибо

  3. #23
    Аватар для just_in
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2021
    Сообщений
    5
    Репутация:
    1 ±
    Можете обьяснить более подробно про данную часть кода ?

    new Float: angle = atan2(
    x_table - x_camera_pos,
    y_table - y_camera_pos
    ) + new Float: angle = atan2(
    x_table - x_camera_pos,
    y_table - y_camera_pos
    ) + rZ_table;

    new e_chip_offset_info: key_index = coi_up + e_chip_offset_info: (
    direction + (((floatround(angle) % 360) + 45) / 90) & 3
    );

  4. #24
    Аватар для just_in
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2021
    Сообщений
    5
    Репутация:
    1 ±
    Цитата Сообщение от tnc Посмотреть сообщение
    1. static enum e_chip_offset_info // coi = chip offset info
    2. {
    3. Float: coi_offset_x,
    4. Float: coi_offset_y,
    5. coi_up,
    6. coi_right,
    7. coi_down,
    8. coi_left
    9. };
    10.  
    11. static const g_chip_offset_info[][e_chip_offset_info]
    12. {
    13. { 0.074950, 0.566250, -1, 5, 3, 1 }, // Zero
    14. {-0.168349, 0.413749, 0, 2, 6, 119}, // 1
    15. {-0.046699, 0.413749, 0, 3, 7, 1}, // 2
    16. { 0.074950, 0.413749, 0, 4, 8, 2}, // 3
    17. { 0.196600, 0.413749, 0, 5, 9, 3}, // 4
    18. { 0.318250, 0.413749, 0, - 1, 10, 4}, // 5
    19. {-0.168349, 0.337499, 1, 7, 11, 119}, // 6
    20. {-0.046699, 0.337499, 2, 8, 12, 6}, // 7
    21. { 0.074950, 0.337499, 3, 9, 13, 7}, // 8
    22. { 0.196600, 0.337499, 4, 10, 14, 8}, // 9
    23. { 0.318250, 0.337499, 5, - 1, 15, 9}, // 10
    24. {-0.168349, 0.261249, 6, 12, 16, 119}, // 11
    25. {-0.046699, 0.261249, 7, 13, 17, 11}, // 12
    26. { 0.074950, 0.261249, 8, 14, 18, 12}, // 13
    27. { 0.196600, 0.261249, 9, 15, 19, 13}, // 14
    28. { 0.318250, 0.261249, 10, - 1, 20, 14}, // 15
    29. {-0.168349, 0.184999, 11, 17, 21, 119}, // 16
    30. {-0.046699, 0.184999, 12, 18, 22, 16}, // 17
    31. { 0.074950, 0.184999, 13, 19, 23, 17}, // 18
    32. { 0.196600, 0.184999, 14, 20, 24, 18}, // 19
    33. { 0.318250, 0.184999, 15, - 1, 25, 19}, // 20
    34. {-0.168349, 0.108749, 16, 22, 26, 119}, // 21
    35. {-0.046699, 0.108749, 17, 23, 27, 21}, // 22
    36. { 0.074950, 0.108749, 18, 24, 28, 22}, // 23
    37. { 0.196600, 0.108749, 19, 25, 29, 23}, // 24
    38. { 0.318250, 0.108749, 20, - 1, 30, 24}, // 25
    39. {-0.168349, 0.032499, 21, 27, 31, 119}, // 26
    40. {-0.046699, 0.032499, 22, 28, 32, 26}, // 27
    41. { 0.074950, 0.032499, 23, 29, 33, 27}, // 28
    42. { 0.196600, 0.032499, 24, 30, 34, 28}, // 29
    43. { 0.318250, 0.032499, 25, - 1, 35, 29}, // 30
    44. {-0.168349, -0.043750, 26, 32, 36, 119}, // 31
    45. {-0.046699, -0.043750, 27, 33, 37, 31}, // 32
    46. { 0.074950, -0.043750, 28, 34, 38, 32}, // 33
    47. { 0.196600, -0.043750, 29, 35, 39, 33}, // 34
    48. { 0.318250, -0.043750, 30, - 1, 40, 34}, // 35
    49. {-0.168349, -0.120000, 31, 37, 41, 120}, // 36
    50. {-0.046699, -0.120000, 32, 38, 42, 36}, // 37
    51. { 0.074950, -0.120000, 33, 39, 43, 37}, // 38
    52. { 0.196600, -0.120000, 34, 40, 44, 38}, // 39
    53. { 0.318250, -0.120000, 35, - 1, 45, 39}, // 40
    54. {-0.168349, -0.196250, 36, 42, 46, 120}, // 41
    55. {-0.046699, -0.196250, 37, 43, 47, 41}, // 42
    56. { 0.074950, -0.196250, 38, 44, 48, 42}, // 43
    57. { 0.196600, -0.196250, 39, 45, 49, 43}, // 44
    58. { 0.318250, -0.196250, 40, - 1, 50, 44}, // 45
    59. {-0.168349, -0.272500, 41, 47, 51, 120}, // 46
    60. {-0.046699, -0.272500, 42, 48, 52, 46}, // 47
    61. { 0.074950, -0.272500, 43, 49, 53, 47}, // 48
    62. { 0.196600, -0.272500, 44, 50, 54, 48}, // 49
    63. { 0.318250, -0.272500, 45, - 1, 55, 49}, // 50
    64. {-0.168349, -0.348750, 46, 52, 56, 120}, // 51
    65. {-0.046699, -0.348750, 47, 53, 57, 51}, // 52
    66. { 0.074950, -0.348750, 48, 54, 58, 52}, // 53
    67. { 0.196600, -0.348750, 49, 55, 59, 53}, // 54
    68. { 0.318250, -0.348750, 50, - 1, 60, 54}, // 55
    69. {-0.168349, -0.425000, 51, 57, 61, 120}, // 56
    70. {-0.046699, -0.425000, 52, 58, 62, 56}, // 57
    71. { 0.074950, -0.425000, 53, 59, 63, 57}, // 58
    72. { 0.196600, -0.425000, 54, 60, 64, 58}, // 59
    73. { 0.318250, -0.425000, 55, - 1, 65, 59}, // 60
    74. {-0.168349, -0.501250, 56, 62, 66, 120}, // 61
    75. {-0.046699, -0.501250, 57, 63, 67, 61}, // 62
    76. { 0.074950, -0.501250, 58, 64, 68, 62}, // 63
    77. { 0.196600, -0.501250, 59, 65, 69, 63}, // 64
    78. { 0.318250, -0.501250, 60, - 1, 70, 64}, // 65
    79. {-0.168349, -0.577500, 61, 67, 71, 120}, // 66
    80. {-0.046699, -0.577500, 62, 68, 72, 66}, // 67
    81. { 0.074950, -0.577500, 63, 69, 73, 67}, // 68
    82. { 0.196600, -0.577500, 64, 70, 74, 68}, // 69
    83. { 0.318250, -0.577500, 65, - 1, 75, 69}, // 70
    84. {-0.168349, -0.653750, 66, 72, 76, 121}, // 71
    85. {-0.046699, -0.653750, 67, 73, 77, 71}, // 72
    86. { 0.074950, -0.653750, 68, 74, 78, 72}, // 73
    87. { 0.196600, -0.653750, 69, 75, 79, 73}, // 74
    88. { 0.318250, -0.653750, 70, - 1, 80, 74}, // 75
    89. {-0.168349, -0.730000, 71, 77, 81, 121}, // 76
    90. {-0.046699, -0.730000, 72, 78, 82, 76}, // 77
    91. { 0.074950, -0.730000, 73, 79, 83, 77}, // 78
    92. { 0.196600, -0.730000, 74, 80, 84, 78}, // 79
    93. { 0.318250, -0.730000, 75, - 1, 85, 79}, // 80
    94. {-0.168349, -0.806250, 76, 82, 86, 121}, // 81
    95. {-0.046699, -0.806250, 77, 83, 87, 81}, // 82
    96. { 0.074950, -0.806250, 78, 84, 88, 82}, // 83
    97. { 0.196600, -0.806250, 79, 85, 89, 83}, // 84
    98. { 0.318250, -0.806250, 80, - 1, 90, 84}, // 85
    99. {-0.168349, -0.882500, 81, 87, 91, 121}, // 86
    100. {-0.046699, -0.882500, 82, 88, 92, 86}, // 87
    101. { 0.074950, -0.882500, 83, 89, 93, 87}, // 88
    102. { 0.196600, -0.882500, 84, 90, 94, 88}, // 89
    103. { 0.318250, -0.882500, 85, - 1, 95, 89}, // 90
    104. {-0.168349, -0.958750, 86, 92, 96, 121}, // 91
    105. {-0.046699, -0.958750, 87, 93, 97, 91}, // 92
    106. { 0.074950, -0.958750, 88, 94, 98, 92}, // 93
    107. { 0.196600, -0.958750, 89, 95, 99, 93}, // 94
    108. { 0.318250, -0.958750, 90, - 1, 100, 94}, // 95
    109. {-0.168349, -1.035000, 91, 97, 101, 121}, // 96
    110. {-0.046699, -1.035000, 92, 98, 102, 96}, // 97
    111. { 0.074950, -1.035000, 93, 99, 103, 97}, // 98
    112. { 0.196600, -1.035000, 94, 100, 104, 98}, // 99
    113. { 0.318250, -1.035000, 95, - 1, 105, 99}, // 100
    114. {-0.168349, -1.111250, 96, 102, 106, 121}, // 101
    115. {-0.046699, -1.111250, 97, 103, 107, 101}, // 102
    116. { 0.074950, -1.111250, 98, 104, 108, 102}, // 103
    117. { 0.196600, -1.111250, 99, 105, 109, 103}, // 104
    118. { 0.318250, -1.111250, 100, - 1, 110, 104}, // 105
    119. {-0.168349, -1.187500, 101, 107, 111, 122}, // 106
    120. {-0.046699, -1.187500, 102, 108, 112, 106}, // 107
    121. { 0.074950, -1.187500, 103, 109, 113, 107}, // 108
    122. { 0.196600, -1.187500, 104, 110, 114, 108}, // 109
    123. { 0.318250, -1.187500, 105, - 1, 115, 109}, // 110
    124. {-0.168349, -1.263750, 106, 112, 116, 122}, // 111
    125. {-0.046699, -1.263750, 107, 113, 117, 111}, // 112
    126. { 0.074950, -1.263750, 108, 114, 118, 112}, // 113
    127. { 0.196600, -1.263750, 109, 115, 119, 113}, // 114
    128. { 0.318250, -1.263750, 110, - 1, 120, 114}, // 115
    129. {-0.168349, -1.416249, 111, 117, -1, -1}, // 116 - 3 to 1
    130. { 0.074950, -1.416249, 113, 118, -1, 116}, // 117 - 3 to 1
    131. { 0.318250, -1.416249, 115, -1, -1, 117}, // 118 - 3 to 1
    132. {-0.411650, 0.185000, -1, 1, 120, 122}, // 119 - 1st 112
    133. {-0.411650, -0.425000, 119, 13, 121, 124}, // 120 - 2nd 112
    134. {-0.411650, -1.035000, 120, 25, -1, 126}, // 121 - 3rd 112
    135. {-0.654950, 0.337500, -1, 119, 123, -1}, // 122 - 1 to 18
    136. {-0.654950, 0.032499, 122, 119, 124, -1}, // 123 - EVEN
    137. {-0.654950, -0.272500, 123, 120, 125, -1}, // 124 - RED
    138. {-0.654950, -0.577499, 124, 120, 126, -1}, // 125 - BLACK
    139. {-0.654950, -0.882500, 125, 121, 127, -1}, // 126 - ODD
    140. {-0.654950, -1.187500, 126, 121, -1, -1} // 127 - 19 to 36
    141. }
    142.  
    143.  
    144. /*
    145.   создание фишки (инициализация на "zero")
    146. */
    147.  
    148. new
    149. Float: offset_x = g_chip_offset_info[0][coi_offset_x],
    150. Float: offset_y = g_chip_offset_info[0][coi_offset_y],
    151.  
    152. Float: cos_z = floatcos(rZ_table, degrees),
    153. Float: sin_z = floatsin(rZ_table, degrees),
    154.  
    155. Float: x_chip_pos = x_table + cos_z * offset_x - sin_z * offset_y,
    156. Float: y_chip_pos = y_table + sin_z * offset_x + cos_z * offset_y;
    157.  
    158. CreateDynamicObject(..., x_chip_pos, y_chip_pos, ...);
    159.  
    160.  
    161. /*
    162.   перемещение фишки (OnPlayerUpdate)
    163.  
    164.   TODO: Нужно сохранять позицию фишки у игрока
    165. */
    166.  
    167.  
    168. new
    169. direction,
    170. ud,
    171. lr;
    172.  
    173. playerid,
    174. direction,
    175. ud,
    176. lr
    177. );
    178.  
    179. direction = -1;
    180.  
    181. switch (ud)
    182. {
    183. case KEY_UP:
    184. {
    185. direction = 0;
    186. }
    187. case KEY_DOWN:
    188. {
    189. direction = 2;
    190. }
    191. }
    192. switch (lr)
    193. {
    194. case KEY_LEFT:
    195. {
    196. direction = 3;
    197. }
    198. case KEY_RIGHT:
    199. {
    200. direction = 1;
    201. }
    202. }
    203. if (direction != -1)
    204. {
    205. new Float: angle = atan2(
    206. x_table - x_camera_pos,
    207. y_table - y_camera_pos
    208. ) + rZ_table;
    209.  
    210. new e_chip_offset_info: key_index = coi_up + e_chip_offset_info: (
    211. direction + (((floatround(angle) % 360) + 45) / 90) & 3
    212. );
    213.  
    214. key_index = g_roullete_chip_offset[chip_index][key_index];
    215.  
    216. if (key_index != -1)
    217. {
    218. // сохраняем данные о фишке
    219. // перемещаем фишку
    220. /*
    221.   Float: x_chip_pos = x_table + cos_z * offset_x - sin_z * offset_y,
    222.   Float: y_chip_pos = y_table + sin_z * offset_x + cos_z * offset_y;
    223.   */
    224. }
    225. }


    как-то так
    OnPlayerUpdate.p(56 -- 57) : error 017: undefined symbol "x_table"
    OnPlayerUpdate.p(65) : error 017: undefined symbol "g_roullete_chip_offset"
    OnPlayerUpdate.p(65) : error 017: undefined symbol "chip_index"
    OnPlayerUpdate.p(65) : error 029: invalid expression, assumed zero
    OnPlayerUpdate.p(65) : fatal error 107: too many error messages on one line

  5. Пользователь сказал cпасибо:
    tnc (29.05.2021)
  6. #25
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±
    Цитата Сообщение от just_in Посмотреть сообщение
    OnPlayerUpdate.p(56 -- 57) : error 017: undefined symbol "x_table"
    OnPlayerUpdate.p(65) : error 017: undefined symbol "g_roullete_chip_offset"
    OnPlayerUpdate.p(65) : error 017: undefined symbol "chip_index"
    OnPlayerUpdate.p(65) : error 029: invalid expression, assumed zero
    OnPlayerUpdate.p(65) : fatal error 107: too many error messages on one line
    Во первых это не готовый код. x_table, y_table, z_table, rotZ - это координаты/угол поворота стола. Что касается g_roullete_chip_offset / chip_index, то поправил, спасибо

    Цитата Сообщение от just_in Посмотреть сообщение
    Можете обьяснить более подробно про данную часть кода ?
    1. new Float: angle = atan2(
    2. x_table - x_camera_pos,
    3. y_table - y_camera_pos
    4. ) + rZ_table;
    Вычисляет угол между столом

    Цитата Сообщение от just_in Посмотреть сообщение
    Можете обьяснить более подробно про данную часть кода ?
    1. new e_chip_offset_info: key_index = coi_up + e_chip_offset_info: (
    2. direction + (((floatround(angle) % 360) + 45) / 90) & 3
    3. );
    Вычисляет клавишу (key_index) относительно угла от камеры и стола.

    P.S: в следующий раз используйте тэги для кода. [pawn ] тут ваш код[/pawn] (без пробела перед [)
    Последний раз редактировалось tnc; 29.05.2021 в 03:04.

  7. #26
    Аватар для just_in
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2021
    Сообщений
    5
    Репутация:
    1 ±
    1. OnPlayerUpdate.p(60) : warning 213: tag mismatch: expected tag "e_chip_offset_info", but found none ("_")
    2. OnPlayerUpdate.p(62) : warning 213: tag mismatch: expected tag none ("_"), but found "e_chip_offset_info"

  8. #27
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±
    Вы даже такое не можете исправить? Вы надеетесь, что я тут дам готовую систему, которую можно будет вставить и подключить? Вам дали направление куда рыть и как это можно сделать, но вы не можете банальный варнинг исправить. Обновил пост.

    P.S: ну вообще там нужно создать переменную, а не городить добавления тэгов к key_index

  9. #28
    Аватар для just_in
    Пользователь

    Статус
    Оффлайн
    Регистрация
    28.05.2021
    Сообщений
    5
    Репутация:
    1 ±
    Я не буду использовать данный код, просто решил потестить. Решил показать проблему. Ладно, больше не буду

  10. #29
    Аватар для XrenoTeHb
    Пользователь

    Статус
    Оффлайн
    Регистрация
    22.05.2021
    Сообщений
    18
    Репутация:
    0 ±
    Не устраивайте срачь) Все нормально, уже сделал давно.

  11. #30
    Аватар для tnc
    Пользователь

    Статус
    Оффлайн
    Регистрация
    01.09.2019
    Сообщений
    121
    Репутация:
    26 ±
    Цитата Сообщение от XrenoTeHb Посмотреть сообщение
    Не устраивайте срачь) Все нормально, уже сделал давно.
    как в итоге решил?

 

 
Страница 3 из 4 ПерваяПервая 1 2 3 4 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •