hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.03.28. 11:00



Jelenlévő felhasználók

Jelenleg 251 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 250 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] 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  [ 16 hozzászólás ]  Oldal 1 2 Következő
Szerző Üzenet
 Hozzászólás témája: AWP Limit
HozzászólásElküldve: 2014.01.13. 15:20 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.03.28. 20:32
Hozzászólások: 561
Megköszönt másnak: 59 alkalommal
Megköszönték neki: 56 alkalommal
(A plugint nem én készítettem)
Sziasztok!
Ha jól láttam ez a plugin nincs még fent az oldalon.

Cvarok:
autolimit( 1= Korlátozása , 0 = Ne korlátozza)
awplimit (1 = Korlátozása , 0 = Ne korlátozza)
max_awps (Mennyi a maximum meg engedett awp) pl: max_awps 5
max_autos (Mennyi a maximum meg engedett autos)(magozo) pl: max_autos 3
min_players (Minimum hány ember kell a használatához) pl: min_players 4 (Ilyenkor 4v4 kor engedi használni)
winspread_awp (Ennyi kör előtt az AWP nem engedélyezett)
winspread_auto (Ennyi kör előtt az AUTO nem engedélyezett)

Telepités a szokásos:

amxx ---> addons/amxmodx/plugins mappába rakd.
Majd ha beraktad akkor írd be az addons/amxmodx/configs/plugins.ini -be a plugin nevét.
sma ---> addons/amxmodx/scripting mappába rakd (Elhanyagolható)

_________________
Kép

[steam]alfaaaa[/steam]


A hozzászólást 3 alkalommal szerkesztették, utoljára alfanero 2014.02.14. 19:50-kor.

Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 15:23 
Offline
Fanatikus

Csatlakozott: 2013.12.10. 22:48
Hozzászólások: 165
Megköszönt másnak: 13 alkalommal
Megköszönték neki: 6 alkalommal
Nagyon jó!


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 15:38 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.03.28. 20:32
Hozzászólások: 561
Megköszönt másnak: 59 alkalommal
Megköszönték neki: 56 alkalommal
Ha jól láttam akkor nincs fent az oldalon még :D

_________________
Kép

[steam]alfaaaa[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 17:31 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.08.15. 14:42
Hozzászólások: 1345
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 277 alkalommal
Hali, hasonlót már tettem fel az oldalra, majd nézzétek meg, hogy megegyeznek-e.
Sniper Control 1.2

_________________
Üdvözlettel: BBk
[AmxModX] Általam fordított pluginok
Death of Legend Fun Server History
NetMozi.com - Filmes fórum Badboy.killer
foximaxi


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 17:35 
Offline
Veterán
Avatar

Csatlakozott: 2012.09.01. 22:19
Hozzászólások: 1697
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 302 alkalommal
Csak hasonló, felkerül ez is ha bővíted a cvarokat

_________________
Valami új kezdete...
Kép
Egyedi pluginok készítése pénzért (Banki átutalás, PayPal) -> Privát üzenet


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 17:44 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.03.28. 20:32
Hozzászólások: 561
Megköszönt másnak: 59 alkalommal
Megköszönték neki: 56 alkalommal
így jó?

_________________
Kép

[steam]alfaaaa[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 17:56 
Offline
Veterán
Avatar

Csatlakozott: 2012.09.01. 22:19
Hozzászólások: 1697
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 302 alkalommal
angol szövegekkel mi lesz?

_________________
Valami új kezdete...
Kép
Egyedi pluginok készítése pénzért (Banki átutalás, PayPal) -> Privát üzenet


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.13. 19:10 
Offline
Nagyúr
Avatar

Csatlakozott: 2013.03.28. 20:32
Hozzászólások: 561
Megköszönt másnak: 59 alkalommal
Megköszönték neki: 56 alkalommal
És most jó?

_________________
Kép

[steam]alfaaaa[/steam]


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.30. 14:50 
Offline
Beavatott
Avatar

Csatlakozott: 2013.11.19. 22:12
Hozzászólások: 94
Megköszönt másnak: 34 alkalommal
Megköszönték neki: 4 alkalommal
sniperlimitsma.sma (1): Hiba 010: érvénytelen funkció vagy nyilatkozatot
sniperlimitsma.sma (3): error 010: érvénytelen funkció vagy nyilatkozatot

Help xd


Hozzászólás jelentése
Vissza a tetejére
   
HozzászólásElküldve: 2014.01.30. 15:20 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2011.08.15. 14:42
Hozzászólások: 1345
Megköszönt másnak: 10 alkalommal
Megköszönték neki: 277 alkalommal
Köszönjük, hogy észrevetted.
Javítva.
SMA Forráskód: [ Mindet kijelol ]
  1. /*
  2. * CVARS:
  3.  
  4. * max_awps <xx> - Maximum meg engedett awp
  5. * max_autos <xx> - maximum meg engedett autos
  6. * winspread_awp <xx> - Ennyi kör előtt az AWP nem engedelyezett
  7. * winspread_auto <xx> - Ennyi kör előtt az autos nem engedelyezett
  8. * min_players <xx> - Minimum hány ember kell a használatához
  9. * autolimit <1/0> - 1= Korlátozása , 0 = Ne korlátozza
  10. * awplimit <1/0> - 1= Korlátozása , 0 = Ne korlátozza
  11. * checkrebuy <1/0> - 1 = Az ujra vasarlas megelozese, 0 = Ne elozze meg az ujra vasarlast
  12. *
  13. */
  14. #include <amxmodx>
  15. #include <fakemeta>
  16.  
  17. #pragma dynamic 8192
  18.  
  19. new const PLUGINNAME[] = "AWP/AUTO Limit (Team/Win)"
  20. new const VERSION[] = "1.60"
  21. new const AUTHOR[] = "SD/MG/DS/KWo"
  22.  
  23. new plist[33] = { 0, ... } // 0 = no awp; 1 = carrying awp
  24. new plist2[33] = {0, ... } // 0 = no auto; 1 = carrying auto
  25. new awp_count[3] // 1 = T; 2 = CT
  26. new auto_count[3] // 1 = T; 2 = CT
  27. new ctscore = 0
  28. new tscore = 0
  29. new gl_maxplayers
  30.  
  31. /* PCvars */
  32. new pv_awplimit
  33. new pv_max_awps
  34. new pv_winspread_awp
  35. new pv_autolimit
  36. new pv_max_autos
  37. new pv_winspread_auto
  38. new pv_checkrebuy
  39. new pv_minplayers
  40.  
  41. /* handles restricting the menu */
  42. public menu_awp(id,key)
  43. {
  44. if (get_pcvar_num(pv_awplimit) != 1) return PLUGIN_CONTINUE
  45.  
  46. new team = get_user_team(id)
  47. new winspread_awp = get_pcvar_num(pv_winspread_awp)
  48. new min_players = get_pcvar_num(pv_minplayers)
  49. new team1_num, team2_num, score_dif
  50. new players[32]
  51.  
  52. get_players(players,team1_num,"e","TERRORIST")
  53. get_players(players,team2_num,"e","CT")
  54.  
  55. if ((team1_num < min_players) || (team2_num < min_players))
  56. {
  57. engclient_cmd(id,"menuselect","10")
  58. client_print(id,print_center,"Nincs eleg ember a csapatban az AWP hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  59. return PLUGIN_HANDLED
  60. }
  61.  
  62. if (winspread_awp)
  63. {
  64. if (team == 2)
  65. score_dif = ctscore - tscore
  66. else if (team == 1)
  67. score_dif = tscore - ctscore
  68.  
  69. if (score_dif >= winspread_awp)
  70. {
  71. engclient_cmd(id,"menuselect","10")
  72. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AWP-t (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
  73. return PLUGIN_HANDLED
  74. }
  75. }
  76.  
  77. if (awp_count[team] >= get_pcvar_num(pv_max_awps))
  78. {
  79. engclient_cmd(id,"menuselect","10")
  80. client_print(id,print_center,"Tulsok embernel van AWP a csapatban (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
  81. return PLUGIN_HANDLED
  82. }
  83.  
  84. return PLUGIN_CONTINUE
  85. }
  86.  
  87. /* handles restricting the menu */
  88. public menu_auto(id,key)
  89. {
  90. if (get_pcvar_num(pv_autolimit) != 1) return PLUGIN_CONTINUE
  91.  
  92. new team = get_user_team(id)
  93. new winspread_auto = get_pcvar_num(pv_winspread_auto)
  94. new min_players = get_pcvar_num(pv_minplayers)
  95. new team1_num, team2_num, score_dif
  96. new players[32]
  97.  
  98. get_players(players,team1_num,"e","TERRORIST")
  99. get_players(players,team2_num,"e","CT")
  100.  
  101. if ((team1_num < min_players) || (team2_num < min_players))
  102. {
  103. engclient_cmd(id,"menuselect","10")
  104. client_print(id,print_center,"Nincs eleg ember egyik csapatban sem az AUTO hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  105. return PLUGIN_HANDLED
  106. }
  107.  
  108. if (winspread_auto)
  109. {
  110. if (team == 2)
  111. score_dif = ctscore - tscore
  112. else if (team == 1)
  113. score_dif = tscore - ctscore
  114.  
  115. if (score_dif >= winspread_auto)
  116. {
  117. engclient_cmd(id,"menuselect","10")
  118. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AUTO-t (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
  119. return PLUGIN_HANDLED
  120. }
  121. }
  122.  
  123. if (auto_count[team] >= get_pcvar_num(pv_max_autos))
  124. {
  125. engclient_cmd(id,"menuselect","10")
  126. client_print(id,print_center,"Tulsok embernel van AUTO a csapatban (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
  127. return PLUGIN_HANDLED
  128. }
  129.  
  130. return PLUGIN_CONTINUE
  131. }
  132.  
  133. /* handles if they script the AWP buy*/
  134. public cmdawp(id)
  135. {
  136. if (get_pcvar_num(pv_awplimit) != 1) return PLUGIN_CONTINUE
  137.  
  138. new team = get_user_team(id)
  139.  
  140. if ((team < 1) || (team > 2)) return PLUGIN_CONTINUE
  141.  
  142. new winspread_awp = get_pcvar_num(pv_winspread_awp)
  143. new name[32]
  144. get_user_name(id,name,31)
  145. new min_players = get_pcvar_num(pv_minplayers)
  146. new team1_num, team2_num, score_dif
  147. new players[32]
  148.  
  149. get_players(players,team1_num,"e","TERRORIST")
  150. get_players(players,team2_num,"e","CT")
  151.  
  152. if ((team1_num < min_players) || (team2_num < min_players))
  153. {
  154. client_print(id,print_center,"Nincs eleg ember a csapatban az AWP hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  155. return PLUGIN_HANDLED
  156. }
  157.  
  158. if (winspread_awp)
  159. {
  160. if (team == 2)
  161. score_dif = ctscore - tscore
  162. else if (team == 1)
  163. score_dif = tscore - ctscore
  164.  
  165. if (score_dif >= winspread_awp)
  166. {
  167. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AWP-t (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
  168. return PLUGIN_HANDLED
  169. }
  170. }
  171.  
  172. if (awp_count[team] >= get_pcvar_num(pv_max_awps))
  173. {
  174. client_print(id,print_center,"Tulsok embernel van AWP a csapatban (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
  175. return PLUGIN_HANDLED
  176. }
  177.  
  178. return PLUGIN_CONTINUE
  179. }
  180.  
  181. /* handles if they script the AUTO buy*/
  182. public cmdauto(id)
  183. {
  184. if (get_pcvar_num(pv_autolimit) != 1) return PLUGIN_CONTINUE
  185.  
  186. new team = get_user_team(id)
  187. new winspread_auto = get_pcvar_num(pv_winspread_auto)
  188. new min_players = get_pcvar_num(pv_minplayers)
  189. new team1_num, team2_num, score_dif
  190. new players[32]
  191.  
  192. get_players(players,team1_num,"e","TERRORIST")
  193. get_players(players,team2_num,"e","CT")
  194.  
  195. if ((team1_num < min_players) || (team2_num < min_players))
  196. {
  197. client_print(id,print_center,"Nincs eleg ember egyik csapatban sem az AUTO hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  198. return PLUGIN_HANDLED
  199. }
  200.  
  201. if (winspread_auto)
  202. {
  203. if (team == 2)
  204. score_dif = ctscore - tscore
  205. else if (team == 1)
  206. score_dif = tscore - ctscore
  207.  
  208. if (score_dif >= winspread_auto)
  209. {
  210. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AUTO-t (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
  211. return PLUGIN_HANDLED
  212. }
  213. }
  214.  
  215. if (auto_count[team] >= get_pcvar_num(pv_max_autos))
  216. {
  217. client_print(id,print_center,"Tulsok embernel van AUTO a csapatban (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
  218. return PLUGIN_HANDLED
  219. }
  220. return PLUGIN_CONTINUE
  221. }
  222.  
  223.  
  224. /* handles when a player drops his weapon */
  225. public handle_drop_weapon(id)
  226. {
  227. if (!is_user_connected(id))
  228. return PLUGIN_CONTINUE
  229.  
  230. new tmp1,tmp2
  231. new curweapon = get_user_weapon(id,tmp1,tmp2)
  232. new team = get_user_team(id)
  233.  
  234. /* handles when a player drops their awp */
  235. if (curweapon == CSW_AWP)
  236. {
  237. if ((plist[id]==1) && (awp_count[team] > 0))
  238. awp_count[team]--
  239. plist[id] = 0
  240. return PLUGIN_CONTINUE
  241. }
  242. /* handles when a player drops his auto */
  243. else if ((curweapon == CSW_SG550) || (curweapon == CSW_G3SG1))
  244. {
  245. if ((plist2[id]==1) && (auto_count[team] > 0))
  246. auto_count[team]--
  247. plist2[id] = 0
  248. return PLUGIN_CONTINUE
  249. }
  250. return PLUGIN_CONTINUE
  251. }
  252.  
  253. public handle_pickup_weapon(id)
  254. {
  255. if (!is_user_connected(id) || !pev_valid(id))
  256. return PLUGIN_CONTINUE
  257.  
  258. new team = get_user_team(id)
  259. new wpflags = pev(id, pev_weapons)
  260.  
  261. new bool:awp_exists = false
  262. new bool:auto1_exists = false
  263. new bool:auto2_exists = false
  264.  
  265. if (wpflags & (1 << CSW_AWP))
  266. awp_exists = true
  267. if (wpflags & (1 << CSW_SG550))
  268. auto1_exists = true
  269. if (wpflags & (1 << CSW_G3SG1))
  270. auto2_exists = true
  271.  
  272. if ((!awp_exists) && (plist[id] == 1))
  273. {
  274. plist[id] = 0
  275. if (awp_count[team] > 0)
  276. awp_count[team]--
  277. }
  278. else if ((awp_exists) && (plist[id] != 1))
  279. {
  280. handle_pickup_awp(id)
  281. }
  282.  
  283. if ((!auto1_exists) && (!auto2_exists) && (plist2[id] == 1))
  284. {
  285. plist2[id] = 0
  286. if (auto_count[team] > 0)
  287. auto_count[team]--
  288. }
  289. else if ((auto1_exists) && (plist2[id] != 1))
  290. {
  291. handle_pickup_sg550(id)
  292. }
  293. else if ((auto2_exists) && (plist2[id] != 1))
  294. {
  295. handle_pickup_g3sg1(id)
  296. }
  297.  
  298. return PLUGIN_CONTINUE
  299. }
  300.  
  301. /* handles when a player picks up an awp */
  302. public handle_pickup_awp(id)
  303. {
  304. new team = get_user_team(id)
  305. new winspread_awp = get_pcvar_num(pv_winspread_awp)
  306. new name[32]
  307. get_user_name(id,name,31)
  308. new min_players = get_pcvar_num(pv_minplayers)
  309. new team1_num, team2_num, score_dif
  310. new players[32]
  311.  
  312. get_players(players,team1_num,"e","TERRORIST")
  313. get_players(players,team2_num,"e","CT")
  314.  
  315. if (get_pcvar_num(pv_awplimit) == 1)
  316. {
  317. if ((team1_num < min_players) || (team2_num < min_players))
  318. {
  319. set_task(0.5, "drop_awp", id)
  320. client_print(id,print_center,"Nincs eleg ember egyik csapatban sem az AWP hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  321. return
  322. }
  323.  
  324. if (winspread_awp)
  325. {
  326. if (team == 2)
  327. score_dif = ctscore - tscore
  328. else if (team == 1)
  329. score_dif = tscore - ctscore
  330.  
  331. if (score_dif >= winspread_awp)
  332. {
  333. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AWP-t (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
  334. set_task(0.5, "drop_awp", id)
  335. return
  336. }
  337. }
  338.  
  339. if (awp_count[team] >= get_pcvar_num(pv_max_awps))
  340. {
  341. client_print(id,print_center,"Tulsok embernel van AWP a csapatban (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
  342. set_task(0.5, "drop_awp", id)
  343. return
  344. }
  345. }
  346.  
  347. if (plist[id] != 1)
  348. {
  349. plist[id] = 1
  350. awp_count[team]++
  351. // client_print(id,print_chat,"Te vasaroltal vagy fel szedtel egy AWP-t. Van %d AWP az on csapataban.", awp_count[team])
  352. // log_message("A jatekos %s vasarolt vagy felvette az AWP-t. Van %d AWP a csapataban %d.", name, awp_count[team], team)
  353. }
  354. }
  355.  
  356. public drop_awp(id)
  357. {
  358. new team, wpflags
  359. if (is_user_alive(id))
  360. {
  361. wpflags = pev(id, pev_weapons)
  362. if (wpflags & (1 << CSW_AWP))
  363. {
  364. engclient_cmd(id, "drop", "weapon_awp")
  365.  
  366. if (plist[id] == 1)
  367. {
  368. team = get_user_team(id)
  369. if (awp_count[team] > 0)
  370. awp_count[team]--
  371. plist[id] = 0
  372. }
  373. }
  374. }
  375. }
  376.  
  377. /* handles when a player picks up a g3sg1 */
  378. public handle_pickup_g3sg1(id)
  379. {
  380. new team = get_user_team(id)
  381. new winspread_auto = get_pcvar_num(pv_winspread_auto)
  382. new min_players = get_pcvar_num(pv_minplayers)
  383. new team1_num, team2_num, score_dif
  384. new players[32]
  385.  
  386. get_players(players,team1_num,"e","TERRORIST")
  387. get_players(players,team2_num,"e","CT")
  388.  
  389. if (get_pcvar_num(pv_autolimit) == 1)
  390. {
  391. if ((team1_num < min_players) || (team2_num < min_players))
  392. {
  393. client_print(id,print_center,"Nincs eleg ember egyik csapatban sem az AUTO hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  394. set_task(0.5, "drop_g3sg1", id)
  395. return
  396. }
  397.  
  398. if (winspread_auto)
  399. {
  400. if (team == 2)
  401. score_dif = ctscore - tscore
  402. else if (team == 1)
  403. score_dif = tscore - ctscore
  404.  
  405. if (score_dif >= winspread_auto)
  406. {
  407. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AUTO-t (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
  408. set_task(0.5, "drop_g3sg1", id)
  409. return
  410. }
  411. }
  412.  
  413. if (auto_count[team] >= get_pcvar_num(pv_max_autos))
  414. {
  415. client_print(id,print_center,"Tulsok embernel van AUTO a csapatban (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
  416. set_task(0.5, "drop_g3sg1", id)
  417. return
  418. }
  419. }
  420.  
  421. if (plist2[id] != 1)
  422. {
  423. plist2[id] = 1
  424. auto_count[team]++
  425. }
  426. }
  427.  
  428. public drop_g3sg1(id)
  429. {
  430. new team, wpflags
  431. if (is_user_alive(id))
  432. {
  433. wpflags = pev(id, pev_weapons)
  434. if (wpflags & (1 << CSW_G3SG1))
  435. {
  436. engclient_cmd(id, "drop", "weapon_g3sg1")
  437.  
  438. if (plist2[id] == 1)
  439. {
  440. team = get_user_team(id)
  441. if (auto_count[team] > 0)
  442. auto_count[team]--
  443. plist2[id] = 0
  444. }
  445. }
  446. }
  447. }
  448.  
  449. /* handles when a player picks up a sg550 */
  450. public handle_pickup_sg550(id)
  451. {
  452. new team = get_user_team(id)
  453. new winspread_auto = get_pcvar_num(pv_winspread_auto)
  454. new min_players = get_pcvar_num(pv_minplayers)
  455. new team1_num, team2_num, score_dif
  456. new players[32]
  457.  
  458. get_players(players,team1_num,"e","TERRORIST")
  459. get_players(players,team2_num,"e","CT")
  460.  
  461. if (get_pcvar_num(pv_autolimit) == 1)
  462. {
  463. if ((team1_num < min_players) || (team2_num < min_players))
  464. {
  465. client_print(id,print_center,"Nincs eleg ember az egyik csapatban az AUTO hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  466. set_task(0.5, "drop_sg550", id)
  467. return
  468. }
  469.  
  470. if (winspread_auto)
  471. {
  472. if (team == 2)
  473. score_dif = ctscore - tscore
  474. else if (team == 1)
  475. score_dif = tscore - ctscore
  476.  
  477. if (score_dif >= winspread_auto)
  478. {
  479. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AUTO-t (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
  480. set_task(0.5, "drop_sg550", id)
  481. return
  482. }
  483. }
  484.  
  485.  
  486. if (auto_count[team] >= get_pcvar_num(pv_max_autos))
  487. {
  488. client_print(id,print_center,"Tulsok embernel van AUTO a csapatodban (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
  489. set_task(0.5, "drop_sg550", id)
  490. return
  491. }
  492. }
  493.  
  494. if (plist2[id] != 1)
  495. {
  496. plist2[id] = 1
  497. auto_count[team]++
  498. }
  499. }
  500.  
  501. public drop_sg550(id)
  502. {
  503. new team, wpflags
  504. if (is_user_alive(id))
  505. {
  506. wpflags = pev(id, pev_weapons)
  507. if (wpflags & (1 << CSW_SG550))
  508. {
  509. engclient_cmd(id, "drop", "weapon_sg550")
  510.  
  511. if (plist2[id] == 1)
  512. {
  513. team = get_user_team(id)
  514. if (auto_count[team] > 0)
  515. auto_count[team]--
  516. plist2[id] = 0
  517. }
  518. }
  519. }
  520. }
  521.  
  522. /* removes awp and auto when player dies */
  523. public handle_death()
  524. {
  525. if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1))
  526. return PLUGIN_CONTINUE
  527.  
  528. new idx = read_data(2)
  529. if ((idx < 1) || (idx > gl_maxplayers))
  530. return PLUGIN_CONTINUE
  531.  
  532. if (plist[idx] == 1)
  533. {
  534. new team = get_user_team(idx)
  535. if (awp_count[team] > 0)
  536. awp_count[team]--
  537. plist[idx] = 0
  538. }
  539.  
  540. if (plist2[idx] == 1)
  541. {
  542. new team = get_user_team(idx)
  543. if (auto_count[team] > 0)
  544. auto_count[team]--
  545. plist2[idx] = 0
  546. }
  547.  
  548. return PLUGIN_CONTINUE
  549. }
  550.  
  551. /* clear vars when player connects */
  552. public client_connect(id)
  553. {
  554. if ((id > 0) && (id <= gl_maxplayers))
  555. {
  556. plist[id] = 0
  557. plist2[id] = 0
  558. }
  559. return PLUGIN_CONTINUE
  560. }
  561.  
  562. /* clear vars when player disconnects */
  563. public client_disconnect(id)
  564. {
  565. new team
  566. if ((id > 0) && (id <= gl_maxplayers))
  567. {
  568. if (plist[id] == 1)
  569. {
  570. team = get_user_team(id)
  571. if (awp_count[team] > 0)
  572. awp_count[team]--
  573. }
  574. if (plist2[id] == 1)
  575. {
  576. team = get_user_team(id)
  577. if (auto_count[team] > 0)
  578. auto_count[team]--
  579. }
  580. plist[id] = 0
  581. plist2[id] = 0
  582. }
  583. return PLUGIN_CONTINUE
  584. }
  585.  
  586. public team_score()
  587. {
  588. if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1))
  589. return PLUGIN_CONTINUE
  590.  
  591. new team[32]
  592. read_data(1,team,32)
  593.  
  594. if (equal(team,"CT"))
  595. {
  596. ctscore = read_data(2)
  597. }
  598. else if (equal(team,"TERRORIST"))
  599. {
  600. tscore = read_data(2)
  601. }
  602. return PLUGIN_CONTINUE
  603. }
  604.  
  605. public check_winning_team(id)
  606. {
  607. if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1)) return PLUGIN_CONTINUE
  608. if ((id < 1) || (id > gl_maxplayers)) return PLUGIN_CONTINUE
  609. if (!is_user_alive(id)) return PLUGIN_CONTINUE
  610.  
  611. new team = get_user_team(id)
  612. new winspread_awp = get_pcvar_num(pv_winspread_awp)
  613. new winspread_auto = get_pcvar_num(pv_winspread_auto)
  614. new wpflags, score_dif
  615.  
  616. if (plist[id] == 1)
  617. {
  618. if (winspread_awp)
  619. {
  620. if (team == 2)
  621. score_dif = ctscore - tscore
  622. else if (team == 1)
  623. score_dif = tscore - ctscore
  624.  
  625. if (score_dif >= winspread_awp)
  626. {
  627. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AWP-t(ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
  628.  
  629. engclient_cmd(id, "drop", "weapon_awp")
  630. plist[id] = 0
  631. if (awp_count[team] > 0)
  632. awp_count[team]--
  633. }
  634. }
  635. }
  636. if (plist2[id] == 1)
  637. {
  638. if (winspread_auto)
  639. {
  640. if (team == 2)
  641. score_dif = ctscore - tscore
  642. else if (team == 1)
  643. score_dif = tscore - ctscore
  644.  
  645. if (score_dif >= winspread_auto)
  646. {
  647. client_print(id,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AUTO-t (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
  648. wpflags = pev(id, pev_weapons)
  649. if (wpflags & (1 << CSW_SG550))
  650. {
  651. engclient_cmd(id, "drop", "weapon_sg550")
  652. plist2[id] = 0
  653. if (auto_count[team] > 0)
  654. auto_count[team]--
  655. }
  656. if (wpflags & (1 << CSW_G3SG1))
  657. {
  658. engclient_cmd(id, "drop", "weapon_g3sg1")
  659. plist2[id] = 0
  660. if (auto_count[team] > 0)
  661. auto_count[team]--
  662. }
  663. }
  664. }
  665. }
  666. return PLUGIN_CONTINUE
  667. }
  668.  
  669. /*
  670. * 1 = T's: AWP Key 4, AUTOSNIPER Key 5
  671. * 2 = CT's: AWP Key 5, AUTOSNIPER Key 4
  672. */
  673. public via_me(id,key)
  674. {
  675. new team = get_user_team(id)
  676.  
  677. if ((team==1 && key==5) || (team==2 && key==4))
  678. menu_auto(id, key)
  679. if ((team==1 && key==4) || (team==2 && key==5))
  680. menu_awp(id, key)
  681.  
  682. return PLUGIN_CONTINUE
  683. }
  684.  
  685. public check_rebuy(id)
  686. {
  687. if (get_pcvar_num(pv_checkrebuy) != 1) return PLUGIN_CONTINUE
  688. client_print(id,print_center,"Sajnalaom az ujra vasarlas parancs levan tiltva a szerveren")
  689.  
  690. return PLUGIN_HANDLED
  691. }
  692.  
  693. public total_snipers()
  694. {
  695. new players[32], numPlayerCount, idxPlayer, id, wpflags
  696.  
  697. // 1 = T; 2 = CT
  698. awp_count[1] = 0
  699. auto_count[1] = 0
  700.  
  701. get_players(players, numPlayerCount,"he","TERRORIST")
  702. for(idxPlayer = 0; idxPlayer < numPlayerCount; idxPlayer++)
  703. {
  704. id = players[idxPlayer]
  705.  
  706. if (!is_user_alive(id)) continue
  707. if (!pev_valid(id)) continue
  708.  
  709. wpflags = pev(id, pev_weapons)
  710.  
  711. plist[id] = 0
  712. plist2[id] = 0
  713.  
  714. if (wpflags & (1 << CSW_AWP))
  715. {
  716. plist[id] = 1
  717. awp_count[1]++
  718. }
  719. if ((wpflags & (1 << CSW_SG550)) || (wpflags & (1 << CSW_G3SG1)))
  720. {
  721. plist2[id] = 1
  722. auto_count[1]++
  723. }
  724. }
  725.  
  726. awp_count[2] = 0
  727. auto_count[2] = 0
  728.  
  729. get_players(players, numPlayerCount,"he","CT")
  730. for(idxPlayer = 0; idxPlayer < numPlayerCount; idxPlayer++)
  731. {
  732. id = players[idxPlayer]
  733.  
  734. if (!is_user_alive(id)) continue
  735. if (!pev_valid(id)) continue
  736.  
  737. plist[id] = 0
  738. plist2[id] = 0
  739.  
  740. if (wpflags & (1 << CSW_AWP))
  741. {
  742. plist[id] = 1
  743. awp_count[2]++
  744. }
  745. if ((wpflags & (1 << CSW_SG550)) || (wpflags & (1 << CSW_G3SG1)))
  746. {
  747. plist2[id] = 1
  748. auto_count[2]++
  749. }
  750. }
  751. }
  752.  
  753. public round_start()
  754. {
  755. total_snipers()
  756. }
  757.  
  758. public hook_touch(ptr, ptd)
  759. {
  760. static ptrClass[32]
  761. static ptdClass[32]
  762. static ptrModel[128]
  763. static team
  764. static min_players
  765. static team1_num, team2_num, score_dif
  766. static players[32]
  767. static winspread_awp
  768. static winspread_auto
  769. static wpflags
  770.  
  771. if ((get_pcvar_num(pv_awplimit) != 1) && (get_pcvar_num(pv_autolimit) != 1))
  772. return PLUGIN_CONTINUE
  773.  
  774. if (ptd > gl_maxplayers || ptd < 1 || ptr < 1 )
  775. return PLUGIN_CONTINUE
  776.  
  777. if ( (!pev_valid(ptr)) || (!pev_valid(ptd)) )
  778. return PLUGIN_CONTINUE
  779.  
  780. if (!is_user_connected(ptd))
  781. return PLUGIN_CONTINUE
  782.  
  783. pev(ptr, pev_classname, ptrClass, 31)
  784. pev(ptr, pev_model, ptrModel, 127)
  785. pev(ptd, pev_classname, ptdClass, 31)
  786.  
  787. if ((!equal(ptrClass, "weaponbox")) && (!equal(ptrClass, "armoury_entity"))
  788. && (!equal(ptrClass, "csdmw_",6)))
  789. return PLUGIN_CONTINUE
  790.  
  791. if (equal(ptdClass, "player"))
  792. {
  793. team = get_user_team(ptd)
  794. min_players = get_pcvar_num(pv_minplayers)
  795. get_players(players,team1_num,"e","TERRORIST")
  796. get_players(players,team2_num,"e","CT")
  797. wpflags = pev(ptd, pev_weapons)
  798.  
  799. if ((equal(ptrModel, "models/w_awp.mdl")) && (get_pcvar_num(pv_awplimit) == 1))
  800. {
  801. if (!(wpflags & (1 << CSW_AWP)))
  802. {
  803. if ((team1_num < min_players) || (team2_num < min_players))
  804. {
  805. client_print(ptd,print_center,"Nincs eleg ember az AWP hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  806. return FMRES_SUPERCEDE
  807. }
  808.  
  809. if (awp_count[team] >= get_pcvar_num(pv_max_awps))
  810. {
  811. client_print(ptd,print_center,"Tulsok embernel van AWP a csapatban (%d/%d).", awp_count[team], get_pcvar_num(pv_max_awps))
  812. return FMRES_SUPERCEDE
  813. }
  814.  
  815. winspread_awp = get_pcvar_num(pv_winspread_awp)
  816. if (winspread_awp)
  817. {
  818. score_dif = 0
  819. if (team == 2)
  820. score_dif = ctscore - tscore
  821. else if (team == 1)
  822. score_dif = tscore - ctscore
  823.  
  824. if (score_dif >= winspread_awp)
  825. {
  826. client_print(ptd,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AWP-t (ScDif:%d, WsAWP:%d).", score_dif, winspread_awp)
  827. return FMRES_SUPERCEDE
  828. }
  829. }
  830. }
  831. return PLUGIN_CONTINUE
  832. }
  833.  
  834. if (((equal(ptrModel, "models/w_g3sg1.mdl")) || (equal(ptrModel, "models/w_sg550.mdl")))
  835. && (get_pcvar_num(pv_autolimit) == 1))
  836. {
  837. if (!(wpflags & (1 << CSW_SG550)) && !(wpflags & (1 << CSW_SG550)))
  838. {
  839. if ((team1_num < min_players) || (team2_num < min_players))
  840. {
  841. client_print(ptd,print_center,"Nincs eleg ember az AUTO hasznalatahoz (Ts:%d, CTs:%d, MIN:%d).", team1_num, team2_num, min_players)
  842. return FMRES_SUPERCEDE
  843. }
  844.  
  845. if (auto_count[team] >= get_pcvar_num(pv_max_autos))
  846. {
  847. client_print(ptd,print_center,"Tulsok embernel van AUTO a csapatban (%d/%d).", auto_count[team], get_pcvar_num(pv_max_autos))
  848. return FMRES_SUPERCEDE
  849. }
  850.  
  851. winspread_auto = get_pcvar_num(pv_winspread_auto)
  852. if (winspread_auto)
  853. {
  854. score_dif = 0
  855. if (team == 2)
  856. score_dif = ctscore - tscore
  857. else if (team == 1)
  858. score_dif = tscore - ctscore
  859.  
  860. if (score_dif >= winspread_auto)
  861. {
  862. client_print(ptd,print_center,"Te a gyoztes csapatban vagy és nem tudod hasznalni az AUTO-t (ScDif:%d, WsAuto:%d).", score_dif, winspread_auto)
  863. return FMRES_SUPERCEDE
  864. }
  865. }
  866. }
  867. return PLUGIN_CONTINUE
  868. }
  869. }
  870. return PLUGIN_CONTINUE
  871. }
  872.  
  873. public team_assign()
  874. {
  875. new id = read_data(1)
  876. if ((id < 1) || (id > gl_maxplayers))
  877. return PLUGIN_CONTINUE
  878. if (!is_user_connected(id) || !is_user_alive(id) || (!plist[id] && !plist2[id]))
  879. return PLUGIN_CONTINUE
  880.  
  881. total_snipers()
  882.  
  883. return PLUGIN_CONTINUE
  884. }
  885.  
  886. public plugin_init()
  887. {
  888. register_plugin(PLUGINNAME,VERSION,AUTHOR)
  889. register_menucmd(-31,(1<<4),"via_me" ) // T: AWP, CT: Sig SG-550 Sniper - VGUI
  890. register_menucmd(-31,(1<<5),"via_me" ) // CT: AWP, T: H&K G3SG-1 Sniper Rifle - VGUI
  891. register_menucmd(register_menuid("BuyRifle",1),(1<<4),"via_me" ) // T: AWP, CT: Sig SG-550 Sniper - STANDARD
  892. register_menucmd(register_menuid("BuyRifle",1),(1<<5),"via_me" ) // CT: AWP, T: H&K G3SG-1 Sniper Rifle - STANDARD
  893. register_clcmd("drop","handle_drop_weapon")
  894.  
  895. register_clcmd("awp","cmdawp")
  896. register_clcmd("magnum","cmdawp")
  897. register_clcmd("g3sg1","cmdauto")
  898. register_clcmd("d3au1","cmdauto")
  899. register_clcmd("sg550","cmdauto")
  900. register_clcmd("krieg550","cmdauto")
  901. register_clcmd("rebuy","check_rebuy")
  902.  
  903. pv_awplimit = register_cvar("awplimit","1")
  904. pv_autolimit = register_cvar("autolimit","1")
  905. pv_checkrebuy = register_cvar("checkrebuy","1")
  906. pv_max_awps = register_cvar("max_awps","2")
  907. pv_max_autos = register_cvar("max_autos","1")
  908. pv_minplayers = register_cvar("min_players","5")
  909. pv_winspread_awp = register_cvar("winspread_awp","3")
  910. pv_winspread_auto = register_cvar("winspread_auto","2")
  911.  
  912. register_event("TeamScore", "team_score", "a")
  913. register_event("TeamInfo","team_assign","a")
  914. register_event("WeapPickup","handle_pickup_weapon","b")
  915. register_event("DeathMsg","handle_death","a")
  916.  
  917. register_event("ResetHUD","check_winning_team","be")
  918.  
  919. register_logevent("round_start", 2, "1=Round_Start")
  920. register_forward(FM_Touch, "hook_touch")
  921. gl_maxplayers = get_maxplayers()
  922. }
  923.  

_________________
Üdvözlettel: BBk
[AmxModX] Általam fordított pluginok
Death of Legend Fun Server History
NetMozi.com - Filmes fórum Badboy.killer
foximaxi


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  [ 16 hozzászólás ]  Oldal 1 2 Következő


Ki van itt

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


Nem nyithatsz 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