modificare vip_respawn

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
BoGdAnMoNs
Membru, skill +1
Membru, skill +1
Posts: 104
Joined: 30 Mar 2021, 23:14
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time

09 Jan 2023, 20:43

am si eu o problema cu vip_respawn.amxx , nu adauga hp cand omori si banii scad in loc sa creasca , nici armura nu creste la cat am pus eu

Code: Select all

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

#define is_user_vip(%1)	(get_user_flags(%1) & ADMIN_LEVEL_H)
#define AMMOWP_NULL (1<<0 | 1<<CSW_KNIFE | 1<<CSW_FLASHBANG | 1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_C4)

new const PLUGIN_NAME[] = "[RS] VIP System", 
	 PLUGIN_VERSION[] = "1.0", 
	 PLUGIN_AUTHOR[] = "YONTU";

// Hack to be able to use Ham_Player_ResetMaxSpeed (by joaquimandrade)
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;
new g_JumpNum[33] = 0
new bool:g_bJump[33] = false, bool:set_refill = false;

enum { HEALTH = 0, ARMOR = 1, START_MONEY, MAX_VIATA, MAX_ARMURA, MAX_JUMPS, SPEED, DAMAGE, HP_KILL, HP_HEADSHOT, MONEY_KILL };
new const vip_benefits[] =
{
	110,	// VIATA LA SPAWN
	110,	// ARMURA LA SPAWN
	16000,	// MAX Bani la inceput de runda 
	120,	// MAX VIATA
	120,	// MAX ARMURA
	2,	// NUMARUL MAXIM DE SARITURI
	350,	// VITEZA MAXIMA
	50,	// DAMAGE IN PLUS (VALOAREA SA FIE INTRE 1 SI 100) (50 reprezinta 50% din dmg)
	10,	// VIATA PE KILL NORMAL
	20,	// VIATA PE HEADSHOT
	3000,	// BANII PE KILL
}

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	register_cvar("level_mod_", PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER);
	set_cvar_string("level_mod_", PLUGIN_VERSION);
	
//	register_clcmd("say /vreauvip", "ShowMotd");

	register_event("DeathMsg", "event_DeathMsg", "a");
	
	register_message(get_user_msgid("ScoreAttrib"),"msg_ScoreAttrib");
	
	RegisterHam(Ham_TakeDamage, "player", "fw_PlayerTakeDamage");
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawnPost", 1);
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "fw_ResetMaxSpeed_Post", 1);
}

public client_putinserver(id)
{
	g_JumpNum[id] = 0;
	g_bJump[id] = false;
	
	if(is_user_vip(id))
	{
		new name[32];
		get_user_name(id, name, charsmax(name));
//		ColorChat(id, "!4*!1 VIP-ul!3 %s!1 s-a conectat pe server.", name);
	}
}

public client_PreThink(id)
{
	if(!is_user_alive(id) || !is_user_vip(id))
		return PLUGIN_CONTINUE;
		
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	new jump_num = vip_benefits[MAX_JUMPS];
	
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(g_JumpNum[id] < jump_num)
		{
			g_bJump[id] = true;
			g_JumpNum[id]++;
			return PLUGIN_CONTINUE;
		}
	}
	
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		g_JumpNum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public client_PostThink(id)
{
	if(!is_user_alive(id) || !is_user_vip(id))
		return PLUGIN_CONTINUE;

	if(g_bJump[id])
	{
		new Float:fVelocity[3];
		entity_get_vector(id, EV_VEC_velocity, fVelocity);
		fVelocity[2] = random_float(265.0, 285.0);
		entity_set_vector(id, EV_VEC_velocity, fVelocity);
		
		g_bJump[id] = false;
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public ShowMotd(id)
{
	new cfg_dir[32];
	get_configsdir(cfg_dir, charsmax(cfg_dir));
	
	new file[192];
	formatex(file, charsmax(file), "%s/vip.html", cfg_dir);
	show_motd(id, file);
}

public event_DeathMsg()
{
	new attacker = read_data(1);
	new victim = read_data(2);
	new headshot = read_data(3);
	new hitself = (attacker == victim) ? 1 : 0;

	if(is_user_alive(attacker) && is_user_vip(attacker))
	{
		if(hitself)
			return PLUGIN_HANDLED;

		if(headshot)
			set_user_health(attacker, get_user_health(attacker) + vip_benefits[HP_HEADSHOT]);
		else set_user_health(attacker, get_user_health(attacker) + vip_benefits[HP_KILL]);

		cs_set_user_money(attacker, clamp(get_user_health(attacker) + vip_benefits[MONEY_KILL], 0, 16000));
		
		set_refill = true;
	}

	return PLUGIN_HANDLED;
}

public event_CurWeapons(id)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
		
	if(is_user_vip(id) && set_refill)
	{
		static weapon;
		weapon = read_data(2);
	
		if(AMMOWP_NULL & (1<<weapon))
			return PLUGIN_CONTINUE;
	
		cs_set_user_bpammo(id, weapon, 30);
		
		set_refill = false;
	}
	return PLUGIN_HANDLED;
}

public msg_ScoreAttrib(iMsgID, iDest, iReceiver)
{
	new id = get_msg_arg_int(1);
	if(is_user_connected(id) && is_user_vip(id))
		set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? (1<<2) : (1<<0));
}

public fw_PlayerTakeDamage(victim, inflictor, attacker, Float:fDamage, iDamageType)
{
	if(iDamageType & DMG_GENERIC || victim == attacker || !is_user_alive(victim))
		return HAM_IGNORED;

	if(is_user_vip(attacker) && is_user_alive(attacker))
	{
		new Float:dmg = vip_benefits[DAMAGE] / 100 * fDamage;
		SetHamParamFloat(4, fDamage + dmg);
		return HAM_HANDLED;
	}
	return HAM_IGNORED;
}

public fw_ResetMaxSpeed_Post(id)
{
	if(!is_user_alive(id))
		return HAM_HANDLED;

	if(is_user_vip(id))
	{
		new Float:fMaxSpeed = float(vip_benefits[SPEED]);
		set_user_maxspeed(id, fMaxSpeed);

		new command[128];
		formatex(command, charsmax(command), "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", fMaxSpeed, fMaxSpeed, fMaxSpeed);
		client_cmd(id, command);
	}

	return HAM_IGNORED;
}

public fw_PlayerSpawnPost(id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED;

	if(is_user_vip(id))
	{
		set_user_health(id, vip_benefits[HEALTH]);
		set_user_armor(id, vip_benefits[ARMOR]);
		cs_set_user_money(id, clamp(vip_benefits[START_MONEY], 0, 16000));
	}
	
	return HAM_IGNORED;
}

stock ColorChat(id, String[], any:...) 
{
	static szMesage[192];
	vformat(szMesage, charsmax(szMesage), String, 3);
	
	replace_all(szMesage, charsmax(szMesage), "!1", "^1");
	replace_all(szMesage, charsmax(szMesage), "!3", "^3");
	replace_all(szMesage, charsmax(szMesage), "!4", "^4");
	
	static g_msg_SayText = 0;
	if(!g_msg_SayText)
		g_msg_SayText = get_user_msgid("SayText");
	
	new Players[32], iNum = 1, i;

 	if(id) Players[0] = id;
	else get_players(Players, iNum, "ch");
	
	for(--iNum; iNum >= 0; iNum--) 
	{
		i = Players[iNum];
		
		message_begin(MSG_ONE_UNRELIABLE, g_msg_SayText, _, i);
		write_byte(i);
		write_string(szMesage);
		message_end();
	}
}
RoyalServer 2
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 921
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 73 times
Been thanked: 137 times

14 Jan 2023, 16:08

Code: Select all

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

#define is_user_vip(%1)	(get_user_flags(%1) & ADMIN_LEVEL_H)
#define AMMOWP_NULL (1<<0 | 1<<CSW_KNIFE | 1<<CSW_FLASHBANG | 1<<CSW_HEGRENADE | 1<<CSW_SMOKEGRENADE | 1<<CSW_C4)

new const PLUGIN_NAME[] = "[RS] VIP System", 
	 PLUGIN_VERSION[] = "1.0", 
	 PLUGIN_AUTHOR[] = "YONTU";

// Hack to be able to use Ham_Player_ResetMaxSpeed (by joaquimandrade)
new Ham:Ham_Player_ResetMaxSpeed = Ham_Item_PreFrame;
new g_JumpNum[33] = 0
new bool:g_bJump[33] = false, bool:set_refill = false;

enum (+=1){ HEALTH = 0, ARMOR = 1, START_MONEY, MAX_VIATA, MAX_ARMURA, MAX_JUMPS, SPEED, DAMAGE, HP_KILL, HP_HEADSHOT, MONEY_KILL };
new const vip_benefits[] =
{
	110,	// VIATA LA SPAWN
	110,	// ARMURA LA SPAWN
	16000,	// MAX Bani la inceput de runda 
	120,	// MAX VIATA
	120,	// MAX ARMURA
	2,	// NUMARUL MAXIM DE SARITURI
	350,	// VITEZA MAXIMA
	50,	// DAMAGE IN PLUS (VALOAREA SA FIE INTRE 1 SI 100) (50 reprezinta 50% din dmg)
	10,	// VIATA PE KILL NORMAL
	20,	// VIATA PE HEADSHOT
	3000,	// BANII PE KILL
}

public plugin_init()
{
	register_plugin(PLUGIN_NAME, PLUGIN_VERSION, PLUGIN_AUTHOR);
	register_cvar("level_mod_", PLUGIN_VERSION, FCVAR_SPONLY|FCVAR_SERVER);
	set_cvar_string("level_mod_", PLUGIN_VERSION);
	
//	register_clcmd("say /vreauvip", "ShowMotd");

	register_event("DeathMsg", "event_DeathMsg", "a");
	
	register_message(get_user_msgid("ScoreAttrib"),"msg_ScoreAttrib");
	
	RegisterHam(Ham_TakeDamage, "player", "fw_PlayerTakeDamage");
	RegisterHam(Ham_Spawn, "player", "fw_PlayerSpawnPost", 1);
	RegisterHam(Ham_Player_ResetMaxSpeed, "player", "fw_ResetMaxSpeed_Post", 1);
}

public client_putinserver(id)
{
	g_JumpNum[id] = 0;
	g_bJump[id] = false;
	
	if(is_user_vip(id))
	{
		new name[32];
		get_user_name(id, name, charsmax(name));
//		ColorChat(id, "!4*!1 VIP-ul!3 %s!1 s-a conectat pe server.", name);
	}
}

public client_PreThink(id)
{
	if(!is_user_alive(id) || !is_user_vip(id))
		return PLUGIN_CONTINUE;
		
	new nbut = get_user_button(id);
	new obut = get_user_oldbutton(id);
	new jump_num = vip_benefits[MAX_JUMPS];
	
	if((nbut & IN_JUMP) && !(get_entity_flags(id) & FL_ONGROUND) && !(obut & IN_JUMP))
	{
		if(g_JumpNum[id] < jump_num)
		{
			g_bJump[id] = true;
			g_JumpNum[id]++;
			return PLUGIN_CONTINUE;
		}
	}
	
	if((nbut & IN_JUMP) && (get_entity_flags(id) & FL_ONGROUND))
	{
		g_JumpNum[id] = 0;
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public client_PostThink(id)
{
	if(!is_user_alive(id) || !is_user_vip(id))
		return PLUGIN_CONTINUE;

	if(g_bJump[id])
	{
		new Float:fVelocity[3];
		entity_get_vector(id, EV_VEC_velocity, fVelocity);
		fVelocity[2] = random_float(265.0, 285.0);
		entity_set_vector(id, EV_VEC_velocity, fVelocity);
		
		g_bJump[id] = false;
		return PLUGIN_CONTINUE;
	}
	
	return PLUGIN_CONTINUE;
}

public ShowMotd(id)
{
	new cfg_dir[32];
	get_configsdir(cfg_dir, charsmax(cfg_dir));
	
	new file[192];
	formatex(file, charsmax(file), "%s/vip.html", cfg_dir);
	show_motd(id, file);
}

public event_DeathMsg()
{
	new attacker = read_data(1);
	new victim = read_data(2);
	new headshot = read_data(3);
	new hitself = (attacker == victim) ? 1 : 0;

	if(is_user_alive(attacker) && is_user_vip(attacker))
	{
		if(hitself)
			return PLUGIN_HANDLED;

		if(headshot)
			set_user_health(attacker, get_user_health(attacker) + vip_benefits[HP_HEADSHOT]);
		else set_user_health(attacker, get_user_health(attacker) + vip_benefits[HP_KILL]);

		cs_set_user_money(attacker, cs_get_user_money(attacker) + vip_benefits[MONEY_KILL]);
		
		set_refill = true;
	}

	return PLUGIN_HANDLED;
}

public event_CurWeapons(id)
{
	if(!is_user_alive(id))
		return PLUGIN_HANDLED;
		
	if(is_user_vip(id) && set_refill)
	{
		static weapon;
		weapon = read_data(2);
	
		if(AMMOWP_NULL & (1<<weapon))
			return PLUGIN_CONTINUE;
	
		cs_set_user_bpammo(id, weapon, 30);
		
		set_refill = false;
	}
	return PLUGIN_HANDLED;
}

public msg_ScoreAttrib(iMsgID, iDest, iReceiver)
{
	new id = get_msg_arg_int(1);
	if(is_user_connected(id) && is_user_vip(id))
		set_msg_arg_int(2, ARG_BYTE, is_user_alive(id) ? (1<<2) : (1<<0));
}

public fw_PlayerTakeDamage(victim, inflictor, attacker, Float:fDamage, iDamageType)
{
	if(iDamageType & DMG_GENERIC || victim == attacker || !is_user_alive(victim))
		return HAM_IGNORED;

	if(is_user_vip(attacker) && is_user_alive(attacker))
	{
		new Float:dmg = vip_benefits[DAMAGE] / 100 * fDamage;
		SetHamParamFloat(4, fDamage + dmg);
		return HAM_HANDLED;
	}
	return HAM_IGNORED;
}

public fw_ResetMaxSpeed_Post(id)
{
	if(!is_user_alive(id))
		return HAM_HANDLED;

	if(is_user_vip(id))
	{
		new Float:fMaxSpeed = float(vip_benefits[SPEED]);
		set_user_maxspeed(id, fMaxSpeed);

		new command[128];
		formatex(command, charsmax(command), "cl_forwardspeed %.1f;cl_sidespeed %.1f;cl_backspeed %.1f", fMaxSpeed, fMaxSpeed, fMaxSpeed);
		client_cmd(id, command);
	}

	return HAM_IGNORED;
}

public fw_PlayerSpawnPost(id)
{
	if(!is_user_alive(id))
		return HAM_IGNORED;

	if(is_user_vip(id))
	{
		set_user_health(id, vip_benefits[HEALTH]);
		set_user_armor(id, vip_benefits[ARMOR]);
		cs_set_user_money(id, vip_benefits[START_MONEY]);
	}
	
	return HAM_IGNORED;
}

stock ColorChat(id, String[], any:...) 
{
	static szMesage[192];
	vformat(szMesage, charsmax(szMesage), String, 3);
	
	replace_all(szMesage, charsmax(szMesage), "!1", "^1");
	replace_all(szMesage, charsmax(szMesage), "!3", "^3");
	replace_all(szMesage, charsmax(szMesage), "!4", "^4");
	
	static g_msg_SayText = 0;
	if(!g_msg_SayText)
		g_msg_SayText = get_user_msgid("SayText");
	
	new Players[32], iNum = 1, i;

 	if(id) Players[0] = id;
	else get_players(Players, iNum, "ch");
	
	for(--iNum; iNum >= 0; iNum--) 
	{
		i = Players[iNum];
		
		message_begin(MSG_ONE_UNRELIABLE, g_msg_SayText, _, i);
		write_byte(i);
		write_string(szMesage);
		message_end();
	}
}
BoGdAnMoNs
Membru, skill +1
Membru, skill +1
Posts: 104
Joined: 30 Mar 2021, 23:14
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 4 times
Been thanked: 1 time

14 Jan 2023, 16:21

viata da 110 la spawn iar armura o arata si imediat se face 100 si se sare de 3 ori nu de 2 cum este trecut in plugin
lexz
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 921
Joined: 02 Nov 2020, 01:57
Detinator Steam: Da
Fond eXtream: 0
Discord: lexzor#0630
Has thanked: 73 times
Been thanked: 137 times

15 Jan 2023, 17:04

pentru jump in loc de 3 pune 4 iar la armura ai un alt plugin care o seteaza
User avatar
CyBer[N]eTicK
Membru, skill +1
Membru, skill +1
Posts: 190
Joined: 29 May 2020, 05:35
Detinator Steam: Da
CS Status: Strong & Original
Detinator server CS: BB.BLACKGAMES.RO
SteamID: /id/cybernetick_cbk/
Fond eXtream: 0
Location: Albania, tirana
Discord: cybernetick_cbk
Has thanked: 21 times
Been thanked: 18 times
Contact:

15 Jan 2023, 22:16

->

Code: Select all

new const vip_benefits[] =
110, // VIATA LA SPAWN
110, // ARMURA LA SPAWN
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 7 guests