hlmod.hu

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



Jelenlévő felhasználók

Jelenleg 516 felhasználó van jelen :: 1 regisztrált, 0 rejtett és 515 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  [ 4 hozzászólás ] 
Szerző Üzenet
 Hozzászólás témája: TÖRÖLHETŐ!
HozzászólásElküldve: 2014.12.14. 17:35 
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, ezt a plugint szeretném, ha átalakítaná (vagy írna 1 plugint) valaki úgy, hogy CSAK ezeket tudja:
- sima AFK-kat kickelje az ÁLTALAM beállított idő elteltével
- spectator AFK-kat kickelje az ÁLTALAM beállított idő elteltével
- spectator AFK-nál be lehessen állítani, hogy az ADMINOKAT ne rúgja ki, DE CSAK SPECTATOR-nál
- bomba AFK-t kickelje az ÁLTALAM beállított idő elteltével
- szövegeket írjon chatbe, ha valakit kickelt. pl.: XY kickelve lett, mert (az általam megadott számig) afk volt. EZT írja ki neki. consoleba is.
- figyelmeztető szöveg, amit chaten szokott írni időközönként pl.: Ha xy ideig afk vagy akkor a szerver kidob. NE LEGYEN!!!!!

SMA Forráskód: [ Mindet kijelol ] /*  *  * MMMMMMM ,MMMMMMMMMMMMMMMMMMMMMMMM MMMM .aMMMMM  * 0MMMMMMMMMi MMMMMMMMMMMMMMMMMMMMMMMM MMMM MMMMMr  * MMMMMMMMMM: MMMM MMMM MMMMMM  * 7MMM2 MMMM MMMM MMMM .MMMMM.  * MMMMMM MMMMMM MMMM MMMM MMMMMM  * MMMM MMMM MMMM MMMM rMMMMM  * .iMMMM WMMMMr MMMM MMMM XMMMMM8  * rMMMM MMMM MMMM;WWWWWWWWWWWWWM0 MMMM @MMMM.  * MMMMMM MMMMMM MMMMMMMMMMMMMMMMMMMM MMMMZMMMMMM  * MMMM SMMMM MMMMMMMMMMMMMMMMMMMM MMMMMMMMMMMM8  * MMMM, MMMM2 MMMM MMMMMMM SMMMMM  * 2MMMMa ,ZMMMM MMMM MMMMW MMMMMM  * MMMM irrrrrrr: MMMM MMMM MMMM ;MMMMMi 7Zrrrrrrrr7  * BMMMMMMMMMMMMMMMMMMMMMM0r MMMM MMMM MMMMMX MMMMMMMMMMM  * MMMMMMMMMMMMMMMMMMMMMMMM: MMMM MMMM @MMMMM  * MMMMM8 MMMMMM MMMM MMMM MMMMMZ  * MMMM MMMM MMMM MMMM ZMMMMM  * MMMM ;MMMM MMMM MMMM MMMMM@  * MMMZ2 rMMMMZ ,MMMM MMMM XMMMM  *  *  *  *  * MMM BMMMW ;MMM r @MMMMMMMMM0 . . 0MMMMMMMMM@ r 2MMMMMMMMMM i  * MMM MMMM0 ;MMM MMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMM:  * MMM WMMMW @MMMa @MMMM BMMMW ZMMMM. MMMMM rMMMM  * MMM rMMMM iMMM MMMi MMM MMMa MMM MMMX  * MMM MMMMr MZM 2MMM; .MMMS MMMZ  * MMM MMMMM rMMM MMMM, MMMMS MMMMM  * MMM MMMM MMM @MMMMMMMM rrrX, MMMMMMMMMrrrr77 BMMMMMMMMZ;rrr8  * MMMMMMMMMM MMM MMMMMMMMMMMMMM MMMMMMMMMMMMMM ZMMMMMMMMMMMMMi  * MMMMB MMMMr MMM @ZZZSMMMMM MZZZ20MMMM, ZZZZa2MMMM.  * MMM ZMMMM MMM iMMMM: MMMMX MMM0  * MMM WMMM@ MMM .S,X MMM: 2,7 MMMZ Z,r WMM  * MMM MMMM0 MMM MMMMM MMM: WMMMM MMMZ XMMMM @MM  * MMM SMMMM MMM MMM XMMMM. MMM ,MMMMr MMMi MMMZ  * MMM BMMMM MMM rMMMMMMMMMMMMMMMMMM MMMMMMMMMMMMMMMMMMi iMMMMM@MMMMMMMMMMMM:  * MMM 7MMM0 ,MMM S MMMMMMMMMMMM S i.BMMMMMMMMMMM 7 :aMMMMMMMMMMM 7  *  *  *  *  * Extremly configurable AFK-Handler.  * Kick/Slay/Spec-Switcher for CS with bombdrop  * Version 3 is a complete rewrite from scratch by Isobold (http://www.clan-nva.de)  * AFK-Slay-idea seen on some other servers, hints from my loyal testers and ideas seen on other plugins description.  *  * Date: 19 - Jul - 2005  * Requirements: AMXModX (cstrike, engine and amxmisc module)  *  *  *  *  * Need help with this?  *  * http://www.amxmodx.org/forums/viewtopic.php?t=15163  *  *  */  #include <amxmodx> #include <amxmisc> #include <cstrike> #include <engine>  #define AFK_CHECK_FREQ 5 // Check for afk-frequency. This is also the warning message frequency. #define SPEC_CHECK_FREQ 30 // Check for spec-kick. Has effect in afk_options 2 mode only. #define MIN_AFK_TIME 30 // I use this incase stupid admins accidentally set afk_optstime to something silly. #define BOMB_DROP_TIME 25 // Time until bomb gets dropped, it is also afk recognition time. #define SHOW_FREQ 20 // Frequence of afk-count-messages, only needed if the CVAR afk_show_counter is set to 1 #define SPEC_AFK_CHECK_FREQ 180 // To recheck specplayers if afk or not with a menu ... #define WARNING_TIME 25 // Time to start warning players before kick or spec-switch  // Do not touch the following items: #define MENU_SIZE 256    new AfkT new AfkCT new numTalive new numCTalive new bombcarrier new lastCounterShow new i_afktime[33] new i_spectime[33] new s_plname[33][33] new f_lastangles[33][3] new f_spawnposition[33][3] new bool:b_spawned[33] = {true, ...} new bool:b_demorec[33] = {false, ...} new bool:b_afkname[33] = {false, ...} new bool:is_admin[33] = {false, ...} new bool:b_tobeslayed[33] = {false, ...} new g_iMenuPosition[33] new g_coloredMenus    // On plugin start  public plugin_init() { register_plugin("AFK KiSSS","3.0.0 Beta 1","Isobold") register_cvar("afkslay_version", "3.0.0 Beta 1", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_SPONLY)  register_cvar("afk_slaytime", "90") // AFK-Time until slay register_cvar("afk_optstime", "80") // AFK-Time until afk_options will take effect (afk_kicktime in v.2) register_cvar("afk_options", "1") // 0 Spec, 1 Kick, 2 Spec+Kick, 3 Kick normal Players and Switch Admins to Spec, 4 nothing of these // in case 3 afk_adminkimmunity will have no effect register_cvar("afk_speckick", "120") // time to be spec until kick (afk_options 2 only) register_cvar("afk_minplayers", "1") // Minimum players to kick someone (afk_options 1 and 2 only)  // 0 deactivate, 1 activate the following functions register_cvar("afk_bombdrop", "1") // 1 Bomb will be dropped after BOMB_DROP_TIME register_cvar("afk_slayplayers", "1") // 1 Slays AFK-Players when last survivor register_cvar("afk_adminsimmunity", "0") // 1 Admin immune against slay register_cvar("afk_adminkimmunity", "1") // 1 Admin immune against kick (against spec-kick to) (afk_options 1 and 2 only) register_cvar("afk_admincimmunity", "1") // 1 Admin immune against switch to specmode (afk_options 0 and 2 only) register_cvar("afk_show_counter", "1") // 1 Displays a message every 20 seconds with the numbers and teams of afk_players ... // ... if at least 1 AFK detected register_cvar("afk_rename", "1") // 1 Rename afk-players register_cvar("afk_disable", "0") // 1 Disable this plugin (4 example for clanwars)  register_event("ResetHUD", "playerSpawned", "be") register_dictionary("afkkicker.txt") register_dictionary("common.txt") register_logevent("bomb_events", 3, "1=triggered", "2=Spawned_With_The_Bomb", "2=Dropped_The_Bomb", "2=Got_The_Bomb", "2=Planted_The_Bomb")     set_task(float(AFK_CHECK_FREQ),"checkPositions",_,_,_,"b") set_task(float(AFK_CHECK_FREQ),"checkDeath",_,_,_,"b") }  public checkPositions() { new playernum, pl, t_slay, t_opts, t_bomb, t_slay_time, t_opts_time, min_players new a_ids[32], playerpos[3], playerview[3] if(get_cvar_num("afk_disable")) return PLUGIN_HANDLED get_players(a_ids, playernum, "ac") t_slay = get_cvar_num("afk_slayplayers") t_opts = get_cvar_num("afk_options") t_bomb = get_cvar_num("afk_bombdrop") t_slay_time = get_cvar_num("afk_slaytime") t_opts_time = get_cvar_num("afk_optstime") min_players = get_cvar_num("afk_minplayers")  if(t_opts == 2) { if(!(task_exists(29034,0))) set_task(float(SPEC_CHECK_FREQ),"checkSpec",29034,_,_,"b") }  get_alive_nums() for(new i = 0; i < playernum; i++) { pl = a_ids[i] if(is_user_connected(pl) && !is_user_bot(pl) && !is_user_hltv(pl) && is_user_alive(pl) && b_spawned[pl]) { get_user_origin(pl, playerview, 3) get_user_origin(pl, playerpos)  // Has player moved since last check? if((playerview[0] == f_lastangles[pl][0] && playerview[1] == f_lastangles[pl][1] && playerview[2] == f_lastangles[pl][2]) || (playerpos[0] == f_spawnposition[pl][0] && playerpos[1] == f_spawnposition[pl][1] && playerpos[2] == f_spawnposition[pl][2])) { i_afktime[pl] += AFK_CHECK_FREQ if(t_bomb == 1 && i_afktime[pl] >= BOMB_DROP_TIME && pl == bombcarrier) { client_cmd(pl,"use weapon_c4") client_cmd(pl,"drop") client_print(0, print_chat, "[AFK KiSSS] - Bomb Drop") } if(t_opts == 0 || t_opts == 2) { if(playernum >= min_players) CheckSwitchSpec(pl, t_opts_time) } if(t_opts == 1 || t_opts == 3) { if(playernum >= min_players) checkKick(pl, t_opts, t_opts_time) } if(t_slay == 1) { if(t_slay_time <= i_afktime[pl]) checkSlay(pl) } } else { i_afktime[pl] = 0 } f_lastangles[pl][0] = playerview[0] f_lastangles[pl][1] = playerview[1] f_lastangles[pl][2] = playerview[2] } } afk_rs_msg() if((numTalive == 0 && AfkT > 0) || (numCTalive == 0 && AfkCT > 0)) { client_print(0, print_chat, "[AFK KiSSS]: %L", LANG_PLAYER, "AFK_INFO_MSG") } return PLUGIN_HANDLED }   // Handle Situations  //Check for Slay checkSlay(id) { if(!((cs_get_user_team(id) == CS_TEAM_T && numTalive > 0) || (cs_get_user_team(id) == CS_TEAM_CT && numCTalive > 0))) { if(!(get_playersnum() < get_cvar_num("afk_minplayers") || (get_cvar_num("afk_adminsimmunity") == 1 && is_admin[id]))) { client_cmd(id,"kill") b_tobeslayed[id] = true } } }  CheckSwitchSpec(id, opts_time) { if (opts_time-WARNING_TIME <= i_afktime[id] < opts_time) { new timeleft = opts_time - i_afktime[id] client_print(id, print_chat, "[AFK KiSSS] %L", id, "AFK_STIME", timeleft) } else if (i_afktime[id] > opts_time) { SwitchSpec(id) } return PLUGIN_CONTINUE }  public checkKick(id, opt, opts_time) { if(get_cvar_num("afk_adminsimmunity") == 1 && is_admin[id] && opt == 1) { return PLUGIN_HANDLED } else { if(opts_time-WARNING_TIME <= i_afktime[id] < opts_time) { new timeleft = opts_time - i_afktime[id] if(is_admin[id] && opt == 3) { client_print(id, print_chat, "[AFK KiSSS] %L", id, "AFK_STIME", timeleft) } else { client_print(id, print_chat, "[AFK KiSSS] %L", id, "AFK_TIMELEFT", timeleft) } } else if (i_afktime[id] > opts_time) { if(is_admin[id] && opt == 3) { SwitchSpec(id) } else { new name[33] get_user_name(id, name, 32) client_print(0, print_chat, "[AFK KiSSS]: %L", LANG_PLAYER, "AFK_KICKED", name, opts_time) log_amx("%s was kicked for being AFK longer than %i seconds", name, opts_time) server_cmd("kick #%d ^"You were kicked for being AFK longer than %i seconds^"", get_user_userid(id), opts_time) } } } return PLUGIN_CONTINUE }  SwitchSpec(id) { client_cmd(id,"kill") cs_set_user_team(id, CS_TEAM_SPECTATOR) client_print(0, print_chat, "[AFK KiSSS] - Spec Switch") b_tobeslayed[id] = true i_spectime[id] = 0 i_afktime[id] = 0 return PLUGIN_CONTINUE }   // Control Spec-Players public checkSpec() { new playernum, admin_imun, pl, kicktime, j new a_ids[32] admin_imun = get_cvar_num("afk_adminkimmunity") kicktime = get_cvar_num("afk_speckick") get_players(a_ids,playernum,"ce","SPECTATOR") for(j = 0; j < playernum; j++) { pl = a_ids[j] if(!is_user_hltv(pl) && is_user_connected(pl) && !is_user_bot(pl)) { if(!(admin_imun == 1 && is_admin[pl])) { i_spectime[pl] += SPEC_CHECK_FREQ if(i_spectime[pl] > kicktime) { new name[33] get_user_name(pl, name, 32) client_print(0, print_chat, "[AFK KiSSS]: %L", LANG_PLAYER, "AFK_KICKED", name, kicktime) log_amx("%s was kicked for being AFK longer than %i seconds", name, kicktime) server_cmd("kick #%d ^"You were kicked for being AFK longer than %i seconds^"", get_user_userid(pl), kicktime) } } } } return PLUGIN_HANDLED }  // Help functions  // Verifies if players are really dead public checkDeath() { new playernum, pl new a_ids[32]  if(get_cvar_num("afk_disable")) return PLUGIN_HANDLED get_players(a_ids, playernum, "ac")  for(new i = 0; i < playernum; i++) { pl = a_ids[i] if(b_tobeslayed[pl]) { client_cmd(pl,"kill") } } return PLUGIN_HANDLED }  // Tracks the bombholder public bomb_events() { new arg0[64], action[64], name[33], userid, bid  if(get_cvar_num("afk_disable")) return PLUGIN_HANDLED  // Read the log data that we need read_logargv(0,arg0,63) read_logargv(2,action,63)  // Find the id of the player that triggered the log parse_loguser(arg0,name,32,userid) bid = find_player("k",userid)  // Find out what action it was if (equal(action,"Spawned_With_The_Bomb")) { bombcarrier = bid; } else if (equal(action,"Dropped_The_Bomb")) { bombcarrier = 0; } else if (equal(action,"Got_The_Bomb")) { bombcarrier = bid; } else if (equal(action, "Planted_The_Bomb")) { bombcarrier = 0; } return PLUGIN_HANDLED }  // Collect and displays informations about number and team of afk-players public afk_rs_msg() { new playerCount, i, player new Players[32] get_players(Players, playerCount, "ac") AfkT = 0 AfkCT = 0  for (i=0; i<playerCount; i++) { player = Players[i] if(i_afktime[player] > BOMB_DROP_TIME) { if(cs_get_user_team(player) == CS_TEAM_T) AfkT++ if(cs_get_user_team(player) == CS_TEAM_CT) AfkCT++ } } if((AfkT > 0 || AfkCT > 0) && get_cvar_num("afk_show_counter") == 1) { lastCounterShow += AFK_CHECK_FREQ if(lastCounterShow >= SHOW_FREQ) { client_print(0, print_chat, "[AFK KiSSS]: %i T AFK - %i CT AFK", AfkT, AfkCT) lastCounterShow = 0 } } return PLUGIN_CONTINUE }  // Retrieves the number of non-afk alive players get_alive_nums() { new playerCount, i, gplayer new Players[32] get_players(Players, playerCount, "ac") numCTalive = 0 numTalive = 0  for (i=0; i<playerCount; i++) { gplayer = Players[i] if(cs_get_user_team(gplayer) == CS_TEAM_T && i_afktime[gplayer] < BOMB_DROP_TIME) numTalive++ if(cs_get_user_team(gplayer) == CS_TEAM_CT && i_afktime[gplayer] < BOMB_DROP_TIME) numCTalive++ } return PLUGIN_CONTINUE }  // On new Round get Spawnpositions public playerSpawned(id) { b_spawned[id] = false b_demorec[id] = false b_tobeslayed[id] = false new a_id[1] a_id[0] = id set_task(0.75, "getFirstPos",_, a_id, 1) return PLUGIN_HANDLED }  public getFirstPos(a_id[]) { new id = a_id[0] b_spawned[id] = true get_user_origin(id, f_lastangles[id], 3) get_user_origin(id, f_spawnposition[id]) if(get_user_flags(id)&ADMIN_IMMUNITY) { is_admin[id] = true } return PLUGIN_HANDLED }   // On player connect  public client_connect(id) { i_afktime[id] = 0 i_spectime[id] = 0 b_spawned[id] = false b_demorec[id] = false b_afkname[id] = false is_admin[id] = false b_tobeslayed[id] = false get_user_name(id, s_plname[id], 32) return PLUGIN_HANDLED }  public client_putinserver(id) { i_afktime[id] = 0 i_spectime[id] = 0 b_spawned[id] = false b_demorec[id] = false b_afkname[id] = false is_admin[id] = false b_tobeslayed[id] = false get_user_name(id, s_plname[id], 32) return PLUGIN_HANDLED }  


A hozzászólást 1 alkalommal szerkesztették, utoljára ZiT3K 2021.02.13. 03:05-kor.

Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MULTI kicker ÁTALAKÍTÁS?
HozzászólásElküldve: 2014.12.14. 17:39 
Offline
Tiszteletbeli
Avatar

Csatlakozott: 2014.09.08. 22:21
Hozzászólások: 3014
Megköszönt másnak: 96 alkalommal
Megköszönték neki: 555 alkalommal
Szedj le sima afk kickert,ami specit is kickel,meg egy bombdroppot. Kész. Minek kéne ezt átírni? Minden módosítható a cvarral. Kezdesz elfajulni.

_________________
GitHub - mforce


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MULTI kicker ÁTALAKÍTÁS?
HozzászólásElküldve: 2014.12.14. 18:06 
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 :D :D AFK Bomba Átadó / AFK kicker van bent, de spectator AFK kicker nincs hlmodon(legalább is nem találtam), ha valaki linkelne egy működőt megköszönném.
NEM OFF!! mforce: Ahogyan te is ( az iChat - v2.3.3 pluginoddal tükrözted) szeretnél 1 minden egyben chat plugint.
Ahogyan én is szeretnék 1 minden egyben AFK plugint.
Mert amennyiben van rá mód, hogy azonos(pl.: az AFK) KÖRBEN használható több plugint egybe lehet írni, akkor miért ne?. :D


Hozzászólás jelentése
Vissza a tetejére
   
 Hozzászólás témája: Re: MULTI kicker ÁTALAKÍTÁS?
HozzászólásElküldve: 2014.12.14. 18:47 
ZiT3K írta:
:D :D :D AFK Bomba Átadó / AFK kicker van bent, de spectator AFK kicker nincs hlmodon(legalább is nem találtam), ha valaki linkelne egy működőt megköszönném.
NEM OFF!! mforce: Ahogyan te is ( az iChat - v2.3.3 pluginoddal tükrözted) szeretnél 1 minden egyben chat plugint.
Ahogyan én is szeretnék 1 minden egyben AFK plugint.
Mert amennyiben van rá mód, hogy azonos(pl.: az AFK) KÖRBEN használható több plugint egybe lehet írni, akkor miért ne?. :D


https://forums.alliedmods.net/showthread.php?t=14419
Vagy
https://forums.alliedmods.net/showthread.php?p=60808


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


Ki van itt

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