Modificare Sistem Level

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Post Reply
Gun
Membru, skill 0
Membru, skill 0
Posts: 9
Joined: 20 Feb 2018, 21:15
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Contact:

09 Feb 2019, 22:48

Imi cer scuze daca nu am postat corect .
Doresc sa se modifice in asa fel sa vad gradul din hud " de sub radar " si atunci cand sunt spectator pe un alt jucator.
Cand sunt in viata sa imi vad "gradul" meu. Asta deja face pluginul.
Cand sunt mort si ma uit pe un alt jucator indiferent de echipa sa ii vad "gradul" cum il vad pe al meu cand sunt in viata. Asta as vrea sa se modifice la plugin, nimic altceva.
| Afiseaza codul
#include <amxmodx>
#include <hamsandwich>
#include <cstrike>
#include <nvault>
#include <fun>

static const
	PLUGIN[] = "Simple Level Mod",
	VERSION[] = "2.0",
	AUTHOR[] = "scosmyn";

#define MAX_LEVELS	22

new const Kills[MAX_LEVELS] =
{
	0,
	50,
	100,
	150,
	205,
	270,
	360,
	420,
	500,
	580,
	640,
	690,
	760,
	810,
	850,
	900,
	950,
	1005,
	1030,
	1070,
	1115,
	1250
}

new const szTag[MAX_LEVELS][] =
{
	"",
	"Silver 1",
	"Silver 2",
	"Silver 3",
	"Silver IV",
	"Silver Elite",
	"Silver Elite Master",
	"Gold Nova 1",
	"Gold Nova 2",
	"Gold Nova 3",
	"Gold Nova IV",
	"Gold Nova Elite",
	"Gold Nova Elite Master",
	"Master Guardian 1",
	"Master Guardian 2",
	"Master Guardian 3",
	"Master Guardian IV",
	"Master Guardian Disthingued",
	"Legendary Eagle ",
	"Supreme Master",
	"LORD",
	"KING of the server"
}

new Level[33],Kill[33],szName[32],g_vault,g_sync
new pcvar_hs,pcvar_kill,pcvar_knife,pcvar_he,pcvar_efect,pcvar_r,pcvar_g,pcvar_b,pcvar_hp_lvl,pcvar_ap_lvl

public plugin_init() {
	register_plugin(PLUGIN,VERSION,AUTHOR)
	register_event("DeathMsg","ev_msg","a")
	RegisterHam(Ham_Spawn,"player","player_spawn",1)
	
	pcvar_hs = register_cvar("cvar_hs_bonus","3")
	pcvar_kill = register_cvar("cvar_normal_bonus","1")
	pcvar_knife = register_cvar("cvar_knife_bonus","3")
	pcvar_he = register_cvar("cvar_he_bonus","3")
	pcvar_efect = register_cvar("cvar_effect_lvl","3")
	pcvar_r = register_cvar("cvar_red","255")
	pcvar_g = register_cvar("cvar_green","0")
	pcvar_b = register_cvar("cvar_blue","0")
	pcvar_hp_lvl = register_cvar("cvar_hp_lvl","5")
	pcvar_ap_lvl = register_cvar("cvar_ap_lvl","10")
	
	g_vault = nvault_open("simple_lvl_mod")
	g_sync = CreateHudSyncObj()
	
	if(g_vault == INVALID_HANDLE)
		set_fail_state("Eroare la deschiderea bazei de date din vault.")
}

public player_spawn(id) {
	if(!is_user_alive(id) || is_user_bot(id))
		return HAM_HANDLED
	
	if(Level[id] < 1)
		Level[id] = 1

	set_user_health(id,get_user_health(id) + get_pcvar_num(pcvar_hp_lvl) * Level[id])
	set_user_armor(id,get_user_armor(id) + get_pcvar_num(pcvar_ap_lvl) * Level[id])
	return HAM_HANDLED
}

public ev_msg( ) {
	static kiler; 	kiler = read_data(1)
	static hs; 		hs = read_data(3)
	
	if(kiler == read_data(2) || !is_user_alive(kiler))
		return

	if(hs)
		Kill[kiler]+= get_pcvar_num(pcvar_hs)
	else
		Kill[kiler]+= get_pcvar_num(pcvar_kill)
	
	if(get_user_weapon(kiler) == CSW_KNIFE && !hs)
		Kill[kiler]+= get_pcvar_num(pcvar_knife)
	if(get_user_weapon(kiler) == CSW_HEGRENADE && !hs)
		Kill[kiler]+= get_pcvar_num(pcvar_he)

	if(Level[kiler] < MAX_LEVELS)
	{
		while(Kill[kiler] >= Kills[Level[kiler]])
		{
			Level[kiler]++
			color(kiler,"!teamFelicitari,ai ajuns la level %i (!g%s!team).",Level[kiler],szTag[Level[kiler]])
			screen_fade(kiler, get_pcvar_num(pcvar_efect), get_pcvar_num(pcvar_r), get_pcvar_num(pcvar_g), get_pcvar_num(pcvar_b), 115)
			return
		}
	}
	SaveData(kiler)
}

public client_putinserver(id) {
	if(!is_user_bot(id))
	{
		LoadData(id)
		set_task(1.0,"show_hud",id+0x4332,_,_,"b")
	}
}

public client_disconnect(id) {
	remove_task(id+0x4332)
	SaveData(id)
}

public show_hud(id) {
	id-=0x4332
	get_user_name(id,szName,charsmax(szName))

	if(is_user_alive(id))
	{
		set_hudmessage(0, 255, 0, 0.0, 0.24, 0, 6.0, 1.0)
		ShowSyncHudMsg(id,g_sync,"Name: %s^nLevel: %d^nStatus: %s^nKill's: %i/%i.",szName,Level[id],szTag[Level[id]],Kill[id],Kills[Level[id]])
	}
}

public SaveData(id)
{
	new name[32],vaultkey[64],vaultdata[256]
	get_user_name(id,name,charsmax(name))
	formatex(vaultkey,63,"%s-Mod",name)
	formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
	nvault_set(g_vault,vaultkey,vaultdata)
}

public LoadData(id)
{
	new name[32],vaultkey[64],vaultdata[256]
	get_user_name(id,name,charsmax(name))
	formatex(vaultkey,63,"%s-Mod",name)
	formatex(vaultdata,255,"%i#%i#",Kill[id],Level[id])
	nvault_get(g_vault,vaultkey,vaultdata,255)
	replace_all(vaultdata, 255, "#", " ")

	new kill[32],level[32]
	parse(vaultdata, kill, 31, level, 31)
	Kill[id] = str_to_num(kill)
	Level[id] = str_to_num(level)
}
public plugin_end() nvault_close(g_vault)
stock screen_fade(id,holdtime,r,g,b,a)
{
   message_begin(MSG_ONE_UNRELIABLE,get_user_msgid("ScreenFade"),{ 0, 0, 0 },id);
   write_short(seconds_to_units(holdtime));
   write_short(seconds_to_units(holdtime));
   write_short(0);
   write_byte(r);
   write_byte(g);
   write_byte(b);
   write_byte(a);
   message_end();
}

stock seconds_to_units(time)
{
   return((1 << 12) * (time))
}

stock color( const id, const input[ ], any:... )
{
	new count = 1, players[ 32 ]

	static msg[ 191 ]
	vformat( msg, 190, input, 3 )

	replace_all( msg, 190, "!g", "^4" ) //- verde
	replace_all( msg, 190, "!y", "^1" ) //- galben
	replace_all( msg, 190, "!team", "^3" ) //- echipa
	replace_all( msg, 190, "!n", "^0" ) //- normal

	if( id ) players[ 0 ] = id; else get_players( players, count, "ch" )
	{
		for( new i = 0; i < count; i++ )
		{
			if( is_user_connected( players[ i ] ) )
			{
				message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "SayText" ), _, players[ i ] )
				write_byte( players[ i ] );
				write_string( msg );
				message_end( );
			}
		}
	}
}
Last edited by Radu eXtream on 09 Feb 2019, 23:57, edited 2 times in total.
Reason: Adăugată sursă și mutat la modificări-pluginuri
Post Reply

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: No registered users and 11 guests