hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.26. 10:52



Jelenlévő felhasználók

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

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

Regisztrált felhasználók: saxxo 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  [ 3 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: AFK KICK
HozzászólásElküldve: 2014.07.30. 20:35 
Offline
Beavatott

Csatlakozott: 2014.07.08. 18:46
Hozzászólások: 70
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 1 alkalommal
Sziasztok.
Szeretnék egy kis segittséget kérni.
Van ez az AFK kickelős sma, át kellene nekem szerkeszteni olyanra hogy ha például 10 másodperctől számoljon vissza felé folyamatosan és irja cheat be a vissza számolást.
Ezt egy szerveren láttam nagyon meg tetszet nekem de sajnos nem tudam el kérni a gazdától hiába szépen kértem.
Most a ti segiségeteket szeretném kérni ehez az sma hoz
Ha valaki meg tudja csinálni őrülten meg köszönném neki.:)


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: AFK KICK
HozzászólásElküldve: 2014.07.30. 20:35 
Offline
Beavatott

Csatlakozott: 2014.07.08. 18:46
Hozzászólások: 70
Megköszönt másnak: 26 alkalommal
Megköszönték neki: 1 alkalommal
SMA Forráskód: [ Mindet kijelol ]
  1.  
  2.  
  3. *
  4.  
  5. * Author: Cheesy Peteza
  6.  
  7. * Date: 18-Mar-2004
  8.  
  9. *
  10.  
  11. *
  12.  
  13. * Description: A generic AFK Kicker that should work with nearly all Half-Life mods.
  14.  
  15. * Tested with Natural-Selection v3.0 beta 3, Counter-Strike 1.6 and Day of Defeat.
  16.  
  17. *
  18.  
  19. * Cvars:
  20.  
  21. * mp_afktime 90 Time a player is allowed to be AFK in seconds before they are kicked. (minimum 30 sec)
  22.  
  23. * They time is only accumulated while they are alive.
  24.  
  25. * mp_afkminplayers 8 Minimum number of players required to be on the server before the plugin starts kicking.
  26.  
  27. *
  28.  
  29. *
  30.  
  31. * Requirements: AMXModX
  32.  
  33. *
  34.  
  35. *
  36.  
  37. */
  38.  
  39.  
  40.  
  41. #include <amxmodx>
  42.  
  43.  
  44.  
  45. #define MIN_AFK_TIME 30 // I use this incase stupid admins accidentally set mp_afktime to something silly.
  46.  
  47. #define WARNING_TIME 15 // Start warning the user this many seconds before they are about to be kicked.
  48.  
  49. #define CHECK_FREQ 5 // This is also the warning message frequency.
  50.  
  51.  
  52.  
  53. new g_oldangles[33][3]
  54.  
  55. new g_afktime[33]
  56.  
  57. new bool:g_spawned[33] = {true, ...}
  58.  
  59.  
  60.  
  61. public plugin_init() {
  62.  
  63. register_plugin("AFK Kicker","1.0b","Cheesy Peteza")
  64.  
  65. register_cvar("afk_version", "1.0b", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
  66.  
  67.  
  68.  
  69. register_cvar("mp_afktime", "90") // Kick people AFK longer than this time
  70.  
  71. register_cvar("mp_afkminplayers", "8") // Only kick AFKs when there is atleast this many players on the server
  72.  
  73. set_task(float(CHECK_FREQ),"checkPlayers",_,_,_,"b")
  74.  
  75. register_event("ResetHUD", "playerSpawned", "be")
  76.  
  77. }
  78.  
  79.  
  80.  
  81. public checkPlayers() {
  82.  
  83. for (new i = 1; i <= get_maxplayers(); i++) {
  84.  
  85. if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i]) {
  86.  
  87. new newangle[3]
  88.  
  89. get_user_origin(i, newangle)
  90.  
  91.  
  92.  
  93. if ( newangle[0] == g_oldangles[i][0] && newangle[1] == g_oldangles[i][1] && newangle[2] == g_oldangles[i][2] ) {
  94.  
  95. g_afktime[i] += CHECK_FREQ
  96.  
  97. check_afktime(i)
  98.  
  99. } else {
  100.  
  101. g_oldangles[i][0] = newangle[0]
  102.  
  103. g_oldangles[i][1] = newangle[1]
  104.  
  105. g_oldangles[i][2] = newangle[2]
  106.  
  107. g_afktime[i] = 0
  108.  
  109. }
  110.  
  111. }
  112.  
  113. }
  114.  
  115. return PLUGIN_HANDLED
  116.  
  117. }
  118.  
  119.  
  120.  
  121. check_afktime(id) {
  122.  
  123. new numplayers = get_playersnum()
  124.  
  125. new minplayers = get_cvar_num("mp_afkminplayers")
  126.  
  127.  
  128.  
  129. if (numplayers >= minplayers) {
  130.  
  131. new maxafktime = get_cvar_num("mp_afktime")
  132.  
  133. if (maxafktime < MIN_AFK_TIME) {
  134.  
  135. log_amx("cvar mp_afktime %i tul alacsony. Minimum ertek %i.", maxafktime, MIN_AFK_TIME)
  136.  
  137. maxafktime = MIN_AFK_TIME
  138.  
  139. set_cvar_num("mp_afktime", MIN_AFK_TIME)
  140.  
  141. }
  142.  
  143.  
  144.  
  145. if ( maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime) {
  146.  
  147. new timeleft = maxafktime - g_afktime[id]
  148.  
  149. client_print(id, print_chat, "[AFK Kicker] Van %i masodperc, hogy meg mozdul, vagy ki leszel rugva mert AFK vagy!", timeleft)
  150.  
  151. } else if (g_afktime[id] > maxafktime) {
  152.  
  153. new name[32]
  154.  
  155. get_user_name(id, name, 31)
  156.  
  157. client_print(0, print_chat, "[AFK Kicker] %s kirugva, mert AFK volt %i masodpercig!", name, maxafktime)
  158.  
  159. log_amx("%s kirugva, mert AFK volt %i masodpercig!", name, maxafktime)
  160.  
  161. server_cmd("kick #%d ^"Kickelve lettel! AFK voltal %i masodpercig!^"", get_user_userid(id), maxafktime)
  162.  
  163. }
  164.  
  165. }
  166.  
  167. }
  168.  
  169.  
  170.  
  171. public client_connect(id) {
  172.  
  173. g_afktime[id] = 0
  174.  
  175. return PLUGIN_HANDLED
  176.  
  177. }
  178.  
  179.  
  180.  
  181. public client_putinserver(id) {
  182.  
  183. g_afktime[id] = 0
  184.  
  185. return PLUGIN_HANDLED
  186.  
  187. }
  188.  
  189.  
  190.  
  191. public playerSpawned(id) {
  192.  
  193. g_spawned[id] = false
  194.  
  195. new sid[1]
  196.  
  197. sid[0] = id
  198.  
  199. set_task(0.75, "delayedSpawn",_, sid, 1) // Give the player time to drop to the floor when spawning
  200.  
  201. return PLUGIN_HANDLED
  202.  
  203. }
  204.  
  205.  
  206.  
  207. public delayedSpawn(sid[]) {
  208.  
  209. get_user_origin(sid[0], g_oldangles[sid[0]])
  210.  
  211. g_spawned[sid[0]] = true
  212.  
  213. return PLUGIN_HANDLED
  214.  
  215. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: AFK KICK
HozzászólásElküldve: 2014.09.21. 12:06 
Offline
Veterán
Avatar

Csatlakozott: 2013.03.26. 20:20
Hozzászólások: 1846
Megköszönt másnak: 27 alkalommal
Megköszönték neki: 120 alkalommal
Nézd meg:
SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2.  
  3.  
  4.  
  5. #define MIN_AFK_TIME 30 // I use this incase stupid admins accidentally set mp_afktime to something silly.
  6.  
  7. //#define WARNING_TIME 15 // Start warning the user this many seconds before they are about to be kicked.
  8.  
  9. #define CHECK_FREQ 5 // This is also the warning message frequency.
  10.  
  11.  
  12.  
  13. new g_oldangles[33][3]
  14.  
  15. new g_afktime[33]
  16.  
  17. new count_time = 10
  18.  
  19. new bool:g_spawned[33] = {true, ...}
  20.  
  21.  
  22.  
  23. public plugin_init() {
  24.  
  25. register_plugin("AFK Kicker","1.0b","Cheesy Peteza")
  26.  
  27. register_cvar("afk_version", "1.0b", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
  28.  
  29.  
  30.  
  31. register_cvar("mp_afktime", "90") // Kick people AFK longer than this time
  32.  
  33. register_cvar("mp_afkminplayers", "8") // Only kick AFKs when there is atleast this many players on the server
  34.  
  35. set_task(float(CHECK_FREQ),"checkPlayers",_,_,_,"b")
  36.  
  37. register_event("ResetHUD", "playerSpawned", "be")
  38.  
  39. }
  40.  
  41.  
  42.  
  43. public checkPlayers() {
  44.  
  45. for (new i = 1; i <= get_maxplayers(); i++) {
  46.  
  47. if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i]) {
  48.  
  49. new newangle[3]
  50.  
  51. get_user_origin(i, newangle)
  52.  
  53.  
  54.  
  55. if ( newangle[0] == g_oldangles[i][0] && newangle[1] == g_oldangles[i][1] && newangle[2] == g_oldangles[i][2] ) {
  56.  
  57. g_afktime[i] += CHECK_FREQ
  58.  
  59. check_afktime(i)
  60.  
  61. } else {
  62.  
  63. g_oldangles[i][0] = newangle[0]
  64.  
  65. g_oldangles[i][1] = newangle[1]
  66.  
  67. g_oldangles[i][2] = newangle[2]
  68.  
  69. g_afktime[i] = 0
  70.  
  71. }
  72.  
  73. }
  74.  
  75. }
  76.  
  77. return PLUGIN_HANDLED
  78.  
  79. }
  80.  
  81.  
  82.  
  83. check_afktime(id) {
  84.  
  85. new numplayers = get_playersnum()
  86.  
  87. new minplayers = get_cvar_num("mp_afkminplayers")
  88.  
  89.  
  90.  
  91. if (numplayers >= minplayers) {
  92.  
  93. new maxafktime = get_cvar_num("mp_afktime")
  94.  
  95. if (maxafktime < MIN_AFK_TIME) {
  96.  
  97. log_amx("cvar mp_afktime %i tul alacsony. Minimum ertek %i.", maxafktime, MIN_AFK_TIME)
  98.  
  99. maxafktime = MIN_AFK_TIME
  100.  
  101. set_cvar_num("mp_afktime", MIN_AFK_TIME)
  102.  
  103. }
  104.  
  105.  
  106. /*if ( maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime) {
  107.  
  108. new timeleft = maxafktime - g_afktime[id]
  109.  
  110. client_print(id, print_chat, "[AFK Kicker] Van %i masodperc, hogy meg mozdul, vagy ki leszel rugva mert AFK vagy!", timeleft)
  111.  
  112. }*/
  113.  
  114. if (g_afktime[id] <= 10)
  115. count(id)
  116.  
  117. else if (g_afktime[id] > maxafktime) {
  118.  
  119. new name[32]
  120.  
  121. get_user_name(id, name, 31)
  122.  
  123. client_print(0, print_chat, "[AFK Kicker] %s kirugva, mert AFK volt %i masodpercig!", name, maxafktime)
  124.  
  125. log_amx("%s kirugva, mert AFK volt %i masodpercig!", name, maxafktime)
  126.  
  127. server_cmd("kick #%d ^"Kickelve lettel! AFK voltal %i masodpercig!^"", get_user_userid(id), maxafktime)
  128.  
  129. }
  130.  
  131. }
  132.  
  133. }
  134.  
  135. public count(id)
  136. {
  137. if(count_time <= 0)
  138. return PLUGIN_CONTINUE
  139.  
  140. client_print(id, print_chat, "[AFK Kicker] Van %i masodperced, hogy megmozdulj!", count_time)
  141. count_time--
  142. set_task(1.0, "count", id)
  143.  
  144. return PLUGIN_HANDLED
  145. }
  146.  
  147. public client_connect(id) {
  148.  
  149. g_afktime[id] = 0
  150.  
  151. return PLUGIN_HANDLED
  152.  
  153. }
  154.  
  155.  
  156.  
  157. public client_putinserver(id) {
  158.  
  159. g_afktime[id] = 0
  160.  
  161. return PLUGIN_HANDLED
  162.  
  163. }
  164.  

_________________
Projektem:

[CSO2] Ghost Mod
CSO2 GamePlay video: https://www.youtube.com/watch?feature=p ... iOS4Ik1Yrk

Ők köszönték meg RaZzoR nek ezt a hozzászólást: david19 (2014.10.31. 11:58)
  Népszerűség: 2.27%


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  [ 3 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