Advertisement
Guest User

Untitled

a guest
Dec 1st, 2018
345
1
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.01 KB | None | 1 0
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <engine>
  4.  
  5. #define COK_FAZLA_SPREY_KULLANILDI "Bir Turda Herkes Toplam En Fazla 20 Adet Sprey Cizebilir. !!"
  6. #define YAMUK_ALANA_SPREY_BASILDI "Grafiti'yi DUZ duran bir duvara cizmelisin"
  7. #define DUVARDAN_UZAKKEN_SPREY_BASILDI "Grafiti Cizebilmek Icin Duvara Yaklasmalisiniz"
  8.  
  9. #define SPREY_SESi "EJD_SPR_BAS.wav"
  10.  
  11. #define PLUGIN "[ CSGO ] Grafiti Spray Plugini"
  12. #define VERSION "1.0"
  13. #define AUTHOR "Fatih ~ EjderYa"
  14.  
  15. new sprey_kullanildi[33]
  16. new kimlik_ayarlayici;
  17. new SpreyKimlikleri[21]
  18.  
  19. new spr_yuzu[52][30]
  20.  
  21. new const VerilenBilgi[] = "info_target";
  22. new const gszspr_nesneClassname[] = "spr_ejd";
  23.  
  24. new Float:spreycinsi[33];
  25. new Float:spreycinsi_yard = 0.0;
  26.  
  27. new sprey_aktifligi
  28. new sprey_bekleme_suresi
  29.  
  30. public plugin_init(){
  31. register_plugin(PLUGIN, VERSION, AUTHOR);
  32.  
  33.  
  34. register_event("ResetHUD", "yeni_tur", "b");
  35. sprey_aktifligi = register_cvar("sprey_aktifligi","1");
  36. sprey_bekleme_suresi = register_cvar("sprey_bekleme_suresi","30");
  37.  
  38. }
  39. public yeni_tur(){
  40.  
  41.  
  42.  
  43.  
  44. new players[32], inums;
  45. new Uid;
  46. get_players(players, inums, "ac")
  47. for(new i;i<inums;i++) {
  48.  
  49. Uid = players[i]
  50. sprey_kullanildi[Uid] = -1
  51. }
  52.  
  53. new katman
  54. for(new i;i<charsmax(SpreyKimlikleri)+1;i++) {
  55.  
  56. katman = SpreyKimlikleri[i]
  57.  
  58. if ( !(SpreyKimlikleri[katman] == 0 ) ){
  59. remove_entity(SpreyKimlikleri[katman]);
  60. SpreyKimlikleri[katman] = 0 ;
  61. }
  62.  
  63. }
  64.  
  65. }
  66. public plugin_precache(){
  67.  
  68.  
  69. precache_sound(SPREY_SESi);
  70. spr_yuzu[0] = "sprites/Ejderya_0.spr";
  71. spr_yuzu[1] = "sprites/Ejderya_1.spr";
  72. spr_yuzu[2] = "sprites/Ejderya_2.spr";
  73. spr_yuzu[3] = "sprites/Ejderya_3.spr";
  74. spr_yuzu[4] = "sprites/Ejderya_4.spr";
  75. spr_yuzu[5] = "sprites/Ejderya_5.spr";
  76. spr_yuzu[6] = "sprites/Ejderya_6.spr";
  77. spr_yuzu[7] = "sprites/Ejderya_7.spr";
  78. spr_yuzu[8] = "sprites/Ejderya_8.spr";
  79. spr_yuzu[9] = "sprites/Ejderya_9.spr";
  80. spr_yuzu[10] = "sprites/Ejderya_10.spr";
  81. spr_yuzu[11] = "sprites/Ejderya_11.spr";
  82. spr_yuzu[12] = "sprites/Ejderya_12.spr";
  83. spr_yuzu[13] = "sprites/Ejderya_13.spr";
  84. spr_yuzu[14] = "sprites/Ejderya_14.spr";
  85. spr_yuzu[15] = "sprites/Ejderya_15.spr";
  86. spr_yuzu[16] = "sprites/Ejderya_16.spr";
  87. spr_yuzu[17] = "sprites/Ejderya_17.spr";
  88. spr_yuzu[18] = "sprites/Ejderya_18.spr";
  89. spr_yuzu[19] = "sprites/Ejderya_19.spr";
  90. spr_yuzu[20] = "sprites/Ejderya_20.spr";
  91. spr_yuzu[21] = "sprites/Ejderya_21.spr";
  92. spr_yuzu[22] = "sprites/Ejderya_22.spr";
  93. spr_yuzu[23] = "sprites/Ejderya_23.spr";
  94. spr_yuzu[24] = "sprites/Ejderya_24.spr";
  95. spr_yuzu[25] = "sprites/Ejderya_25.spr";
  96. spr_yuzu[26] = "sprites/Ejderya_26.spr";
  97. spr_yuzu[27] = "sprites/Ejderya_27.spr";
  98. spr_yuzu[28] = "sprites/Ejderya_28.spr";
  99. spr_yuzu[29] = "sprites/Ejderya_29.spr";
  100. spr_yuzu[30] = "sprites/Ejderya_30.spr";
  101. spr_yuzu[31] = "sprites/Ejderya_31.spr";
  102. spr_yuzu[32] = "sprites/Ejderya_32.spr";
  103. spr_yuzu[33] = "sprites/Ejderya_33.spr";
  104. spr_yuzu[34] = "sprites/Ejderya_34.spr";
  105. spr_yuzu[35] = "sprites/Ejderya_35.spr";
  106. spr_yuzu[36] = "sprites/Ejderya_36.spr";
  107. spr_yuzu[37] = "sprites/Ejderya_37.spr";
  108. spr_yuzu[38] = "sprites/Ejderya_38.spr";
  109. spr_yuzu[39] = "sprites/Ejderya_39.spr";
  110. spr_yuzu[40] = "sprites/Ejderya_40.spr";
  111. spr_yuzu[41] = "sprites/Ejderya_41.spr";
  112. spr_yuzu[42] = "sprites/Ejderya_42.spr";
  113. spr_yuzu[43] = "sprites/Ejderya_43.spr";
  114. spr_yuzu[44] = "sprites/Ejderya_44.spr";
  115. spr_yuzu[45] = "sprites/Ejderya_45.spr";
  116. spr_yuzu[46] = "sprites/Ejderya_46.spr";
  117. spr_yuzu[47] = "sprites/Ejderya_47.spr";
  118. spr_yuzu[48] = "sprites/Ejderya_48.spr";
  119. spr_yuzu[49] = "sprites/Ejderya_49.spr";
  120. spr_yuzu[50] = "sprites/Ejderya_50.spr";
  121. spr_yuzu[51] = "sprites/Ejderya_51.spr";
  122.  
  123.  
  124.  
  125.  
  126. new katman[60]
  127. new DosyaYolu[60]
  128. for(new i;i<charsmax(spr_yuzu)+1;i++) {
  129.  
  130. katman = spr_yuzu[i]
  131. format(DosyaYolu,charsmax(DosyaYolu),"%s",katman)
  132. precache_model(DosyaYolu)
  133.  
  134. }
  135. }
  136. public client_impulse (id, impulse){
  137.  
  138. if (impulse == 201){
  139. if ( get_pcvar_num(sprey_aktifligi) == 1) {
  140. if ( !(SpreyKimlikleri[20] == 0) ){
  141. client_print(id, print_center, COK_FAZLA_SPREY_KULLANILDI);
  142. return PLUGIN_HANDLED;
  143. }
  144.  
  145. if ( !(sprey_kullanildi[id] <= 0 ) ){
  146.  
  147. client_print(id, print_center, "Grafiti Cizebilmek Icin %d Saniye Kadar Beklemelisin",sprey_kullanildi[id]);
  148. return PLUGIN_HANDLED;
  149.  
  150.  
  151. }
  152. if ( spreycinsi[id] > 51.0 ){
  153. spreycinsi[id] = 0.0 ;
  154. }
  155.  
  156.  
  157. createspr_nesneAiming(id, floatround(spreycinsi[id]) );
  158. spreycinsi[id] += 1.0;
  159. spreycinsi_yard = spreycinsi[id];
  160. sprey_kullanildi[id] = get_pcvar_num( sprey_bekleme_suresi );
  161. sprey_kontrol(id)
  162.  
  163.  
  164. return PLUGIN_HANDLED;
  165. }
  166. }
  167. return 0;
  168. }
  169. public sprey_kontrol(id){
  170.  
  171. if ( !(sprey_kullanildi[id] <= 0 ) ){
  172.  
  173. sprey_kullanildi[id] -= 1
  174. set_task(1.0,"sprey_kontrol",id)
  175.  
  176. }
  177.  
  178.  
  179. }
  180. createspr_nesneAiming(id, spr_tip){
  181.  
  182. if ( is_user_alive(id) ){
  183. new merkez[3];
  184. new Float:vmerkez[3];
  185. new Float:Acilar[3];
  186. new Float:vNormal[3];
  187.  
  188. //get the merkez of where the player is aiming
  189. get_user_origin(id, merkez, 3);
  190. IVecFVec(merkez, vmerkez);
  191.  
  192. new bool:islem_tamam = izspr_nesneAngles(id, Acilar, vNormal, 1000.0);
  193.  
  194. //if the iz was successfull
  195. if (islem_tamam)
  196. {
  197. //if the plane the iz hit is vertical
  198. if (vNormal[2] == 0.0)
  199. {
  200. //create the spr_nesne
  201. new bool:islem_tamam = createspr_nesne(spr_tip, vmerkez, Acilar, vNormal);
  202.  
  203. //if spr_nesne created successfully
  204. if (islem_tamam)
  205. {
  206. emit_sound(id, CHAN_VOICE, SPREY_SESi , 0.75, ATTN_NONE, 0, PITCH_NORM)
  207.  
  208. }
  209. }
  210. else
  211. {
  212. client_print(id, print_center, YAMUK_ALANA_SPREY_BASILDI);
  213. }
  214. }
  215. else
  216. {
  217. client_print(id, print_center, DUVARDAN_UZAKKEN_SPREY_BASILDI);
  218. }
  219. }
  220. }
  221.  
  222. bool:createspr_nesne(spr_tip, Float:vmerkez[3], Float:Acilar[3], Float:vNormal[3]){
  223. new spr_nesne = create_entity(VerilenBilgi);
  224.  
  225. new bool:bFailed = false;
  226.  
  227.  
  228. if (is_valid_ent(spr_nesne) && !bFailed )
  229. {
  230.  
  231. vmerkez[0] += (vNormal[0] * 0.5);
  232. vmerkez[1] += (vNormal[1] * 0.5);
  233. vmerkez[2] += (vNormal[2] * 0.5);
  234.  
  235.  
  236. entity_set_string(spr_nesne, EV_SZ_classname, gszspr_nesneClassname );
  237. entity_set_model(spr_nesne, spr_yuzu[random_num(0,51)]);
  238. entity_set_vector(spr_nesne, EV_VEC_angles, Acilar ) ;
  239. entity_set_float(spr_nesne, EV_FL_scale, 0.23);
  240. entity_set_origin(spr_nesne, vmerkez);
  241. entity_set_int(spr_nesne, EV_INT_groupinfo, spr_tip);
  242. entity_set_float(spr_nesne, EV_FL_frame, spreycinsi_yard );
  243.  
  244. kimlik_ayarlayici = spr_nesne;
  245. kimlik_hesapla();
  246.  
  247.  
  248. }
  249.  
  250. return true;
  251. }
  252. public kimlik_hesapla(){
  253.  
  254.  
  255. new katman
  256. for(new i;i<charsmax(SpreyKimlikleri)+1;i++) {
  257.  
  258. katman = SpreyKimlikleri[i]
  259.  
  260. if ( SpreyKimlikleri[katman] == 0 ){
  261. SpreyKimlikleri[katman] = kimlik_ayarlayici;
  262. return PLUGIN_HANDLED;
  263. }
  264.  
  265. }
  266.  
  267. return PLUGIN_HANDLED;
  268.  
  269. }
  270. bool:izspr_nesneAngles(id, Float:Acilar[3], Float:vNormal[3], Float:fmesafe)
  271. {
  272. //get players merkez and add on their view offset
  273. new Float:vPlayermerkez[3];
  274. new Float:vViewOfs[3];
  275. entity_get_vector(id, EV_VEC_origin, vPlayermerkez);
  276. entity_get_vector(id, EV_VEC_view_ofs, vViewOfs);
  277.  
  278. vPlayermerkez[0] += vViewOfs[0];
  279. vPlayermerkez[1] += vViewOfs[1];
  280. vPlayermerkez[2] += vViewOfs[2];
  281.  
  282. //calculate the end point for iz using the players view angle
  283. new Float:Oyuncu_nisan[3];
  284. entity_get_vector(id, EV_VEC_v_angle, Acilar);
  285.  
  286. Oyuncu_nisan[0] = vPlayermerkez[0] + floatcos(Acilar[1], degrees ) * fmesafe;
  287. Oyuncu_nisan[1] = vPlayermerkez[1] + floatsin(Acilar[1], degrees) * fmesafe;
  288. Oyuncu_nisan[2] = vPlayermerkez[2] + floatsin(-Acilar[0], degrees) * fmesafe;
  289.  
  290.  
  291.  
  292.  
  293. new iz = trace_normal(id, vPlayermerkez, Oyuncu_nisan, vNormal);
  294.  
  295.  
  296. vector_to_angle(vNormal, Acilar);
  297.  
  298.  
  299.  
  300. Acilar[1] += 180.0;
  301.  
  302.  
  303.  
  304.  
  305. if (Acilar[1] >= 360.0) Acilar[1] -= 360.0;
  306.  
  307. return bool:iz;
  308. }
  309. /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
  310. *{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
  311. */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement