Spoiler
1. #include <amxmodx> 2. #define PLUGIN "Wymien Perk" 3. #define VERSION "1.0" 4. #define AUTHOR "QTM.Peyote & cypis & d0n tHe Pr0oo" 5. native cod_set_user_perk ( id , przedmiot , wartosc, lp ) 6. native cod_get_user_class ( id) 7. native cod_get_user_perk ( id , wartocs , lp ) 8. new bool : dostal_przedmiot [ 33][ 2]; 9. new oddaj_id [ 33 ]; 10. public plugin_init () { 11. register_plugin ( PLUGIN , VERSION , AUTHOR ); 12. 13. register_clcmd ("say /wymien" , "ZamienPerk" ); 14. register_clcmd ("say /zamien" , "ZamienPerk" ); 15. register_clcmd ("say /wymien2" , "ZamienPerk2" ); 16. register_clcmd ("say /zamien2" , "ZamienPerk2" ); 17. register_event ("ResetHUD" , "cod_perk_changed" , "abe" ); 18. } 19. public ZamienPerk ( id) 20. { 21. new menu = menu_create ( "Zamien sie perkiem" , "ZamienPerk_Handle" ); 22. new cb = menu_makecallback ( "OddajPerk_Callback" ); 23. for( new i = 0 , n = 0 ; i <= 32; i ++) 24. { 25. if(! is_user_connected ( i )) 26. continue ; 27. oddaj_id [ n++] = i ; 28. new nazwa_gracza [64 ]; 29. get_user_name (i , nazwa_gracza , 63 ) 30. menu_additem (menu , nazwa_gracza , "0" , 0, cb ); 31. } 32. menu_display ( id, menu ); 33. } 34. public cod_perk_changed ( id ) 35. { 36. dostal_przedmiot [ id][ 1 ] = false ; 37. dostal_przedmiot [ id][ 0 ] = false ; 38. } 39. public ZamienPerk_Handle ( id, menu , item ) 40. { 41. if ( item == MENU_EXIT ) 42. { 43. menu_destroy (menu ); 44. return PLUGIN_CONTINUE ; 45. } 46. 47. if (!is_user_connected ( oddaj_id [ item ])){ 48. client_print (id , print_chat , "Nie odnaleziono zadanego gracza." ); 49. return PLUGIN_CONTINUE ; 50. } 51. 52. if ( dostal_przedmiot [ oddaj_id [ item ]][0 ]){ 53. client_print (id , print_chat , "Wybrany gracz musi poczekac 1 runde." ); 54. return PLUGIN_CONTINUE ; 55. } 56. 57. if ( dostal_przedmiot [ id ][0 ]){ 58. client_print (id , print_chat , "Musisz poczekac 1 runde." ); 59. return PLUGIN_CONTINUE ; 60. } 61. 62. if (!cod_get_user_perk ( oddaj_id [ item ], 0 , 0 )){ 63. client_print (id , print_chat , "Wybrany gracz nie mam zadnego perka." ); 64. return PLUGIN_CONTINUE ; 65. } 66. 67. if (!cod_get_user_perk ( id, 0 , 0 )){ 68. client_print (id , print_chat , "Nie masz zadnego perka." ); 69. return PLUGIN_CONTINUE ; 70. } 71. new nazwa_menu [ 128], nick [ 64]; 72. 73. get_user_name ( id, nick , charsmax ( nick )) 74. formatex ( nazwa_menu , charsmax ( nazwa_menu ), "Wymien sie perkiem z %s:" , nick ) 75. 76. new menu2 = menu_create (nazwa_menu , "menu_wymien" ); 77. menu_additem ( menu2 , "Tak" , nick ); 78. menu_addblank ( menu2 , 0 ) 79. menu_additem ( menu2 , "Nie" , nick ); 80. 81. menu_setprop ( menu2 , MPROP_EXITNAME , "Wyjdz" ); 82. menu_display ( oddaj_id [ item ], menu2 ); 83. return PLUGIN_CONTINUE ; 84. } 85. public menu_wymien (id , menu , item ) 86. { 87. if ( item == MENU_EXIT ) 88. { 89. menu_destroy (menu ); 90. return PLUGIN_CONTINUE ; 91. } 92. new access , callback , data [ 64]; 93. menu_item_getinfo ( menu , item , access , data , charsmax ( data ), _ , _ , callback ); 94. new id2 = get_user_index ( data ) 95. 96. switch (item ) 97. { 98. case 0: 99. { 100. new wartosc1 , wartosc2 ; 101. new perk_oddajacego = cod_get_user_perk ( id2 , wartosc1 , 0 ) 102. new perk_dajacego = cod_get_user_perk ( id , wartosc2 , 0 ) 103. 104. cod_set_user_perk ( id2 , perk_dajacego , wartosc2 , 0 ); 105. cod_set_user_perk ( id , perk_oddajacego , wartosc1 , 0 ); 106. 107. dostal_przedmiot [ id2 ][ 0 ] = true ; 108. dostal_przedmiot [ id ][0 ] = true ; 109. 110. new nazwa_dajacego [ 64]; 111. 112. get_user_name ( id , nazwa_dajacego , charsmax ( nazwa_dajacego )) 113. 114. client_print ( id , print_chat , "Wymieniles sie perkiem z %s." , data ); 115. client_print ( id2 , print_chat , "Wymieniles sie perkiem z %s." , nazwa_dajacego ) 116. } 117. case 1: client_print ( id2 , print_chat , "Wybrany gracz nie zgodzil sie na wymiane perka." ) 118. } 119. return PLUGIN_CONTINUE ; 120. } 121. public OddajPerk_Callback ( id, menu , item ) 122. { 123. if ( oddaj_id [item ] == id || ! cod_get_user_class ( oddaj_id [ item ]) || ! cod_get_user_perk ( oddaj_id [ item ], 0 , 0 )) 124. return ITEM_DISABLED ; 125. return ITEM_ENABLED ; 126. } 127. public ZamienPerk2 (id ) 128. { 129. new menu = menu_create ( "Zamien sie perkiem 2" , "ZamienPerk_Handle2" ); 130. new cb = menu_makecallback ( "OddajPerk_Callback2" ); 131. for( new i = 0 , n = 0 ; i <= 32; i ++) 132. { 133. if(! is_user_connected ( i )) 134. continue ; 135. oddaj_id [ n++] = i ; 136. new nazwa_gracza [64 ]; 137. get_user_name (i , nazwa_gracza , 63 ) 138. menu_additem (menu , nazwa_gracza , "0" , 0, cb ); 139. } 140. menu_display ( id, menu ); 141. } 142. public ZamienPerk_Handle2 ( id, menu , item ) 143. { 144. if ( item == MENU_EXIT ) 145. { 146. menu_destroy (menu ); 147. return PLUGIN_CONTINUE ; 148. } 149. 150. if (!is_user_connected ( oddaj_id [ item ])){ 151. client_print (id , print_chat , "Nie odnaleziono zadanego gracza." ); 152. return PLUGIN_CONTINUE ; 153. } 154. 155. if ( dostal_przedmiot [ oddaj_id [ item ]][1 ]){ 156. client_print (id , print_chat , "Wybrany gracz musi poczekac 1 runde." ); 157. return PLUGIN_CONTINUE ; 158. } 159. 160. if ( dostal_przedmiot [ id ][1 ]){ 161. client_print (id , print_chat , "Musisz poczekac 1 runde." ); 162. return PLUGIN_CONTINUE ; 163. } 164. 165. if (!cod_get_user_perk ( oddaj_id [ item ], 0 , 1 )){ 166. client_print (id , print_chat , "Wybrany gracz nie mam zadnego perka." ); 167. return PLUGIN_CONTINUE ; 168. } 169. 170. if (!cod_get_user_perk ( id, 0 , 1 )){ 171. client_print (id , print_chat , "Nie masz zadnego perka." ); 172. return PLUGIN_CONTINUE ; 173. } 174. new nazwa_menu [ 128], nick [ 64]; 175. 176. get_user_name ( id, nick , charsmax ( nick )) 177. formatex ( nazwa_menu , charsmax ( nazwa_menu ), "Wymien sie perkiem z %s:" , nick ) 178. 179. new menu2 = menu_create (nazwa_menu , "menu_wymien2" ); 180. menu_additem ( menu2 , "Tak" , nick ); 181. menu_addblank ( menu2 , 0 ) 182. menu_additem ( menu2 , "Nie" , nick ); 183. 184. menu_setprop ( menu2 , MPROP_EXITNAME , "Wyjdz" ); 185. menu_display ( oddaj_id [ item ], menu2 ); 186. return PLUGIN_CONTINUE ; 187. } 188. public menu_wymien2 ( id , menu , item ) 189. { 190. if ( item == MENU_EXIT ) 191. { 192. menu_destroy (menu ); 193. return PLUGIN_CONTINUE ; 194. } 195. new access , callback , data [ 64]; 196. menu_item_getinfo ( menu , item , access , data , charsmax ( data ), _ , _ , callback ); 197. new id2 = get_user_index ( data ) 198. 199. switch (item ) 200. { 201. case 0: 202. { 203. new wartosc1 , wartosc2 ; 204. new perk_oddajacego = cod_get_user_perk ( id2 , wartosc1 , 1 ) 205. new perk_dajacego = cod_get_user_perk ( id , wartosc2 , 1 ) 206. 207. cod_set_user_perk ( id2 , perk_dajacego , wartosc2 , 1 ); 208. cod_set_user_perk ( id , perk_oddajacego , wartosc1 , 1 ); 209. 210. dostal_przedmiot [ id2 ][ 1 ] = true ; 211. dostal_przedmiot [ id ][1 ] = true ; 212. 213. new nazwa_dajacego [ 64]; 214. 215. get_user_name ( id , nazwa_dajacego , charsmax ( nazwa_dajacego )) 216. 217. client_print ( id , print_chat , "Wymieniles sie perkiem z %s." , data ); 218. client_print ( id2 , print_chat , "Wymieniles sie perkiem z %s." , nazwa_dajacego ) 219. } 220. case 1: client_print ( id2 , print_chat , "Wybrany gracz nie zgodzil sie na wymiane perka." ) 221. } 222. return PLUGIN_CONTINUE ; 223. } 224. public OddajPerk_Callback2 (id , menu , item ) 225. { 226. if ( oddaj_id [item ] == id || ! cod_get_user_class ( oddaj_id [ item ]) || ! cod_get_user_perk ( oddaj_id [ item ], 0 , 1 )) 227. return ITEM_DISABLED ; 228. return ITEM_ENABLED ; 229. } 230. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE 234. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par } 232. */
Daj perk
1. /* Plugin generated by AMXX-Studio */ 2. #include <amxmodx> 3. #include <codmod> 4. #include <colorchat> 5. #define PLUGIN "Oddaj Przedmiot" 6. #define VERSION "1.0" 7. #define AUTHOR "QTM_Peyote" 8. new bool : dostal_przedmiot [ 33]; 9. new oddaj_id [ 33 ]; 10. public plugin_init () 11. { 12. register_plugin ( PLUGIN , VERSION , AUTHOR ); 13. 14. register_clcmd ("say /daj" , "OddajPerk" ); 15. register_clcmd ("say / daj2" , "OddajPerk2" ); 16. register_clcmd ("say /oddaj" , "OddajPerk" ); 17. register_clcmd ("say /od daj2" , "OddajPerk2" ); 18. register_event ("ResetHUD" , "cod_perk_changed" , "abe" ); 19. } 20. /* ******************************************************PIERWSZY PERK ****************************************************** */ 21. 22. public OddajPerk ( id) 23. { 24. new menu = menu_create ( "\yOddaj Perk:" , "OddajPerk_Handle" ); 25. new cb = menu_makecallback ( "OddajPerk_Callback" ); 26. for( new i = 0 , n = 0 ; i <= 32; i ++) 27. { 28. if(! is_user_connected ( i )) 29. continue ; 30. oddaj_id [ n++] = i ; 31. new nazwa_gracza [64 ]; 32. get_user_name (i , nazwa_gracza , 63 ) 33. menu_additem (menu , nazwa_gracza , "0" , 0,
zrobi ktos to w menu¿
??