hlmod.hu

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



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: nincs regisztrált felhasználó 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  [ 2 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Átalakítás
HozzászólásElküldve: 2014.03.29. 19:30 
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
Kód:
Welcome to the AMX Mod X 1.8.1-300 Compiler.
Copyright (c) 1997-2013 ITB CompuPhase, AMX Mod X Team

rate_manager.sma(222) : warning 217: loose indentation
rate_manager.sma(223) : warning 217: loose indentation
rate_manager.sma(268) : warning 217: loose indentation
rate_manager.sma(279) : warning 217: loose indentation
rate_manager.sma(280) : warning 217: loose indentation
Header size:            908 bytes
Code size:            11988 bytes
Data size:            30172 bytes
Stack/heap size:      16384 bytes; estimated max. usage=779 cells (3116 bytes)
Total requirements:   59452 bytes

5 Warnings.
Done.

SMA Forráskód: [ Mindet kijelol ]
  1. /* AMXX Mod script.
  2.  
  3. * AMXX Rate Manager (rate_manager)
  4. * Usage:
  5. * - open file amxx.cfg
  6. * - add these lines to admin.cfg only if you don't like defaults:
  7. * rm_maxupdr <max cl_updaterate>
  8. * rm_minupdr <min cl_updaterate>
  9. * rm_maxrate <max rate>
  10. * rm_minrate <min rate>
  11. * rm_exclmaxupdr <max cl_updaterate>
  12. * rm_exclminupdr <min cl_updaterate>
  13. * rm_exclmaxrate <max rate>
  14. * rm_exclminrate <min rate>
  15. * rm_delay <delay>
  16. * rm_deadratio <ratio>
  17. * rm_localping <ping>
  18. * rm_ignoreip <IP> [IP] [IP] [IP] ...
  19. * rm_ignoresteamid <steamID> [steamID] [steamID] [steamID] ...
  20. * rm_announce <0 or 1>
  21. * rm_hello <0 or 1>
  22. * - save the changes to file amxx.cfg <!-- s:) --><img src=\"{SMILIES_PATH}/icon_e_smile.gif\" alt=\":)\" title=\"mosoly\" /><!-- s:) -->
  23. *
  24. *
  25. * CVAR explanation:
  26. * rm_maxupdr - max cl_updaterate a normal client can have (default 36)
  27. * rm_minupdr - min cl_updaterate a normal client can have (default 12)
  28. * rm_maxrate - max rate and cl_rate a normal client can have (default 9216 = 9kb)
  29. * rm_minrate - min rate and cl_rate a normal client can have (default 3072 = 3kb)
  30. * rm_exclmaxupdr - max cl_updaterate an excluded client can have (default 60)
  31. * rm_exclminupdr - min cl_updaterate an excluded client can have (default 24)
  32. * rm_exclmaxrate - max rate and cl_rate an excluded client can have (default 15360 = 15kb)
  33. * rm_exclminrate - min rate and cl_rate an excluded client can have (default 6144 = 6kb)
  34. * rm_delay - delay in seconds between checking clients (default 20 seconds)
  35. * rm_deadratio - lower dead players net setting to this ratio of default net settings (default 0.4 = 40%)
  36. * rm_localping - plugin will exclude clients who have ping equal or lower than this value (default 0)
  37. * rm_ignoreip - plugin will exclude clients whose IP is listed with this command
  38. * rm_ignoresteamid - plugin will exclude clients whose steamID is listen with this command
  39. * rm_announce - toggle announcing plugin actions on and off (default 1 = on)
  40. * rm_hello - toggle displaying plugin info to connecting players (default 1 = on)
  41. *
  42. * Example of custom plugin settings (amxx.cfg):
  43. * rm_maxupdr 101
  44. * rm_minupdr 101
  45. * rm_maxrate 25000
  46. * rm_minrate 25000
  47. * rm_exclmaxupdr 101
  48. * rm_exclminupdr 101
  49. * rm_exclmaxrate 25000
  50. * rm_exclminrate 25000
  51. * rm_delay 30
  52. * rm_deadratio 0.8
  53. * rm_localping 15
  54. * rm_ignoreip 192.168.4.12 loopback 68.120.14.155
  55. * rm_ignoreip 148.122.5.x 165.12.x.x 195.4.202.15
  56. * rm_ignoresteamid 627543 1945822 122986
  57. * rm_ignoresteamid 445682
  58. * rm_announce 0
  59. * rm_hello 0
  60. *
  61. *
  62. */
  63.  
  64. #include <amxmodx>
  65. #include <amxmisc>
  66.  
  67.  
  68. new origupdr[33], origrate[33], excl[33]
  69. #define MAX_IP 32
  70. new ignip[MAX_IP][32], ippos=0
  71. #define MAX_steamID 128
  72. new ignsteamid[MAX_steamID][32], steamidpos=0
  73.  
  74. public check_rr() {
  75. new maxupdr=get_cvar_num("rm_maxupdr")
  76. new minupdr=get_cvar_num("rm_minupdr")
  77. new maxrate=get_cvar_num("rm_maxrate")
  78. new minrate=get_cvar_num("rm_minrate")
  79. new announce=get_cvar_num("rm_announce")
  80. new players[32], np, i, playername[32]
  81. new clupdr[8], clrt[16], msg[256]
  82. new tmpupdr, tmprate, cmdexe[32]
  83. get_players(players, np, "ac")
  84. for(i=0; i<np; i++)
  85. if ((players[i]!=0)&&(!is_user_hltv(players[i]))) {
  86. get_user_ping(players[i], tmpupdr, tmprate)
  87. if ((tmpupdr>get_cvar_num("rm_localping"))&&(excl[players[i]]==0)) {
  88. get_user_info(players[i], "cl_updaterate", clupdr, 7)
  89. get_user_info(players[i], "rate", clrt, 15)
  90. tmpupdr=str_to_num(clupdr)
  91. tmprate=str_to_num(clrt)
  92. if (announce)
  93. get_user_name(players[i],playername,31)
  94. if (tmpupdr>maxupdr) {
  95. origupdr[players[i]]=maxupdr
  96. format(cmdexe, 31, "cl_updaterate %i", maxupdr)
  97. client_cmd(players[i], cmdexe)
  98. if (announce) {
  99. format(msg, 255, "* [AMX_RM] %s set 'cl_updaterate' to '%i' (max '%i') - blocked by plugin !", playername, tmpupdr, maxupdr)
  100. client_print(0, print_chat, msg)
  101. }
  102. }
  103. if (tmpupdr<minupdr) {
  104. origupdr[players[i]]=minupdr
  105. format(cmdexe, 31, "cl_updaterate %i", minupdr)
  106. client_cmd(players[i], cmdexe)
  107. if (announce) {
  108. format(msg, 255, "* [AMX_RM] %s set 'cl_updaterate' to '%i' (min '%i') - blocked by plugin !", playername, tmpupdr, minupdr)
  109. client_print(0, print_chat, msg)
  110. }
  111. }
  112. if (tmprate>maxrate) {
  113. origrate[players[i]]=maxrate
  114. format(cmdexe, 31, "rate %i", maxrate)
  115. client_cmd(players[i], cmdexe)
  116. format(cmdexe, 31, "cl_rate %i", maxrate)
  117. client_cmd(players[i], cmdexe)
  118. if (announce) {
  119. format(msg, 255, "* [AMX_RM] %s set 'rate' to '%i' (max '%i') - blocked by plugin !", playername, tmprate, maxrate)
  120. client_print(0, print_chat, msg)
  121. }
  122. }
  123. if (tmprate<minrate) {
  124. origrate[players[i]]=minrate
  125. format(cmdexe, 31, "rate %i", minrate)
  126. client_cmd(players[i], cmdexe)
  127. format(cmdexe, 31, "cl_rate %i", minrate)
  128. client_cmd(players[i], cmdexe)
  129. if (announce) {
  130. format(msg, 255, "* [AMX_RM] %s set 'rate' to '%i' (min '%i') - blocked by plugin !", playername, tmprate, minrate)
  131. client_print(0, print_chat, msg)
  132. }
  133. }
  134. }
  135. }
  136. new Float:freq=get_cvar_float("rm_delay")
  137. if (freq > 0.0) set_task(freq, "check_rr")
  138. return PLUGIN_CONTINUE
  139. }
  140.  
  141. public alive_again(id) {
  142. if ((is_user_bot(id))||(is_user_hltv(id)))
  143. return PLUGIN_CONTINUE
  144. if (excl[id]==1)
  145. return PLUGIN_CONTINUE
  146. new Float:ratio=get_cvar_float("rm_deadratio")
  147. if (ratio==1.0)
  148. return PLUGIN_CONTINUE
  149. new ping, loss
  150. get_user_ping(id, ping, loss)
  151. if (ping>get_cvar_num("rm_localping")) {
  152. new cmdexe[32]
  153. format(cmdexe, 31, "cl_updaterate %i", origupdr[id])
  154. client_cmd(id, cmdexe)
  155. format(cmdexe, 31, "rate %i", origrate[id])
  156. client_cmd(id, cmdexe)
  157. format(cmdexe, 31, "cl_rate %i", origrate[id])
  158. client_cmd(id, cmdexe)
  159. if (get_cvar_num("rm_announce")) {
  160. new msg[256]
  161. format(msg, 255, "* [AMX_RM] Your net settings have been restored : 'cl_updaterate' = '%i', 'rate' = '%i'", origupdr[id], origrate[id])
  162. client_print(id, print_chat, msg)
  163. }
  164. }
  165. return PLUGIN_CONTINUE
  166. }
  167.  
  168. public dead_now() {
  169. new victim=read_data(2)
  170. if ((is_user_bot(victim))||(is_user_hltv(victim)))
  171. return PLUGIN_CONTINUE
  172. if (excl[victim]==1)
  173. return PLUGIN_CONTINUE
  174. new Float:ratio=get_cvar_float("rm_deadratio")
  175. if (ratio==1.0)
  176. return PLUGIN_CONTINUE
  177. new tmpupdr, tmprate
  178. get_user_ping(victim, tmpupdr, tmprate)
  179. if (tmpupdr>get_cvar_num("rm_localping")) {
  180. new cmdexe[32]
  181. tmpupdr=floatround(float(origupdr[victim])*ratio)
  182. tmprate=floatround(float(origrate[victim])*ratio)
  183. format(cmdexe, 31, "cl_updaterate %i", tmpupdr)
  184. client_cmd(victim, cmdexe)
  185. format(cmdexe, 31, "rate %i", tmprate)
  186. client_cmd(victim, cmdexe)
  187. format(cmdexe, 31, "cl_rate %i", tmprate)
  188. client_cmd(victim, cmdexe)
  189. if (get_cvar_num("rm_announce")) {
  190. new msg[256]
  191. format(msg, 255, "* [AMX_RM] Your net settings have been lowered : 'cl_updaterate' = '%i', 'rate' = '%i'", tmpupdr, tmprate)
  192. client_print(victim, print_chat, msg)
  193. }
  194. }
  195. return PLUGIN_CONTINUE
  196. }
  197.  
  198. public ignore_ip(id) {
  199. new argc=read_argc()
  200. if (argc<2) {
  201. console_print(id, "Usage: rm_ignoreip <IP> [IP] [IP] [IP] ...")
  202. return PLUGIN_CONTINUE
  203. }
  204. for(new i=1; i<argc; i++)
  205. if (ippos<MAX_IP) {
  206. read_argv(i, ignip[ippos], 31)
  207. ippos++
  208. }
  209. else {
  210. console_print(id, "* [AMX_RM] Too many IP addresses added to the ignore IP list")
  211. return PLUGIN_CONTINUE
  212. }
  213. return PLUGIN_CONTINUE
  214. }
  215.  
  216. public ignore_steamid(id) {
  217. new argc=read_argc()
  218. if (argc<2) {
  219. console_print(id, "Usage: rm_ignoresteamid <steamID> [steamID] [steamID] [steamID] ...")
  220. return PLUGIN_CONTINUE
  221. }
  222. new tmp[32]
  223. for(new i=1; i<argc; i++)
  224. if (steamidpos<MAX_steamID) {
  225. read_argv(i, tmp, 31)
  226. copy(ignsteamid[steamidpos], 31, tmp)
  227. steamidpos++
  228. }
  229. else {
  230. console_print(id, "* [AMX_RM] Too many steamIDs added to the ignore steamID list")
  231. return PLUGIN_CONTINUE
  232. }
  233. return PLUGIN_CONTINUE
  234. }
  235.  
  236. public client_connect(id) {
  237. if ((is_user_bot(id))||(is_user_hltv(id)))
  238. return PLUGIN_CONTINUE
  239. new clupdr[8], clrt[16]
  240. get_user_info(id, "cl_updaterate", clupdr, 7)
  241. get_user_info(id, "rate", clrt, 15)
  242. origupdr[id]=str_to_num(clupdr)
  243. origrate[id]=str_to_num(clrt)
  244. excl[id]=0
  245. new i
  246. if (ippos>0) {
  247. new userip[32]
  248. get_user_ip(id, userip, 31)
  249. copyc(userip, 31, userip, ':')
  250. new len
  251. for(i=0; i<ippos; i++) {
  252. len=containi(ignip[i],".x")
  253. if (len>-1) {
  254. if (equal(userip, ignip[i], len)) {
  255. excl[id]=1
  256. break
  257. }
  258. }
  259. else if (equal(userip, ignip[i])) {
  260. excl[id]=1
  261. break
  262. }
  263. }
  264. }
  265. if ((steamidpos>0)&&(excl[id]==0)) {
  266. new steamid[32]
  267. get_user_authid(id, steamid, 31)
  268. for(i=0; i<steamidpos; i++)
  269. if (equal(steamid,ignsteamid[i])) {
  270. excl[id]=1
  271. break
  272. }
  273. }
  274. if (get_cvar_num("rm_hello")==0)
  275. return PLUGIN_CONTINUE
  276. new plgver[16]
  277. get_cvar_string("rate_manager", plgver, 15)
  278. client_cmd(id, "echo ======================================================================")
  279. client_cmd(id, "echo ^"* AMX Rate Manager v%s by Marach, marach@phreaker.net, ICQ: 242122535 *^"", plgver)
  280. new Float:freq=get_cvar_float("rm_delay")
  281. if (freq>0.0) {
  282. new maxupdr=get_cvar_num("rm_maxupdr")
  283. new minupdr=get_cvar_num("rm_minupdr")
  284. new maxrate=get_cvar_num("rm_maxrate")
  285. new minrate=get_cvar_num("rm_minrate")
  286. client_cmd(id, "echo ^" - allowed 'cl_updaterate' range : '%i' - '%i', you have '%i'^"", minupdr, maxupdr, origupdr[id])
  287. client_cmd(id, "echo ^" - allowed 'rate' range : '%i' - '%i', you have '%i'^"", minrate, maxrate, origrate[id])
  288. }
  289. new Float:ratio=get_cvar_float("rm_deadratio")
  290. if (ratio<1.0)
  291. client_cmd(id, "echo ^" - dead players use %2.0f%%%% of their normal net settings^"", (ratio*100.0))
  292. client_cmd(id, "echo ======================================================================")
  293. return PLUGIN_CONTINUE
  294. }
  295.  
  296. public client_disconnect(id) {
  297. if ((is_user_bot(id))||(is_user_hltv(id)))
  298. return PLUGIN_CONTINUE
  299. origupdr[id]=get_cvar_num("rm_minupdr")
  300. origrate[id]=get_cvar_num("rm_minrate")
  301. excl[id]=0
  302. return PLUGIN_CONTINUE
  303. }
  304.  
  305. public set_servercvars() {
  306. new tmp[16]
  307. get_cvar_string("rm_exclmaxupdr", tmp, 15)
  308. set_cvar_string("sv_maxupdaterate", tmp)
  309. get_cvar_string("rm_exclminupdr", tmp, 15)
  310. set_cvar_string("sv_minupdaterate", tmp)
  311. get_cvar_string("rm_exclmaxrate", tmp, 15)
  312. set_cvar_string("sv_maxrate", tmp)
  313. get_cvar_string("rm_exclminrate", tmp, 15)
  314. set_cvar_string("sv_minrate", tmp)
  315. if (get_cvar_num("rm_announce"))
  316. console_print(0, "* [AMX_RM] Bandwith limits for excluded players have been set")
  317. return PLUGIN_CONTINUE
  318. }
  319.  
  320. public plugin_init() {
  321. register_plugin("Rate Manager", "1.2", "Marach")
  322. register_cvar("rate_manager", "1.2", FCVAR_SERVER)
  323. register_event("ResetHUD", "alive_again", "be","1=1")
  324. register_event("DeathMsg","dead_now","a")
  325. register_cvar("rm_maxupdr", "101")
  326. register_cvar("rm_minupdr", "101")
  327. register_cvar("rm_maxrate", "25000")
  328. register_cvar("rm_minrate", "25000")
  329. register_cvar("rm_exclmaxupdr", "101")
  330. register_cvar("rm_exclminupdr", "101")
  331. register_cvar("rm_exclmaxrate", "25000")
  332. register_cvar("rm_exclminrate", "25000")
  333. register_cvar("rm_delay", "30")
  334. register_cvar("rm_deadratio", "0.4")
  335. register_cvar("rm_localping", "0")
  336. register_cvar("rm_announce", "1")
  337. register_cvar("rm_hello", "1")
  338. register_srvcmd("rm_ignoreip", "ignore_ip")
  339. register_srvcmd("rm_ignoresteamid", "ignore_steamid")
  340. new Float:freq=get_cvar_float("rm_delay")
  341. if (freq>0.0) {
  342. set_task(freq, "check_rr")
  343. set_task(5.0, "set_servercvars")
  344. }
  345. return PLUGIN_CONTINUE
  346. }

Nagyon vészes az a pár warning?

_________________
Kép


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Átalakítás
HozzászólásElküldve: 2014.03.29. 19:42 
Offline
Őskövület
Avatar

Csatlakozott: 2012.02.27. 09:42
Hozzászólások: 2588
Megköszönt másnak: 25 alkalommal
Megköszönték neki: 418 alkalommal
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  [ 2 hozzászólás ] 


Ki van itt

Jelenlévő fórumozók: nincs regisztrált felhasználó valamint 65 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