hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 306 felhasználó van jelen :: 0 regisztrált, 0 rejtett és 306 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  [1 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: [AMX_RM] Átírása
HozzászólásElküldve:2013.04.27. 17:12 
Offline
Tud valamit

Csatlakozott:2013.01.21. 10:10
Hozzászólások:138
Megköszönt másnak: 20 alkalommal
Megköszönték neki: 6 alkalommal
Üdv mindenkinek! Ezt a plugint úgy kéne átírni, hogy zölden írja ki a [AMX_RM] -et , illetve zöldel is a Rate -t, és pirossal, hogy a ratet a plugin ire állította át. pl.:

SMA Forráskód: [ Mindet kijelol ]
  1. format(msg, 255, "!g[AMX_RM] !yA beallitasaid be lettek allitva : cl_updaterate - !r%i!y, Rate - !r%i"


SMA Forráskód: [ Mindet kijelol ]
  1. !g - ZÖLD
  2. !y - CITROMSÁRGA(alap)
  3. !r - PIROS


A plugin:

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmod>
  2.  
  3. new origupdr[33], origrate[33], excl[33]
  4. #define MAX_IP 32
  5. new ignip[MAX_IP][32], ippos=0
  6. #define MAX_steamID 128
  7. new ignsteamid[MAX_steamID][32], steamidpos=0
  8.  
  9. public check_rr() {
  10. new maxupdr=get_cvar_num("rm_maxupdr")
  11. new minupdr=get_cvar_num("rm_minupdr")
  12. new maxrate=get_cvar_num("rm_maxrate")
  13. new minrate=get_cvar_num("rm_minrate")
  14. new announce=get_cvar_num("rm_announce")
  15. new players[32], np, i, playername[32]
  16. new clupdr[8], clrt[16], msg[256]
  17. new tmpupdr, tmprate, cmdexe[32]
  18. get_players(players, np, "ac")
  19. for(i=0; i<np; i++)
  20. if ((players[i]!=0)&&(!is_user_hltv(players[i]))) {
  21. get_user_ping(players[i], tmpupdr, tmprate)
  22. if ((tmpupdr>get_cvar_num("rm_localping"))&&(excl[players[i]]==0)) {
  23. get_user_info(players[i], "cl_updaterate", clupdr, 7)
  24. get_user_info(players[i], "rate", clrt, 15)
  25. tmpupdr=str_to_num(clupdr)
  26. tmprate=str_to_num(clrt)
  27. if (announce)
  28. get_user_name(players[i],playername,31)
  29. if (tmpupdr>maxupdr) {
  30. origupdr[players[i]]=maxupdr
  31. format(cmdexe, 31, "cl_updaterate %i", maxupdr)
  32. client_cmd(players[i], cmdexe)
  33. if (announce) {
  34. format(msg, 255, "* [AMX_RM] %s set 'cl_updaterate' to '%i' (max '%i') - blocked by plugin !", playername, tmpupdr, maxupdr)
  35. client_print(0, print_chat, msg)
  36. }
  37. }
  38. if (tmpupdr<minupdr) {
  39. origupdr[players[i]]=minupdr
  40. format(cmdexe, 31, "cl_updaterate %i", minupdr)
  41. client_cmd(players[i], cmdexe)
  42. if (announce) {
  43. format(msg, 255, "* [AMX_RM] %s set 'cl_updaterate' to '%i' (min '%i') - blocked by plugin !", playername, tmpupdr, minupdr)
  44. client_print(0, print_chat, msg)
  45. }
  46. }
  47. if (tmprate>maxrate) {
  48. origrate[players[i]]=maxrate
  49. format(cmdexe, 31, "rate %i", maxrate)
  50. client_cmd(players[i], cmdexe)
  51. format(cmdexe, 31, "cl_rate %i", maxrate)
  52. client_cmd(players[i], cmdexe)
  53. if (announce) {
  54. format(msg, 255, "* [AMX_RM] %s set 'rate' to '%i' (max '%i') - blocked by plugin !", playername, tmprate, maxrate)
  55. client_print(0, print_chat, msg)
  56. }
  57. }
  58. if (tmprate<minrate) {
  59. origrate[players[i]]=minrate
  60. format(cmdexe, 31, "rate %i", minrate)
  61. client_cmd(players[i], cmdexe)
  62. format(cmdexe, 31, "cl_rate %i", minrate)
  63. client_cmd(players[i], cmdexe)
  64. if (announce) {
  65. format(msg, 255, "* [AMX_RM] %s set 'rate' to '%i' (min '%i') - blocked by plugin !", playername, tmprate, minrate)
  66. client_print(0, print_chat, msg)
  67. }
  68. }
  69. }
  70. }
  71. new Float:freq=get_cvar_float("rm_delay")
  72. if (freq > 0.0) set_task(freq, "check_rr")
  73. return PLUGIN_CONTINUE
  74. }
  75.  
  76. public alive_again(id) {
  77. if ((is_user_bot(id))||(is_user_hltv(id)))
  78. return PLUGIN_CONTINUE
  79. if (excl[id]==1)
  80. return PLUGIN_CONTINUE
  81. new Float:ratio=get_cvar_float("rm_deadratio")
  82. if (ratio==1.0)
  83. return PLUGIN_CONTINUE
  84. new ping, loss
  85. get_user_ping(id, ping, loss)
  86. if (ping>get_cvar_num("rm_localping")) {
  87. new cmdexe[32]
  88. format(cmdexe, 31, "cl_updaterate %i", origupdr[id])
  89. client_cmd(id, cmdexe)
  90. format(cmdexe, 31, "rate %i", origrate[id])
  91. client_cmd(id, cmdexe)
  92. format(cmdexe, 31, "cl_rate %i", origrate[id])
  93. client_cmd(id, cmdexe)
  94. if (get_cvar_num("rm_announce")) {
  95. new msg[256]
  96. format(msg, 255, "* [AMX_RM] Your net settings have been restored : 'cl_updaterate' = '%i', 'rate' = '%i'", origupdr[id], origrate[id])
  97. client_print(id, print_chat, msg)
  98. }
  99. }
  100. return PLUGIN_CONTINUE
  101. }
  102.  
  103. public dead_now() {
  104. new victim=read_data(2)
  105. if ((is_user_bot(victim))||(is_user_hltv(victim)))
  106. return PLUGIN_CONTINUE
  107. if (excl[victim]==1)
  108. return PLUGIN_CONTINUE
  109. new Float:ratio=get_cvar_float("rm_deadratio")
  110. if (ratio==1.0)
  111. return PLUGIN_CONTINUE
  112. new tmpupdr, tmprate
  113. get_user_ping(victim, tmpupdr, tmprate)
  114. if (tmpupdr>get_cvar_num("rm_localping")) {
  115. new cmdexe[32]
  116. tmpupdr=floatround(float(origupdr[victim])*ratio)
  117. tmprate=floatround(float(origrate[victim])*ratio)
  118. format(cmdexe, 31, "cl_updaterate %i", tmpupdr)
  119. client_cmd(victim, cmdexe)
  120. format(cmdexe, 31, "rate %i", tmprate)
  121. client_cmd(victim, cmdexe)
  122. format(cmdexe, 31, "cl_rate %i", tmprate)
  123. client_cmd(victim, cmdexe)
  124. if (get_cvar_num("rm_announce")) {
  125. new msg[256]
  126. format(msg, 255, "* [AMX_RM] Your net settings have been lowered : 'cl_updaterate' = '%i', 'rate' = '%i'", tmpupdr, tmprate)
  127. client_print(victim, print_chat, msg)
  128. }
  129. }
  130. return PLUGIN_CONTINUE
  131. }
  132.  
  133. public ignore_ip(id) {
  134. new argc=read_argc()
  135. if (argc<2) {
  136. console_print(id, "Usage: rm_ignoreip <IP> [IP] [IP] [IP] ...")
  137. return PLUGIN_CONTINUE
  138. }
  139. for(new i=1; i<argc; i++)
  140. if (ippos<MAX_IP) {
  141. read_argv(i, ignip[ippos], 31)
  142. ippos++
  143. }
  144. else {
  145. console_print(id, "* [AMX_RM] Too many IP addresses added to the ignore IP list")
  146. return PLUGIN_CONTINUE
  147. }
  148. return PLUGIN_CONTINUE
  149. }
  150.  
  151. public ignore_steamid(id) {
  152. new argc=read_argc()
  153. if (argc<2) {
  154. console_print(id, "Usage: rm_ignoresteamid <steamID> [steamID] [steamID] [steamID] ...")
  155. return PLUGIN_CONTINUE
  156. }
  157. new tmp[32]
  158. for(new i=1; i<argc; i++)
  159. if (steamidpos<MAX_steamID) {
  160. read_argv(i, tmp, 31)
  161. copy(ignsteamid[steamidpos], 31, tmp)
  162. steamidpos++
  163. }
  164. else {
  165. console_print(id, "* [AMX_RM] Too many steamIDs added to the ignore steamID list")
  166. return PLUGIN_CONTINUE
  167. }
  168. return PLUGIN_CONTINUE
  169. }
  170.  
  171. public client_connect(id) {
  172. if ((is_user_bot(id))||(is_user_hltv(id)))
  173. return PLUGIN_CONTINUE
  174. new clupdr[8], clrt[16]
  175. get_user_info(id, "cl_updaterate", clupdr, 7)
  176. get_user_info(id, "rate", clrt, 15)
  177. origupdr[id]=str_to_num(clupdr)
  178. origrate[id]=str_to_num(clrt)
  179. excl[id]=0
  180. new i
  181. if (ippos>0) {
  182. new userip[32]
  183. get_user_ip(id, userip, 31)
  184. copyc(userip, 31, userip, ':')
  185. new len
  186. for(i=0; i<ippos; i++) {
  187. len=containi(ignip[i],".x")
  188. if (len>-1) {
  189. if (equal(userip, ignip[i], len)) {
  190. excl[id]=1
  191. break
  192. }
  193. }
  194. else if (equal(userip, ignip[i])) {
  195. excl[id]=1
  196. break
  197. }
  198. }
  199. }
  200. if ((steamidpos>0)&&(excl[id]==0)) {
  201. new steamid[32]
  202. get_user_authid(id, steamid, 31)
  203. for(i=0; i<steamidpos; i++)
  204. if (equal(steamid,ignsteamid[i])) {
  205. excl[id]=1
  206. break
  207. }
  208. }
  209. if (get_cvar_num("rm_hello")==0)
  210. return PLUGIN_CONTINUE
  211. new plgver[16]
  212. get_cvar_string("rate_manager", plgver, 15)
  213. client_cmd(id, "echo ======================================================================")
  214. client_cmd(id, "echo ^"* AMX Rate Manager v%s by Marach, marach@phreaker.net, ICQ: 242122535 *^"", plgver)
  215. new Float:freq=get_cvar_float("rm_delay")
  216. if (freq>0.0) {
  217. new maxupdr=get_cvar_num("rm_maxupdr")
  218. new minupdr=get_cvar_num("rm_minupdr")
  219. new maxrate=get_cvar_num("rm_maxrate")
  220. new minrate=get_cvar_num("rm_minrate")
  221. client_cmd(id, "echo ^" - allowed 'cl_updaterate' range : '%i' - '%i', you have '%i'^"", minupdr, maxupdr, origupdr[id])
  222. client_cmd(id, "echo ^" - allowed 'rate' range : '%i' - '%i', you have '%i'^"", minrate, maxrate, origrate[id])
  223. }
  224. new Float:ratio=get_cvar_float("rm_deadratio")
  225. if (ratio<1.0)
  226. client_cmd(id, "echo ^" - dead players use %2.0f%%%% of their normal net settings^"", (ratio*100.0))
  227. client_cmd(id, "echo ======================================================================")
  228. return PLUGIN_CONTINUE
  229. }
  230.  
  231. public client_disconnect(id) {
  232. if ((is_user_bot(id))||(is_user_hltv(id)))
  233. return PLUGIN_CONTINUE
  234. origupdr[id]=get_cvar_num("rm_minupdr")
  235. origrate[id]=get_cvar_num("rm_minrate")
  236. excl[id]=0
  237. return PLUGIN_CONTINUE
  238. }
  239.  
  240. public set_servercvars() {
  241. new tmp[16]
  242. get_cvar_string("rm_exclmaxupdr", tmp, 15)
  243. set_cvar_string("sv_maxupdaterate", tmp)
  244. get_cvar_string("rm_exclminupdr", tmp, 15)
  245. set_cvar_string("sv_minupdaterate", tmp)
  246. get_cvar_string("rm_exclmaxrate", tmp, 15)
  247. set_cvar_string("sv_maxrate", tmp)
  248. get_cvar_string("rm_exclminrate", tmp, 15)
  249. set_cvar_string("sv_minrate", tmp)
  250. if (get_cvar_num("rm_announce"))
  251. console_print(0, "* [AMX_RM] Bandwith limits for excluded players have been set")
  252. return PLUGIN_CONTINUE
  253. }
  254.  
  255. public plugin_init() {
  256. register_plugin("Rate Manager", "1.2", "Marach")
  257. register_cvar("rate_manager", "1.2", FCVAR_SERVER)
  258. register_event("ResetHUD", "alive_again", "be","1=1")
  259. register_event("DeathMsg","dead_now","a")
  260. register_cvar("rm_maxupdr", "36")
  261. register_cvar("rm_minupdr", "12")
  262. register_cvar("rm_maxrate", "9216")
  263. register_cvar("rm_minrate", "3072")
  264. register_cvar("rm_exclmaxupdr", "60")
  265. register_cvar("rm_exclminupdr", "24")
  266. register_cvar("rm_exclmaxrate", "15360")
  267. register_cvar("rm_exclminrate", "6144")
  268. register_cvar("rm_delay", "20")
  269. register_cvar("rm_deadratio", "0.4")
  270. register_cvar("rm_localping", "0")
  271. register_cvar("rm_announce", "1")
  272. register_cvar("rm_hello", "1")
  273. register_srvcmd("rm_ignoreip", "ignore_ip")
  274. register_srvcmd("rm_ignoresteamid", "ignore_steamid")
  275. new Float:freq=get_cvar_float("rm_delay")
  276. if (freq>0.0) {
  277. set_task(freq, "check_rr")
  278. set_task(5.0, "set_servercvars")
  279. }
  280. return PLUGIN_CONTINUE
  281. }


Megy a köszönöm aki megcsinálja! :)

_________________
See you next time! :)

Ha hasznosnak találtad a hozzászólásomat, köszönd meg a Kép lenyomásával..!! :)


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  [1 hozzászólás ] 


Ki van itt

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