Cerere plugin AFK Move [Rezolvat]

Categoria cu cereri de pluginuri si nu numai.

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Forum rules
Accesează link-ul pentru a putea vedea regulile forumului

Daca doriti sa vi se modifice un plugin, va rugam postati aici .
Post Reply
User avatar
WHOAMI?
eXtream Mod
eXtream Mod
Posts: 999
Joined: 17 Dec 2013, 19:51
Detinator Steam: Da
Reputatie: eXtream Mod
Fost Membru Club eXtreamCS (o luna)
Location: US
Has thanked: 30 times
Been thanked: 20 times

04 Mar 2019, 04:20

Plugin Cerut: AFK Move
Descriere (adica ce face el mai exact): Jucatori care stau spec x secunde setat prin cvar sa fie mutati la spec si atunci cand vreau sa intre la joc sa scrie in chat /back si sa fie adaugati in echipa din care a fost pusi spec.
Serverul ruleaza (HLDS/ReHLDS): ReHLDS
Versiune AMX Mod X: 1] AMX Mod X RUN - amxmodx_mm_i386.so v1.8.3-dev+5134 ini Start ANY
Modul Serverului: -
Last edited by WHOAMI? on 10 Mar 2019, 16:00, edited 1 time in total.
Reason: Marcat ca "Rezolvat"
RoyalServer 2
User avatar
Laurentiu P.
Fost moderator
Fost moderator
Posts: 2550
Joined: 10 Jul 2013, 21:26
Detinator Steam: Da
Reputatie: Fost super moderator
Fond eXtream: 100
Has thanked: 26 times
Been thanked: 64 times
Contact:

04 Mar 2019, 08:30

| Afiseaza codul
include <amxmodx>
#include <cstrike>

// AFK Task offset
const afk_task = 4000

// pcvars
new cvar_afktime
new cvar_afkimmunity

// player origins
new last_origins[33]

public plugin_init()
{   
    register_plugin("AFK to Spectator", "0.1", "MeRcyLeZZ")
    
    // AFK time in seconds, before player is transferred
    cvar_afktime = register_cvar("amx_afktime", "40")
    // Admin immunity?
    cvar_afkimmunity = register_cvar("amx_afkimmunity", "1")
}

public client_putinserver(id)
{
    remove_task(id+afk_task)
    set_task(get_pcvar_float(cvar_afktime), "check_afk", id+afk_task)
}

public client_disconnect(id)
{
    remove_task(id+afk_task)
}

public check_afk(taskid)
{   
    new id = taskid - afk_task;
    
    if (!is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_afktime), "check_afk", taskid)
        return;
    }
    
    new origin[3] // get origin
    get_user_origin(id, origin)
    
    if (origin[0] == last_origins[id][0] && origin[1] == last_origins[id][1] && origin[2] == last_origins[id][2])
    {
        if (get_user_flags(id) & ADMIN_IMMUNITY && get_pcvar_num(cvar_afkimmunity))
        {
            client_print(id, print_chat, "[AMXX AFK] You have immunity. You won't be transferred.")
        }
        else
        {
            new name[32]
            get_user_name( id , name , sizeof name - 1)
            client_print(0, print_chat, "[AMXX AFK] %s has been transferred to the Spectator Team.",name)
            user_kill(id, 1)
            cs_set_user_team(id, CS_TEAM_SPECTATOR)
        }
    }
    
    // save new origin
    last_origins[id][0] = origin[0]
    last_origins[id][1] = origin[1]
    last_origins[id][2] = origin[2]
    
    set_task(get_pcvar_float(cvar_afktime), "check_afk", taskid) // keep checking
}
no...
User avatar
WHOAMI?
eXtream Mod
eXtream Mod
Posts: 999
Joined: 17 Dec 2013, 19:51
Detinator Steam: Da
Reputatie: eXtream Mod
Fost Membru Club eXtreamCS (o luna)
Location: US
Has thanked: 30 times
Been thanked: 20 times

04 Mar 2019, 13:12

L-am gasit si eu pe asta , nu e tot de ce am nevoie.
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3850
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: 76561198063679589
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 595 times
Contact:

04 Mar 2019, 14:11

Code: Select all

/*
Descriere:
	Cu Acest Plugin pe Serverul Tau Jucatorii Se Pot Pune Spectator Prin Simpla Comanda /spec.
	Si Pot Reveni La Joc Prin Simpla Comanda /back(va fin in fosta echipa)

(c) www.forum.godplay.ro

Plugin: Fast Spectate
Author: sPuf ?
Vers: 1.0

Cvaruri:
	fs_score 1/0 daca este setat 1 cand jucatorul va da /back ii va pune scorul care il avea cand a scris /spec
	fs_messages 1/0 daca este setat 1 cand scrie /spec sau /back ii apar niste mesaje..
	fs_spawn 1/0 daca este setat 1 cand scrie /back va primi spawn
Changelog:
v1.0 prima lansare a pluginului
v2.0 adaugarea cvarurilor fs_spawn fs_score

*/
#include <amxmodx>
#include <cstrike>

#include <ColorChat>
#include <fun>

//#pragma semicolon 1
#pragma tabsize 0

static const PLUGIN_NAME[] 	= "Fast Spectate";
static const PLUGIN_AUTHOR[] 	= "sPuf ?";
static const PLUGIN_VERSION[]	= "2.0";

new gReturn[33],gDeaths[33],gFrags[33];

new cvar_score,cvar_msg,cvar_spawn;

static const TAG[] 	= "*";

// AFK Task offset
const afk_task = 4000;
// pcvars
new cvar_afktime;
// player origins
new last_origins[33][3];

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	
	cvar_score = register_cvar("fs_score","1");
	cvar_msg = register_cvar("fs_message","1");
	cvar_spawn = register_cvar("fs_spawn","1");
	
	//register_clcmd("say /spec","saySpec");
	//register_clcmd("say_team /spec","saySpec");
	
	register_clcmd("say /back","sayBack");
	register_clcmd("say_team /back","sayBack");
	
	// AFK time in seconds, before player is transferred
	cvar_afktime = register_cvar("amx_afktime", "40");
}

public check_afk(taskid)
{   
    new id = taskid - afk_task;
    
    if (!is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_afktime), "check_afk", taskid);
        return;
    }
    
    new origin[3]; // get origin
    get_user_origin(id, origin);
    
    if (origin[0] == last_origins[id][0] && origin[1] == last_origins[id][1] && origin[2] == last_origins[id][2])
    {
	   switch(get_user_team(id))
	   {
		case 1:	gReturn[id] = 1;
		case 2:	gReturn[id] = 2;
		case 3:	return;
	   }
	   
	   if(get_pcvar_num(cvar_score) == 1) {	
		gFrags[id] = get_user_frags(id);
		gDeaths[id] = get_user_deaths(id);
	   }
	   
            new name[32];
            get_user_name( id , name , sizeof name - 1);
            client_print(0, print_chat, "[AMXX AFK] %s has been transferred to the Spectator Team.",name);
	   ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/back^" ^x03Pentru A Reveni In Fosta Echipa ^x04!",TAG);
            user_silentkill(id);
            cs_set_user_team(id, CS_TEAM_SPECTATOR);
    }
    
    // save new origin
    last_origins[id][0] = origin[0];
    last_origins[id][1] = origin[1];
    last_origins[id][2] = origin[2];
    
    set_task(get_pcvar_float(cvar_afktime), "check_afk", taskid); // keep checking
}

/*public saySpec(id) {
	new team = get_user_team(id);
	switch(team) {
		case 1: {
			gReturn[id] = 1;
		}
		case 2: {
			gReturn[id] = 2;
		}
		case 3: {
			if(get_pcvar_num(cvar_msg)) {	
				ColorChat(id,RED,"^x04%s ^x03 Esti Deja Spectator ^x04!",TAG);
			}
			return PLUGIN_HANDLED;
		}
	}
	if(get_pcvar_num(cvar_score) == 1) {	
		gFrags[id] = get_user_frags(id);
		gDeaths[id] = get_user_deaths(id);
	}
	if(is_user_alive(id)) {
		user_silentkill(id);
		cs_set_user_team(id,3);
		if(get_pcvar_num(cvar_msg)) {	
			ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat Spectator ^x04!",TAG);
			ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/back^" ^x03Pentru A Reveni In Fosta Echipa ^x04!",TAG);
		}
		return PLUGIN_HANDLED;
	} else {
		cs_set_user_team(id,3);
		if(get_pcvar_num(cvar_msg)) {	
			ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat Spectator ^x04!",TAG);
			ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/back^" ^x03Pentru A Reveni In Fosta Echipa ^x04!",TAG);
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}*/
public sayBack(id) {
	if(!(get_user_team(id) == 3) || is_user_alive(id)) {
		if(get_pcvar_num(cvar_msg)) {	
			ColorChat(id,RED,"^x04%s^x03 Poti Folosi Aceasta Comanda Doar Cand Esti Spectator ^x04!",TAG);
			ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/spec^"^x03 Ca Sa Fii Transferat Spectator ^x04!",TAG);
			return PLUGIN_HANDLED;
		}
	} else {
		switch(gReturn[id]) {
			case 1: {
				cs_set_user_team(id,1);
				if(get_pcvar_num(cvar_msg)) {
					ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat La Echipa Terrorist ^x04!",TAG);
					ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/spec^"^x03 Ca Sa Fii Transferat Spectator ^x04!",TAG);
				}
				if(get_pcvar_num(cvar_score)) {	
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					ColorChat(id,RED,"^x04%s^x03 Scorul Tau Este ^x04%d^x03-^x04%d !",TAG,gFrags[id],gDeaths[id]);
				}
				if(get_pcvar_num(cvar_spawn)) {
					spawn(id);
				}
				return PLUGIN_HANDLED;
			}
			case 2: {
				cs_set_user_team(id,2);
				if(get_pcvar_num(cvar_msg)) {
					ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat La Echipa Counter-Terrorist ^x04!",TAG);
					ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/spec^"^x03 Ca Sa Fii Transferat Spectator ^x04!",TAG);
				}
				if(get_pcvar_num(cvar_score)) {	
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					ColorChat(id,RED,"^x04%s^x03 Scorul Tau Este ^x04%d^x03-^x04%d !",TAG,gFrags[id],gDeaths[id]);
				}
				if(get_pcvar_num(cvar_spawn)) {
					spawn(id);
				}
				return PLUGIN_HANDLED;
			}
		}
	}
	return PLUGIN_CONTINUE;
}
public client_putinserver(id) {
	gDeaths[id] = 0;
	gFrags[id] = 0;
	gReturn[id] = 0;
	
	remove_task(id+afk_task)
	set_task(get_pcvar_float(cvar_afktime), "check_afk", id+afk_task)
}
public client_disconnect(id) {
	remove_task(id+afk_task)
	
	gDeaths[id] = 0;
	gFrags[id] = 0;
	gReturn[id] = 0;
}
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
WHOAMI?
eXtream Mod
eXtream Mod
Posts: 999
Joined: 17 Dec 2013, 19:51
Detinator Steam: Da
Reputatie: eXtream Mod
Fost Membru Club eXtreamCS (o luna)
Location: US
Has thanked: 30 times
Been thanked: 20 times

04 Mar 2019, 17:18

Poti modifica in asa fel ca sa fie mutat daca sta gen x minute pe server , nu din x secunde din runda.
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3850
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: 76561198063679589
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 595 times
Contact:

04 Mar 2019, 19:08

nu înțeleg ce zici..ai un cvar amx_afktime citit în secunde
Last edited by levin on 17 Mar 2019, 14:45, edited 1 time in total.
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
Audie Murphy
Membru, skill 0
Membru, skill 0
Posts: 18
Joined: 24 Feb 2019, 21:36
Detinator Steam: Da
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 1 time
Contact:

17 Mar 2019, 13:27

L E V I N wrote:
04 Mar 2019, 14:11

Code: Select all

/*
Descriere:
	Cu Acest Plugin pe Serverul Tau Jucatorii Se Pot Pune Spectator Prin Simpla Comanda /spec.
	Si Pot Reveni La Joc Prin Simpla Comanda /back(va fin in fosta echipa)

(c) www.forum.godplay.ro

Plugin: Fast Spectate
Author: sPuf ?
Vers: 1.0

Cvaruri:
	fs_score 1/0 daca este setat 1 cand jucatorul va da /back ii va pune scorul care il avea cand a scris /spec
	fs_messages 1/0 daca este setat 1 cand scrie /spec sau /back ii apar niste mesaje..
	fs_spawn 1/0 daca este setat 1 cand scrie /back va primi spawn
Changelog:
v1.0 prima lansare a pluginului
v2.0 adaugarea cvarurilor fs_spawn fs_score

*/
#include <amxmodx>
#include <cstrike>

#include <ColorChat>
#include <fun>

//#pragma semicolon 1
#pragma tabsize 0

static const PLUGIN_NAME[] 	= "Fast Spectate";
static const PLUGIN_AUTHOR[] 	= "sPuf ?";
static const PLUGIN_VERSION[]	= "2.0";

new gReturn[33],gDeaths[33],gFrags[33];

new cvar_score,cvar_msg,cvar_spawn;

static const TAG[] 	= "*";

// AFK Task offset
const afk_task = 4000;
// pcvars
new cvar_afktime;
// player origins
new last_origins[33][3];

public plugin_init() {
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	
	cvar_score = register_cvar("fs_score","1");
	cvar_msg = register_cvar("fs_message","1");
	cvar_spawn = register_cvar("fs_spawn","1");
	
	//register_clcmd("say /spec","saySpec");
	//register_clcmd("say_team /spec","saySpec");
	
	register_clcmd("say /back","sayBack");
	register_clcmd("say_team /back","sayBack");
	
	// AFK time in seconds, before player is transferred
	cvar_afktime = register_cvar("amx_afktime", "40");
}

public check_afk(taskid)
{   
    new id = taskid - afk_task;
    
    if (!is_user_alive(id))
    {
        set_task(get_pcvar_float(cvar_afktime), "check_afk", taskid);
        return;
    }
    
    new origin[3]; // get origin
    get_user_origin(id, origin);
    
    if (origin[0] == last_origins[id][0] && origin[1] == last_origins[id][1] && origin[2] == last_origins[id][2])
    {
	   switch(get_user_team(id))
	   {
		case 1:	gReturn[id] = 1;
		case 2:	gReturn[id] = 2;
		case 3:	return;
	   }
	   
	   if(get_pcvar_num(cvar_score) == 1) {	
		gFrags[id] = get_user_frags(id);
		gDeaths[id] = get_user_deaths(id);
	   }
	   
            new name[32];
            get_user_name( id , name , sizeof name - 1);
            client_print(0, print_chat, "[AMXX AFK] %s has been transferred to the Spectator Team.",name);
	   ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/back^" ^x03Pentru A Reveni In Fosta Echipa ^x04!",TAG);
            user_silentkill(id);
            cs_set_user_team(id, CS_TEAM_SPECTATOR);
    }
    
    // save new origin
    last_origins[id][0] = origin[0];
    last_origins[id][1] = origin[1];
    last_origins[id][2] = origin[2];
    
    set_task(get_pcvar_float(cvar_afktime), "check_afk", taskid); // keep checking
}

/*public saySpec(id) {
	new team = get_user_team(id);
	switch(team) {
		case 1: {
			gReturn[id] = 1;
		}
		case 2: {
			gReturn[id] = 2;
		}
		case 3: {
			if(get_pcvar_num(cvar_msg)) {	
				ColorChat(id,RED,"^x04%s ^x03 Esti Deja Spectator ^x04!",TAG);
			}
			return PLUGIN_HANDLED;
		}
	}
	if(get_pcvar_num(cvar_score) == 1) {	
		gFrags[id] = get_user_frags(id);
		gDeaths[id] = get_user_deaths(id);
	}
	if(is_user_alive(id)) {
		user_silentkill(id);
		cs_set_user_team(id,3);
		if(get_pcvar_num(cvar_msg)) {	
			ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat Spectator ^x04!",TAG);
			ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/back^" ^x03Pentru A Reveni In Fosta Echipa ^x04!",TAG);
		}
		return PLUGIN_HANDLED;
	} else {
		cs_set_user_team(id,3);
		if(get_pcvar_num(cvar_msg)) {	
			ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat Spectator ^x04!",TAG);
			ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/back^" ^x03Pentru A Reveni In Fosta Echipa ^x04!",TAG);
		}
		return PLUGIN_HANDLED;
	}
	return PLUGIN_CONTINUE;
}*/
public sayBack(id) {
	if(!(get_user_team(id) == 3) || is_user_alive(id)) {
		if(get_pcvar_num(cvar_msg)) {	
			ColorChat(id,RED,"^x04%s^x03 Poti Folosi Aceasta Comanda Doar Cand Esti Spectator ^x04!",TAG);
			ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/spec^"^x03 Ca Sa Fii Transferat Spectator ^x04!",TAG);
			return PLUGIN_HANDLED;
		}
	} else {
		switch(gReturn[id]) {
			case 1: {
				cs_set_user_team(id,1);
				if(get_pcvar_num(cvar_msg)) {
					ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat La Echipa Terrorist ^x04!",TAG);
					ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/spec^"^x03 Ca Sa Fii Transferat Spectator ^x04!",TAG);
				}
				if(get_pcvar_num(cvar_score)) {	
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					ColorChat(id,RED,"^x04%s^x03 Scorul Tau Este ^x04%d^x03-^x04%d !",TAG,gFrags[id],gDeaths[id]);
				}
				if(get_pcvar_num(cvar_spawn)) {
					spawn(id);
				}
				return PLUGIN_HANDLED;
			}
			case 2: {
				cs_set_user_team(id,2);
				if(get_pcvar_num(cvar_msg)) {
					ColorChat(id,RED,"^x04%s^x03 Ai Fost Transferat La Echipa Counter-Terrorist ^x04!",TAG);
					ColorChat(id,RED,"^x04%s^x03 Foloseste Comanda ^x04^"/spec^"^x03 Ca Sa Fii Transferat Spectator ^x04!",TAG);
				}
				if(get_pcvar_num(cvar_score)) {	
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					cs_set_user_deaths(id, gDeaths[id]);
					set_user_frags(id, gFrags[id]);
					ColorChat(id,RED,"^x04%s^x03 Scorul Tau Este ^x04%d^x03-^x04%d !",TAG,gFrags[id],gDeaths[id]);
				}
				if(get_pcvar_num(cvar_spawn)) {
					spawn(id);
				}
				return PLUGIN_HANDLED;
			}
		}
	}
	return PLUGIN_CONTINUE;
}
public client_putinserver(id) {
	gDeaths[id] = 0;
	gFrags[id] = 0;
	gReturn[id] = 0;
	
	remove_task(id+afk_task)
	set_task(get_pcvar_float(cvar_afktime), "check_afk", id+afk_task)
}
public client_disconnect(id) {
	remove_task(id+afk_task)
	
	gDeaths[id] = 0;
	gFrags[id] = 0;
	gReturn[id] = 0;
}
Aici da o eroare la compilare.
/tmp/text1mtUCm.sma(24) : fatal error 100: cannot read from file: "ColorChat"
Post Reply

Return to “Cereri”

  • Information
  • Who is online

    Users browsing this forum: Yandex [Bot] and 18 guests