hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.28. 08:59



Jelenlévő felhasználók

Jelenleg 540 felhasználó van jelen :: 2 regisztrált, 0 rejtett és 538 vendég

A legtöbb felhasználó (1565 fő) 2020.11.21. 11:26-kor tartózkodott itt.

Regisztrált felhasználók: Bing [Bot], Majestic-12 [Bot] az elmúlt 5 percben aktív felhasználók alapján

Utoljára aktív
Ahhoz hogy lásd ki volt utoljára aktív, be kell jelentkezned.



Az oldal teljeskörű
használatához regisztrálj.

Regisztráció

Kereső


Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 12:37 
Offline
Jómunkásember
Avatar

Csatlakozott: 2014.04.27. 16:39
Hozzászólások: 394
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 17 alkalommal
Sziasztok!
Azt, hogy lehet megcsinálni, hogy ékezetessé tegyek egy plugint amit épp szeretnék és ugy amxx-é alakitani?
Köszi a választ.(Ha már fent van a kérdés bocsi de nem találtam)

_________________
"Scripta manent, verba volant."
"A szó elszáll, az írás megmarad."
Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 12:38 
Offline
Nagyúr
Avatar

Csatlakozott: 2012.09.23. 09:50
Hozzászólások: 569
Megköszönt másnak: 76 alkalommal
Megköszönték neki: 37 alkalommal
Plugint megnyitod TXT-be, mentés másként --> ANSI helyett UTF8--> aztán megnyitod amx studióval, az elejéről törlöd a hülye írásjeleket, mented és kész ;)

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 12:42 
Offline
Jómunkásember
Avatar

Csatlakozott: 2014.04.27. 16:39
Hozzászólások: 394
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 17 alkalommal
Applee írta:
Plugint megnyitod TXT-be, mentés másként --> ANSI helyett UTF8--> aztán megnyitod amx studióval, az elejéről törlöd a hülye írásjeleket, mented és kész ;)

UTF-8 mentés megvolt az irás jelek nem.
Ezzel próbáltam láttam egy előző kérdésnél.
SMA Forráskód: [ Mindet kijelol ]
  1. stock print_color(const id, const input[], any:...)
  2. {
  3. new count = 1, players[32]
  4. static msg[191]
  5. vformat(msg, 190, input, 3)
  6.  
  7. replace_all(msg, 190, "!g", "^4")
  8. replace_all(msg, 190, "!y", "^1")
  9. replace_all(msg, 190, "!t", "^3")
  10. replace_all(msg, 190, "á", "á")
  11. replace_all(msg, 190, "é", "Ă©")
  12. replace_all(msg, 190, "í", "Ă­")
  13. replace_all(msg, 190, "ó", "Ăł")
  14. replace_all(msg, 190, "ö", "ö")
  15. replace_all(msg, 190, "ő", "Ĺ‘")
  16. replace_all(msg, 190, "ú", "Ăş")
  17. replace_all(msg, 190, "ü", "ĂĽ")
  18. replace_all(msg, 190, "ű", "ű")
  19. replace_all(msg, 190, "Á", "Á")
  20. replace_all(msg, 190, "É", "É")
  21. replace_all(msg, 190, "Í", "ĂŤ")
  22. replace_all(msg, 190, "Ó", "Ă“")
  23. replace_all(msg, 190, "Ö", "Ă–")
  24. replace_all(msg, 190, "Ő", "Ő")
  25. replace_all(msg, 190, "Ú", "Ăš")
  26. replace_all(msg, 190, "Ü", "Ăś")
  27. replace_all(msg, 190, "Ű", "Ĺ°")
  28.  
  29. if (id) players[0] = id; else get_players(players, count, "ch")
  30. {
  31. for (new i = 0; i < count; i++)
  32. {
  33. if (is_user_connected(players[i]))
  34. {
  35. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
  36. write_byte(players[i])
  37. write_string(msg)
  38. message_end()
  39. }
  40. }
  41. }
  42. return PLUGIN_HANDLED
  43. }
  44.  

_________________
"Scripta manent, verba volant."
"A szó elszáll, az írás megmarad."
Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 12:45 
Offline
Jómunkásember
Avatar

Csatlakozott: 2014.04.27. 16:39
Hozzászólások: 394
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 17 alkalommal
Ezt kéne ékezetessé tenni :D
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <hamsandwich>
  4. #include <fun>
  5. #include <cstrike>
  6. #include <engine>
  7. #include <fakemeta>
  8.  
  9. #define MAX_GIFT 12
  10. #define WINNER_JUMPS 1
  11.  
  12. #define RESPAWN_TIMER 5
  13. #define TID_RESP 2551
  14.  
  15. #define FL_WATERJUMP (1<<11)
  16. #define FL_ONGROUND (1<<9)
  17.  
  18. enum _:GiftDatas
  19. {
  20. /* Ajándék neve Ajandék leírása Kapott uzenet, false ,másik plugin-e? funckció plugin*/
  21. ItemName[128], ItemDesc[192], ItemGived[128],bool:item[33],bool:aPlugin,ItemFunc[128],ItemPlugin[128]
  22. };
  23.  
  24. new const PLUGIN[] = "Questions and Answers";
  25. new const VERSION[] = "1.0";
  26. new const AUTHOR[] = "#CantStopWontStop";
  27.  
  28. new const g_gift[MAX_GIFT][GiftDatas] =
  29. {
  30. { "XM1014 Shotgun", "1:4-höz az esélyed az azonnali ölésre!", "Kaptál egy XM1014 Shotgun-t!", false, false },
  31. { "Láthatatlanság", "Láthatatlan leszel a kör végéig!", "Láthatatlan lettél a kör végéig!", false, false },
  32. { "Gránát Csomag", "Kapsz egy gránát csomagot.", "Kaptál egy gránát csomagot!", false, false },
  33. { "Kisebb Gravitáció", "Kisebb gravitációt kapsz.", "Kisebb gravitációt kaptál!", false, false },
  34. { "Wallhack", "Egy kisebb wallhacket kapsz. Látod ellenfeleid falon keresztül.", "Wallhacket nyertél!", false, false },
  35. { "Gyorsaság", "Nagyobb gyorsaságot kapsz.", "Nagyobb gyorsaságot kaptál!", false, false },
  36. { "BunnyHop", "Folyamatosan tudsz ugrani.", "Bunnyhop-ot nyertél!", false, false },
  37. { "DuplaUgrás", "Többet tudsz ugrani.", "Több ugrást nyertél!", false, false },
  38. { "Regeneráció", "Az életed visszatöltődik.", "Regenerációt nyertél!", false, false },
  39. { "Újraéledés", "Újraéledsz ,ha még a kör nem ért véget.", "Halálod után újraéledsz!", false, false },
  40. { "M4A1 + Deagle", "Kapsz egy M4A1-et és egy Deagle-t.", "Kaptál egy M4A1-et és egy Deagle-t!", false, false },
  41. { "NoRecoil", "Fegyvered nem fog rángatózni mikor lősz.", "NoRecoil-t nyertél!", false, false }
  42. };
  43.  
  44. new const secwpns[][] =
  45. {
  46. "weapon_p228",
  47. "weapon_elite",
  48. "weapon_fiveseven",
  49. "weapon_usp",
  50. "weapon_glock18",
  51. "weapon_deagle"
  52. };
  53.  
  54. new valasz[112],valasz2[112],
  55. valasz3[112],valasz4[112],
  56. valasz5[112],valasz6[112];
  57.  
  58. new bool:elso = false;
  59.  
  60. new r,g,b;
  61.  
  62. new g_win_speed,g_win_grav;
  63.  
  64. new winnername[32];
  65.  
  66. new const inifile[] = "addons/amxmodx/configs/questions.ini";
  67. new const qna_prefix[] = "QnA"; //Plugin Prefix
  68.  
  69. //Multijump//
  70. new jumpnum[33] = 0;
  71. new bool:dojump[33] = false;
  72.  
  73. //Regeneration//
  74. new bool:g_p_alive[33];
  75. new g_max_players;
  76. new g_max_health[33];
  77.  
  78. //Respawn
  79. new g_timeleft[33];
  80. new g_msg[64];
  81. new g_HudSync;
  82.  
  83. public plugin_init()
  84. {
  85. register_plugin(PLUGIN, VERSION, AUTHOR)
  86.  
  87. register_logevent( "RoundStart", 2, "1=Round_Start");
  88. register_event( "DeathMsg", "fwd_ClientKill", "a")
  89. register_event( "ScreenFade", "Event_noFlash", "be", "4=255", "5=255", "6=255", "7>199");
  90. register_logevent( "RoundEnd", 2, "1=Round_End");
  91.  
  92. RegisterHam(Ham_TakeDamage, "player", "fwd_TakeDamage");
  93. RegisterHam(Ham_Spawn, "player", "fwd_Player_Spawn", 1);
  94. RegisterHam(Ham_Killed, "player", "fwd_Player_Killed" );
  95.  
  96. register_forward(FM_PlayerPreThink, "FM_PreThink");
  97. register_forward(FM_TraceLine, "FM_traceLine", 1);
  98.  
  99. register_clcmd("say", "hooksay");
  100. register_clcmd("say_team", "hooksay");
  101. register_clcmd("say /nyeremenyek", "Nyeremenyek");
  102.  
  103. register_concmd("qna_give", "cmd_givegift", ADMIN_LEVEL_B, "qna_give <nev> <item>");
  104.  
  105. g_win_speed = register_cvar("amx_qna_speed","1000.0");
  106. g_win_grav = register_cvar("amx_qna_gravity","0.6");
  107. g_max_players = get_maxplayers();
  108. g_HudSync = CreateHudSyncObj();
  109.  
  110. set_task(1.0, "regen", 2152, _, _, "b");
  111.  
  112. set_cvar_num("sv_airaccelerate", 100); //this is for (SPARTA') bunnyhop.
  113. }
  114.  
  115. // ===============================================================================
  116. // Player Respawn
  117. // ===============================================================================
  118.  
  119. public fwd_ClientKill()
  120. {
  121. static id, CsTeams:team;
  122. id = read_data(2);
  123. if(g_gift[9][item][id])
  124. {
  125. team = cs_get_user_team(id);
  126. if(!is_user_connected(id) || is_user_alive(id) || (team != CS_TEAM_T && team != CS_TEAM_CT))
  127. return;
  128. g_timeleft[id] = RESPAWN_TIMER;
  129. set_task(1.0, "count", TID_RESP+id);
  130. if(is_user_bot(id))
  131. return;
  132. set_hudmessage(0, 255, 0, 0.38, 0.35, _, _, 1.0, _, _, -1)
  133. format(g_msg, 63, "Újraéledsz %d másodperc múlva.", g_timeleft[id]);
  134. ShowSyncHudMsg(id, g_HudSync, g_msg)
  135. }
  136. }
  137.  
  138. public count(tid)
  139. {
  140. static id, CsTeams:team;
  141. id = tid-TID_RESP;
  142. team = cs_get_user_team(id)
  143. if(!is_user_connected(id) || is_user_alive(id) || (team != CS_TEAM_T && team != CS_TEAM_CT))
  144. return;
  145.  
  146.  
  147. g_timeleft[id] -= 1;
  148. if(g_timeleft[id] <= 0)
  149. {
  150. set_pev(id,pev_deadflag,DEAD_RESPAWNABLE);
  151. set_task(0.2, "respawn", id)
  152. return;
  153. }
  154. else
  155. {
  156. set_task(1.0, "count", TID_RESP+id);
  157. }
  158.  
  159. if(is_user_bot(id))
  160. return;
  161.  
  162. set_hudmessage(0, 255, 0, 0.38, 0.35, _, _, 1.0, _, _, -1);
  163. format(g_msg, 63, "Újraéledsz %d másodperc múlva.", g_timeleft[id]);
  164. ShowSyncHudMsg(id, g_HudSync, g_msg);
  165. }
  166.  
  167. // ===============================================================================
  168. // Player Respawn
  169. // ===============================================================================
  170.  
  171. public respawn(id)
  172. {
  173. static CsTeams:team;
  174. team = cs_get_user_team(id);
  175. if(!is_user_connected(id) || is_user_alive(id) || (team != CS_TEAM_T && team != CS_TEAM_CT))
  176. {
  177. return;
  178. }
  179. ExecuteHamB(Ham_CS_RoundRespawn, id)
  180. }
  181.  
  182. public RoundEnd()
  183. {
  184. new i;
  185. for(i=1; i<=g_max_players; i++)
  186. {
  187. if(task_exists(TID_RESP+i))
  188. remove_task(TID_RESP+i)
  189. }
  190. }
  191.  
  192. // ===============================================================================
  193. // Player Renegeration
  194. // ===============================================================================
  195.  
  196. public fwd_Player_Spawn(id)
  197. {
  198. if(!is_user_alive(id))
  199. return;
  200.  
  201. g_max_health[id] = get_user_health(id);
  202. g_p_alive[id] = true;
  203. }
  204.  
  205. public fwd_Player_Killed(id)
  206. {
  207. g_p_alive[id] = false;
  208. }
  209.  
  210. // ===============================================================================
  211. // Player Renegeration
  212. // ===============================================================================
  213.  
  214. public regen()
  215. {
  216. static id, hp;
  217. for(id=1; id<=g_max_players; id++)
  218. {
  219. if(g_gift[8][item][id])
  220. {
  221. if(!g_p_alive[id])
  222. {
  223. continue;
  224. }
  225.  
  226. hp = get_user_health(id);
  227.  
  228. if(hp >= g_max_health[id])
  229. {
  230. g_max_health[id] = hp;
  231. }
  232. else
  233. {
  234. set_user_health(id, hp+1);
  235. }
  236. }
  237. }
  238. }
  239.  
  240. // ===============================================================================
  241. // Anti Flash for the winner of the Grenade Pack
  242. // ===============================================================================
  243.  
  244. public Event_noFlash(id)
  245. {
  246. if(g_gift[2][item][id])
  247. {
  248. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0},id)
  249. write_short(1)
  250. write_short(1)
  251. write_short(1)
  252. write_byte(0)
  253. write_byte(0)
  254. write_byte(0)
  255. write_byte(255)
  256. message_end()
  257. }
  258.  
  259. }
  260.  
  261. // ===============================================================================
  262. // MultiJump
  263. // ===============================================================================
  264.  
  265. public client_putinserver(id)
  266. {
  267. jumpnum[id] = 0;
  268. dojump[id] = false;
  269. }
  270.  
  271. public client_disconnect(id)
  272. {
  273. jumpnum[id] = 0;
  274. dojump[id] = false;
  275. g_p_alive[id] = false;
  276. }
  277.  
  278. // ===============================================================================
  279. // Gifts
  280. // ===============================================================================
  281.  
  282. public Nyeremenyek(id)
  283. {
  284. new menu = menu_create("Nyeremények:", "Nyeremenyekh");
  285.  
  286. for(new i; i<sizeof(g_gift); i++)
  287. {
  288. menu_additem(menu, g_gift[i][ItemName],_,0)
  289. }
  290. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  291. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  292. menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  293. menu_setprop(menu, MPROP_EXITNAME, "Kilép");
  294.  
  295. menu_display(id, menu, 0);
  296. return PLUGIN_HANDLED;
  297. }
  298.  
  299. public Nyeremenyekh(id, iMenu, iItem)
  300. {
  301. if(iItem == MENU_EXIT)
  302. {
  303. menu_cancel(id);
  304. return PLUGIN_HANDLED;
  305. }
  306.  
  307. print_color(id, "!g[%s]!t %s",qna_prefix, g_gift[iItem][ItemDesc])
  308.  
  309. Nyeremenyek(id);
  310. return PLUGIN_HANDLED;
  311. }
  312.  
  313. // ===============================================================================
  314. // Player Hurt
  315. // ===============================================================================
  316.  
  317. public fwd_TakeDamage(victim, inflictor, attacker, Float:damage)
  318. {
  319. if (victim != attacker && is_user_connected(attacker))
  320. {
  321. if(get_user_weapon(attacker) == CSW_XM1014)
  322. {
  323. if(g_gift[0][item][attacker])
  324. {
  325. static num
  326. num = random_num(1,4)
  327. if(num == 2)
  328. {
  329. SetHamParamFloat(4, damage * get_user_health(victim))
  330. }
  331. }
  332. }
  333. }
  334. }
  335.  
  336. // ===============================================================================
  337. // Reset
  338. // ===============================================================================
  339.  
  340. public RoundStart()
  341. {
  342. elso = false;
  343.  
  344. new players[32], count;
  345. get_players(players, count);
  346. for(new i=0; i<count; i++)
  347. {
  348. new id = players[i];
  349.  
  350. for(new i; i<sizeof(g_gift); i++)
  351. {
  352. g_gift[i][item][id] = false;
  353. }
  354.  
  355. if(!g_gift[5][item][id]) //reset speed
  356. {
  357. set_user_maxspeed(id,-1.0)
  358. engclient_cmd(id, "weapon_knife");
  359. }
  360.  
  361. if(!g_gift[3][item][id]) //reset gravity
  362. {
  363. set_user_gravity(id,1.0)
  364. engclient_cmd(id, "weapon_knife");
  365. }
  366.  
  367. if(!g_gift[1][item][id]) //reset glow
  368. {
  369. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  370. }
  371.  
  372. ham_strip_weapon(id,"weapon_flashbang")
  373. ham_strip_weapon(id,"weapon_flashbang")
  374. ham_strip_weapon(id,"weapon_smokegrenade")
  375.  
  376. if(get_user_weapon(id) == CSW_XM1014)
  377. {
  378. ham_strip_weapon(id, "weapon_xm1014");
  379. }
  380. }
  381.  
  382. valasz = "";
  383. valasz2 = "";
  384. valasz3 = "";
  385. valasz4 = "";
  386. valasz5 = "";
  387. valasz6 = "";
  388.  
  389. winnername = "";
  390.  
  391. readfile();
  392.  
  393. return PLUGIN_CONTINUE;
  394. }
  395.  
  396. // ===============================================================================
  397. // Read Random Line from an ini file.
  398. // ===============================================================================
  399.  
  400. public readfile()
  401. {
  402. new parsedkerdes[112],parsedvalasz[112],parsedvalasz2[112],parsedvalasz3[112],parsedvalasz4[112],parsedvalasz5[112],parsedvalasz6[112]
  403.  
  404. new lines = file_size(inifile, 1);
  405.  
  406. if(lines > 0)
  407. {
  408. new randomLine = random(lines);
  409.  
  410. new lineBuffer[256], len;
  411.  
  412. read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  413.  
  414. parse(lineBuffer,parsedkerdes,111,parsedvalasz,111,parsedvalasz2,111,parsedvalasz3,111,parsedvalasz4,111,parsedvalasz5,111,parsedvalasz6,111);
  415.  
  416. static msg[192];
  417. format(msg,charsmax(msg), "[%s]^nÍrd le chatbe a választ!",parsedkerdes)
  418.  
  419. r = random(255);
  420. g = random(255);
  421. b = random(255);
  422.  
  423. ekezet_show(0, msg, r, g, b, -1.0, -1.0, 1, 6.0, 10.0); //id, formázott szöveg, r, g, b, x, y, effekt, fxtime, show_time
  424.  
  425. valasz = parsedvalasz;
  426. valasz2 = parsedvalasz2;
  427. valasz3 = parsedvalasz3;
  428. valasz4 = parsedvalasz4;
  429. valasz5 = parsedvalasz5;
  430. valasz6 = parsedvalasz6;
  431. }
  432. }
  433.  
  434. // ===============================================================================
  435. // Read Chat
  436. // ===============================================================================
  437.  
  438. public hooksay(id)
  439. {
  440. if(is_user_bot(id) || !is_user_alive(id))
  441. {
  442. return PLUGIN_CONTINUE;
  443. }
  444. static message[192];
  445. read_args (message, 191);
  446. remove_quotes (message);
  447.  
  448. new name[32];
  449. get_user_name(id,name,31)
  450.  
  451. if(equali(message,valasz) || equali(message,valasz2) || equali(message,valasz3) || equali(message,valasz4) || equali(message,valasz5) || equali(message,valasz6))
  452. {
  453. if(!elso)
  454. {
  455. print_color(0,"!t[%s]!g A győztes:!t %s",qna_prefix,name);
  456. elso = true;
  457. give_gift(id,random(MAX_GIFT));
  458. winnername = name;
  459. }
  460. else
  461. {
  462. print_color(id,"!g[%s]!t Elkéstél! A győztes:!g %s",qna_prefix,winnername);
  463. }
  464. }
  465. return PLUGIN_CONTINUE;
  466. }
  467.  
  468. // ===============================================================================
  469. // Giving Gifts
  470. // ===============================================================================
  471.  
  472. public give_gift(id,iItem)
  473. {
  474. new gift = iItem;
  475.  
  476. g_gift[gift][item][id] = true;
  477. print_color(id, "!g[%s]!t %s",qna_prefix, g_gift[gift][ItemGived])
  478.  
  479. if(g_gift[0][item][id])
  480. {
  481. give_item(id, "weapon_xm1014");
  482. cs_set_user_bpammo(id,CSW_XM1014,90);
  483. }
  484.  
  485. if(g_gift[1][item][id])
  486. {
  487. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20);
  488. }
  489.  
  490. if(g_gift[2][item][id])
  491. {
  492. give_item(id, "weapon_hegrenade");
  493. give_item(id,"weapon_flashbang");
  494. give_item(id,"weapon_flashbang");
  495. give_item(id,"weapon_smokegrenade");
  496. }
  497.  
  498. if(g_gift[10][item][id])
  499. {
  500. drop_sec(id);
  501.  
  502. give_item(id, "weapon_m4a1");
  503. give_item(id,"weapon_deagle");
  504.  
  505. cs_set_user_bpammo(id, CSW_M4A1,90);
  506. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  507. }
  508.  
  509. if(g_gift[gift][item][id] && g_gift[gift][aPlugin])
  510. {
  511. if(gift == 13)
  512. {
  513. drop_sec(id);
  514. }
  515.  
  516. if( callfunc_begin(g_gift[gift][ItemFunc], g_gift[gift][ItemPlugin]) == 1 )
  517. {
  518. callfunc_push_int(id)
  519. callfunc_end()
  520. }
  521. }
  522. }
  523.  
  524. public FM_PreThink(id)
  525. {
  526. if(is_user_alive(id))
  527. {
  528. static Float:origin[3], players[32], num, num2, team
  529. team = get_user_team(id)
  530. arrayset(players,0,32)
  531.  
  532. if(g_gift[4][item][id])
  533. {
  534. pev(id,pev_origin,origin)
  535. get_players_distance(origin,players,num,"a")
  536. static Float:hudpos[2]
  537. static Float:distance
  538. static Float:origin2[3]
  539. num2=0
  540. for(new i=0;i<num;i++)
  541. {
  542. if(players[i] && get_user_team(players[i])!=team)
  543. {
  544. pev(players[i],pev_origin,origin2)
  545. if(get_hudmessage_locs(id,origin2,hudpos))
  546. {
  547. distance = vector_distance(origin,origin2)
  548. num2++
  549. set_hudmessage(255,0,0,hudpos[0],hudpos[1],0,6.0,0.2,0.1, 0.2,num2)
  550. show_hudmessage(id, "%d",floatround(distance / 10.0))
  551. if(num2==4) break;
  552. }
  553. }
  554. }
  555. }
  556. else if(g_gift[3][item][id])
  557. {
  558. set_user_gravity(id, get_pcvar_float(g_win_grav))
  559. }
  560. else if(g_gift[5][item][id])
  561. {
  562. set_user_maxspeed(id, get_pcvar_float(g_win_speed))
  563. }
  564. if(g_gift[6][item][id])
  565. {
  566. entity_set_float(id, EV_FL_fuser2, 0.0)
  567.  
  568. if (entity_get_int(id, EV_INT_button) & 2)
  569. {
  570. new flags = entity_get_int(id, EV_INT_flags)
  571.  
  572. if (flags & FL_WATERJUMP)
  573. return PLUGIN_CONTINUE
  574. if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
  575. return PLUGIN_CONTINUE
  576. if ( !(flags & FL_ONGROUND) )
  577. return PLUGIN_CONTINUE
  578.  
  579. new Float:velocity[3]
  580. entity_get_vector(id, EV_VEC_velocity, velocity)
  581. velocity[2] += 250.0
  582. entity_set_vector(id, EV_VEC_velocity, velocity)
  583.  
  584. entity_set_int(id, EV_INT_gaitsequence, 6)
  585. }
  586. }
  587. if(g_gift[7][item][id])
  588. {
  589. new nbut = get_user_button(id)
  590. new obut = get_user_oldbutton(id)
  591. if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
  592. {
  593. if(jumpnum[id] < WINNER_JUMPS)
  594. {
  595. dojump[id] = true
  596. jumpnum[id]++
  597. return PLUGIN_CONTINUE
  598. }
  599. }
  600. if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
  601. {
  602. jumpnum[id] = 0
  603. return PLUGIN_CONTINUE
  604. }
  605. }
  606. if(g_gift[11][item][id])
  607. {
  608. if(get_user_button(id) & IN_ATTACK)
  609. entity_set_vector(id, EV_VEC_punchangle, Float:{0.0, 0.0, 0.0});
  610. }
  611. }
  612. return PLUGIN_CONTINUE;
  613. }
  614.  
  615. public FM_traceLine(Float:v1[3], Float:v2[3], noMonsters, id)
  616. {
  617. if(!is_user_connected(id) || !is_user_alive(id))
  618. return FMRES_IGNORED;
  619.  
  620. if(g_gift[11][item][id])
  621. {
  622. new hit[3], Float:fHit[3];
  623. get_user_origin(id, hit, 4);
  624. IVecFVec(hit, fHit);
  625.  
  626. set_tr(TR_vecEndPos, fHit);
  627.  
  628. }
  629. return FMRES_IGNORED;
  630. }
  631.  
  632. public client_PostThink(id)
  633. {
  634. if(g_gift[7][item][id])
  635. {
  636. if(!is_user_alive(id)) return PLUGIN_CONTINUE;
  637. if(dojump[id] == true)
  638. {
  639. new Float:velocity[3]
  640. entity_get_vector(id,EV_VEC_velocity,velocity)
  641. velocity[2] = random_float(265.0,285.0)
  642. entity_set_vector(id,EV_VEC_velocity,velocity)
  643. dojump[id] = false
  644. return PLUGIN_CONTINUE
  645. }
  646. }
  647. return PLUGIN_CONTINUE
  648. }
  649.  
  650. public cmd_givegift(id)
  651. {
  652. if(get_user_flags(id) & ADMIN_KICK)
  653. {
  654. new Arg1[64]
  655. read_argv(1, Arg1, 63)
  656.  
  657. new Target = cmd_target(id, Arg1, 0);
  658.  
  659. if(!Target)
  660. {
  661. client_print(id, print_console, "[%s] Jatekos nem talalhato!",qna_prefix)
  662. return PLUGIN_HANDLED;
  663. }
  664.  
  665. new iLevel[32], Value;
  666. read_argv(2, iLevel, 31);
  667. Value = str_to_num(iLevel);
  668.  
  669. if(Value > MAX_GIFT-1)
  670. {
  671. client_print(id, print_console, "Az item nem lehet nagyobb ,mint %d",MAX_GIFT-1)
  672. return PLUGIN_HANDLED;
  673. }
  674.  
  675. g_gift[Value][item][Target] = true;
  676. give_gift(Target,Value);
  677. }
  678. else
  679. {
  680. client_print(id, print_chat, "Nem vagy Admin")
  681. client_print(id, print_console, "Nem vagy Admin")
  682. }
  683. return PLUGIN_CONTINUE;
  684. }
  685. // ===============================================================================
  686. // Stocks
  687. // ===============================================================================
  688.  
  689. stock ham_strip_weapon(id,weapon[])
  690. {
  691. if(!equal(weapon,"weapon_",7)) return 0;
  692.  
  693. new wId = get_weaponid(weapon);
  694. if(!wId) return 0;
  695.  
  696. new wEnt;
  697. while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
  698. if(!wEnt) return 0;
  699.  
  700. if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
  701.  
  702. if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0;
  703. ExecuteHamB(Ham_Item_Kill,wEnt);
  704.  
  705. set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId));
  706.  
  707. if(wId == CSW_C4)
  708. {
  709. cs_set_user_plant(id,0,0);
  710. cs_set_user_bpammo(id,CSW_C4,0);
  711. }
  712. else if(wId == CSW_SMOKEGRENADE || wId == CSW_FLASHBANG || wId == CSW_HEGRENADE)
  713. cs_set_user_bpammo(id,wId,0);
  714.  
  715. return 1;
  716. }
  717. stock print_color(const id, const input[], any:...)
  718. {
  719. new count = 1, players[32];
  720. static msg[191];
  721. vformat(msg, 190, input, 3);
  722.  
  723. replace_all(msg, 190, "!g", "^4");
  724. replace_all(msg, 190, "!y", "^1");
  725. replace_all(msg, 190, "!t", "^3");
  726. replace_all(msg, 190, "á", "á")
  727. replace_all(msg, 190, "é", "Ă©")
  728. replace_all(msg, 190, "í", "Ă­")
  729. replace_all(msg, 190, "ó", "Ăł")
  730. replace_all(msg, 190, "ö", "ö")
  731. replace_all(msg, 190, "ő", "Ĺ‘")
  732. replace_all(msg, 190, "ú", "Ăş")
  733. replace_all(msg, 190, "ü", "ĂĽ")
  734. replace_all(msg, 190, "ű", "ű")
  735. replace_all(msg, 190, "Á", "Á")
  736. replace_all(msg, 190, "É", "É")
  737. replace_all(msg, 190, "Í", "ĂŤ")
  738. replace_all(msg, 190, "Ó", "Ă“")
  739. replace_all(msg, 190, "Ö", "Ă–")
  740. replace_all(msg, 190, "Ő", "Ő")
  741. replace_all(msg, 190, "Ú", "Ăš")
  742. replace_all(msg, 190, "Ü", "Ăś")
  743. replace_all(msg, 190, "Ű", "Ĺ°")
  744.  
  745. if (id) players[0] = id; else get_players(players, count, "ch");
  746. {
  747. for (new i = 0; i < count; i++)
  748. {
  749. if (is_user_connected(players[i]))
  750. {
  751. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  752. write_byte(players[i]);
  753. write_string(msg);
  754. message_end();
  755. }
  756. }
  757. }
  758. return PLUGIN_HANDLED;
  759. }
  760. stock ekezet_show(const id, const hud[], r, g, b, Float:x, Float:y, effect, Float:fxtime, Float:show_time)
  761. {
  762.  
  763. new count = 1, players[32];
  764. static msg[191];
  765. vformat(msg, 190, hud, 3);
  766.  
  767. replace_all(msg, 190, "á", "á");
  768. replace_all(msg, 190, "é", "Ă©");
  769. replace_all(msg, 190, "í", "Ă­");
  770. replace_all(msg, 190, "ó", "Ăł");
  771. replace_all(msg, 190, "ö", "ö");
  772. replace_all(msg, 190, "ő", "Ĺ‘");
  773. replace_all(msg, 190, "ú", "Ăş");
  774. replace_all(msg, 190, "ü", "ĂĽ");
  775. replace_all(msg, 190, "ű", "ű");
  776. replace_all(msg, 190, "Á", "Á");
  777. replace_all(msg, 190, "É", "É");
  778. replace_all(msg, 190, "Í", "ĂŤ");
  779. replace_all(msg, 190, "Ó", "Ă“");
  780. replace_all(msg, 190, "Ö", "Ă–");
  781. replace_all(msg, 190, "Ő", "Ő");
  782. replace_all(msg, 190, "Ú", "Ăš");
  783. replace_all(msg, 190, "Ü", "Ăś");
  784. replace_all(msg, 190, "Ű", "Ĺ°");
  785.  
  786. if (id) players[0] = id; else get_players(players, count, "ch");
  787. {
  788. for (new i = 0; i < count; i++)
  789. {
  790. if (is_user_connected(players[i]))
  791. {
  792. set_hudmessage(r, g, b, Float:x, Float:y, effect, Float:fxtime, Float:show_time);
  793. show_hudmessage(players[i],msg);
  794. }
  795. }
  796. }
  797.  
  798. }
  799.  
  800. stock drop_sec(id)
  801. {
  802. for(new j = 0; j < sizeof secwpns; j++)
  803. {
  804. engclient_cmd(id,"drop", secwpns[j])
  805. }
  806. }
  807. // ===============================================================================
  808. // Stocks From CHR_Engine
  809. // ===============================================================================
  810.  
  811. stock get_players_distance(const Float:origin2[3],players[32], &num,const flags[]="",index=0,const team[]="")
  812. {
  813. new bool:flag1, bool:flag2
  814. if(containi(flags,"j")!=-1) flag2 = true
  815. if(containi(flags,"i")!=-1)
  816. {
  817. if(!pev_valid(index))
  818. return 0;
  819. flag1 = true
  820. }
  821.  
  822. static Float:origin[3]
  823. origin[0] = origin2[0]
  824. origin[1] = origin2[1]
  825. origin[2] = origin2[2]
  826.  
  827. static players2[32]
  828. new num2
  829. arrayset(players2,0,32)
  830. get_players(players2,num2,flags,team)
  831. static Float:origin3[3]
  832. static Float:distance[32]
  833. for(new i=0;i<32;i++) distance[i]=0.0
  834. num = num2
  835.  
  836. static Float:hit[3]
  837. new bool:continuea=true
  838. for(new i=0;i<num2;i++)
  839. {
  840. pev(players2[i],pev_origin,origin3)
  841. if(flag2)
  842. {
  843. engfunc(EngFunc_TraceLine,origin2,origin3,1,index,0)
  844. get_tr2(0,TR_vecEndPos,hit)
  845. if(hit[0]==origin3[0] && hit[1]==origin3[1] && hit[2]==origin3[2])
  846. {
  847. distance[i] = vector_distance(origin,origin3)
  848. }
  849. else
  850. {
  851. continuea=false
  852. distance[i] = 9999999.1337
  853. num--
  854. }
  855. }
  856. if(flag1 && continuea)
  857. {
  858. static Float:angles[3], Float:diff[3], Float:reciprocalsq, Float:norm[3], Float:dot, Float:fov
  859. pev(index, pev_angles, angles)
  860. engfunc(EngFunc_MakeVectors, angles)
  861. global_get(glb_v_forward, angles)
  862. angles[2] = 0.0
  863.  
  864. pev(index, pev_origin, origin)
  865. diff[0] = origin3[0] - origin[0]
  866. diff[1] = origin3[1] - origin[1]
  867. diff[2] = origin3[2] - origin[2]
  868. //diff[2]=0.0// - for 2D viewcone
  869.  
  870. reciprocalsq = 1.0 / floatsqroot(diff[0]*diff[0] + diff[1]*diff[1] + diff[2]*diff[2])
  871. norm[0] = diff[0] * reciprocalsq
  872. norm[1] = diff[1] * reciprocalsq
  873. norm[2] = diff[2] * reciprocalsq
  874.  
  875. dot = norm[0]*angles[0] + norm[1]*angles[1] + norm[2]*angles[2]
  876. pev(index, pev_fov, fov)
  877. if(dot >= floatcos(fov * 3.1415926535 / 360.0))
  878. {
  879. distance[i] = vector_distance(origin,origin3)
  880. }
  881. else
  882. {
  883. continuea=false
  884. distance[i] = 9999999.1337
  885. num--
  886. }
  887. }
  888. if(continuea)
  889. {
  890. distance[i] = vector_distance(origin,origin3)
  891. }
  892. }
  893. static distance_cnt[32]
  894. arrayset(distance_cnt,0,32)
  895. for(new i=0;i<num2;i++)
  896. {
  897. if(distance[i]!=9999999.1337)
  898. {
  899. for(new i2=0;i2<num;i2++)
  900. {
  901. if(distance[i2]<distance[i]) distance_cnt[i]++
  902. }
  903. players[distance_cnt[i]]=players2[i]
  904. }
  905. }
  906. return 1;
  907. }
  908.  
  909. stock get_hudmessage_locs(ent,const Float:origin[3],Float:hudpos[2])
  910. {
  911. if(!is_user_connected(ent))
  912. return 0;
  913.  
  914. static Float:origin2[3]
  915. origin2[0] = origin[0]
  916. origin2[1] = origin[1]
  917. origin2[2] = origin[2]
  918.  
  919. static Float:ent_origin[3]
  920.  
  921. pev(ent,pev_origin,ent_origin)
  922.  
  923. static Float:ent_angles[3]
  924.  
  925. pev(ent,pev_v_angle,ent_angles)
  926.  
  927. origin2[0] -= ent_origin[0]
  928. origin2[1] -= ent_origin[1]
  929. origin2[2] -= ent_origin[2]
  930.  
  931. new Float:v_length
  932. v_length = vector_length(origin2)
  933.  
  934. static Float:aim_vector[3]
  935. aim_vector[0] = origin2[0] / v_length
  936. aim_vector[1] = origin2[1] / v_length
  937. aim_vector[2] = origin2[2] / v_length
  938.  
  939. static Float:new_angles[3]
  940. vector_to_angle(aim_vector,new_angles)
  941.  
  942. new_angles[0] *= -1
  943.  
  944. if(new_angles[1]>180.0) new_angles[1] -= 360.0
  945. if(new_angles[1]<-180.0) new_angles[1] += 360.0
  946. if(new_angles[1]==180.0 || new_angles[1]==-180.0) new_angles[1]=-179.999999
  947.  
  948. if(new_angles[0]>180.0) new_angles[0] -= 360.0
  949. if(new_angles[0]<-180.0) new_angles[0] += 360.0
  950. if(new_angles[0]==90.0) new_angles[0]=89.999999
  951. else if(new_angles[0]==-90.0) new_angles[0]=-89.999999
  952.  
  953. new Float:fov
  954. pev(ent,pev_fov,fov)
  955.  
  956. if(!fov)
  957. fov = 90.0
  958.  
  959. if(floatabs(ent_angles[0] - new_angles[0]) <= fov/2 && floatabs((180.0 - floatabs(ent_angles[1])) - (180.0 - floatabs(new_angles[1]))) <= fov/2)
  960. {
  961. hudpos[1] = 1 - ( ( (ent_angles[0] - new_angles[0]) + fov/2 ) / fov )
  962. hudpos[0] = ( (ent_angles[1] - new_angles[1]) + fov/2 ) / fov
  963. }
  964. else
  965. return 0;
  966.  
  967. return 1;
  968. }
  969.  
  970.  
  971. // =============================================================================== ===============================================================================//
  972. // Thanks everybody for watching I hope you are enjoyed. Leave a like and a comment. Seeya Guys Later. <!-- s:D --><img src=\"{SMILIES_PATH}/icon_e_biggrin.gif\" alt=\":D\" title=\"nagyon boldog\" /><!-- s:D -->
  973. // =============================================================================== ===============================================================================//
  974.  

_________________
"Scripta manent, verba volant."
"A szó elszáll, az írás megmarad."
Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 13:15 
Offline
Nagyúr
Avatar

Csatlakozott: 2012.09.23. 09:50
Hozzászólások: 569
Megköszönt másnak: 76 alkalommal
Megköszönték neki: 37 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <hamsandwich>
  4. #include <fun>
  5. #include <cstrike>
  6. #include <engine>
  7. #include <fakemeta>
  8.  
  9. #define MAX_GIFT 12
  10. #define WINNER_JUMPS 1
  11.  
  12. #define RESPAWN_TIMER 5
  13. #define TID_RESP 2551
  14.  
  15. #define FL_WATERJUMP (1<<11)
  16. #define FL_ONGROUND (1<<9)
  17.  
  18. enum _:GiftDatas
  19. {
  20. /* Ajándék neve Ajandék leírása Kapott uzenet, false ,másik plugin-e? funckció plugin*/
  21. ItemName[128], ItemDesc[192], ItemGived[128],bool:item[33],bool:aPlugin,ItemFunc[128],ItemPlugin[128]
  22. };
  23.  
  24. new const PLUGIN[] = "Questions and Answers";
  25. new const VERSION[] = "1.0";
  26. new const AUTHOR[] = "#CantStopWontStop";
  27.  
  28. new const g_gift[MAX_GIFT][GiftDatas] =
  29. {
  30. { "XM1014 Shotgun", "1:4-höz az esélyed az azonnali ölésre!", "Kaptál egy XM1014 Shotgun-t!", false, false },
  31. { "Láthatatlanság", "Láthatatlan leszel a kör végéig!", "Láthatatlan lettél a kör végéig!", false, false },
  32. { "Gránát Csomag", "Kapsz egy gránát csomagot.", "Kaptál egy gránát csomagot!", false, false },
  33. { "Kisebb Gravitáció", "Kisebb gravitációt kapsz.", "Kisebb gravitációt kaptál!", false, false },
  34. { "Wallhack", "Egy kisebb wallhacket kapsz. Látod ellenfeleid falon keresztül.", "Wallhacket nyertél!", false, false },
  35. { "Gyorsaság", "Nagyobb gyorsaságot kapsz.", "Nagyobb gyorsaságot kaptál!", false, false },
  36. { "BunnyHop", "Folyamatosan tudsz ugrani.", "Bunnyhop-ot nyertél!", false, false },
  37. { "DuplaUgrás", "Többet tudsz ugrani.", "Több ugrást nyertél!", false, false },
  38. { "Regeneráció", "Az életed visszatöltődik.", "Regenerációt nyertél!", false, false },
  39. { "Újraéledés", "Újraéledsz ,ha még a kör nem ért véget.", "Halálod után újraéledsz!", false, false },
  40. { "M4A1 + Deagle", "Kapsz egy M4A1-et és egy Deagle-t.", "Kaptál egy M4A1-et és egy Deagle-t!", false, false },
  41. { "NoRecoil", "Fegyvered nem fog rángatózni mikor lősz.", "NoRecoil-t nyertél!", false, false }
  42. };
  43.  
  44. new const secwpns[][] =
  45. {
  46. "weapon_p228",
  47. "weapon_elite",
  48. "weapon_fiveseven",
  49. "weapon_usp",
  50. "weapon_glock18",
  51. "weapon_deagle"
  52. };
  53.  
  54. new valasz[112],valasz2[112],
  55. valasz3[112],valasz4[112],
  56. valasz5[112],valasz6[112];
  57.  
  58. new bool:elso = false;
  59.  
  60. new r,g,b;
  61.  
  62. new g_win_speed,g_win_grav;
  63.  
  64. new winnername[32];
  65.  
  66. new const inifile[] = "addons/amxmodx/configs/questions.ini";
  67. new const qna_prefix[] = "QnA"; //Plugin Prefix
  68.  
  69. //Multijump//
  70. new jumpnum[33] = 0;
  71. new bool:dojump[33] = false;
  72.  
  73. //Regeneration//
  74. new bool:g_p_alive[33];
  75. new g_max_players;
  76. new g_max_health[33];
  77.  
  78. //Respawn
  79. new g_timeleft[33];
  80. new g_msg[64];
  81. new g_HudSync;
  82.  
  83. public plugin_init()
  84. {
  85. register_plugin(PLUGIN, VERSION, AUTHOR)
  86.  
  87. register_logevent( "RoundStart", 2, "1=Round_Start");
  88. register_event( "DeathMsg", "fwd_ClientKill", "a")
  89. register_event( "ScreenFade", "Event_noFlash", "be", "4=255", "5=255", "6=255", "7>199");
  90. register_logevent( "RoundEnd", 2, "1=Round_End");
  91.  
  92. RegisterHam(Ham_TakeDamage, "player", "fwd_TakeDamage");
  93. RegisterHam(Ham_Spawn, "player", "fwd_Player_Spawn", 1);
  94. RegisterHam(Ham_Killed, "player", "fwd_Player_Killed" );
  95.  
  96. register_forward(FM_PlayerPreThink, "FM_PreThink");
  97. register_forward(FM_TraceLine, "FM_traceLine", 1);
  98.  
  99. register_clcmd("say", "hooksay");
  100. register_clcmd("say_team", "hooksay");
  101. register_clcmd("say /nyeremenyek", "Nyeremenyek");
  102.  
  103. register_concmd("qna_give", "cmd_givegift", ADMIN_LEVEL_B, "qna_give <nev> <item>");
  104.  
  105. g_win_speed = register_cvar("amx_qna_speed","1000.0");
  106. g_win_grav = register_cvar("amx_qna_gravity","0.6");
  107. g_max_players = get_maxplayers();
  108. g_HudSync = CreateHudSyncObj();
  109.  
  110. set_task(1.0, "regen", 2152, _, _, "b");
  111.  
  112. set_cvar_num("sv_airaccelerate", 100); //this is for (SPARTA') bunnyhop.
  113. }
  114.  
  115. // ===============================================================================
  116. // Player Respawn
  117. // ===============================================================================
  118.  
  119. public fwd_ClientKill()
  120. {
  121. static id, CsTeams:team;
  122. id = read_data(2);
  123. if(g_gift[9][item][id])
  124. {
  125. team = cs_get_user_team(id);
  126. if(!is_user_connected(id) || is_user_alive(id) || (team != CS_TEAM_T && team != CS_TEAM_CT))
  127. return;
  128. g_timeleft[id] = RESPAWN_TIMER;
  129. set_task(1.0, "count", TID_RESP+id);
  130. if(is_user_bot(id))
  131. return;
  132. set_hudmessage(0, 255, 0, 0.38, 0.35, _, _, 1.0, _, _, -1)
  133. format(g_msg, 63, "Újraéledsz %d másodperc múlva.", g_timeleft[id]);
  134. ShowSyncHudMsg(id, g_HudSync, g_msg)
  135. }
  136. }
  137.  
  138. public count(tid)
  139. {
  140. static id, CsTeams:team;
  141. id = tid-TID_RESP;
  142. team = cs_get_user_team(id)
  143. if(!is_user_connected(id) || is_user_alive(id) || (team != CS_TEAM_T && team != CS_TEAM_CT))
  144. return;
  145.  
  146.  
  147. g_timeleft[id] -= 1;
  148. if(g_timeleft[id] <= 0)
  149. {
  150. set_pev(id,pev_deadflag,DEAD_RESPAWNABLE);
  151. set_task(0.2, "respawn", id)
  152. return;
  153. }
  154. else
  155. {
  156. set_task(1.0, "count", TID_RESP+id);
  157. }
  158.  
  159. if(is_user_bot(id))
  160. return;
  161.  
  162. set_hudmessage(0, 255, 0, 0.38, 0.35, _, _, 1.0, _, _, -1);
  163. format(g_msg, 63, "Újraéledsz %d másodperc múlva.", g_timeleft[id]);
  164. ShowSyncHudMsg(id, g_HudSync, g_msg);
  165. }
  166.  
  167. // ===============================================================================
  168. // Player Respawn
  169. // ===============================================================================
  170.  
  171. public respawn(id)
  172. {
  173. static CsTeams:team;
  174. team = cs_get_user_team(id);
  175. if(!is_user_connected(id) || is_user_alive(id) || (team != CS_TEAM_T && team != CS_TEAM_CT))
  176. {
  177. return;
  178. }
  179. ExecuteHamB(Ham_CS_RoundRespawn, id)
  180. }
  181.  
  182. public RoundEnd()
  183. {
  184. new i;
  185. for(i=1; i<=g_max_players; i++)
  186. {
  187. if(task_exists(TID_RESP+i))
  188. remove_task(TID_RESP+i)
  189. }
  190. }
  191.  
  192. // ===============================================================================
  193. // Player Renegeration
  194. // ===============================================================================
  195.  
  196. public fwd_Player_Spawn(id)
  197. {
  198. if(!is_user_alive(id))
  199. return;
  200.  
  201. g_max_health[id] = get_user_health(id);
  202. g_p_alive[id] = true;
  203. }
  204.  
  205. public fwd_Player_Killed(id)
  206. {
  207. g_p_alive[id] = false;
  208. }
  209.  
  210. // ===============================================================================
  211. // Player Renegeration
  212. // ===============================================================================
  213.  
  214. public regen()
  215. {
  216. static id, hp;
  217. for(id=1; id<=g_max_players; id++)
  218. {
  219. if(g_gift[8][item][id])
  220. {
  221. if(!g_p_alive[id])
  222. {
  223. continue;
  224. }
  225.  
  226. hp = get_user_health(id);
  227.  
  228. if(hp >= g_max_health[id])
  229. {
  230. g_max_health[id] = hp;
  231. }
  232. else
  233. {
  234. set_user_health(id, hp+1);
  235. }
  236. }
  237. }
  238. }
  239.  
  240. // ===============================================================================
  241. // Anti Flash for the winner of the Grenade Pack
  242. // ===============================================================================
  243.  
  244. public Event_noFlash(id)
  245. {
  246. if(g_gift[2][item][id])
  247. {
  248. message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0},id)
  249. write_short(1)
  250. write_short(1)
  251. write_short(1)
  252. write_byte(0)
  253. write_byte(0)
  254. write_byte(0)
  255. write_byte(255)
  256. message_end()
  257. }
  258.  
  259. }
  260.  
  261. // ===============================================================================
  262. // MultiJump
  263. // ===============================================================================
  264.  
  265. public client_putinserver(id)
  266. {
  267. jumpnum[id] = 0;
  268. dojump[id] = false;
  269. }
  270.  
  271. public client_disconnect(id)
  272. {
  273. jumpnum[id] = 0;
  274. dojump[id] = false;
  275. g_p_alive[id] = false;
  276. }
  277.  
  278. // ===============================================================================
  279. // Gifts
  280. // ===============================================================================
  281.  
  282. public Nyeremenyek(id)
  283. {
  284. new menu = menu_create("Nyeremények:", "Nyeremenyekh");
  285.  
  286. for(new i; i<sizeof(g_gift); i++)
  287. {
  288. menu_additem(menu, g_gift[i][ItemName],_,0)
  289. }
  290. menu_setprop(menu, MPROP_EXIT, MEXIT_ALL);
  291. menu_setprop(menu, MPROP_BACKNAME, "Vissza");
  292. menu_setprop(menu, MPROP_NEXTNAME, "Előre");
  293. menu_setprop(menu, MPROP_EXITNAME, "Kilép");
  294.  
  295. menu_display(id, menu, 0);
  296. return PLUGIN_HANDLED;
  297. }
  298.  
  299. public Nyeremenyekh(id, iMenu, iItem)
  300. {
  301. if(iItem == MENU_EXIT)
  302. {
  303. menu_cancel(id);
  304. return PLUGIN_HANDLED;
  305. }
  306.  
  307. print_color(id, "!g[%s]!t %s",qna_prefix, g_gift[iItem][ItemDesc])
  308.  
  309. Nyeremenyek(id);
  310. return PLUGIN_HANDLED;
  311. }
  312.  
  313. // ===============================================================================
  314. // Player Hurt
  315. // ===============================================================================
  316.  
  317. public fwd_TakeDamage(victim, inflictor, attacker, Float:damage)
  318. {
  319. if (victim != attacker && is_user_connected(attacker))
  320. {
  321. if(get_user_weapon(attacker) == CSW_XM1014)
  322. {
  323. if(g_gift[0][item][attacker])
  324. {
  325. static num
  326. num = random_num(1,4)
  327. if(num == 2)
  328. {
  329. SetHamParamFloat(4, damage * get_user_health(victim))
  330. }
  331. }
  332. }
  333. }
  334. }
  335.  
  336. // ===============================================================================
  337. // Reset
  338. // ===============================================================================
  339.  
  340. public RoundStart()
  341. {
  342. elso = false;
  343.  
  344. new players[32], count;
  345. get_players(players, count);
  346. for(new i=0; i<count; i++)
  347. {
  348. new id = players[i];
  349.  
  350. for(new i; i<sizeof(g_gift); i++)
  351. {
  352. g_gift[i][item][id] = false;
  353. }
  354.  
  355. if(!g_gift[5][item][id]) //reset speed
  356. {
  357. set_user_maxspeed(id,-1.0)
  358. engclient_cmd(id, "weapon_knife");
  359. }
  360.  
  361. if(!g_gift[3][item][id]) //reset gravity
  362. {
  363. set_user_gravity(id,1.0)
  364. engclient_cmd(id, "weapon_knife");
  365. }
  366.  
  367. if(!g_gift[1][item][id]) //reset glow
  368. {
  369. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  370. }
  371.  
  372. ham_strip_weapon(id,"weapon_flashbang")
  373. ham_strip_weapon(id,"weapon_flashbang")
  374. ham_strip_weapon(id,"weapon_smokegrenade")
  375.  
  376. if(get_user_weapon(id) == CSW_XM1014)
  377. {
  378. ham_strip_weapon(id, "weapon_xm1014");
  379. }
  380. }
  381.  
  382. valasz = "";
  383. valasz2 = "";
  384. valasz3 = "";
  385. valasz4 = "";
  386. valasz5 = "";
  387. valasz6 = "";
  388.  
  389. winnername = "";
  390.  
  391. readfile();
  392.  
  393. return PLUGIN_CONTINUE;
  394. }
  395.  
  396. // ===============================================================================
  397. // Read Random Line from an ini file.
  398. // ===============================================================================
  399.  
  400. public readfile()
  401. {
  402. new parsedkerdes[112],parsedvalasz[112],parsedvalasz2[112],parsedvalasz3[112],parsedvalasz4[112],parsedvalasz5[112],parsedvalasz6[112]
  403.  
  404. new lines = file_size(inifile, 1);
  405.  
  406. if(lines > 0)
  407. {
  408. new randomLine = random(lines);
  409.  
  410. new lineBuffer[256], len;
  411.  
  412. read_file(inifile, randomLine, lineBuffer, charsmax(lineBuffer), len);
  413.  
  414. parse(lineBuffer,parsedkerdes,111,parsedvalasz,111,parsedvalasz2,111,parsedvalasz3,111,parsedvalasz4,111,parsedvalasz5,111,parsedvalasz6,111);
  415.  
  416. static msg[192];
  417. format(msg,charsmax(msg), "[%s]^nÍrd le chatbe a választ!",parsedkerdes)
  418.  
  419. r = random(255);
  420. g = random(255);
  421. b = random(255);
  422.  
  423. ekezet_show(0, msg, r, g, b, -1.0, -1.0, 1, 6.0, 10.0); //id, formázott szöveg, r, g, b, x, y, effekt, fxtime, show_time
  424.  
  425. valasz = parsedvalasz;
  426. valasz2 = parsedvalasz2;
  427. valasz3 = parsedvalasz3;
  428. valasz4 = parsedvalasz4;
  429. valasz5 = parsedvalasz5;
  430. valasz6 = parsedvalasz6;
  431. }
  432. }
  433.  
  434. // ===============================================================================
  435. // Read Chat
  436. // ===============================================================================
  437.  
  438. public hooksay(id)
  439. {
  440. if(is_user_bot(id) || !is_user_alive(id))
  441. {
  442. return PLUGIN_CONTINUE;
  443. }
  444. static message[192];
  445. read_args (message, 191);
  446. remove_quotes (message);
  447.  
  448. new name[32];
  449. get_user_name(id,name,31)
  450.  
  451. if(equali(message,valasz) || equali(message,valasz2) || equali(message,valasz3) || equali(message,valasz4) || equali(message,valasz5) || equali(message,valasz6))
  452. {
  453. if(!elso)
  454. {
  455. print_color(0,"!t[%s]!g A győztes:!t %s",qna_prefix,name);
  456. elso = true;
  457. give_gift(id,random(MAX_GIFT));
  458. winnername = name;
  459. }
  460. else
  461. {
  462. print_color(id,"!g[%s]!t Elkéstél! A győztes:!g %s",qna_prefix,winnername);
  463. }
  464. }
  465. return PLUGIN_CONTINUE;
  466. }
  467.  
  468. // ===============================================================================
  469. // Giving Gifts
  470. // ===============================================================================
  471.  
  472. public give_gift(id,iItem)
  473. {
  474. new gift = iItem;
  475.  
  476. g_gift[gift][item][id] = true;
  477. print_color(id, "!g[%s]!t %s",qna_prefix, g_gift[gift][ItemGived])
  478.  
  479. if(g_gift[0][item][id])
  480. {
  481. give_item(id, "weapon_xm1014");
  482. cs_set_user_bpammo(id,CSW_XM1014,90);
  483. }
  484.  
  485. if(g_gift[1][item][id])
  486. {
  487. set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 20);
  488. }
  489.  
  490. if(g_gift[2][item][id])
  491. {
  492. give_item(id, "weapon_hegrenade");
  493. give_item(id,"weapon_flashbang");
  494. give_item(id,"weapon_flashbang");
  495. give_item(id,"weapon_smokegrenade");
  496. }
  497.  
  498. if(g_gift[10][item][id])
  499. {
  500. drop_sec(id);
  501.  
  502. give_item(id, "weapon_m4a1");
  503. give_item(id,"weapon_deagle");
  504.  
  505. cs_set_user_bpammo(id, CSW_M4A1,90);
  506. cs_set_user_bpammo(id, CSW_DEAGLE, 35);
  507. }
  508.  
  509. if(g_gift[gift][item][id] && g_gift[gift][aPlugin])
  510. {
  511. if(gift == 13)
  512. {
  513. drop_sec(id);
  514. }
  515.  
  516. if( callfunc_begin(g_gift[gift][ItemFunc], g_gift[gift][ItemPlugin]) == 1 )
  517. {
  518. callfunc_push_int(id)
  519. callfunc_end()
  520. }
  521. }
  522. }
  523.  
  524. public FM_PreThink(id)
  525. {
  526. if(is_user_alive(id))
  527. {
  528. static Float:origin[3], players[32], num, num2, team
  529. team = get_user_team(id)
  530. arrayset(players,0,32)
  531.  
  532. if(g_gift[4][item][id])
  533. {
  534. pev(id,pev_origin,origin)
  535. get_players_distance(origin,players,num,"a")
  536. static Float:hudpos[2]
  537. static Float:distance
  538. static Float:origin2[3]
  539. num2=0
  540. for(new i=0;i<num;i++)
  541. {
  542. if(players[i] && get_user_team(players[i])!=team)
  543. {
  544. pev(players[i],pev_origin,origin2)
  545. if(get_hudmessage_locs(id,origin2,hudpos))
  546. {
  547. distance = vector_distance(origin,origin2)
  548. num2++
  549. set_hudmessage(255,0,0,hudpos[0],hudpos[1],0,6.0,0.2,0.1, 0.2,num2)
  550. show_hudmessage(id, "%d",floatround(distance / 10.0))
  551. if(num2==4) break;
  552. }
  553. }
  554. }
  555. }
  556. else if(g_gift[3][item][id])
  557. {
  558. set_user_gravity(id, get_pcvar_float(g_win_grav))
  559. }
  560. else if(g_gift[5][item][id])
  561. {
  562. set_user_maxspeed(id, get_pcvar_float(g_win_speed))
  563. }
  564. if(g_gift[6][item][id])
  565. {
  566. entity_set_float(id, EV_FL_fuser2, 0.0)
  567.  
  568. if (entity_get_int(id, EV_INT_button) & 2)
  569. {
  570. new flags = entity_get_int(id, EV_INT_flags)
  571.  
  572. if (flags & FL_WATERJUMP)
  573. return PLUGIN_CONTINUE
  574. if ( entity_get_int(id, EV_INT_waterlevel) >= 2 )
  575. return PLUGIN_CONTINUE
  576. if ( !(flags & FL_ONGROUND) )
  577. return PLUGIN_CONTINUE
  578.  
  579. new Float:velocity[3]
  580. entity_get_vector(id, EV_VEC_velocity, velocity)
  581. velocity[2] += 250.0
  582. entity_set_vector(id, EV_VEC_velocity, velocity)
  583.  
  584. entity_set_int(id, EV_INT_gaitsequence, 6)
  585. }
  586. }
  587. if(g_gift[7][item][id])
  588. {
  589. new nbut = get_user_button(id)
  590. new obut = get_user_oldbutton(id)
  591. if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
  592. {
  593. if(jumpnum[id] < WINNER_JUMPS)
  594. {
  595. dojump[id] = true
  596. jumpnum[id]++
  597. return PLUGIN_CONTINUE
  598. }
  599. }
  600. if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
  601. {
  602. jumpnum[id] = 0
  603. return PLUGIN_CONTINUE
  604. }
  605. }
  606. if(g_gift[11][item][id])
  607. {
  608. if(get_user_button(id) & IN_ATTACK)
  609. entity_set_vector(id, EV_VEC_punchangle, Float:{0.0, 0.0, 0.0});
  610. }
  611. }
  612. return PLUGIN_CONTINUE;
  613. }
  614.  
  615. public FM_traceLine(Float:v1[3], Float:v2[3], noMonsters, id)
  616. {
  617. if(!is_user_connected(id) || !is_user_alive(id))
  618. return FMRES_IGNORED;
  619.  
  620. if(g_gift[11][item][id])
  621. {
  622. new hit[3], Float:fHit[3];
  623. get_user_origin(id, hit, 4);
  624. IVecFVec(hit, fHit);
  625.  
  626. set_tr(TR_vecEndPos, fHit);
  627.  
  628. }
  629. return FMRES_IGNORED;
  630. }
  631.  
  632. public client_PostThink(id)
  633. {
  634. if(g_gift[7][item][id])
  635. {
  636. if(!is_user_alive(id)) return PLUGIN_CONTINUE;
  637. if(dojump[id] == true)
  638. {
  639. new Float:velocity[3]
  640. entity_get_vector(id,EV_VEC_velocity,velocity)
  641. velocity[2] = random_float(265.0,285.0)
  642. entity_set_vector(id,EV_VEC_velocity,velocity)
  643. dojump[id] = false
  644. return PLUGIN_CONTINUE
  645. }
  646. }
  647. return PLUGIN_CONTINUE
  648. }
  649.  
  650. public cmd_givegift(id)
  651. {
  652. if(get_user_flags(id) & ADMIN_KICK)
  653. {
  654. new Arg1[64]
  655. read_argv(1, Arg1, 63)
  656.  
  657. new Target = cmd_target(id, Arg1, 0);
  658.  
  659. if(!Target)
  660. {
  661. client_print(id, print_console, "[%s] Jatekos nem talalhato!",qna_prefix)
  662. return PLUGIN_HANDLED;
  663. }
  664.  
  665. new iLevel[32], Value;
  666. read_argv(2, iLevel, 31);
  667. Value = str_to_num(iLevel);
  668.  
  669. if(Value > MAX_GIFT-1)
  670. {
  671. client_print(id, print_console, "Az item nem lehet nagyobb ,mint %d",MAX_GIFT-1)
  672. return PLUGIN_HANDLED;
  673. }
  674.  
  675. g_gift[Value][item][Target] = true;
  676. give_gift(Target,Value);
  677. }
  678. else
  679. {
  680. client_print(id, print_chat, "Nem vagy Admin")
  681. client_print(id, print_console, "Nem vagy Admin")
  682. }
  683. return PLUGIN_CONTINUE;
  684. }
  685. // ===============================================================================
  686. // Stocks
  687. // ===============================================================================
  688.  
  689. stock ham_strip_weapon(id,weapon[])
  690. {
  691. if(!equal(weapon,"weapon_",7)) return 0;
  692.  
  693. new wId = get_weaponid(weapon);
  694. if(!wId) return 0;
  695.  
  696. new wEnt;
  697. while((wEnt = engfunc(EngFunc_FindEntityByString,wEnt,"classname",weapon)) && pev(wEnt,pev_owner) != id) {}
  698. if(!wEnt) return 0;
  699.  
  700. if(get_user_weapon(id) == wId) ExecuteHamB(Ham_Weapon_RetireWeapon,wEnt);
  701.  
  702. if(!ExecuteHamB(Ham_RemovePlayerItem,id,wEnt)) return 0;
  703. ExecuteHamB(Ham_Item_Kill,wEnt);
  704.  
  705. set_pev(id,pev_weapons,pev(id,pev_weapons) & ~(1<<wId));
  706.  
  707. if(wId == CSW_C4)
  708. {
  709. cs_set_user_plant(id,0,0);
  710. cs_set_user_bpammo(id,CSW_C4,0);
  711. }
  712. else if(wId == CSW_SMOKEGRENADE || wId == CSW_FLASHBANG || wId == CSW_HEGRENADE)
  713. cs_set_user_bpammo(id,wId,0);
  714.  
  715. return 1;
  716. }
  717. stock print_color(const id, const input[], any:...)
  718. {
  719. new count = 1, players[32];
  720. static msg[191];
  721. vformat(msg, 190, input, 3);
  722.  
  723. replace_all(msg, 190, "!g", "^4");
  724. replace_all(msg, 190, "!y", "^1");
  725. replace_all(msg, 190, "!t", "^3");
  726. replace_all(msg, 190, "á", "á")
  727. replace_all(msg, 190, "é", "Ă©")
  728. replace_all(msg, 190, "í", "Ă­")
  729. replace_all(msg, 190, "Ăł", "Ä‚Ĺ‚")
  730. replace_all(msg, 190, "ö", "ö")
  731. replace_all(msg, 190, "ő", "Ĺ‘")
  732. replace_all(msg, 190, "Ăş", "Ä‚Ĺź")
  733. replace_all(msg, 190, "ĂĽ", "Ä‚Ä˝")
  734. replace_all(msg, 190, "ű", "ű")
  735. replace_all(msg, 190, "Á", "Á")
  736. replace_all(msg, 190, "É", "É")
  737. replace_all(msg, 190, "Í", "ĂŤ")
  738. replace_all(msg, 190, "Ó", "Ă“")
  739. replace_all(msg, 190, "Ö", "Ă–")
  740. replace_all(msg, 190, "Ő", "Ő")
  741. replace_all(msg, 190, "Ú", "Ăš")
  742. replace_all(msg, 190, "Ăś", "Ä‚Ĺ›")
  743. replace_all(msg, 190, "Ű", "Ĺ°")
  744.  
  745. if (id) players[0] = id; else get_players(players, count, "ch");
  746. {
  747. for (new i = 0; i < count; i++)
  748. {
  749. if (is_user_connected(players[i]))
  750. {
  751. message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i]);
  752. write_byte(players[i]);
  753. write_string(msg);
  754. message_end();
  755. }
  756. }
  757. }
  758. return PLUGIN_HANDLED;
  759. }
  760. stock ekezet_show(const id, const hud[], r, g, b, Float:x, Float:y, effect, Float:fxtime, Float:show_time)
  761. {
  762.  
  763. new count = 1, players[32];
  764. static msg[191];
  765. vformat(msg, 190, hud, 3);
  766.  
  767. replace_all(msg, 190, "á", "á");
  768. replace_all(msg, 190, "é", "Ă©");
  769. replace_all(msg, 190, "í", "Ă­");
  770. replace_all(msg, 190, "Ăł", "Ä‚Ĺ‚");
  771. replace_all(msg, 190, "ö", "ö");
  772. replace_all(msg, 190, "ő", "Ĺ‘");
  773. replace_all(msg, 190, "Ăş", "Ä‚Ĺź");
  774. replace_all(msg, 190, "ĂĽ", "Ä‚Ä˝");
  775. replace_all(msg, 190, "ű", "ű");
  776. replace_all(msg, 190, "Á", "Á");
  777. replace_all(msg, 190, "É", "É");
  778. replace_all(msg, 190, "Í", "ĂŤ");
  779. replace_all(msg, 190, "Ó", "Ă“");
  780. replace_all(msg, 190, "Ö", "Ă–");
  781. replace_all(msg, 190, "Ő", "Ő");
  782. replace_all(msg, 190, "Ú", "Ăš");
  783. replace_all(msg, 190, "Ăś", "Ä‚Ĺ›");
  784. replace_all(msg, 190, "Ű", "Ĺ°");
  785.  
  786. if (id) players[0] = id; else get_players(players, count, "ch");
  787. {
  788. for (new i = 0; i < count; i++)
  789. {
  790. if (is_user_connected(players[i]))
  791. {
  792. set_hudmessage(r, g, b, Float:x, Float:y, effect, Float:fxtime, Float:show_time);
  793. show_hudmessage(players[i],msg);
  794. }
  795. }
  796. }
  797.  
  798. }
  799.  
  800.  

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 13:17 
Offline
Jómunkásember
Avatar

Csatlakozott: 2014.04.27. 16:39
Hozzászólások: 394
Megköszönt másnak: 31 alkalommal
Megköszönték neki: 17 alkalommal
És ha átalakitom nem olyan fura jelekkel fogja mutatni? :)

_________________
"Scripta manent, verba volant."
"A szó elszáll, az írás megmarad."
Kép
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Ékezetes Pluginok
HozzászólásElküldve: 2014.05.04. 13:17 
Offline
Nagyúr
Avatar

Csatlakozott: 2012.09.23. 09:50
Hozzászólások: 569
Megköszönt másnak: 76 alkalommal
Megköszönték neki: 37 alkalommal
sky97 írta:
És ha átalakitom nem olyan fura jelekkel fogja mutatni? :)

elvileg nem

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
Hozzászólások megjelenítése:  Rendezés  
Új téma nyitása  Hozzászólás a témához  [ 7 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 54 vendég


Nyithatsz új témákat ebben a fórumban.
Válaszolhatsz egy témára ebben a fórumban.
Nem szerkesztheted a hozzászólásaidat ebben a fórumban.
Nem törölheted a hozzászólásaidat ebben a fórumban.
Nem küldhetsz csatolmányokat ebben a fórumban.

Keresés:
Ugrás:  
Powered by phpBB® Forum Software © phpBB Limited
Magyar fordítás © Magyar phpBB Közösség
Portal: Kiss Portal Extension © Michael O'Toole