hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.23. 21:07



Jelenlévő felhasználók

Jelenleg 132 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 131 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  [ 5 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: Masshogy lagg
HozzászólásElküldve: 2013.01.05. 17:13 
Offline
Fanatikus
Avatar

Csatlakozott: 2012.09.15. 08:33
Hozzászólások: 197
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 12 alkalommal
Sziasztok! Sok szerveren lattam pelda > Harcosokon hogy a lagg mindenkinek 10,11,9 nagyon kicsi , ez valami plugin ugye? VAlami Lagg FAKE :D valami olyasmi :D segitsetek :D koszi :D

_________________
https://www.facebook.com/Anm.CsTeam?fref=ts


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Masshogy lagg
HozzászólásElküldve: 2013.01.05. 17:14 
Offline
Nagyúr
Avatar

Csatlakozott: 2010.11.21. 18:04
Hozzászólások: 557
Megköszönt másnak: 28 alkalommal
Megköszönték neki: 74 alkalommal
http://amxmodx.crys.hu/site/?p=pluginz&c=l&f=pingfaker

Ők köszönték meg small nek ezt a hozzászólást: reminder (2013.01.05. 17:24)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Masshogy lagg
HozzászólásElküldve: 2013.01.05. 17:36 
Offline
Fanatikus
Avatar

Csatlakozott: 2012.09.15. 08:33
Hozzászólások: 197
Megköszönt másnak: 15 alkalommal
Megköszönték neki: 12 alkalommal
azt szeretnem hogy mindenkinek kicsi legyen a pingje es valtakozzon tehat kevesebbet merjen:)!

_________________
https://www.facebook.com/Anm.CsTeam?fref=ts


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Masshogy lagg
HozzászólásElküldve: 2013.01.05. 17:37 
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
reminder írta:
azt szeretnem hogy mindenkinek kicsi legyen a pingje es valtakozzon tehat kevesebbet merjen:)!

parancsolj:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <amxmisc>
  3. #include <fakemeta>
  4.  
  5. new const FAKEPINGS_FILE[] = "fakepings.ini"
  6. const TASK_ARGUMENTS = 100
  7.  
  8. new cvar_enable, cvar_ping, cvar_flux, cvar_target, cvar_flags, cvar_bots, cvar_multiplier
  9. new g_enable, g_ping, g_flux, g_target, g_flags, g_bots, Float:g_multiplier, g_maxplayers
  10. new g_connected[33], g_isbot[33], g_offset[33][2], g_argping[33][3], g_hasflags[33]
  11. new g_loaded_counter, cvar_showactivity, g_pingoverride[33] = { -1, ... }
  12. new Array:g_loaded_authid, Array:g_loaded_ping
  13.  
  14. public plugin_init()
  15. {
  16. register_plugin("Ping Faker", "1.4", "MeRcyLeZZ")
  17.  
  18. cvar_enable = register_cvar("pingfake_enable", "1")
  19. cvar_ping = register_cvar("pingfake_ping", "5")
  20. cvar_flux = register_cvar("pingfake_flux", "5")
  21. cvar_target = register_cvar("pingfake_target", "1")
  22. cvar_flags = register_cvar("pingfake_flags", "")
  23. cvar_bots = register_cvar("pingfake_bots", "0")
  24. cvar_multiplier = register_cvar("pingfake_multiplier", "0.0")
  25. cvar_showactivity = get_cvar_pointer("amx_show_activity")
  26.  
  27. g_maxplayers = get_maxplayers()
  28.  
  29. register_event("HLTV", "event_round_start", "a", "1=0", "2=0")
  30. register_forward(FM_UpdateClientData, "fw_UpdateClientData")
  31.  
  32. register_concmd("amx_fakeping", "cmd_fakeping", ADMIN_KICK, "<target> <ping> - Toggle fake ping override on player (-1 to disable)")
  33.  
  34. g_loaded_authid = ArrayCreate(32, 1)
  35. g_loaded_ping = ArrayCreate(1, 1)
  36.  
  37. load_pings_from_file()
  38. }
  39.  
  40. public plugin_cfg()
  41. {
  42. // Cache CVARs after configs are loaded
  43. set_task(0.5, "event_round_start")
  44. }
  45.  
  46. public event_round_start()
  47. {
  48. // Cache CVAR values
  49. g_ping = get_pcvar_num(cvar_ping)
  50. g_flux = abs(get_pcvar_num(cvar_flux))
  51. g_target = get_pcvar_num(cvar_target)
  52. g_enable = get_pcvar_num(cvar_enable)
  53. g_bots = get_pcvar_num(cvar_bots)
  54. g_multiplier = get_pcvar_float(cvar_multiplier)
  55.  
  56. // Calculate weird argument values based on target ping
  57. calculate_arguments()
  58.  
  59. // Calculate them regularly if also faking ping fluctuations or if faking a multiple of the real ping
  60. remove_task(TASK_ARGUMENTS)
  61. if (g_flux || g_multiplier > 0.0) set_task(2.0, "calculate_arguments", TASK_ARGUMENTS, _, _, "b")
  62.  
  63. // Cache flags
  64. new flags[6]
  65. get_pcvar_string(cvar_flags, flags, sizeof flags - 1)
  66. g_flags = read_flags(flags)
  67.  
  68. // Check flags again for all players
  69. for (new id = 1; id <= g_maxplayers; id++)
  70. if (g_connected[id]) check_flags(id)
  71. }
  72.  
  73. public client_authorized(id)
  74. {
  75. check_for_loaded_pings(id)
  76. check_flags(id)
  77. }
  78.  
  79. public client_infochanged(id)
  80. {
  81. check_flags(id)
  82. }
  83.  
  84. public client_putinserver(id)
  85. {
  86. g_connected[id] = true
  87. if (is_user_bot(id)) g_isbot[id] = true
  88. }
  89.  
  90. public client_disconnect(id)
  91. {
  92. g_connected[id] = false
  93. g_isbot[id] = false
  94. g_pingoverride[id] = -1
  95. g_hasflags[id] = 0
  96. }
  97.  
  98. public fw_UpdateClientData(id)
  99. {
  100. // Ping faking disabled?
  101. if (!g_enable) return;
  102.  
  103. // Scoreboard key being pressed?
  104. if (!(pev(id, pev_button) & IN_SCORE) && !(pev(id, pev_oldbuttons) & IN_SCORE))
  105. return;
  106.  
  107. // Send fake player's pings
  108. static player, sending
  109. sending = 0
  110. for (player = 1; player <= g_maxplayers; player++)
  111. {
  112. // Player not in game?
  113. if (!g_connected[player])
  114. continue;
  115.  
  116. // Fake latency for its target too?
  117. if (!g_target && id == player)
  118. continue;
  119.  
  120. // Only do these checks if not overriding ping for player
  121. if (g_pingoverride[player] < 0)
  122. {
  123. // Is this a bot?
  124. if (g_isbot[player])
  125. {
  126. // Bots setting disabled?
  127. if (!g_bots) continue;
  128. }
  129. else
  130. {
  131. // Bots only setting?
  132. if (g_bots == 2) continue;
  133.  
  134. // Need to have specific flags?
  135. if (g_flags && !(g_hasflags[player]))
  136. continue;
  137. }
  138. }
  139.  
  140. // Send message with the weird arguments
  141. switch (sending)
  142. {
  143. case 0:
  144. {
  145. // Start a new message
  146. message_begin(MSG_ONE_UNRELIABLE, SVC_PINGS, _, id)
  147. write_byte((g_offset[player][0] * 64) + (1 + 2 * (player - 1)))
  148. write_short(g_argping[player][0])
  149. sending++
  150. }
  151. case 1:
  152. {
  153. // Append additional data
  154. write_byte((g_offset[player][1] * 128) + (2 + 4 * (player - 1)))
  155. write_short(g_argping[player][1])
  156. sending++
  157. }
  158. case 2:
  159. {
  160. // Append additional data and end message
  161. write_byte((4 + 8 * (player - 1)))
  162. write_short(g_argping[player][2])
  163. write_byte(0)
  164. message_end()
  165. sending = 0
  166. }
  167. }
  168. }
  169.  
  170. // End message if not yet sent
  171. if (sending)
  172. {
  173. write_byte(0)
  174. message_end()
  175. }
  176. }
  177.  
  178. public cmd_fakeping(id, level, cid)
  179. {
  180. // Check for access flag
  181. if (!cmd_access(id, level, cid, 3))
  182. return PLUGIN_HANDLED;
  183.  
  184. // Retrieve arguments
  185. static arg[32], player, ping
  186. read_argv(1, arg, sizeof arg - 1)
  187. player = cmd_target(id, arg, CMDTARGET_ALLOW_SELF)
  188. read_argv(2, arg, sizeof arg - 1)
  189. ping = str_to_num(arg)
  190.  
  191. // Invalid target
  192. if (!player) return PLUGIN_HANDLED;
  193.  
  194. // Update ping overrides for player
  195. g_pingoverride[player] = min(ping, 4095)
  196. calculate_arguments()
  197.  
  198. // Get player's name for displaying/logging activity
  199. static name1[32], name2[32]
  200. get_user_name(id, name1, sizeof name1 - 1)
  201. get_user_name(player, name2, sizeof name2 - 1)
  202.  
  203. // Negative value means disable fakeping
  204. if (ping < 0)
  205. {
  206. // Show activity?
  207. switch (get_pcvar_num(cvar_showactivity))
  208. {
  209. case 1: client_print(0, print_chat, "ADMIN - hamis ping kikapcsolva %s", name2)
  210. case 2: client_print(0, print_chat, "ADMIN %s - hamis ping kikapcsolva %s", name1, name2)
  211. }
  212.  
  213. // Log activity
  214. static logdata[100], authid[32], ip[16]
  215. get_user_authid(id, authid, sizeof authid - 1)
  216. get_user_ip(id, ip, sizeof ip - 1, 1)
  217. formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - hamis ping kikapcsolva %s", name1, authid, ip, name2)
  218. log_amx(logdata)
  219. }
  220. else
  221. {
  222. // Show activity?
  223. switch (get_pcvar_num(cvar_showactivity))
  224. {
  225. case 1: client_print(0, print_chat, "ADMIN - hamis ping %d engedelyezve %s", ping, name2)
  226. case 2: client_print(0, print_chat, "ADMIN %s - hamis ping %d engedelyezve %s", name1, ping, name2)
  227. }
  228.  
  229. // Log activity
  230. static logdata[100], authid[32], ip[16]
  231. get_user_authid(id, authid, sizeof authid - 1)
  232. get_user_ip(id, ip, sizeof ip - 1, 1)
  233. formatex(logdata, sizeof logdata - 1, "ADMIN %s <%s><%s> - hamis ping %d engedelyeztve %s", name1, authid, ip, ping, name2)
  234. log_amx(logdata)
  235. }
  236.  
  237. return PLUGIN_HANDLED;
  238. }
  239.  
  240. public calculate_arguments()
  241. {
  242. static player, ping, loss
  243. for (player = 1; player <= g_maxplayers; player++)
  244. {
  245. // Calculate target ping (clamp if out of bounds)
  246. if (g_pingoverride[player] < 0)
  247. {
  248. if (g_multiplier > 0.0)
  249. {
  250. get_user_ping(player, ping, loss)
  251. ping = clamp(floatround(ping * g_multiplier), 0, 4095)
  252. }
  253. else
  254. ping = clamp(g_ping + random_num(-g_flux, g_flux), 0, 4095)
  255. }
  256. else
  257. ping = g_pingoverride[player]
  258.  
  259. // First argument's ping
  260. for (g_offset[player][0] = 0; g_offset[player][0] < 4; g_offset[player][0]++)
  261. {
  262. if ((ping - g_offset[player][0]) % 4 == 0)
  263. {
  264. g_argping[player][0] = (ping - g_offset[player][0]) / 4
  265. break;
  266. }
  267. }
  268. // Second argument's ping
  269. for (g_offset[player][1] = 0; g_offset[player][1] < 2; g_offset[player][1]++)
  270. {
  271. if ((ping - g_offset[player][1]) % 2 == 0)
  272. {
  273. g_argping[player][1] = (ping - g_offset[player][1]) / 2
  274. break;
  275. }
  276. }
  277. // Third argument's ping
  278. g_argping[player][2] = ping
  279. }
  280. }
  281.  
  282. load_pings_from_file()
  283. {
  284. // Build file path
  285. new path[64]
  286. get_configsdir(path, sizeof path - 1)
  287. format(path, sizeof path - 1, "%s/%s", path, FAKEPINGS_FILE)
  288.  
  289. // File not present, skip loading
  290. if (!file_exists(path)) return;
  291.  
  292. // Open file for reading
  293. new linedata[40], authid[32], ping[8], file = fopen(path, "rt")
  294.  
  295. while (file && !feof(file))
  296. {
  297. // Read one line at a time
  298. fgets(file, linedata, sizeof linedata - 1)
  299.  
  300. // Replace newlines with a null character to prevent headaches
  301. replace(linedata, sizeof linedata - 1, "^n", "")
  302.  
  303. // Blank line or comment
  304. if (!linedata[0] || linedata[0] == ';') continue;
  305.  
  306. // Get authid and ping
  307. strbreak(linedata, authid, sizeof authid - 1, ping, sizeof ping -1)
  308. remove_quotes(ping)
  309.  
  310. // Store data into global arrays
  311. ArrayPushString(g_loaded_authid, authid)
  312. ArrayPushCell(g_loaded_ping, clamp(str_to_num(ping), 0, 4095))
  313.  
  314. // Increase loaded data counter
  315. g_loaded_counter++
  316. }
  317. if (file) fclose(file)
  318. }
  319.  
  320. check_for_loaded_pings(id)
  321. {
  322. // Nothing to check for
  323. if (g_loaded_counter <= 0) return;
  324.  
  325. // Get steamid and ip
  326. static authid[32], ip[16], i, buffer[32]
  327. get_user_authid(id, authid, sizeof authid - 1)
  328. get_user_ip(id, ip, sizeof ip - 1, 1)
  329.  
  330. for (i = 0; i < g_loaded_counter; i++)
  331. {
  332. // Retrieve authid
  333. ArrayGetString(g_loaded_authid, i, buffer, sizeof buffer - 1)
  334.  
  335. // Compare it with this player's steamid and ip
  336. if (equali(buffer, authid) || equal(buffer, ip))
  337. {
  338. // We've got a match!
  339. g_pingoverride[id] = ArrayGetCell(g_loaded_ping, i)
  340. calculate_arguments()
  341. break;
  342. }
  343. }
  344. }
  345.  
  346. check_flags(id)
  347. {
  348. g_hasflags[id] = get_user_flags(id) & g_flags
  349. }

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

Ők köszönték meg crazy` nek ezt a hozzászólást: reminder (2013.01.05. 17:39)
  Népszerűség: 2.27%


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: Masshogy lagg
HozzászólásElküldve: 2013.01.05. 22:04 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2012.10.09. 13:48
Hozzászólások: 1439
Megköszönték neki: 174 alkalommal
Szerezz egy jó gépet, jó netet és közel legyél a szerver központjához ( esetleg 1-2 beállítás a cfg-ben ) ;)
A pluginnal csak még jobban használod a szervert, így nő a ping is...

_________________
Minden jót! :)


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


Ki van itt

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