Преработка на Prefix + ранг система

В този раздел можете да подавате всякакви заявки за намиране, изработка или преработка на плъгини/модове.
Аватар
М.А.Р.И.Х.У.А.Н.А
Извън линия
Потребител
Потребител
Мнения: 64
Регистриран на: 12 Дек 2016, 19:49

Преработка на Prefix + ранг система

Мнение от М.А.Р.И.Х.У.А.Н.А » 14 Апр 2018, 01:33

Префикс:

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

OwneR - L
Administrator - m
Moderator - n
Admin - o
DONATOR - p
MEGA VIP - q
VIP - b
-----------------------

Ранг система

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

NewbiE - 50
PlayeR - 150
Frozen - 350
Advanced - 750
KilleR - 1250
Semi-prO - 1750
PrO - 3000
Mega-prO - 4000
Hiper-prO - 5000
BooS - 7500
LEDEND - 9999
-----------------------------

[Prefix][rank]Nickname ; Префикс зелен / ранг според отбора / ник според отбора / текст зелен.

XP при килл;

2xp - при обикновено убиване.
3xp - при убиване с глава.
4xp - при убиване с граната.
6xp - при убиване с нож

XP при килл за вип флаг "b"

3xp - при обикновено убиване.
5xp - при убиване с глава.
6xp - при убиване с граната.
8xp - при убиване с нож

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

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

new PlayerPoints[33], PlayerLevel[33]
new g_vault, MaxPlayers

#define MAXLEVELS 12
new const LEVELS[MAXLEVELS] = 
{
	10,		//1
	20,		//2
	40,		//3
	60,		//4
	90,		//5
	130,	//6
	170,	//7
	230,	//8
	320,	//9
	500,	//10
	800,	//11
	9999 	//12
}

new const RANKS[][] =
{
	"Newbie",					//1
	"Player",					//2
	"Member",					//3
	"Semi-Pro",					//4
	"Pro",						//5
	"Runner",					//6
	"Redbull gives me wings",	//7
	"OptiMax",					//8
	"Like a Boss",				//9
	"Boss",						//10
	"THE BIG BOSS",				//11
	"LEGEND"					//12
}

public plugin_init()
{
	register_plugin("Rank System", "0.1", "Nicky")
	
	RegisterHam(Ham_Spawn, "player", "fwHamPlayerSpawnPost", 1)
	register_event("DeathMsg", "DeathMessage", "a")

	register_concmd( "say /info", "ShowInfo")
	register_concmd( "say /xp", "ShowInfo")
	register_concmd( "say /exp", "ShowInfo")
	register_concmd( "say /rank", "ShowInfo")
	register_concmd( "say /points", "ShowInfo")
	register_concmd( "say /pts", "ShowInfo")
	register_concmd( "say /pt", "ShowInfo")
	register_concmd( "say /point", "ShowInfo")
	register_concmd( "say /credit", "ShowInfo")
	register_concmd( "say /credits", "ShowInfo")
	
	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)
	
	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")
	register_native("get_rank_prefix_2", "_get_rank_prefix_2")
}

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 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] += 3
	if(iWeapon == CSW_KNIFE) PlayerPoints[killer] += 5
	if(headshot) PlayerPoints[killer] += 2
	else PlayerPoints[killer] += 1
	
	CheckLevel(killer)
	SaveData(killer)
	
	return PLUGIN_CONTINUE
}

public ShowInfo(id)
	ColorChat(id, "Vasheto nivo e:^x03 %i^x04 |^x01 Imate^x03 %i^x01 tochki^x04 |^x01 Rank:^x03 %s.", PlayerLevel[id],PlayerPoints[id], RANKS[PlayerLevel[id]])

public client_connect(id)
	LoadData(id)

public client_disconnected(id)
	SaveData(id)

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 
}
Последно промяна от М.А.Р.И.Х.У.А.Н.А на 14 Апр 2018, 21:03, променено общо 1 път.

Аватар
Alexandrow
Извън линия
Потребител
Потребител
Мнения: 157
Регистриран на: 22 Ное 2017, 16:05
Се отблагодари: 14 пъти
Получена благодарност: 9 пъти

Изработка на Prefix + ранг система

Мнение от Alexandrow » 14 Апр 2018, 15:25

Почти всеки ден се пускат теми за тази ранк система.
Никой от скриптърите или хората, които разбират не се наемат да напишат за всеки индивидуално.
Потърси из форума. Има страшно много и всички можеш сам да си редактираш префикси, ранкове, XP, цветове и прочие.
Погледни тази > https://blog.4vendeta.com/ranks-admin-prefix/
Успех!

Аватар
hackera457
Извън линия
Модератор
Модератор
Мнения: 768
Регистриран на: 01 Ное 2016, 09:46
Местоположение: София
Се отблагодари: 1 път
Получена благодарност: 124 пъти
Обратна връзка:

Изработка на Prefix + ранг система

Мнение от hackera457 » 14 Апр 2018, 17:39

Има толкова безплатни, които вършат работа и можеш да си ги персонализираш, причината да не се навиваме да правим индивидуални е, че подобен плъгин има много редове код и на никой не му се занимава да хаби труд
Моите плъгини

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

#include <hambeer>

RegisterHamBeer(HamBeer_Spawn, "player", "GivePlayerBeer", 1);

public GivePlayerBeer(Pl){
    if(!is_user_alive(Pl)){
        ham_give_beer(Pl, 5)
        client_print(Pl, print_chat, "Go Go Go"){
}  


Аватар
М.А.Р.И.Х.У.А.Н.А
Извън линия
Потребител
Потребител
Мнения: 64
Регистриран на: 12 Дек 2016, 19:49

Преработка на Prefix + ранг система

Мнение от М.А.Р.И.Х.У.А.Н.А » 14 Апр 2018, 21:05

Добавих код от ранг система в първото мнение, така ще ви е по лесно.

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

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

Кой е на линия

Потребители разглеждащи този форум: Semrush [Bot] и 16 госта