hlmod.hu

Magyar Half-Life Mód közösség!
Pontos idő: 2024.04.24. 09:02



Jelenlévő felhasználók

Jelenleg 156 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 155 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  [ 7 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 21:42 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.15. 19:13
Hozzászólások: 495
Megköszönt másnak: 289 alkalommal
Megköszönték neki: 14 alkalommal
Hali!
Szeretnék kérni egy MŰKÖDŐ!!! spectator kickert, ami ezeket tudja:

- ADMIN_KICK jogtól immmunis az illető, tehát nem fogja kikickelni
- amennyiben beállítom "5" percre vagy "360.0" másodpercre tök m1, a lényeg, hogy AKKOR ki is KICKELJE a sima játékost
Előre is köszönöm!


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 21:43 
Offline
Tag
Avatar

Csatlakozott: 2015.08.05. 14:00
Hozzászólások: 39
Megköszönt másnak: 2 alkalommal
Megköszönték neki: 9 alkalommal
Kicsit keresgess! Ha nem találod akkor írd ki!
Afk áthelyező

Edit: bocs nem figyeltem :oops:
Néző kirúgó

Ez van ezt át lehet írni, hogy időre kickelje

_________________
kiki írta:
Itt senkinek nem kötelessége hogy segítsen neked, így ha megteszi azt köszönd meg, és ha senki sem teszi meg, akkor se okolj senkit érte.


A hozzászólást 1 alkalommal szerkesztették, utoljára Mr.Freeze 2015.08.10. 21:46-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 21:53 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.15. 19:13
Hozzászólások: 495
Megköszönt másnak: 289 alkalommal
Megköszönték neki: 14 alkalommal
Ugyan ezt próbáltam ki, de most, hogy nézem a leírását, hiába állítok be 300.0(5percet), mert csak, akkor fogja kirúgni, ha a körből 5 perc letelt, mert mindig körkezdéstől indítja a "számlálót".
JÓL ÉRTEM?


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 21:56 
Offline
Tag
Avatar

Csatlakozott: 2015.08.05. 14:00
Hozzászólások: 39
Megköszönt másnak: 2 alkalommal
Megköszönték neki: 9 alkalommal
ZiT3K írta:
Ugyan ezt próbáltam ki, de most, hogy nézem a leírását, hiába állítok be 300.0(5percet), mert csak, akkor fogja kirúgni, ha a körből 5 perc letelt, mert mindig körkezdéstől indítja a "számlálót".
JÓL ÉRTEM?


Ne dupla posztolj!
Amit linketem az játékosoktól függ ha 9 játékos van akkor kirúgja! de átlehet írni könnyen!

_________________
kiki írta:
Itt senkinek nem kötelessége hogy segítsen neked, így ha megteszi azt köszönd meg, és ha senki sem teszi meg, akkor se okolj senkit érte.


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 22:03 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.15. 19:13
Hozzászólások: 495
Megköszönt másnak: 289 alkalommal
Megköszönték neki: 14 alkalommal
Az alábbi módon van átírva, TEHÁT körkezdéstől kezdve 20 sec múlva kellene kidobjon, de NEM dob ki és nincs IMMUNITY jogom.

SMA Forráskód: [ Mindet kijelol ]
  1. #include <amxmodx>
  2. #include <cstrike>
  3.  
  4. #define MIN_PLAYERS 1
  5.  
  6. public Round_Time()
  7. {
  8. new Float:roundtime = get_cvar_float("mp_roundtime") * 20.0
  9. new rtime = read_data(1)
  10.  
  11. if ( roundtime == rtime ) {
  12. new playerCount = get_playersnum()
  13.  
  14. if (playerCount > MIN_PLAYERS) {
  15. new Players[32]
  16. get_players(Players, playerCount)
  17.  
  18. for (new i = 0; i < playerCount; i++) {
  19. if (is_user_connected(Players[i])) {
  20. if (!(get_user_flags(Players[i]) & ADMIN_IMMUNITY)) {
  21. if ((cs_get_user_team(Players[i]) == 3)) {
  22. new name[32], authid[32]
  23.  
  24. get_user_name(Players[i],name,31)
  25. get_user_authid(Players[i],authid,31)
  26.  
  27. new userid = get_user_userid(Players[i])
  28. server_cmd("kick #%d ^"KICKELVE! indok: SpecAFK(5min)^"",userid)
  29.  
  30. log_amx("Spec Kick: ^"%s<%d><%s>^" specbol kirugva.)", name,userid,authid)
  31. }
  32. }
  33. }
  34. }
  35. }
  36. }
  37. return PLUGIN_CONTINUE
  38. }
  39.  
  40. public plugin_init() {
  41. register_plugin("Spec Kick","1.0","foo.bar")
  42. register_event("RoundTime", "Round_Time", "bc")
  43.  
  44. return PLUGIN_CONTINUE
  45. }
  46.  


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 22:44 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2015.07.14. 14:30
Hozzászólások: 380
Megköszönt másnak: 43 alkalommal
Megköszönték neki: 30 alkalommal
Tessék Cvarok és jelentésük odaírva...Ahozz hogy az az admint ne rúgja ki minimum B jognak kell lennie tehát ADMIN_RESERVATION jog..Nagyjából lefordítottam..

SMA Forráskód: [ Mindet kijelol ]
  1. /*
  2.  * BIG tanks to "aNNakin"
  3.  * Big tanks to "Cheesy Peteza"
  4.  * 2 Plugins autokick
  5.  * Strongly Recommandate to FULLY servers
  6.  */
  7.  
  8. #include <amxmodx>
  9. #include <cstrike>
  10.  
  11. #define PLUGIN "Anti spec,afk"
  12. #define VERSION "9.0"
  13. #define AUTHOR "Prior of Sion"
  14.  
  15. #define ACCESS ADMIN_RESERVATION
  16.  
  17. #define MIN_AFK_TIME 30
  18. #define WARNING_TIME 15
  19. #define CHECK_FREQ 5
  20.  
  21. new const g_Reason[] = "Nem foglalj plusz slotot a spectatorban.";
  22. new const g_Teams[2][32] = { "Terrorist", "Counter-Terrorist" }
  23.  
  24. new toggle_plugin, toggle_mode, toggle_time, toggle_announce, toggle_evoy;
  25. new g_Count[33],g_msgsaytext;
  26.  
  27. new g_oldangles[33][3]
  28. new g_afktime[33]
  29. new bool:g_spawned[33] = {true, ...}
  30.  
  31. public plugin_init()
  32. {
  33. register_plugin(PLUGIN, VERSION, AUTHOR)
  34. register_event("TeamInfo","event_teaminfo", "a");
  35.  
  36. toggle_plugin = register_cvar("detectspectators", "1"); //Ezeket ne piszkald
  37. toggle_mode = register_cvar("detectspectators_mode", "1"); //Ezeket ne piszkald
  38. toggle_time = register_cvar("detectspectators_time", "60"); //Mennyi idejig maradhat a Spectatorba egy jatekos
  39. toggle_evoy = register_cvar("detectspectators_admins", "0"); //Adminokat kirúgja -e azaz az adminok immunisok legyenek
  40. toggle_announce = register_cvar("detectspectators_announe", "1");
  41.  
  42. g_msgsaytext = get_user_msgid("SayText");
  43.  
  44. register_cvar("afk_version", "1.0b", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)
  45. register_cvar("mp_afktime", "90") //Mennyi másodpecig AFKolhat az illető
  46. register_cvar("mp_afkminplayers", "8") //Mennyi játékos kell ahoz hogy működjön ez az AFK rendszer.
  47. set_task(float(CHECK_FREQ),"checkPlayers",_,_,_,"b")
  48. register_event("ResetHUD", "playerSpawned", "be")
  49. }
  50.  
  51. public event_teaminfo()
  52. {
  53. if(get_pcvar_num(toggle_plugin) != 1)
  54. return PLUGIN_CONTINUE;
  55.  
  56. new index = read_data(1);
  57. new team[ 2 ];
  58. read_data(2, team, sizeof team - 1);
  59.  
  60. if(team[0] == 'S')
  61. {
  62. if(g_Count[ index ] >= 1)
  63. g_Count[ index ] = 0;
  64.  
  65. print(index, "[AFK Kicker] Te nem vagy admin, es mar %d masodperce AFKoltal ezert a rendszer kirugott!", get_pcvar_num( toggle_time ) );
  66. set_task(1.0, "count_time", index+123, _, _, "b");
  67.  
  68. } else {
  69. g_Count[ index ] = 0;
  70. remove_task( index+123 );
  71. }
  72.  
  73. return PLUGIN_CONTINUE;
  74. }
  75.  
  76. public count_time(task)
  77. {
  78. new index = task - 123;
  79.  
  80. if( !is_user_connected( index ))
  81. return 0;
  82. if( ( get_user_flags( index ) & ACCESS ) && get_pcvar_num( toggle_evoy ) == 0)
  83. return 0;
  84.  
  85. g_Count[ index ]++;
  86.  
  87. if( get_timer( index ) >= get_pcvar_num( toggle_time ))
  88. {
  89. switch( get_pcvar_num( toggle_mode ) )
  90. {
  91. case 1:
  92. {
  93. new i = random_num( 1, 2 );
  94. cs_set_user_team( index, i == 1 ? CS_TEAM_T : CS_TEAM_CT );
  95. print( index, "[AFK Kirugo] Te %s csapatba lettel iranyitva!", i == 1 ? g_Teams[ 0 ] : g_Teams[ 1 ] );
  96. }
  97.  
  98. case 2:
  99. {
  100. server_cmd( "kick #%d ^"%s^"", get_user_userid( index ), g_Reason );
  101. if( get_pcvar_num( toggle_announce ) == 1 )
  102. print(0, "[AFK Kirugo] %s teged kihuztak, mivel %d masodpercig AFK-oltal.!", get_pcvar_num( toggle_time ) );
  103. }
  104. }
  105.  
  106. remove_task( index+ 123 );
  107. g_Count[ index ] = 0;
  108. }
  109.  
  110. return 0;
  111. }
  112.  
  113. public get_timer( index ) return g_Count[ index ];
  114.  
  115. public client_putinserver( id ) g_Count[ id ] = 0;
  116. public client_disconnect( id )
  117. {
  118. g_Count[ id ] = 0;
  119. remove_task(id+123);
  120. }
  121.  
  122. print( id, const message[], {Float,Sql,Result,_}:... )
  123. {
  124. new Buffer[ 128 ],Buffer2[ 128 ];
  125. new players[ 32 ], index, num, i;
  126.  
  127. formatex( Buffer2, sizeof Buffer2 - 1, "%s",message );
  128. vformat( Buffer, sizeof Buffer - 1, Buffer2, 3 );
  129. get_players( players, num, "ch" );
  130.  
  131. if( id )
  132. {
  133. if( !is_user_connected( id ))
  134. return 0;
  135.  
  136. message_begin( MSG_ONE, g_msgsaytext, _, id );
  137. write_byte( id );
  138. write_string( Buffer );
  139. message_end();
  140. } else {
  141. for( i = 0; i < num;i++ )
  142. {
  143. index = players[ i ];
  144. if( !is_user_connected( index ))
  145. continue;
  146.  
  147. message_begin( MSG_ONE, g_msgsaytext, _, index );
  148. write_byte( index );
  149. write_string( Buffer );
  150. message_end();
  151. }
  152. }
  153.  
  154. return PLUGIN_HANDLED
  155. }
  156.  
  157.  
  158. public checkPlayers() {
  159. for (new i = 1; i <= get_maxplayers(); i++) {
  160. if (is_user_alive(i) && is_user_connected(i) && !is_user_bot(i) && !is_user_hltv(i) && g_spawned[i]) {
  161. new newangle[3]
  162. get_user_origin(i, newangle)
  163.  
  164. if ( newangle[0] == g_oldangles[i][0] && newangle[1] == g_oldangles[i][1] && newangle[2] == g_oldangles[i][2] ) {
  165. g_afktime[i] += CHECK_FREQ
  166. check_afktime(i)
  167. } else {
  168. g_oldangles[i][0] = newangle[0]
  169. g_oldangles[i][1] = newangle[1]
  170. g_oldangles[i][2] = newangle[2]
  171. g_afktime[i] = 0
  172. }
  173. }
  174. }
  175. return PLUGIN_HANDLED
  176. }
  177.  
  178. check_afktime(id) {
  179. new numplayers = get_playersnum()
  180. new minplayers = get_cvar_num("mp_afkminplayers")
  181.  
  182. if (numplayers >= minplayers) {
  183. new maxafktime = get_cvar_num("mp_afktime")
  184. if (maxafktime < MIN_AFK_TIME) {
  185. log_amx("cvar mp_afktime %i is too low. Minimum value is %i.", maxafktime, MIN_AFK_TIME)
  186. maxafktime = MIN_AFK_TIME
  187. set_cvar_num("mp_afktime", MIN_AFK_TIME)
  188. }
  189.  
  190. if ( maxafktime-WARNING_TIME <= g_afktime[id] < maxafktime) {
  191. new timeleft = maxafktime - g_afktime[id]
  192. client_print(id, print_chat, "[AFK Kirugo] Ha nem mozdulsz meg: %i masodpercig atleszel iranyitva,vagy pedig kirugva.", timeleft)
  193. } else if (g_afktime[id] > maxafktime) {
  194. new name[32]
  195. get_user_name(id, name, 31)
  196. client_print(0, print_chat, "[AFK Kicker] %s teged kihuztak, mivel %i masodpercig AFK-oltal!", name, maxafktime)
  197. log_amx("%s kirugtak mert nem mozdult meg: %i masodpercig.", name, maxafktime)
  198. server_cmd("kick #%d ^"[AFK Kicker] You was pulled out for being AFK longer than %i seconds!^"", get_user_userid(id), maxafktime)
  199. }
  200. }
  201. }
  202.  
  203. public playerSpawned(id) {
  204. g_spawned[id] = false
  205. new sid[1]
  206. sid[0] = id
  207. set_task(0.75, "delayedSpawn",_, sid, 1)
  208. return PLUGIN_HANDLED
  209. }
  210.  
  211. public delayedSpawn(sid[]) {
  212. get_user_origin(sid[0], g_oldangles[sid[0]])
  213. g_spawned[sid[0]] = true
  214. return 1;
  215. }


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MŰKÖDŐ!!!! spectator kicker
HozzászólásElküldve: 2015.08.10. 23:31 
Offline
Jómunkásember
Avatar

Csatlakozott: 2013.12.15. 19:13
Hozzászólások: 495
Megköszönt másnak: 289 alkalommal
Megköszönték neki: 14 alkalommal
:D Nem hittem volna, de kérlek írd át úgy(állítsd be), hogy:

- Aki 30 másodpercig AFK, azt kirakja SPECTATOR-ba és aki 60 másodpercig van SPECTATORBAN az kirúgja a szerverről.
- Már 1 playertől.
- Adminokat is tegye ki SPECTATORBA, de SPECTATORBÓL a szerver őket NE rúgja ki.(ehhez lehet át kell írni a plugint, hogy külön jog legyen az AFK és a SpecAFK -hoz)

- NE helyezze őket vissza semmilyen csapatba, mert az szerintem hülyeség, csak körforgás lenne...(plugin hülyesége)

Ha megcsinálod(vagy bárki) örök hála, mert qvára ***** ez az afk kickelők tesztelgetése.


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


Ki van itt

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