Advertisement
Guest User

Untitled

a guest
Feb 18th, 2019
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.74 KB | None | 0 0
  1. #include <amxmodx>
  2. #include <fakemeta>
  3. #include <engine>
  4. #include <cstrike>
  5.  
  6. #define DISPLAY_MONEY 1
  7. #define DISPLAY_WEAPONS 1
  8. #define DISPLAY_DOLLARSIGN 1
  9. #define DISPLAY_ARROW 0
  10.  
  11. #define PLUGIN "SHOWEQUIPS"
  12. #define VERSION "1.4"
  13. #define AUTHOR "DaniwA"
  14.  
  15. #define TASK1 5125
  16. #define TASK2 6124
  17.  
  18. #if DISPLAY_MONEY
  19. #define NUMBER_OF_SPRITES 5
  20. new userSpr[33][NUMBER_OF_SPRITES];
  21. new tmpstr[6];
  22. new value[2];
  23. new money_sprite1[] = "sprites/ing/1.spr"
  24. new money_sprite10[] = "sprites/ing/10.spr"
  25. new money_sprite100[] = "sprites/ing/100.spr"
  26. new money_sprite1000[] = "sprites/ing/1000.spr"
  27. new money_sprite10000[] = "sprites/ing/10000.spr"
  28. #endif
  29.  
  30. #if DISPLAY_WEAPONS
  31. #define NUMBER_OF_WEAPTYPES 7
  32. new const Float:Pistols[6] = {1.0,10.0,11.0,16.0,17.0,26.0};
  33. new const Float:Rifles[18] = {3.0,5.0,7.0,8.0,12.0,13.0,14.0,15.0,18.0,19.0,20.0,21.0,22.0,23.0,24.0,27.0,28.0,30.0};
  34. new userWeap[33][NUMBER_OF_WEAPTYPES];
  35. new armor;
  36. new weapons;
  37. new weap_sprite[] = "sprites/ing/weap.spr"
  38. new weap2_sprite[] = "sprites/ing/weap2.spr"
  39.  
  40. #endif
  41.  
  42. #if DISPLAY_DOLLARSIGN
  43. new userDSign[33];
  44. new cash_sprite[] = "sprites/ing/cash.spr"
  45.  
  46. #endif
  47.  
  48. #if DISPLAY_ARROW
  49. new userArrow[33];
  50. new arrow_sprite[] = "sprites/ing/arrow.spr"
  51.  
  52. #endif
  53.  
  54. new bool:NewRound;
  55. new bool:show;
  56.  
  57. new Float:userOrig[33][3];
  58. new g_iMaxPlayers;
  59.  
  60. public plugin_precache(){
  61. #if DISPLAY_MONEY
  62. precache_model(money_sprite10000);
  63. precache_model(money_sprite1000);
  64. precache_model(money_sprite100);
  65. precache_model(money_sprite10);
  66. precache_model(money_sprite1);
  67. #endif
  68. #if DISPLAY_WEAPONS
  69. precache_model(weap_sprite);
  70. precache_model(weap2_sprite);
  71. #endif
  72. #if DISPLAY_DOLLARSIGN
  73. precache_model(cash_sprite);
  74. #endif
  75. #if DISPLAY_ARROW
  76. precache_model(arrow_sprite);
  77. #endif
  78. }
  79.  
  80. public plugin_init(){
  81. register_plugin(PLUGIN,VERSION,AUTHOR);
  82.  
  83. register_event("HLTV", "new_round", "a", "1=0", "2=0");
  84. g_iMaxPlayers = get_maxplayers()
  85. crear_entidades()
  86. }
  87. public crear_entidades(){
  88. for(new x = 1; x <= g_iMaxPlayers; x++){
  89. #if DISPLAY_MONEY
  90. for(new i; i<NUMBER_OF_SPRITES; i++){
  91. userSpr[x][i]=create_entity("env_sprite");
  92. }
  93. #endif
  94. #if DISPLAY_WEAPONS
  95. for(new i; i<NUMBER_OF_WEAPTYPES; i++){
  96. userWeap[x][i]=create_entity("env_sprite");
  97. }
  98. #endif
  99. #if DISPLAY_DOLLARSIGN
  100. userDSign[x]=create_entity("env_sprite");
  101. #endif
  102. #if DISPLAY_ARROW
  103. userArrow[x]=create_entity("env_sprite");
  104. #endif
  105. }
  106. }
  107. public new_round(){
  108.  
  109. NewRound = true;
  110. show = true
  111. remove_task(TASK2)
  112. remove_task(TASK1)
  113. set_task(get_cvar_float("mp_freezetime"),"hiden",TASK1);
  114. set_task(0.2,"display_info",TASK2,"",0,"b");
  115. }
  116. public hiden(){
  117. show = false
  118. }
  119.  
  120.  
  121. public display_info(){
  122.  
  123.  
  124. for(new c=1; c<= g_iMaxPlayers; c++){
  125.  
  126. if(!is_user_alive(c) || !is_user_connected(c)){
  127. #if DISPLAY_MONEY
  128. drawsprite(userSpr[c][4],c,money_sprite10000,1.0,34.0,0,0,255,0);
  129. drawsprite(userSpr[c][3],c,money_sprite1000,1.0,34.0,0,0,255,0);
  130. drawsprite(userSpr[c][2],c,money_sprite100,1.0,34.0,0,0,255,0);
  131. drawsprite(userSpr[c][1],c,money_sprite10,1.0,34.0,0,0,255,0);
  132. drawsprite(userSpr[c][0],c,money_sprite1,1.0,34.0,0,0,255,0);
  133. #endif
  134. #if DISPLAY_DOLLARSIGN
  135. drawsprite(userDSign[c],c,cash_sprite,1.0,34.0,0,0,255,0);
  136. #endif
  137. #if DISPLAY_ARROW
  138. drawsprite(userArrow[c],c,arrow_sprite,1.0,34.0,0,255,255,0);
  139. #endif
  140. #if DISPLAY_WEAPONS
  141. drawsprite(userWeap[c][0],c,weap_sprite,Pistols[0],50.0,0,255,255,0);
  142. drawsprite(userWeap[c][1],c,weap_sprite,Rifles[0],50.0,0,255,255,0);
  143. drawsprite(userWeap[c][2],c,weap_sprite,4.0,50.0,0,255,255,255);
  144. drawsprite(userWeap[c][3],c,weap_sprite,25.0,50.0,0,255,255,255);
  145. drawsprite(userWeap[c][4],c,weap_sprite,9.0,50.0,0,255,255,255);
  146. drawsprite(userWeap[c][5],c,weap2_sprite,1.0,50.0,0,0,0,255);
  147. drawsprite(userWeap[c][6],c,weap2_sprite,3.0,50.0,0,0,0,255);
  148. #endif
  149.  
  150. continue;
  151. }
  152.  
  153. #if DISPLAY_MONEY
  154. for (new x; x < NUMBER_OF_SPRITES; x++){
  155. arrayset(tmpstr, 0, sizeof tmpstr);
  156. num_to_str(cs_get_user_money(c), tmpstr, charsmax(tmpstr))
  157. value[0]=tmpstr[x];
  158. value[1]=0;
  159.  
  160. if(!tmpstr[x]){
  161. switch(x){
  162. case 0: drawsprite(userSpr[c][4],c,money_sprite10000,1.0,34.0,0,0,255,0);
  163. case 1: drawsprite(userSpr[c][3],c,money_sprite1000,1.0,34.0,0,0,255,0);
  164. case 2: drawsprite(userSpr[c][2],c,money_sprite100,1.0,34.0,0,0,255,0);
  165. case 3: drawsprite(userSpr[c][1],c,money_sprite10,1.0,34.0,0,0,255,0);
  166. case 4: drawsprite(userSpr[c][0],c,money_sprite1,1.0,34.0,0,0,255,0);
  167. }
  168. continue;
  169. }
  170.  
  171. switch(x){
  172. case 0: drawsprite(userSpr[c][4],c,money_sprite10000,floatstr(value),34.0,255,0,255,0);
  173. case 1: drawsprite(userSpr[c][3],c,money_sprite1000,floatstr(value),34.0,255,0,255,0);
  174. case 2: drawsprite(userSpr[c][2],c,money_sprite100,floatstr(value),34.0,255,0,255,0);
  175. case 3: drawsprite(userSpr[c][1],c,money_sprite10,floatstr(value),34.0,255,0,255,0);
  176. case 4: drawsprite(userSpr[c][0],c,money_sprite1,floatstr(value),34.0,255,0,255,0);
  177. }
  178. }
  179. #endif
  180. #if DISPLAY_DOLLARSIGN
  181. drawsprite(userDSign[c],c,cash_sprite,1.0,34.0,255,0,255,0);
  182. #endif
  183. #if DISPLAY_ARROW
  184. drawsprite(userArrow[c],c,arrow_sprite,1.0,34.0,255,255,255,0);
  185. #endif
  186. #if DISPLAY_WEAPONS
  187. weapons = pev(c, pev_weapons);
  188.  
  189. for(new i; i < sizeof Pistols; i++)
  190. if(weapons & 1<<floatround(Pistols[i])){
  191. drawsprite(userWeap[c][0],c,weap_sprite,Pistols[i],50.0,255,255,255,0);
  192. goto jmp1;
  193. }
  194. drawsprite(userWeap[c][0],c,weap_sprite,Pistols[0],50.0,0,255,255,0);
  195. jmp1:
  196.  
  197. for(new i; i < sizeof Rifles; i++)
  198. if(weapons & 1<<floatround(Rifles[i])){
  199. drawsprite(userWeap[c][1],c,weap_sprite,Rifles[i],50.0,255,255,255,0);
  200. goto jmp2;
  201. }
  202. drawsprite(userWeap[c][1],c,weap_sprite,Rifles[0],50.0,0,255,255,0);
  203. jmp2:
  204.  
  205. if(weapons & 1<<CSW_HEGRENADE)
  206. drawsprite(userWeap[c][2],c,weap_sprite,4.0,50.0,255,255,255,255);
  207. else
  208. drawsprite(userWeap[c][2],c,weap_sprite,4.0,50.0,0,255,255,255);
  209.  
  210. if(weapons & 1<<CSW_FLASHBANG)
  211. drawsprite(userWeap[c][3],c,weap_sprite,25.0,50.0,255,255,255,255);
  212. else
  213. drawsprite(userWeap[c][3],c,weap_sprite,25.0,50.0,0,255,255,255);
  214.  
  215. if(weapons & 1<<CSW_SMOKEGRENADE)
  216. drawsprite(userWeap[c][4],c,weap_sprite,9.0,50.0,255,255,255,255);
  217. else
  218. drawsprite(userWeap[c][4],c,weap_sprite,9.0,50.0,0,255,255,255);
  219.  
  220. cs_get_user_armor(c,CsArmorType:armor);
  221. if(armor == 2)
  222. drawsprite(userWeap[c][5],c,weap2_sprite,2.0,50.0,255,0,0,255);
  223. else if(armor == 1)
  224. drawsprite(userWeap[c][5],c,weap2_sprite,1.0,50.0,255,0,0,255);
  225. else
  226. drawsprite(userWeap[c][5],c,weap2_sprite,1.0,50.0,0,0,0,255);
  227.  
  228.  
  229. if(weapons & 1<<CSW_C4)
  230. drawsprite(userWeap[c][6],c,weap2_sprite,3.0,50.0,255,0,0,255);
  231. else if(cs_get_user_defuse(c))
  232. drawsprite(userWeap[c][6],c,weap2_sprite,4.0,50.0,255,0,0,255);
  233. else
  234. drawsprite(userWeap[c][6],c,weap2_sprite,3.0,50.0,0,0,0,255);
  235.  
  236. #endif
  237. }
  238. }
  239.  
  240. drawsprite(ent,player,str[],Float:frame,Float:offset,render,r,g,b){
  241.  
  242. set_pev(ent, pev_framerate, 1.0)
  243. set_pev(ent, pev_scale, 0.3)
  244. set_pev(ent, pev_movetype, MOVETYPE_NOCLIP);
  245. engfunc(EngFunc_SetModel, ent, str);
  246. set_pev(ent, pev_frame, frame)
  247.  
  248.  
  249. if(is_user_connected(player) && is_user_alive(player)){
  250. pev(player, pev_origin, userOrig[player]);
  251. userOrig[player][2] += offset;
  252. set_pev(ent, pev_origin, userOrig[player]);
  253. }
  254. else{
  255. set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
  256. }
  257.  
  258. if(!show){
  259. render = 0
  260. set_pev(ent, pev_origin, {0.0, 0.0, 0.0})
  261. remove_task(TASK2)
  262. }
  263.  
  264. set_rendering(ent, kRenderFxNone, r, g, b, kRenderTransAdd, render)
  265.  
  266. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement