Заявка за преработка на плъгин.

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
нЗеро
Извън линия
Потребител
Потребител
Мнения: 54
Регистриран на: 27 Мар 2020, 22:22
Се отблагодари: 14 пъти
Получена благодарност: 16 пъти
Обратна връзка:

Заявка за преработка на плъгин.

Мнение от нЗеро » 27 Ное 2021, 10:07

Здравейте, ако е възможно да се преработи ранк плъгина.
- да се премахна съобщението което излиза при прераждане
Pozdravleniq! Vie ste na nivo^x03 %i^x04 |^x01 Vashite tochki sa^x03 %i^x04 |^x01 Vashiqt Rank e^x03 %s", PlayerLevel[iPlayer], PlayerPoints[iPlayer], RANKS[PlayerLevel[iPlayer]])
- И другото което е да се заменят ранк със това:
[NewBie] 100
[Killer] 300
[Pro Kiler] 500
[Super Kiler] 700
[Mega Kiler] 900
[Ultra Kiler] 1100
[Monster] 130
[Master] 1500
[GLADIATOR] 2000
[TERMINATOR] 2300
[INVINCIBLE] 2500
[GOD] 3000

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <hamsandwich>
#include <nvault>
#include <cromchat>

new PlayerPoints[33], PlayerLevel[33]
new g_vault, MaxPlayers
new points_kill, points_hs, points_he, points_knife

#define MAXLEVELS 12
new const LEVELS[MAXLEVELS] = 
{
	30,		//1
	100,		//2
	200,		//3
	350,		//4
	500,		//5
	650,	//6
	750,	//7
	900,	//8
	1000,	//9
	2000,	//10
	3000,	//11
	4000 	//12
}

new const RANKS[][] =
{
	"Newbie",					//1
	"Killer",					//2
	"Pro Killer",					//3
	"Super Killer",					//4
	"Mega Killer",						//5
	"Ultra Kiler",					//6
	"Monster",	//7
	"Master",					//8
	"VIP",				//9
	"GLADIATOR",						//10
	"THE BIG BOSS",				//11
	"LEGEND"					//12
}

new const rank_cmds[][] = 
{
	"/info",
	"/xp",
	"/exp",
	"/credit",
	"/credits",
	"/pts",
	"/pt",
	"/point",
	"/points"
}

public plugin_init()
{
	register_plugin("Rank System", "0.4", "Nikolow")
	
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
	register_event("DeathMsg", "DeathMessage", "a")
	
	register_clcmd("say", "cmd_say")
	register_clcmd("say_team", "cmd_say")
	
	points_kill    	= 	register_cvar( "xp_points_kill"	,"1" ); // xp normal kill
	points_hs       = 	register_cvar( "xp_points_hs"	,"2" ); // xp hs
	points_he       = 	register_cvar( "xp_points_he"	,"3" ); // xp he kill
	points_knife    = 	register_cvar( "xp_points_knife","5" ); // xp knife kill
	
	g_vault = nvault_open("4VRankSys")
	
	MaxPlayers = get_maxplayers()
	
	CC_SetPrefix("&x04[&x03 Rank System&x04 ]&x01")
}

public plugin_end() nvault_close(g_vault)

public plugin_natives()
{
	register_native("get_user_points", "_fun_get_user_points", 1)
	register_native("get_user_points_2", "_func_get_user_points_2", 1) // kolko tochki sa next [Primer: tekushti-tochki(10) / next-level-tochki(100)] -> 100 sa next level tochkite
	
	register_native("get_user_level", "_func_get_user_level", 1)
	register_native("get_max_levels", "_func_get_max_levels", 1)
	
	register_native("set_user_points", "_func_set_user_points", 1)
	register_native("remove_user_points", "_func_remove_user_points", 1)
	
	register_native("get_rank_prefix", "_get_rank_prefix") // tekush RANK na igrach
	register_native("get_rank_prefix_2", "_get_rank_prefix_2") // sledvasht RANK na igrach
	register_native("get_rank_prefix_3", "_get_rank_prefix_3") // izkarva imeto na RANKA na zadadena poziciq
	
	register_native("check_user_level", "_check") // proverqva za level up na igrach
	register_native("save_user_data", "_save") // zapazva dannite na igrach
}

public _fun_get_user_points(index) return PlayerPoints[index]
public _func_get_user_points_2(index) return LEVELS[PlayerLevel[index]]

public _func_get_user_level(index) return PlayerLevel[index]
public _func_get_max_levels() return MAXLEVELS;

public _func_set_user_points(index, amount) PlayerPoints[index] += amount
public _func_remove_user_points(index, amount) PlayerPoints[index] -= amount

public _get_rank_prefix(iPlugin, iParams) set_string(2, RANKS[PlayerLevel[get_param(1)]], get_param(3))
public _get_rank_prefix_2(iPlugin, iParams) set_string(2, RANKS[PlayerLevel[get_param(1)]+1], get_param(3))
public _get_rank_prefix_3(iPlugin, iParams) set_string(2, RANKS[get_param(1)], get_param(3))

public _check(index) CheckLevel(index)
public _save(index) SaveData(index)

public cmd_say(id)
{
	new Args[64]
	read_args(Args, charsmax(Args))
	remove_quotes(Args)
	
	for(new i; i < sizeof rank_cmds; i++)
	{
		if(equali(Args, rank_cmds[i]))
		{
			ShowInfo(id);
		}
	}
}

public fwHamPlayerSpawnPost(iPlayer) 
{
	if (is_user_alive(iPlayer)) 
	{
		CheckLevel(iPlayer)
		ShowInfo(iPlayer)
		SaveData(iPlayer)
		
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE;
}

public CheckLevel(iPlayer)
{
	while(PlayerPoints[iPlayer] >= LEVELS[PlayerLevel[iPlayer]]) 
	{ 
		PlayerLevel[iPlayer]++
		ColorChat(iPlayer, "Pozdravleniq! Vie ste na nivo^x03 %i^x04 |^x01 Vashite tochki sa^x03 %i^x04 |^x01 Vashiqt Rank e^x03 %s", PlayerLevel[iPlayer], PlayerPoints[iPlayer], RANKS[PlayerLevel[iPlayer]])
	}
}

public DeathMessage()
{       
	new killer = read_data(1);
	new victim = read_data(2);
	new headshot = read_data(3);
	new Weapon[ 32 ];
	read_data( 4, Weapon, charsmax( Weapon ) );
	format( Weapon, charsmax( Weapon ), "weapon_%s", Weapon );
	
	if( contain( Weapon, "nade" ) >= 0 )
	Weapon = "weapon_hegrenade"
	
	
	new iWeapon = get_weaponid( Weapon );
	
	if(killer == victim)
		return PLUGIN_CONTINUE;

	if(!killer || killer > MaxPlayers)
		return PLUGIN_CONTINUE;

	if(iWeapon == CSW_HEGRENADE) PlayerPoints[killer] += get_pcvar_num(points_he)
	if(iWeapon == CSW_KNIFE) PlayerPoints[killer] += get_pcvar_num(points_knife)
	if(headshot) PlayerPoints[killer] += get_pcvar_num(points_hs)
	else PlayerPoints[killer] += get_pcvar_num(points_kill)
	
	CheckLevel(killer)
	SaveData(killer)
	
	return PLUGIN_CONTINUE
}


public SaveData(id) 
{ 
	new szName[35]
	get_user_name(id,szName,34) 
	new vaultkey[64],vaultdata[256] 

	format(vaultkey,63,"%s-Mod",szName) 
	format(vaultdata,255,"%i#%i#",PlayerPoints[id],PlayerLevel[id]) 

	nvault_set(g_vault,vaultkey,vaultdata) 
    
	return PLUGIN_CONTINUE 
}  

public LoadData(id) 
{ 
	new szName[35]
	get_user_name(id,szName,34) 
	new vaultkey[64],vaultdata[256] 

	format(vaultkey,63,"%s-Mod",szName) 
	format(vaultdata,255,"%i#%i#",PlayerPoints[id],PlayerLevel[id]) 

	nvault_get(g_vault,vaultkey,vaultdata,255) 
	replace_all(vaultdata, 255, "#", " ") 
    
	new playerxp[32], playerlevel[32] 
	parse(vaultdata, playerxp, 31, playerlevel, 31) 
    
	PlayerPoints[id] = str_to_num(playerxp) 
	PlayerLevel[id] = str_to_num(playerlevel) 
    
	return PLUGIN_CONTINUE 
}
Последно промяна от HybridMind на 27 Ное 2021, 10:10, променено общо 1 път.
Причина: Използвай code тага
name: |AWP BATTLE| # NZERO [BEST MAPS]
IP: 91.132.63.21:27016

Аватар
OciXCrom
Извън линия
Администратор
Администратор
Мнения: 7206
Регистриран на: 06 Окт 2016, 19:20
Местоположение: /resetscore
Се отблагодари: 117 пъти
Получена благодарност: 1295 пъти
Обратна връзка:

Заявка за преработка на плъгин.

Мнение от OciXCrom » 27 Ное 2021, 13:39

Още ли ползвате hardcoded системи? Почти сме 2022-ра година.

viewtopic.php?f=21&t=4478

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Заявки за плъгини”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 19 госта