HLMOD.HU Forrás Megtekintés - www.hlmod.hu
  1. #include <amxmodx>
  2. #include <engine>
  3. #include <cstrike>
  4. #include <fakemeta>
  5. #include <hamsandwich>
  6.  
  7. new const SilahBilgi[27][3] = {
  8. {0,0,0},
  9. {12,1,4},
  10. {9,52,1},
  11. {5,32,5},
  12. {14,1,6},
  13. {6,100,7},
  14. {4,90,8},
  15. {13,1,9},
  16. {10,120,10},
  17. {7,100,11},
  18. {6,100,12},
  19. {4,90,14},
  20. {4,90,15},
  21. {6,100,16},
  22. {10,120,17},
  23. {10,120,19},
  24. {3,200,20},
  25. {5,32,21},
  26. {4,90,22},
  27. {10,120,23},
  28. {11,2,25},
  29. {8,35,26},
  30. {4,90,27},
  31. {2,90,28},
  32. {7,100,30},
  33. {0,0,29},
  34. {0,0,0}
  35. }
  36. new scope[33];
  37. new const sprites[6][4][64] = {
  38. {"Alap Célkereszt","Txt Yolu","Sprite Yolu","Txt Adi"},
  39. {"CS:GO Célkereszt","sprites/tinta1.txt","sprites/tinta1.spr","tinta1"},
  40. {"Fixa Célkereszt","sprites/tinta2.txt","sprites/tinta2.spr","tinta2"},
  41. {"Flusha Célkereszt","sprites/tinta3.txt","sprites/tinta3.spr","tinta3"},
  42. {"TaZ Célkereszt","sprites/tinta4.txt","sprites/tinta4.spr","tinta4"},
  43. {"Trainer Célkereszt","sprites/tinta5.txt","sprites/tinta5.spr","tinta5"}
  44. }
  45.  
  46. new weapon_weapon[][] =
  47. {
  48. "weapon_aug",
  49. "weapon_sg552"
  50. }
  51.  
  52. new cross[33];
  53. public plugin_init()
  54. {
  55. register_plugin("CS:GO Crosshair","1.1","KriTo");
  56. register_event("CurWeapon","Event_CurWeapon","be","1=1");
  57. register_clcmd("buyammo1","guncelle1");
  58. register_clcmd("buyammo2","guncelle1");
  59. register_clcmd("tinta1","FakeSwitch");
  60. register_clcmd("say /ch","crossmenu");
  61. register_clcmd("say .ch","crossmenu");
  62.  
  63. for(new i = 0; i < sizeof weapon_weapon; i++)
  64. RegisterHam(Ham_Weapon_Reload, weapon_weapon[i], "fw_Weapon_Reload_Post", 1)
  65. }
  66.  
  67. public fw_Weapon_Reload_Post(ent)
  68. {
  69. static id;
  70. id = pev(ent, pev_owner);
  71.  
  72. if(get_user_weapon(id) == CSW_AUG || get_user_weapon(id) == CSW_SG552)
  73. if(scope[id]==1)
  74. scope[id]=0;
  75.  
  76. return HAM_HANDLED
  77. }
  78.  
  79. /*public client_disconnected(id){
  80.   cross[id] = 1;
  81. }*/
  82. public client_putinserver(id){
  83. client_cmd(id, "crosshair 1")
  84. cross[id] = 5;
  85. }
  86. public client_PreThink(id)
  87. {
  88. new button = pev(id, pev_oldbuttons);
  89. new oldbutton = pev(id, pev_button);
  90. if(oldbutton & IN_ATTACK2)
  91. {
  92. if(button & IN_ATTACK2)
  93. return PLUGIN_CONTINUE;
  94.  
  95. new weapon = get_user_weapon(id);
  96. if(weapon == CSW_AUG || weapon == CSW_SG552)
  97. {
  98. if(scope[id]==0)
  99. scope[id]=1;
  100. else
  101. scope[id]=0;
  102. Guncelle(id);
  103. } else if(weapon != CSW_AUG || weapon != CSW_SG552)
  104. {
  105. scope[id]=0;
  106. }
  107. }
  108.  
  109. return PLUGIN_CONTINUE;
  110. }
  111. public crossmenu(id)
  112. {
  113. new Menu = menu_create("\yCélkereszt beállítások ~ \w[\Menü\w]^n\wOpciók:","crossdevam");
  114. menu_additem(Menu,"Alap Célkereszt","1");
  115. for(new i=1;i<sizeof(sprites);i++)
  116. {
  117. new Item[128],text[12];
  118. formatex(Item,127,"%s",sprites[i][0]);
  119. num_to_str(i+1,text,11);
  120. menu_additem(Menu,Item,text);
  121. }
  122. menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL);
  123. menu_display(id,Menu,0);
  124. }
  125. public crossdevam(id, menu, item)
  126. {
  127.  
  128. if( item == MENU_EXIT )
  129. {
  130. menu_destroy(menu);
  131. return PLUGIN_HANDLED;
  132. }
  133.  
  134. new data[6], iName[64];
  135. new access, callback;
  136. menu_item_getinfo(menu, item, access, data,5, iName, 63, callback);
  137. new key = str_to_num(data);
  138. cross[id] = key-1;
  139. if(cross[id] == 0)
  140. {
  141. message_begin(MSG_ONE, get_user_msgid("HideWeapon"), .player=id);
  142. write_byte(1<<7);
  143. message_end();
  144. }
  145. Guncelle(id);
  146. client_cmd(id, "lastinv;wait;wait;wait;wait;wait;wait;lastinv")
  147.  
  148. return PLUGIN_HANDLED;
  149. }
  150. public guncelle1(id)
  151. {
  152. set_task(0.1,"Guncelle",id);
  153. return PLUGIN_CONTINUE;
  154. }
  155. public Guncelle(id)
  156. {
  157. if(!is_user_alive(id) || cross[id] == 0)
  158. return PLUGIN_HANDLED;
  159. new weapon = get_user_weapon(id);
  160. if( weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_SG550 || weapon == CSW_G3SG1 || weapon == CSW_KNIFE)
  161. return PLUGIN_CONTINUE
  162.  
  163. if(weapon != CSW_SG552 && weapon != CSW_AUG)
  164. scope[id]=0
  165.  
  166. new i;
  167. for(i=0;i<sizeof(SilahBilgi);i++)
  168. {
  169. new yeniweap = SilahBilgi[i][2];
  170. if(weapon == yeniweap)
  171. {
  172. break;
  173. } else if(i==sizeof(SilahBilgi)-1)
  174. {
  175. return PLUGIN_CONTINUE;
  176. }
  177. }
  178. message_begin(MSG_ONE, get_user_msgid("HideWeapon"), .player=id);
  179. write_byte(1<<6);
  180. message_end();
  181.  
  182. message_begin(MSG_ONE,get_user_msgid("WeaponList"), .player=id);
  183. write_string(sprites[cross[id]][3]);
  184. write_byte(SilahBilgi[i-1][0]);
  185. write_byte(SilahBilgi[i-1][1]);
  186. write_byte(-1);
  187. write_byte(-1);
  188. write_byte(6);
  189. write_byte(0);
  190. write_byte(2);
  191. write_byte(0);
  192. message_end();
  193.  
  194. message_begin(MSG_ONE,get_user_msgid("SetFOV"), .player=id);
  195. if(scope[id] == 1)
  196. write_byte(55);
  197. else
  198. write_byte(89);
  199. message_end();
  200.  
  201. new ammo,bpammo;
  202. get_user_ammo(id,weapon,ammo,bpammo);
  203.  
  204. message_begin(MSG_ONE,get_user_msgid("CurWeapon"), .player=id);
  205. write_byte(1);
  206. write_byte(2);
  207. write_byte(ammo);
  208. message_end();
  209. if(weapon != CSW_KNIFE) {
  210. message_begin(MSG_ONE,get_user_msgid("AmmoX"), .player=id);
  211. write_byte(SilahBilgi[i-1][0]);
  212. write_byte(bpammo);
  213. message_end();
  214. }
  215. if(scope[id] == 0) {
  216. message_begin(MSG_ONE,get_user_msgid("SetFOV"), .player=id);
  217. write_byte(90);
  218. message_end();
  219. }
  220.  
  221. return PLUGIN_HANDLED;
  222. }
  223. public FakeSwitch(const client)engclient_cmd(client,"weapon_shield");
  224. public plugin_precache()
  225. {
  226. for(new i=1;i<sizeof(sprites);i++)
  227. {
  228. precache_generic(sprites[i][1]);
  229. precache_generic(sprites[i][2]);
  230. }
  231. }
  232.  
  233. public Event_CurWeapon(id)
  234. {
  235. if(!is_user_alive(id) || cross[id] == 0)
  236. return PLUGIN_HANDLED;
  237. new weapon = read_data(2);
  238. if( weapon == CSW_AWP || weapon == CSW_SCOUT || weapon == CSW_SG550 || weapon == CSW_G3SG1)
  239. return PLUGIN_CONTINUE
  240. new i;
  241. for(i=0;i<sizeof(SilahBilgi);i++)
  242. {
  243. new yeniweap = SilahBilgi[i][2];
  244. if(weapon == yeniweap)
  245. {
  246. break;
  247. }
  248. }
  249.  
  250. if(weapon == CSW_KNIFE)
  251. {
  252. message_begin(MSG_ONE,get_user_msgid("WeaponList"), .player=id);
  253. write_string(sprites[cross[id]][3]);
  254. write_byte(-1);
  255. write_byte(-1);
  256. write_byte(-1);
  257. write_byte(-1);
  258. write_byte(0);
  259. write_byte(11);
  260. write_byte(2);
  261. write_byte(0);
  262. message_end();
  263.  
  264. message_begin(MSG_ONE,get_user_msgid("SetFOV"), .player=id);
  265. write_byte(89);
  266. message_end();
  267.  
  268. message_begin(MSG_ONE,get_user_msgid("CurWeapon"), .player=id);
  269. write_byte(1);
  270. write_byte(2);
  271. write_byte(-1);
  272. message_end();
  273.  
  274. message_begin(MSG_ONE,get_user_msgid("SetFOV"), .player=id);
  275. write_byte(90);
  276. message_end();
  277.  
  278. return PLUGIN_CONTINUE
  279. }
  280.  
  281. message_begin(MSG_ONE, get_user_msgid("HideWeapon"), .player=id);
  282. write_byte(1<<6);
  283. message_end();
  284.  
  285. message_begin(MSG_ONE,get_user_msgid("WeaponList"), .player=id);
  286. write_string(sprites[cross[id]][3]);
  287. write_byte(SilahBilgi[i-1][0]);
  288. write_byte(SilahBilgi[i-1][1]);
  289. write_byte(-1);
  290. write_byte(-1);
  291. write_byte(6);
  292. write_byte(0);
  293. write_byte(2);
  294. write_byte(0);
  295. message_end();
  296.  
  297. if(weapon != CSW_SG552 && weapon != CSW_AUG)
  298. scope[id]=0
  299.  
  300. message_begin(MSG_ONE,get_user_msgid("SetFOV"), .player=id);
  301. if(scope[id] == 1)
  302. write_byte(55);
  303. else
  304. write_byte(89);
  305. message_end();
  306.  
  307. new ammo,bpammo;
  308. get_user_ammo(id,weapon,ammo,bpammo);
  309.  
  310. message_begin(MSG_ONE,get_user_msgid("CurWeapon"), .player=id);
  311. write_byte(1);
  312. write_byte(2);
  313. write_byte(ammo);
  314. message_end();
  315.  
  316. if(weapon != CSW_KNIFE) {
  317. message_begin(MSG_ONE,get_user_msgid("AmmoX"), .player=id);
  318. write_byte(SilahBilgi[i-1][0]);
  319. write_byte(bpammo);
  320. message_end();
  321. }
  322. if(scope[id] == 0) {
  323. message_begin(MSG_ONE,get_user_msgid("SetFOV"), .player=id);
  324. write_byte(90);
  325. message_end();
  326. }
  327.  
  328.  
  329. return PLUGIN_HANDLED;
  330. }
  331.