Raised This Month: $12 Target: $400
 3% 

Solved Model for player


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
HundredEyes
Member
Join Date: Sep 2022
Old 11-25-2022 , 10:28   Model for player
Reply With Quote #1

Hi! I want to add custom model for the player who became guardian:


Source:

Code:
#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define PLUGIN_NAME		"Guardian"
#define PLUGIN_VERSION		"1.43"
#define PLUGIN_AUTHOR		"XzaR"
#define PLUGIN_PREFIX		"[GN]:"

#define MAXPLAYERS		32
#define ADMIN_FLAG 		ADMIN_CVAR

#define SPAWN_TIME		"5.0"
#define SPAWN_WEAPON		"weapon_mp5navy"
#define SPAWN_AMMO		"ammo_9mm"

#define TASK_RESPAWNING		333
#define TASK_LEADER		666

new g_msg_status_icon;
new g_msg_say_text;

new cvar_guardian;
new cvar_spawntime;
new cvar_weapon;
new cvar_ammo;

new g_ts_leader;
new g_ct_leader;

new bool:g_ts_leader_alive;
new bool:g_ct_leader_alive;

//---------------------------------------------------------------------

stock create_status_icon(id,status,sprite[],red,green,blue)
{
	message_begin(MSG_ONE,g_msg_status_icon,{0,0,0},id);
	write_byte(status);
	write_string(sprite);
	write_byte(red);
	write_byte(green);
	write_byte(blue);
	message_end();
}

stock client_cprint(id,type,text[],...)
{ 
	new text_buffer[255];
	vformat(text_buffer,254,text,4);
	
	replace_all(text_buffer,254,"\y","^1");
	replace_all(text_buffer,254,"\t","^3");
	replace_all(text_buffer,254,"\g","^4");
	
	message_begin(type,g_msg_say_text,{0,0,0},id);
	write_byte(id);
	write_string(text_buffer);
	message_end();
}

//---------------------------------------------------------------------

public plugin_init()
{
	//Plugin
	register_plugin(PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_AUTHOR);
	
	//Dictionaries
	register_dictionary("guardian.txt");
	
	//Cvars
	cvar_guardian = register_cvar("sv_guardian","1");
	cvar_spawntime = register_cvar("sv_ga_spawntime",SPAWN_TIME);
	cvar_weapon = register_cvar("sv_ga_weapon",SPAWN_WEAPON);
	cvar_ammo = register_cvar("sv_ga_ammo",SPAWN_AMMO);
	
	//Console Commands
	register_concmd("amx_guardian","handler_cmd",ADMIN_FLAG);
	register_concmd("amx_ga_spawntime","handler_cmd",ADMIN_FLAG);
	register_concmd("amx_ga_weapon","handler_cmd",ADMIN_FLAG);
	register_concmd("amx_ga_ammo","handler_cmd",ADMIN_FLAG);
	
	//Server Commands
	register_srvcmd("sv_guardian","handler_cmd",-1);
	register_srvcmd("sv_ga_spawntime","handler_cmd",-1);
	register_srvcmd("sv_ga_weapon","handler_cmd",-1);
	register_srvcmd("sv_ga_ammo","handler_cmd",-1);
	
	//Client Commands
	register_clcmd("say","handler_say",-1);
	register_clcmd("say_team","handler_say",-1);
	
	//Events
	register_event("HLTV","event_new_round","a", "1=0", "2=0");
	
	//Ham Events
	RegisterHam(Ham_Spawn,"player","event_player_spawn",1);
	RegisterHam(Ham_Killed,"player","event_player_killed",1);
	
	//User Messages
	g_msg_status_icon = get_user_msgid("StatusIcon");
	g_msg_say_text = get_user_msgid("SayText");
}

//---------------------------------------------------------------------

public random_leader_ts()
{
	new players[MAXPLAYERS],id;
	static num;
	new name_leader[32];
	new bool:found;
	
	get_players(players,num,"eh","TERRORIST");
	for(new i; i < num; i++)
	{
		if(!is_user_connected(players[i]) || players[i] == 0) continue;
		
		id = players[i];
		if((random_num(1,num) == num) && (id != g_ts_leader))
		{
			g_ts_leader = id;
			found = true;
			break;
		}
	}
	
	if(!found)
	{
		g_ts_leader = id;
	}
	
	if(g_ts_leader > 0)
	{
		g_ts_leader_alive = true;
		get_user_name(g_ts_leader,name_leader,31);
		//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
		client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
	}
}

public random_leader_ct()
{
	new players[MAXPLAYERS],id;
	static num;
	new name_leader[32];
	new bool:found;
	
	get_players(players,num,"eh","CT");
	for(new i; i < num; i++)
	{
		if(!is_user_connected(players[i]) || players[i] == 0) continue;
		
		id = players[i];
		if((random_num(1,num) == num) && (id != g_ct_leader))
		{
			g_ct_leader = id;
			found = true;
			break;
		}
	}
	
	if(!found)
	{
		g_ct_leader = id;
	}
	
	if(g_ct_leader > 0)
	{
		g_ct_leader_alive = true;
		get_user_name(g_ct_leader,name_leader,31);
		//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
		client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
	}
}

public delay_leader_ts(parm[1])
{
	create_status_icon(parm[0],1,"suit_full",255,0,0);
	set_user_rendering(parm[0],kRenderFxGlowShell,255,0,0,kRenderNormal,10);
	leader_bonus(parm[0]);
}

public delay_leader_ct(parm[1])
{
	create_status_icon(parm[0],1,"suit_full",0,0,255);
	set_user_rendering(parm[0],kRenderFxGlowShell,0,0,255,kRenderNormal,10);
	leader_bonus(parm[0]);
}

public leader_bonus(id)
{
	set_user_health(id,150); 
	cs_set_user_armor (id,200,CsArmorType:2);
}

public respawn_player(parm[1])
{
	new bool:respawn = false;
	static weapon[32],ammo[16];
	get_pcvar_string(cvar_weapon,weapon,31);
	get_pcvar_string(cvar_ammo,ammo,15);
	
	if((g_ts_leader_alive) && (get_user_team(parm[0]) == 1))
	{
		respawn = true;
	}
	
	if((g_ct_leader_alive) && (get_user_team(parm[0]) == 2))
	{
		respawn = true;
	}
	
	if(respawn == true)
	{
		ExecuteHamB(Ham_CS_RoundRespawn,parm[0]);
		
		give_item(parm[0],weapon);
		give_item(parm[0],ammo);
		give_item(parm[0],ammo);
	}
	
	return PLUGIN_CONTINUE;
}

//---------------------------------------------------------------------

public client_disconnect(id)
{
	if(id == g_ts_leader) g_ts_leader_alive = false;
	if(id == g_ct_leader) g_ct_leader_alive = false;
}

public client_changeteam(id,newteam,oldteam) 
{
	if((!is_user_alive(id)) || (oldteam != newteam))
	{
		if(id == g_ts_leader) g_ts_leader_alive = false;
		if(id == g_ct_leader) g_ct_leader_alive = false;
	}
}

//---------------------------------------------------------------------

public event_new_round()
{
	if((get_pcvar_num(cvar_guardian) != 1) || (get_playersnum() < 2)) return PLUGIN_CONTINUE;
	
	random_leader_ts();
	random_leader_ct();
	
	return PLUGIN_CONTINUE;
}

public event_player_spawn(id)
{
	if((get_pcvar_num(cvar_guardian) != 1) || (!is_user_alive(id))) return HAM_IGNORED;
	
	new bool:leader = false;
	if(g_ts_leader == id)
	{
		leader = true;
		static parm[1];
		parm[0] = id;
		
		set_task(0.5,"delay_leader_ts",TASK_LEADER + id,parm,1);
	}
	
	if(g_ct_leader == id)
	{
		leader = true;
		static parm[1];
		parm[0] = id;
		
		set_task(0.5,"delay_leader_ct",TASK_LEADER + id,parm,1);
	}
	
	if(!leader)
	{
		new CsArmorType:armortype;
		new armor = cs_get_user_armor(id,armortype);
		if(armor > 100)
		{
			if(cs_get_user_vip(id))
			{
				cs_set_user_armor(id,150,armortype);
			}
			else cs_set_user_armor(id,100,armortype);
		}
		
		set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,10);
	}
	
	if(task_exists(TASK_RESPAWNING + id,0))
	{
		remove_task(TASK_RESPAWNING + id,0);
	}
	
	return HAM_HANDLED;
}

//---------------------------------------------------------------------

public event_player_killed(id,killer,shouldgib)
{
	if((get_pcvar_num(cvar_guardian) != 1)) return HAM_IGNORED;
	
	new name[32];
	get_user_name(id,name,31);
	if(g_ts_leader == id)
	{
		g_ts_leader_alive = false;
		create_status_icon(id,0,"suit_full",255,0,0);
		
		set_hudmessage(255,0,0,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
		show_hudmessage (0,"%L",LANG_PLAYER,"TS_DEAD",name);
		
		//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"TS_DEAD",name);
		client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_TS_DEAD",name);
		
		return HAM_HANDLED;
	}
	else if(g_ct_leader == id)
	{
		g_ct_leader_alive = false;
		create_status_icon(id,0,"suit_full",0,0,255);
		
		set_hudmessage(0,0,255,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
		show_hudmessage (0,"%L", LANG_PLAYER, "CT_DEAD",name);
		
		//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"CT_DEAD",name);
		client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_CT_DEAD",name);
		
		return HAM_HANDLED;
	}
	
	static Float:spawntime,parm[1];
	spawntime = get_pcvar_float(cvar_spawntime);
	parm[0] = id;
		
	set_task(spawntime,"respawn_player",TASK_RESPAWNING + id,parm,1);
		
	new bool:respawn = false;
	if((g_ts_leader_alive) && (get_user_team(id) == 1))
	{
		respawn = true;
	}
	else if((g_ct_leader_alive) && (get_user_team(id) == 2))
	{
		respawn = true;
	}
		
	if(respawn)
	{
		set_hudmessage(255,255,255,-1.0,-1.0,2,1.0,(spawntime - 0.8),0.1,0.2,-1);
		show_hudmessage(id,"%L",id,"REVIVE");
	}

	return HAM_HANDLED;
}

//---------------------------------------------------------------------

public handler_cmd(id,level,cid)
{
	if (!cmd_access(id,level,cid,1))
	{
		return PLUGIN_HANDLED;
	}
	
	static cmd[32],arg1[32];
	read_argv(0,cmd,31);
	read_argv(1,arg1,31);
	
	if(equal(cmd,"sv_guardian") || equal(cmd,"amx_guardian"))
	{
		if(equal(arg1,"1"))
		{
			set_pcvar_num(cvar_guardian,1);
			set_cvar_num("sv_restartround",1);
		}
		else if(equal(arg1,"0"))
		{
			set_pcvar_num(cvar_guardian,0);
			set_cvar_num("sv_restartround",1);
		}
	}
	else if(equal(cmd,"sv_ga_spawntime") || equal(cmd,"amx_ga_spawntime"))
	{
		set_pcvar_float(cvar_spawntime,str_to_float(arg1));
	}
	else if(equal(cmd,"sv_ga_weapon") || equal(cmd,"amx_ga_weapon"))
	{
		set_pcvar_string(cvar_weapon,arg1);
	}
	else if(equal(cmd,"sv_ga_ammo") || equal(cmd,"amx_ga_ammo"))
	{
		set_pcvar_string(cvar_ammo,arg1);
	}
	
	return PLUGIN_HANDLED;
}

public handler_say(id)
{
	if(get_pcvar_num(cvar_guardian) != 1) return PLUGIN_CONTINUE;
	
	static said[32];
	read_args(said,31);
	remove_quotes(said);

	if(equal(said,"/guardian") || equal(said,"/guardians"))
	{
		static name_ts[32],name_ct[32];
		get_user_name(g_ts_leader,name_ts,31);
		get_user_name(g_ct_leader,name_ct,31);
		
		client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_TS",name_ts);
		client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_CT",name_ct);
	}
	
	return PLUGIN_CONTINUE;
}

//---------------------------------------------------------------------

Last edited by HundredEyes; 11-29-2022 at 15:17.
HundredEyes is offline
TribalBlood
Member
Join Date: Oct 2020
Old 11-25-2022 , 14:53   Re: Model for player
Reply With Quote #2

Compile it again.

PHP Code:
#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define PLUGIN_NAME     "Guardian"
#define PLUGIN_VERSION      "1.43"
#define PLUGIN_AUTHOR       "XzaR"
#define PLUGIN_PREFIX       "[GN]:"

#define MAXPLAYERS      32
#define ADMIN_FLAG      ADMIN_CVAR

#define SPAWN_TIME      "5.0"
#define SPAWN_WEAPON        "weapon_mp5navy"
#define SPAWN_AMMO      "ammo_9mm"

#define TASK_RESPAWNING     333
#define TASK_LEADER     666

new g_msg_status_icon;
new 
g_msg_say_text;

new 
cvar_guardian;
new 
cvar_spawntime;
new 
cvar_weapon;
new 
cvar_ammo;

new 
g_ts_leader;
new 
g_ct_leader;

new 
bool:g_ts_leader_alive;
new 
bool:g_ct_leader_alive;

//---------------------------------------------------------------------

stock create_status_icon(id,status,sprite[],red,green,blue)
{
    
message_begin(MSG_ONE,g_msg_status_icon,{0,0,0},id);
    
write_byte(status);
    
write_string(sprite);
    
write_byte(red);
    
write_byte(green);
    
write_byte(blue);
    
message_end();
}

stock client_cprint(id,type,text[],...)
{
    new 
text_buffer[255];
    
vformat(text_buffer,254,text,4);

    
replace_all(text_buffer,254,"\y","^1");
    
replace_all(text_buffer,254,"\t","^3");
    
replace_all(text_buffer,254,"\g","^4");

    
message_begin(type,g_msg_say_text,{0,0,0},id);
    
write_byte(id);
    
write_string(text_buffer);
    
message_end();
}

//---------------------------------------------------------------------

public plugin_init()
{
    
//Plugin
    
register_plugin(PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_AUTHOR);

    
//Dictionaries
    
register_dictionary("guardian.txt");

    
//Cvars
    
cvar_guardian register_cvar("sv_guardian","1");
    
cvar_spawntime register_cvar("sv_ga_spawntime",SPAWN_TIME);
    
cvar_weapon register_cvar("sv_ga_weapon",SPAWN_WEAPON);
    
cvar_ammo register_cvar("sv_ga_ammo",SPAWN_AMMO);

    
//Console Commands
    
register_concmd("amx_guardian","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_spawntime","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_weapon","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_ammo","handler_cmd",ADMIN_FLAG);

    
//Server Commands
    
register_srvcmd("sv_guardian","handler_cmd",-1);
    
register_srvcmd("sv_ga_spawntime","handler_cmd",-1);
    
register_srvcmd("sv_ga_weapon","handler_cmd",-1);
    
register_srvcmd("sv_ga_ammo","handler_cmd",-1);

    
//Client Commands
    
register_clcmd("say","handler_say",-1);
    
register_clcmd("say_team","handler_say",-1);

    
//Events
    
register_event("HLTV","event_new_round","a""1=0""2=0");

    
//Ham Events
    
RegisterHam(Ham_Spawn,"player","event_player_spawn",1);
    
RegisterHam(Ham_Killed,"player","event_player_killed",1);

    
//User Messages
    
g_msg_status_icon get_user_msgid("StatusIcon");
    
g_msg_say_text get_user_msgid("SayText");
}

//---------------------------------------------------------------------

public plugin_precache()
{
    
precache_model("models/player/modelname_ct/modelname_ct.mdl"); // Change the "modelname_ct";
    
precache_model("models/player/modelname_t/modelname_t.mdl"); // Change the "modelname_t";
}

//---------------------------------------------------------------------

public random_leader_ts()
{
    new 
players[MAXPLAYERS],id;
    static 
num;
    new 
name_leader[32];
    new 
bool:found;

    
get_players(players,num,"eh","TERRORIST");
    for(new 
inumi++)
    {
        if(!
is_user_connected(players[i]) || players[i] == 0) continue;

        
id players[i];
        if((
random_num(1,num) == num) && (id != g_ts_leader))
        {
            
g_ts_leader id;
            
found true;
            break;
        }
    }

    if(!
found)
    {
        
g_ts_leader id;
    }

    if(
g_ts_leader 0)
    {
        
g_ts_leader_alive true;
        
get_user_name(g_ts_leader,name_leader,31);
        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
        
client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
    }
}

public 
random_leader_ct()
{
    new 
players[MAXPLAYERS],id;
    static 
num;
    new 
name_leader[32];
    new 
bool:found;

    
get_players(players,num,"eh","CT");
    for(new 
inumi++)
    {
        if(!
is_user_connected(players[i]) || players[i] == 0) continue;

        
id players[i];
        if((
random_num(1,num) == num) && (id != g_ct_leader))
        {
            
g_ct_leader id;
            
found true;
            break;
        }
    }

    if(!
found)
    {
        
g_ct_leader id;
    }

    if(
g_ct_leader 0)
    {
        
g_ct_leader_alive true;
        
get_user_name(g_ct_leader,name_leader,31);
        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
        
client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
    }
}

public 
delay_leader_ts(parm[1])
{
    
create_status_icon(parm[0],1,"suit_full",255,0,0);
    
set_user_rendering(parm[0],kRenderFxGlowShell,255,0,0,kRenderNormal,10);
    
cs_set_user_model(parm[0], "modelname_t"); // Change the "modelname_t"
    
leader_bonus(parm[0]);
}

public 
delay_leader_ct(parm[1])
{
    
create_status_icon(parm[0],1,"suit_full",0,0,255);
    
set_user_rendering(parm[0],kRenderFxGlowShell,0,0,255,kRenderNormal,10);
    
cs_set_user_model(parm[0], "modelname_ct"); // Change the "modelname_ct"
    
leader_bonus(parm[0]);
}

public 
leader_bonus(id)
{
    
set_user_health(id,150);
    
cs_set_user_armor (id,200,CsArmorType:2);
}

public 
respawn_player(parm[1])
{
    new 
bool:respawn false;
    static 
weapon[32],ammo[16];
    
get_pcvar_string(cvar_weapon,weapon,31);
    
get_pcvar_string(cvar_ammo,ammo,15);

    if((
g_ts_leader_alive) && (get_user_team(parm[0]) == 1))
    {
        
respawn true;
    }

    if((
g_ct_leader_alive) && (get_user_team(parm[0]) == 2))
    {
        
respawn true;
    }

    if(
respawn == true)
    {
        
ExecuteHamB(Ham_CS_RoundRespawn,parm[0]);

        
give_item(parm[0],weapon);
        
give_item(parm[0],ammo);
        
give_item(parm[0],ammo);
    }

    return 
PLUGIN_CONTINUE;
}

//---------------------------------------------------------------------

public client_disconnect(id)
{
    if(
id == g_ts_leaderg_ts_leader_alive false;
    if(
id == g_ct_leaderg_ct_leader_alive false;
}

public 
client_changeteam(id,newteam,oldteam)
{
    if((!
is_user_alive(id)) || (oldteam != newteam))
    {
        if(
id == g_ts_leaderg_ts_leader_alive false;
        if(
id == g_ct_leaderg_ct_leader_alive false;
    }
}

//---------------------------------------------------------------------

public event_new_round()
{
    if((
get_pcvar_num(cvar_guardian) != 1) || (get_playersnum() < 2)) return PLUGIN_CONTINUE;

    
random_leader_ts();
    
random_leader_ct();

    return 
PLUGIN_CONTINUE;
}

public 
event_player_spawn(id)
{
    if((
get_pcvar_num(cvar_guardian) != 1) || (!is_user_alive(id))) return HAM_IGNORED;

    new 
bool:leader false;
    if(
g_ts_leader == id)
    {
        
leader true;
        static 
parm[1];
        
parm[0] = id;

        
set_task(0.5,"delay_leader_ts",TASK_LEADER id,parm,1);
    }

    if(
g_ct_leader == id)
    {
        
leader true;
        static 
parm[1];
        
parm[0] = id;

        
set_task(0.5,"delay_leader_ct",TASK_LEADER id,parm,1);
    }

    if(!
leader)
    {
        new 
CsArmorType:armortype;
        new 
armor cs_get_user_armor(id,armortype);
        if(
armor 100)
        {
            if(
cs_get_user_vip(id))
            {
                
cs_set_user_armor(id,150,armortype);
            }
            else 
cs_set_user_armor(id,100,armortype);
        }

        
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,10);
    }

    if(
task_exists(TASK_RESPAWNING id,0))
    {
        
remove_task(TASK_RESPAWNING id,0);
    }

    return 
HAM_HANDLED;
}

//---------------------------------------------------------------------

public event_player_killed(id,killer,shouldgib)
{
    if((
get_pcvar_num(cvar_guardian) != 1)) return HAM_IGNORED;

    new 
name[32];
    
get_user_name(id,name,31);
    if(
g_ts_leader == id)
    {
        
g_ts_leader_alive false;
        
create_status_icon(id,0,"suit_full",255,0,0);

        
set_hudmessage(255,0,0,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
        
show_hudmessage (0,"%L",LANG_PLAYER,"TS_DEAD",name);

        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"TS_DEAD",name);
        
client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_TS_DEAD",name);

        return 
HAM_HANDLED;
    }
    else if(
g_ct_leader == id)
    {
        
g_ct_leader_alive false;
        
create_status_icon(id,0,"suit_full",0,0,255);

        
set_hudmessage(0,0,255,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
        
show_hudmessage (0,"%L"LANG_PLAYER"CT_DEAD",name);

        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"CT_DEAD",name);
        
client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_CT_DEAD",name);

        return 
HAM_HANDLED;
    }

    static 
Float:spawntime,parm[1];
    
spawntime get_pcvar_float(cvar_spawntime);
    
parm[0] = id;

    
set_task(spawntime,"respawn_player",TASK_RESPAWNING id,parm,1);

    new 
bool:respawn false;
    if((
g_ts_leader_alive) && (get_user_team(id) == 1))
    {
        
respawn true;
    }
    else if((
g_ct_leader_alive) && (get_user_team(id) == 2))
    {
        
respawn true;
    }

    if(
respawn)
    {
        
set_hudmessage(255,255,255,-1.0,-1.0,2,1.0,(spawntime 0.8),0.1,0.2,-1);
        
show_hudmessage(id,"%L",id,"REVIVE");
    }

    return 
HAM_HANDLED;
}

//---------------------------------------------------------------------

public handler_cmd(id,level,cid)
{
    if (!
cmd_access(id,level,cid,1))
    {
        return 
PLUGIN_HANDLED;
    }

    static 
cmd[32],arg1[32];
    
read_argv(0,cmd,31);
    
read_argv(1,arg1,31);

    if(
equal(cmd,"sv_guardian") || equal(cmd,"amx_guardian"))
    {
        if(
equal(arg1,"1"))
        {
            
set_pcvar_num(cvar_guardian,1);
            
set_cvar_num("sv_restartround",1);
        }
        else if(
equal(arg1,"0"))
        {
            
set_pcvar_num(cvar_guardian,0);
            
set_cvar_num("sv_restartround",1);
        }
    }
    else if(
equal(cmd,"sv_ga_spawntime") || equal(cmd,"amx_ga_spawntime"))
    {
        
set_pcvar_float(cvar_spawntime,str_to_float(arg1));
    }
    else if(
equal(cmd,"sv_ga_weapon") || equal(cmd,"amx_ga_weapon"))
    {
        
set_pcvar_string(cvar_weapon,arg1);
    }
    else if(
equal(cmd,"sv_ga_ammo") || equal(cmd,"amx_ga_ammo"))
    {
        
set_pcvar_string(cvar_ammo,arg1);
    }

    return 
PLUGIN_HANDLED;
}

public 
handler_say(id)
{
    if(
get_pcvar_num(cvar_guardian) != 1) return PLUGIN_CONTINUE;

    static 
said[32];
    
read_args(said,31);
    
remove_quotes(said);

    if(
equal(said,"/guardian") || equal(said,"/guardians"))
    {
        static 
name_ts[32],name_ct[32];
        
get_user_name(g_ts_leader,name_ts,31);
        
get_user_name(g_ct_leader,name_ct,31);

        
client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_TS",name_ts);
        
client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_CT",name_ct);
    }

    return 
PLUGIN_CONTINUE;
}

//--------------------------------------------------------------------- 
__________________
My Steam Profile

- Online Rarely -

Last edited by TribalBlood; 11-28-2022 at 20:19. Reason: Code Update
TribalBlood is offline
HundredEyes
Member
Join Date: Sep 2022
Old 11-25-2022 , 16:03   Re: Model for player
Reply With Quote #3

Hi! Thanks for the fast response

I'm using Amxmodx 1.8.2

I get these errors when I want to compile:
Code:
//// guardian_updated.sma
// cstrike\addons\amxmodx\Compiler\scripting\guardian.sma(194) : error 088: number of arguments does not match definition
// cstrike\addons\amxmodx\Compiler\scripting\guardian.sma(202) : error 088: number of arguments does not match definition
//
// 2 Errors.
// Could not locate output file compiled\guardian_updated.amx (compile failed).
//

Last edited by HundredEyes; 11-25-2022 at 16:45.
HundredEyes is offline
HundredEyes
Member
Join Date: Sep 2022
Old 11-28-2022 , 04:34   Re: Model for player
Reply With Quote #4

Code:
 //// guardian_updated.sma
// cstrike\addons\amxmodx\Compiler\scripting\guardian.sma(194) : error 088: number of arguments does not match definition
// cstrike\addons\amxmodx\Compiler\scripting\guardian.sma(202) : error 088: number of arguments does not match definition
//
// 2 Errors.
// Could not locate output file compiled\guardian_updated.amx (compile failed).
//
Quote:
Originally Posted by TribalBlood View Post
Tested.

PHP Code:
#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define PLUGIN_NAME     "Guardian"
#define PLUGIN_VERSION      "1.43"
#define PLUGIN_AUTHOR       "XzaR"
#define PLUGIN_PREFIX       "[GN]:"

#define MAXPLAYERS      32
#define ADMIN_FLAG      ADMIN_CVAR

#define SPAWN_TIME      "5.0"
#define SPAWN_WEAPON        "weapon_mp5navy"
#define SPAWN_AMMO      "ammo_9mm"

#define TASK_RESPAWNING     333
#define TASK_LEADER     666

new g_msg_status_icon;
new 
g_msg_say_text;

new 
cvar_guardian;
new 
cvar_spawntime;
new 
cvar_weapon;
new 
cvar_ammo;

new 
g_ts_leader;
new 
g_ct_leader;

new 
bool:g_ts_leader_alive;
new 
bool:g_ct_leader_alive;

//---------------------------------------------------------------------

stock create_status_icon(id,status,sprite[],red,green,blue)
{
    
message_begin(MSG_ONE,g_msg_status_icon,{0,0,0},id);
    
write_byte(status);
    
write_string(sprite);
    
write_byte(red);
    
write_byte(green);
    
write_byte(blue);
    
message_end();
}

stock client_cprint(id,type,text[],...)
{
    new 
text_buffer[255];
    
vformat(text_buffer,254,text,4);

    
replace_all(text_buffer,254,"\y","^1");
    
replace_all(text_buffer,254,"\t","^3");
    
replace_all(text_buffer,254,"\g","^4");

    
message_begin(type,g_msg_say_text,{0,0,0},id);
    
write_byte(id);
    
write_string(text_buffer);
    
message_end();
}

//---------------------------------------------------------------------

public plugin_init()
{
    
//Plugin
    
register_plugin(PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_AUTHOR);

    
//Dictionaries
    
register_dictionary("guardian.txt");

    
//Cvars
    
cvar_guardian register_cvar("sv_guardian","1");
    
cvar_spawntime register_cvar("sv_ga_spawntime",SPAWN_TIME);
    
cvar_weapon register_cvar("sv_ga_weapon",SPAWN_WEAPON);
    
cvar_ammo register_cvar("sv_ga_ammo",SPAWN_AMMO);

    
//Console Commands
    
register_concmd("amx_guardian","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_spawntime","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_weapon","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_ammo","handler_cmd",ADMIN_FLAG);

    
//Server Commands
    
register_srvcmd("sv_guardian","handler_cmd",-1);
    
register_srvcmd("sv_ga_spawntime","handler_cmd",-1);
    
register_srvcmd("sv_ga_weapon","handler_cmd",-1);
    
register_srvcmd("sv_ga_ammo","handler_cmd",-1);

    
//Client Commands
    
register_clcmd("say","handler_say",-1);
    
register_clcmd("say_team","handler_say",-1);

    
//Events
    
register_event("HLTV","event_new_round","a""1=0""2=0");

    
//Ham Events
    
RegisterHam(Ham_Spawn,"player","event_player_spawn",1);
    
RegisterHam(Ham_Killed,"player","event_player_killed",1);

    
//User Messages
    
g_msg_status_icon get_user_msgid("StatusIcon");
    
g_msg_say_text get_user_msgid("SayText");
}

//---------------------------------------------------------------------

public plugin_precache()
{
    
precache_model("models/player/modelname_ct/modelname_ct.mdl"); // Change the "modelname_ct";
    
precache_model("models/player/modelname_t/modelname_t.mdl"); // Change the "modelname_t";
}

//---------------------------------------------------------------------

public random_leader_ts()
{
    new 
players[MAXPLAYERS],id;
    static 
num;
    new 
name_leader[32];
    new 
bool:found;

    
get_players(players,num,"eh","TERRORIST");
    for(new 
inumi++)
    {
        if(!
is_user_connected(players[i]) || players[i] == 0) continue;

        
id players[i];
        if((
random_num(1,num) == num) && (id != g_ts_leader))
        {
            
g_ts_leader id;
            
found true;
            break;
        }
    }

    if(!
found)
    {
        
g_ts_leader id;
    }

    if(
g_ts_leader 0)
    {
        
g_ts_leader_alive true;
        
get_user_name(g_ts_leader,name_leader,31);
        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
        
client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
    }
}

public 
random_leader_ct()
{
    new 
players[MAXPLAYERS],id;
    static 
num;
    new 
name_leader[32];
    new 
bool:found;

    
get_players(players,num,"eh","CT");
    for(new 
inumi++)
    {
        if(!
is_user_connected(players[i]) || players[i] == 0) continue;

        
id players[i];
        if((
random_num(1,num) == num) && (id != g_ct_leader))
        {
            
g_ct_leader id;
            
found true;
            break;
        }
    }

    if(!
found)
    {
        
g_ct_leader id;
    }

    if(
g_ct_leader 0)
    {
        
g_ct_leader_alive true;
        
get_user_name(g_ct_leader,name_leader,31);
        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
        
client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
    }
}

public 
delay_leader_ts(parm[1])
{
    
create_status_icon(parm[0],1,"suit_full",255,0,0);
    
set_user_rendering(parm[0],kRenderFxGlowShell,255,0,0,kRenderNormal,10);
    
cs_set_user_model(parm[0], "modelname_t"); // Change the "modelname_t";
    
leader_bonus(parm[0]);
}

public 
delay_leader_ct(parm[1])
{
    
create_status_icon(parm[0],1,"suit_full",0,0,255);
    
set_user_rendering(parm[0],kRenderFxGlowShell,0,0,255,kRenderNormal,10);
    
cs_set_user_model(parm[0], "modelname_ct"); // Change the "modelname_ct";
    
leader_bonus(parm[0]);
}

public 
leader_bonus(id)
{
    
set_user_health(id,150);
    
cs_set_user_armor (id,200,CsArmorType:2);
}

public 
respawn_player(parm[1])
{
    new 
bool:respawn false;
    static 
weapon[32],ammo[16];
    
get_pcvar_string(cvar_weapon,weapon,31);
    
get_pcvar_string(cvar_ammo,ammo,15);

    if((
g_ts_leader_alive) && (get_user_team(parm[0]) == 1))
    {
        
respawn true;
    }

    if((
g_ct_leader_alive) && (get_user_team(parm[0]) == 2))
    {
        
respawn true;
    }

    if(
respawn == true)
    {
        
ExecuteHamB(Ham_CS_RoundRespawn,parm[0]);

        
give_item(parm[0],weapon);
        
give_item(parm[0],ammo);
        
give_item(parm[0],ammo);
    }

    return 
PLUGIN_CONTINUE;
}

//---------------------------------------------------------------------

public client_disconnect(id)
{
    if(
id == g_ts_leaderg_ts_leader_alive false;
    if(
id == g_ct_leaderg_ct_leader_alive false;
}

public 
client_changeteam(id,newteam,oldteam)
{
    if((!
is_user_alive(id)) || (oldteam != newteam))
    {
        if(
id == g_ts_leaderg_ts_leader_alive false;
        if(
id == g_ct_leaderg_ct_leader_alive false;
    }
}

//---------------------------------------------------------------------

public event_new_round()
{
    if((
get_pcvar_num(cvar_guardian) != 1) || (get_playersnum() < 2)) return PLUGIN_CONTINUE;

    
random_leader_ts();
    
random_leader_ct();

    return 
PLUGIN_CONTINUE;
}

public 
event_player_spawn(id)
{
    if((
get_pcvar_num(cvar_guardian) != 1) || (!is_user_alive(id))) return HAM_IGNORED;

    new 
bool:leader false;
    if(
g_ts_leader == id)
    {
        
leader true;
        static 
parm[1];
        
parm[0] = id;

        
set_task(0.5,"delay_leader_ts",TASK_LEADER id,parm,1);
    }

    if(
g_ct_leader == id)
    {
        
leader true;
        static 
parm[1];
        
parm[0] = id;

        
set_task(0.5,"delay_leader_ct",TASK_LEADER id,parm,1);
    }

    if(!
leader)
    {
        new 
CsArmorType:armortype;
        new 
armor cs_get_user_armor(id,armortype);
        if(
armor 100)
        {
            if(
cs_get_user_vip(id))
            {
                
cs_set_user_armor(id,150,armortype);
            }
            else 
cs_set_user_armor(id,100,armortype);
        }

        
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,10);
    }

    if(
task_exists(TASK_RESPAWNING id,0))
    {
        
remove_task(TASK_RESPAWNING id,0);
    }

    return 
HAM_HANDLED;
}

//---------------------------------------------------------------------

public event_player_killed(id,killer,shouldgib)
{
    if((
get_pcvar_num(cvar_guardian) != 1)) return HAM_IGNORED;

    new 
name[32];
    
get_user_name(id,name,31);
    if(
g_ts_leader == id)
    {
        
g_ts_leader_alive false;
        
create_status_icon(id,0,"suit_full",255,0,0);

        
set_hudmessage(255,0,0,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
        
show_hudmessage (0,"%L",LANG_PLAYER,"TS_DEAD",name);

        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"TS_DEAD",name);
        
client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_TS_DEAD",name);

        return 
HAM_HANDLED;
    }
    else if(
g_ct_leader == id)
    {
        
g_ct_leader_alive false;
        
create_status_icon(id,0,"suit_full",0,0,255);

        
set_hudmessage(0,0,255,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
        
show_hudmessage (0,"%L"LANG_PLAYER"CT_DEAD",name);

        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"CT_DEAD",name);
        
client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_CT_DEAD",name);

        return 
HAM_HANDLED;
    }

    static 
Float:spawntime,parm[1];
    
spawntime get_pcvar_float(cvar_spawntime);
    
parm[0] = id;

    
set_task(spawntime,"respawn_player",TASK_RESPAWNING id,parm,1);

    new 
bool:respawn false;
    if((
g_ts_leader_alive) && (get_user_team(id) == 1))
    {
        
respawn true;
    }
    else if((
g_ct_leader_alive) && (get_user_team(id) == 2))
    {
        
respawn true;
    }

    if(
respawn)
    {
        
set_hudmessage(255,255,255,-1.0,-1.0,2,1.0,(spawntime 0.8),0.1,0.2,-1);
        
show_hudmessage(id,"%L",id,"REVIVE");
    }

    return 
HAM_HANDLED;
}

//---------------------------------------------------------------------

public handler_cmd(id,level,cid)
{
    if (!
cmd_access(id,level,cid,1))
    {
        return 
PLUGIN_HANDLED;
    }

    static 
cmd[32],arg1[32];
    
read_argv(0,cmd,31);
    
read_argv(1,arg1,31);

    if(
equal(cmd,"sv_guardian") || equal(cmd,"amx_guardian"))
    {
        if(
equal(arg1,"1"))
        {
            
set_pcvar_num(cvar_guardian,1);
            
set_cvar_num("sv_restartround",1);
        }
        else if(
equal(arg1,"0"))
        {
            
set_pcvar_num(cvar_guardian,0);
            
set_cvar_num("sv_restartround",1);
        }
    }
    else if(
equal(cmd,"sv_ga_spawntime") || equal(cmd,"amx_ga_spawntime"))
    {
        
set_pcvar_float(cvar_spawntime,str_to_float(arg1));
    }
    else if(
equal(cmd,"sv_ga_weapon") || equal(cmd,"amx_ga_weapon"))
    {
        
set_pcvar_string(cvar_weapon,arg1);
    }
    else if(
equal(cmd,"sv_ga_ammo") || equal(cmd,"amx_ga_ammo"))
    {
        
set_pcvar_string(cvar_ammo,arg1);
    }

    return 
PLUGIN_HANDLED;
}

public 
handler_say(id)
{
    if(
get_pcvar_num(cvar_guardian) != 1) return PLUGIN_CONTINUE;

    static 
said[32];
    
read_args(said,31);
    
remove_quotes(said);

    if(
equal(said,"/guardian") || equal(said,"/guardians"))
    {
        static 
name_ts[32],name_ct[32];
        
get_user_name(g_ts_leader,name_ts,31);
        
get_user_name(g_ct_leader,name_ct,31);

        
client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_TS",name_ts);
        
client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_CT",name_ct);
    }

    return 
PLUGIN_CONTINUE;
}

//--------------------------------------------------------------------- 
These lines:
Code:
 cs_set_user_model(parm[0], "modelname_t"); // Change the "modelname_t";
Code:
 cs_set_user_model(parm[0], "modelname_ct"); // Change the "modelname_ct";

Last edited by HundredEyes; 11-28-2022 at 04:35.
HundredEyes is offline
fysiks
Veteran Member
Join Date: Sep 2007
Location: Flatland, USA
Old 11-28-2022 , 21:45   Re: Model for player
Reply With Quote #5

Something else is wrong then because it compiles in with both 1.8.2 and 1.9.0+. That function only has two required arguments in both versions of AMX Mod X.
__________________
fysiks is offline
HundredEyes
Member
Join Date: Sep 2022
Old 11-29-2022 , 05:19   Re: Model for player
Reply With Quote #6

Quote:
Originally Posted by TribalBlood View Post
Compile it again.

PHP Code:
#pragma semicolon 1

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <fun>
#include <hamsandwich>

#define PLUGIN_NAME     "Guardian"
#define PLUGIN_VERSION      "1.43"
#define PLUGIN_AUTHOR       "XzaR"
#define PLUGIN_PREFIX       "[GN]:"

#define MAXPLAYERS      32
#define ADMIN_FLAG      ADMIN_CVAR

#define SPAWN_TIME      "5.0"
#define SPAWN_WEAPON        "weapon_mp5navy"
#define SPAWN_AMMO      "ammo_9mm"

#define TASK_RESPAWNING     333
#define TASK_LEADER     666

new g_msg_status_icon;
new 
g_msg_say_text;

new 
cvar_guardian;
new 
cvar_spawntime;
new 
cvar_weapon;
new 
cvar_ammo;

new 
g_ts_leader;
new 
g_ct_leader;

new 
bool:g_ts_leader_alive;
new 
bool:g_ct_leader_alive;

//---------------------------------------------------------------------

stock create_status_icon(id,status,sprite[],red,green,blue)
{
    
message_begin(MSG_ONE,g_msg_status_icon,{0,0,0},id);
    
write_byte(status);
    
write_string(sprite);
    
write_byte(red);
    
write_byte(green);
    
write_byte(blue);
    
message_end();
}

stock client_cprint(id,type,text[],...)
{
    new 
text_buffer[255];
    
vformat(text_buffer,254,text,4);

    
replace_all(text_buffer,254,"\y","^1");
    
replace_all(text_buffer,254,"\t","^3");
    
replace_all(text_buffer,254,"\g","^4");

    
message_begin(type,g_msg_say_text,{0,0,0},id);
    
write_byte(id);
    
write_string(text_buffer);
    
message_end();
}

//---------------------------------------------------------------------

public plugin_init()
{
    
//Plugin
    
register_plugin(PLUGIN_NAME,PLUGIN_VERSION,PLUGIN_AUTHOR);

    
//Dictionaries
    
register_dictionary("guardian.txt");

    
//Cvars
    
cvar_guardian register_cvar("sv_guardian","1");
    
cvar_spawntime register_cvar("sv_ga_spawntime",SPAWN_TIME);
    
cvar_weapon register_cvar("sv_ga_weapon",SPAWN_WEAPON);
    
cvar_ammo register_cvar("sv_ga_ammo",SPAWN_AMMO);

    
//Console Commands
    
register_concmd("amx_guardian","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_spawntime","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_weapon","handler_cmd",ADMIN_FLAG);
    
register_concmd("amx_ga_ammo","handler_cmd",ADMIN_FLAG);

    
//Server Commands
    
register_srvcmd("sv_guardian","handler_cmd",-1);
    
register_srvcmd("sv_ga_spawntime","handler_cmd",-1);
    
register_srvcmd("sv_ga_weapon","handler_cmd",-1);
    
register_srvcmd("sv_ga_ammo","handler_cmd",-1);

    
//Client Commands
    
register_clcmd("say","handler_say",-1);
    
register_clcmd("say_team","handler_say",-1);

    
//Events
    
register_event("HLTV","event_new_round","a""1=0""2=0");

    
//Ham Events
    
RegisterHam(Ham_Spawn,"player","event_player_spawn",1);
    
RegisterHam(Ham_Killed,"player","event_player_killed",1);

    
//User Messages
    
g_msg_status_icon get_user_msgid("StatusIcon");
    
g_msg_say_text get_user_msgid("SayText");
}

//---------------------------------------------------------------------

public plugin_precache()
{
    
precache_model("models/player/modelname_ct/modelname_ct.mdl"); // Change the "modelname_ct";
    
precache_model("models/player/modelname_t/modelname_t.mdl"); // Change the "modelname_t";
}

//---------------------------------------------------------------------

public random_leader_ts()
{
    new 
players[MAXPLAYERS],id;
    static 
num;
    new 
name_leader[32];
    new 
bool:found;

    
get_players(players,num,"eh","TERRORIST");
    for(new 
inumi++)
    {
        if(!
is_user_connected(players[i]) || players[i] == 0) continue;

        
id players[i];
        if((
random_num(1,num) == num) && (id != g_ts_leader))
        {
            
g_ts_leader id;
            
found true;
            break;
        }
    }

    if(!
found)
    {
        
g_ts_leader id;
    }

    if(
g_ts_leader 0)
    {
        
g_ts_leader_alive true;
        
get_user_name(g_ts_leader,name_leader,31);
        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
        
client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_TS",name_leader);
    }
}

public 
random_leader_ct()
{
    new 
players[MAXPLAYERS],id;
    static 
num;
    new 
name_leader[32];
    new 
bool:found;

    
get_players(players,num,"eh","CT");
    for(new 
inumi++)
    {
        if(!
is_user_connected(players[i]) || players[i] == 0) continue;

        
id players[i];
        if((
random_num(1,num) == num) && (id != g_ct_leader))
        {
            
g_ct_leader id;
            
found true;
            break;
        }
    }

    if(!
found)
    {
        
g_ct_leader id;
    }

    if(
g_ct_leader 0)
    {
        
g_ct_leader_alive true;
        
get_user_name(g_ct_leader,name_leader,31);
        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
        
client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"HAS_BEEN_CHOSEN_CT",name_leader);
    }
}

public 
delay_leader_ts(parm[1])
{
    
create_status_icon(parm[0],1,"suit_full",255,0,0);
    
set_user_rendering(parm[0],kRenderFxGlowShell,255,0,0,kRenderNormal,10);
    
cs_set_user_model(parm[0], "modelname_t"); // Change the "modelname_t"
    
leader_bonus(parm[0]);
}

public 
delay_leader_ct(parm[1])
{
    
create_status_icon(parm[0],1,"suit_full",0,0,255);
    
set_user_rendering(parm[0],kRenderFxGlowShell,0,0,255,kRenderNormal,10);
    
cs_set_user_model(parm[0], "modelname_ct"); // Change the "modelname_ct"
    
leader_bonus(parm[0]);
}

public 
leader_bonus(id)
{
    
set_user_health(id,150);
    
cs_set_user_armor (id,200,CsArmorType:2);
}

public 
respawn_player(parm[1])
{
    new 
bool:respawn false;
    static 
weapon[32],ammo[16];
    
get_pcvar_string(cvar_weapon,weapon,31);
    
get_pcvar_string(cvar_ammo,ammo,15);

    if((
g_ts_leader_alive) && (get_user_team(parm[0]) == 1))
    {
        
respawn true;
    }

    if((
g_ct_leader_alive) && (get_user_team(parm[0]) == 2))
    {
        
respawn true;
    }

    if(
respawn == true)
    {
        
ExecuteHamB(Ham_CS_RoundRespawn,parm[0]);

        
give_item(parm[0],weapon);
        
give_item(parm[0],ammo);
        
give_item(parm[0],ammo);
    }

    return 
PLUGIN_CONTINUE;
}

//---------------------------------------------------------------------

public client_disconnect(id)
{
    if(
id == g_ts_leaderg_ts_leader_alive false;
    if(
id == g_ct_leaderg_ct_leader_alive false;
}

public 
client_changeteam(id,newteam,oldteam)
{
    if((!
is_user_alive(id)) || (oldteam != newteam))
    {
        if(
id == g_ts_leaderg_ts_leader_alive false;
        if(
id == g_ct_leaderg_ct_leader_alive false;
    }
}

//---------------------------------------------------------------------

public event_new_round()
{
    if((
get_pcvar_num(cvar_guardian) != 1) || (get_playersnum() < 2)) return PLUGIN_CONTINUE;

    
random_leader_ts();
    
random_leader_ct();

    return 
PLUGIN_CONTINUE;
}

public 
event_player_spawn(id)
{
    if((
get_pcvar_num(cvar_guardian) != 1) || (!is_user_alive(id))) return HAM_IGNORED;

    new 
bool:leader false;
    if(
g_ts_leader == id)
    {
        
leader true;
        static 
parm[1];
        
parm[0] = id;

        
set_task(0.5,"delay_leader_ts",TASK_LEADER id,parm,1);
    }

    if(
g_ct_leader == id)
    {
        
leader true;
        static 
parm[1];
        
parm[0] = id;

        
set_task(0.5,"delay_leader_ct",TASK_LEADER id,parm,1);
    }

    if(!
leader)
    {
        new 
CsArmorType:armortype;
        new 
armor cs_get_user_armor(id,armortype);
        if(
armor 100)
        {
            if(
cs_get_user_vip(id))
            {
                
cs_set_user_armor(id,150,armortype);
            }
            else 
cs_set_user_armor(id,100,armortype);
        }

        
set_user_rendering(id,kRenderFxGlowShell,0,0,0,kRenderNormal,10);
    }

    if(
task_exists(TASK_RESPAWNING id,0))
    {
        
remove_task(TASK_RESPAWNING id,0);
    }

    return 
HAM_HANDLED;
}

//---------------------------------------------------------------------

public event_player_killed(id,killer,shouldgib)
{
    if((
get_pcvar_num(cvar_guardian) != 1)) return HAM_IGNORED;

    new 
name[32];
    
get_user_name(id,name,31);
    if(
g_ts_leader == id)
    {
        
g_ts_leader_alive false;
        
create_status_icon(id,0,"suit_full",255,0,0);

        
set_hudmessage(255,0,0,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
        
show_hudmessage (0,"%L",LANG_PLAYER,"TS_DEAD",name);

        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"TS_DEAD",name);
        
client_cprint(g_ts_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_TS_DEAD",name);

        return 
HAM_HANDLED;
    }
    else if(
g_ct_leader == id)
    {
        
g_ct_leader_alive false;
        
create_status_icon(id,0,"suit_full",0,0,255);

        
set_hudmessage(0,0,255,-1.0,0.45,0,1.0,4.0,0.1,0.2,3);
        
show_hudmessage (0,"%L"LANG_PLAYER"CT_DEAD",name);

        
//client_print(0,print_chat,"%s %L",PLUGIN_PREFIX,LANG_PLAYER,"CT_DEAD",name);
        
client_cprint(g_ct_leader,MSG_ALL,"\y%s %L",PLUGIN_PREFIX,LANG_PLAYER,"COLOR_CT_DEAD",name);

        return 
HAM_HANDLED;
    }

    static 
Float:spawntime,parm[1];
    
spawntime get_pcvar_float(cvar_spawntime);
    
parm[0] = id;

    
set_task(spawntime,"respawn_player",TASK_RESPAWNING id,parm,1);

    new 
bool:respawn false;
    if((
g_ts_leader_alive) && (get_user_team(id) == 1))
    {
        
respawn true;
    }
    else if((
g_ct_leader_alive) && (get_user_team(id) == 2))
    {
        
respawn true;
    }

    if(
respawn)
    {
        
set_hudmessage(255,255,255,-1.0,-1.0,2,1.0,(spawntime 0.8),0.1,0.2,-1);
        
show_hudmessage(id,"%L",id,"REVIVE");
    }

    return 
HAM_HANDLED;
}

//---------------------------------------------------------------------

public handler_cmd(id,level,cid)
{
    if (!
cmd_access(id,level,cid,1))
    {
        return 
PLUGIN_HANDLED;
    }

    static 
cmd[32],arg1[32];
    
read_argv(0,cmd,31);
    
read_argv(1,arg1,31);

    if(
equal(cmd,"sv_guardian") || equal(cmd,"amx_guardian"))
    {
        if(
equal(arg1,"1"))
        {
            
set_pcvar_num(cvar_guardian,1);
            
set_cvar_num("sv_restartround",1);
        }
        else if(
equal(arg1,"0"))
        {
            
set_pcvar_num(cvar_guardian,0);
            
set_cvar_num("sv_restartround",1);
        }
    }
    else if(
equal(cmd,"sv_ga_spawntime") || equal(cmd,"amx_ga_spawntime"))
    {
        
set_pcvar_float(cvar_spawntime,str_to_float(arg1));
    }
    else if(
equal(cmd,"sv_ga_weapon") || equal(cmd,"amx_ga_weapon"))
    {
        
set_pcvar_string(cvar_weapon,arg1);
    }
    else if(
equal(cmd,"sv_ga_ammo") || equal(cmd,"amx_ga_ammo"))
    {
        
set_pcvar_string(cvar_ammo,arg1);
    }

    return 
PLUGIN_HANDLED;
}

public 
handler_say(id)
{
    if(
get_pcvar_num(cvar_guardian) != 1) return PLUGIN_CONTINUE;

    static 
said[32];
    
read_args(said,31);
    
remove_quotes(said);

    if(
equal(said,"/guardian") || equal(said,"/guardians"))
    {
        static 
name_ts[32],name_ct[32];
        
get_user_name(g_ts_leader,name_ts,31);
        
get_user_name(g_ct_leader,name_ct,31);

        
client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_TS",name_ts);
        
client_cprint(id,MSG_ONE,"\y%s %L",PLUGIN_PREFIX,id,"IS_GUARDIAN_CT",name_ct);
    }

    return 
PLUGIN_CONTINUE;
}

//--------------------------------------------------------------------- 
Thank you mate!

Quote:
Originally Posted by fysiks View Post
Something else is wrong then because it compiles in with both 1.8.2 and 1.9.0+. That function only has two required arguments in both versions of AMX Mod X.
I don't know why it doesn't work. I got the compiler from the official amxmodx site. It work now with the 2nd version that TribalBlood made

Last edited by HundredEyes; 12-02-2022 at 13:32.
HundredEyes is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 05:17.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode