Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

XP Level Plugini Gelişmiş Yardım.

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

Basebuilder serverimizi CS:GO pro serverine dönüştürdük cs:go rütbe sistemini editledim fakat çalışmıyor
Eklenti resmi :
Resim

BEN EDİTLEDİM CS:GO RÜTBE SİSTEMİNE GÖRE ÇALIŞMADI UMARIM YAPARSINIZ.

Kod: Tümünü seç

#include <amxmodx>
#include <nvault>
#include <fakemeta>
#include <hamsandwich>
#include <fun>

#define g_exp(%1) get_pcvar_num(xpm_start) + (seviye[%1] * get_pcvar_num(xpm_inc))
#define DLIGHT_LIFE 8
#define DLIGHT_DECAY 60
#define message_begin_f(%1,%2,%3) (engfunc (EngFunc_MessageBegin, %1, %2, %3))
#define write_coord_f(%1) (engfunc (EngFunc_WriteCoord, %1))
#define FLAG ADMIN_KICK

new const gsz_RankModel [ ] = "models/3dranks.mdl"

new xpm_3drank

new gi_PlayerRank [ 33 ]

new xpkayit,seviye[33] = 1,exp[33],xpm_kill,xpm_knife,xpm_headshot,xpm_maxlevel,hud_info,xpm_inc,xpm_start,xpm_heal_up,xpm_damage_up,aim_goster,g_iMsgSayText,hud_show,rutbe[33]
new const level[] = "explevel/seviye_atlama.wav"
new const tag[] = "!g[CSMeydani.Com]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
SILVER-1,
SILVER-2,
SILVER-3,
SILVER-4,
SILVER-ELITE,
GOLD-NOVA-1,
GOLD-NOVA-2,
GOLD-NOVA-3,
GOLD-NOVA-MASTER,
MASTER-GUARDIAN-1,
MASTER-GUARDIAN-2,
MASTER-GUARDIAN-ELITE,
LEGENDARY-EAGLE,
LEGENDARY-EAGLE-MASTER,
FIRST-CLASS,
THE-GLOBAL-ELITE	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.1 ", "2.1", "CSMeydani.Com")
	xpm_start = register_cvar("xpm_start", "200");
	xpm_inc = register_cvar("xpm_inc", "50");
	xpm_kill = register_cvar("xpm_kill","15")
	xpm_knife = register_cvar("xpm_knife","25")
	xpm_headshot = register_cvar("xpm_headshot","35")
	xpm_maxlevel = register_cvar("xpm_maxlevel","25")
	xpm_heal_up = register_cvar("xpm_heal_up","1")
	xpm_damage_up = register_cvar("xpm_damage_up","1")
	xpkayit = nvault_open("xpmod_kayit")
	xpm_3drank = register_cvar ( "xpm_3drank", "1" )
	register_clcmd("__xpm_maxlevel","__xpm_maxlevel_devam")
	register_clcmd("__xpm_kill","__xpm_kill_devam")
	register_clcmd("__xpm_inc","__xpm_inc_devam")
	register_clcmd("__xpm_headshot","__xpm_headshot_devam")
	register_clcmd("__xpm_knife","__xpm_knife_devam")
	register_clcmd("__xpm_damage_up","__xpm_damage_devam")
	register_clcmd("__xpm_heal_up","__xpm_heal_devam")
	register_clcmd("say /xpreset","xpmod_reset")
	register_clcmd("say /xpkontrol","xpmod_kontrol")
	register_clcmd("/xpkontrol","xpmod_kontrol")
	register_event("DeathMsg", "event_death", "a");
	register_event("StatusValue", "showStatus", "be", "1=2", "2!0")
	register_event("StatusValue", "hideStatus", "be", "1=1", "2=0")
	RegisterHam(Ham_Spawn, 		"player", "Fwd_PlayerSpawn_Post",	1)
	RegisterHam(Ham_TakeDamage, 	"player", "FwdTakeDamage", 		0)
	hud_show = CreateHudSyncObj();
	hud_info = CreateHudSyncObj();
	aim_goster = CreateHudSyncObj()
	g_iMsgSayText 	= get_user_msgid("SayText") 
}
public xpmod_reset(id){
	seviye[id] = 1
	exp[id] = 0
	ChatColor(id,"%s !tLeveliniz!y ve !tExp (tecrube)!y puaniniz basariyla sifirlanmistir.",tag)
}
public plugin_precache() {
	precache_sound("fvox/beep.wav")
	precache_sound(level)
	precache_model ( gsz_RankModel )
}
public kaydet(id){
	new name[64],key[72], stats[34];
	get_user_name(id, name, 63);
	formatex(key, 71, "%s-stats", name);
	formatex(stats, 33, "%i#%i#", seviye[id], exp[id]);
	nvault_set(xpkayit, key, stats);
}
public kontrol(id){
	new name[32]
	get_user_name(id,name,31)
	if(exp[id] >= g_exp(id)){
		seviye[id]++	
		exp[id] = 0
		ChatColor(0,"%s !t'%s'!y adli oyuncu !g[%d]!y levele ulasti.",tag,name,seviye[id])
		level_atlama(id)
	}
	else if(exp[id] < g_exp(id))
	{
		console_cmd(id,"spk fvox/beep")	
	}
}
public yukle(id){
	new name[64],key[72], stats[34], stat[3][12];
	get_user_name(id, name, 63);
	formatex(key, 71, "%s-stats", name);
	nvault_get(xpkayit, key, stats, 33);
	replace_all(stats , 33, "#", " ")
	parse(stats, stat[0], 11, stat[1], 11);
	seviye[id] = str_to_num(stat[0]);
	exp[id] = str_to_num(stat[1]);	
	if(seviye[id] == 0){
		seviye[id] = 1
	}
}
public client_authorized(id){
	seviye[id]=1
	exp[id] = 0
	set_task(1.0, "show_explevel", id, _, _, "b")
	yukle(id)
	create_rank_entity ( id )
}
public client_disconnect(id){
	kaydet(id)
	if ( gi_PlayerRank [ id ] > 0 )
		engfunc ( EngFunc_RemoveEntity, gi_PlayerRank [ id ] )
	
	gi_PlayerRank [ id ] = 0
}
public create_rank_entity ( index )
{	
	gi_PlayerRank [ index ] = engfunc ( EngFunc_CreateNamedEntity, engfunc ( EngFunc_AllocString, "info_target" ) )
	
	set_pev ( gi_PlayerRank [ index ], pev_movetype, MOVETYPE_FOLLOW )
	set_pev ( gi_PlayerRank [ index ], pev_aiment, index )
	set_pev ( gi_PlayerRank [ index ], pev_rendermode, kRenderNormal )
	set_pev ( gi_PlayerRank [ index ], pev_renderfx, kRenderFxGlowShell )
	set_pev ( gi_PlayerRank [ index ], pev_renderamt, 5.0 )
	
	engfunc ( EngFunc_SetModel, gi_PlayerRank [ index ], gsz_RankModel )
}
public event_death(){
	
	//new attacker = read_data(1);
	new victim = read_data(2);
	new attacker = get_user_attacker(victim)
	new miktar[32] = 0 
	if ( is_valid_player ( attacker ) )
	{
		check_rank ( attacker )
	}
	if(attacker == victim)
	{
		return PLUGIN_HANDLED;
	}
	if(seviye[attacker] >= get_pcvar_num(xpm_maxlevel)){
		ChatColor(attacker,"%s !tmaximum!y levele ulastiniz.",tag)
		return PLUGIN_HANDLED;
	}
	exp[attacker] += get_pcvar_num(xpm_kill)
	miktar[attacker] += get_pcvar_num(xpm_kill)
	if(get_pdata_int(victim, 75) == HIT_HEAD){
		exp[attacker] += get_pcvar_num(xpm_headshot)
		miktar[attacker] += get_pcvar_num(xpm_headshot)
	}
	if(get_user_weapon(attacker) == CSW_KNIFE){
		exp[attacker] += get_pcvar_num(xpm_knife)
		miktar[attacker] += get_pcvar_num(xpm_knife)
	}
	ChatColor(attacker,"%s !t%d!y exp (tecrube) puani kazandiniz.",tag,miktar[attacker])
	kontrol(attacker)
	return PLUGIN_HANDLED;
}
public show_explevel(id){
	if(!is_user_alive(id))
	return PLUGIN_HANDLED;
	new ly[33],ey[33],as[33],show[33]
	as[id] = get_pcvar_num(xpm_start) + (seviye[id] * get_pcvar_num(xpm_inc))
	ly[id] = seviye[id] * 1150 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 1150 / as[id]
	if(ly[id] < 6){
	rutbe[id] = SILVER-1
	show = "SILVER 1"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = SILVER-2
	show = "SILVER 2"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = SILVER-3
	show = "SILVER 3"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = SILVER-4
	show = "SILVER 4"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = SILVER-ELITE
	show = "SILVER ELITE"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = GOLD-NOVA-1
	show = "GOLD NOVA 1"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = GOLD-NOVA-2
	show = "GOLD NOVA 2"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = GOLD-NOVA-3
	show = "GOLD NOVA 3"
	}
	else if(ly[id] < 100 ){
	rutbe[id] = GOLD-NOVA-MASTER
	show = "GOLD NOVA MASTER"
	}
	else if(ly[id] < 250 ){
	rutbe[id] = MASTER-GUARDIAN-1
	show = "MASTER GUARDIAN 1"
	}
	else if(ly[id] < 350 ){
	rutbe[id] = MASTER-GUARDIAN-2
	show = "MASTER GUARDIAN 2"
	}
	else if(ly[id] < 450 ){
	rutbe[id] = MASTER-GUARDIAN-ELITE
	show = "MASTER GUARDIAN ELITE"
	}
	else if(ly[id] < 550 ){
	rutbe[id] = LEGENDARY-EAGLE
	show = "LEGENDARY EAGLE"
	}
	else if(ly[id] < 650 ){
	rutbe[id] = LEGENDARY-EAGLE-MASTER
	show = "LEGENDARY EAGLE MASTER"
	}
	else if(ly[id] < 750 ){
	rutbe[id] = FIRST-CLASS
	show = "FIRST CLASS"
	}
	else if(ly[id] <= 1150){
	rutbe[id] = THE-GLOBAL-ELITE	
	show = "THE GLOBAL ELITE"
	}
	set_hudmessage( 255, 0, 0, 0.90, 0.15, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"CS:GO // Rutbe Sistemi" );
	set_hudmessage( 255, 255, 255, 0.90, 0.18, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_info, "Level: [%d/%d] - (%s%i)  ^nExp: [%i/%i] - (%s%i)  ^nRutbe: [%s]   ",seviye[id],get_pcvar_num(xpm_maxlevel),is,ly[id],exp[id],g_exp(id),is,ey[id],show);
	return PLUGIN_HANDLED
}
public showStatus(id){
	new name[32], pid = read_data(2)
	get_user_name(pid,name,31)
	if(!is_user_bot(id) && is_user_connected(id)) {
		if(get_user_team(pid) == 1){
			set_hudmessage(255,25,25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1)
			ShowSyncHudMsg(id, aim_goster, "%s | Mevcut Can: %d | Level: %d",name,get_user_health(pid),seviye[pid])
		}
		else if(get_user_team(pid) == 2){
			set_hudmessage(25,25,255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1)
			ShowSyncHudMsg(id, aim_goster, "%s | Hp: %d | Level: %d",name,get_user_health(pid),seviye[pid])
		}
	}
}
public hideStatus(id){
	ClearSyncHud(id, aim_goster)
}
public Fwd_PlayerSpawn_Post(player){
	new hp
	hp = seviye[player] * 1 - 1
	if(get_pcvar_num(xpm_heal_up) && is_user_alive(player)){
		set_user_health(player, get_user_health(player) + hp )
	}
	if ( is_valid_player ( player ) && get_pcvar_num(xpm_3drank))
	{
		check_rank ( player )
	}
	else if(!get_pcvar_num(xpm_3drank))
	{
	if ( gi_PlayerRank [ player ] > 0 )
		engfunc ( EngFunc_RemoveEntity, gi_PlayerRank [ player ] )
	
	gi_PlayerRank [player ] = 0	
	}
}
public FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){
	new dmg = seviye[ attacker ] * 1 - 1
	if(get_pcvar_num(xpm_damage_up)){
		SetHamParamFloat( 4 , damage + dmg )
		
		return PLUGIN_HANDLED
	}
	return PLUGIN_HANDLED
}
stock level_atlama(id){
	static Float:FOrigin3[3] // PARLAMA EFEKTI
	pev(id, pev_origin, FOrigin3)
	engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin3, 0)
	write_byte(TE_IMPLOSION)
	engfunc(EngFunc_WriteCoord, FOrigin3[0])
	engfunc(EngFunc_WriteCoord, FOrigin3[1])
	engfunc(EngFunc_WriteCoord, FOrigin3[2])
	write_byte(200)
	write_byte(100)
	write_byte(5)  
	message_end()
	emit_sound(id, CHAN_VOICE, level, 1.0, ATTN_NORM, 0, PITCH_NORM)
	level_atlama__(id)
}
public level_atlama__(id){
	//new const Invoker
	static Coord_e:vecOrigin [Coord_e];
	pev (id,pev_origin, vecOrigin);

	message_begin_f (MSG_PVS, SVC_TEMPENTITY, vecOrigin, 0);
	write_byte (TE_DLIGHT);
	write_coord_f (vecOrigin [x ]);
	write_coord_f (vecOrigin [y ]);
	write_coord_f (vecOrigin [z ]);
	write_byte (35);
	write_byte (250);
	write_byte (150);
	write_byte (15);
	write_byte (DLIGHT_LIFE);
	write_byte (DLIGHT_DECAY);
	message_end();
        
	return FMRES_HANDLED;
}
public xpmod_kontrol(id)
{
	if(get_user_flags(id) & ADMIN_CVAR)
	{
		static Item[64]
		
		formatex(Item, charsmax(Item),"\yXpmod | Kontrol Paneli") 
		new Menu = menu_create(Item, "takim_menu")
		
		formatex(Item, charsmax(Item),"\wxpm_maxlevel \d'%d'",get_pcvar_num(xpm_maxlevel))
		menu_additem(Menu, Item, "1")
		
		formatex(Item, charsmax(Item),"\wxpm_kill \d'%d'",get_pcvar_num(xpm_kill))
		menu_additem(Menu, Item, "2")
		
		formatex(Item, charsmax(Item),"\wxpm_inc \d'%d'",get_pcvar_num(xpm_inc))
		menu_additem(Menu, Item, "3")
		
		formatex(Item, charsmax(Item),"\wxpm_headshot \d'%d'",get_pcvar_num(xpm_headshot))
		menu_additem(Menu, Item, "5")
		
		formatex(Item, charsmax(Item),"\wxpm_knife \d'%d'",get_pcvar_num(xpm_knife))
		menu_additem(Menu, Item, "6")
		
		formatex(Item, charsmax(Item),"\wxpm_damage_up \d'%s'",get_pcvar_num(xpm_damage_up) > 0 ? "Acik" : "Kapali")
		menu_additem(Menu, Item, "6")
		
		formatex(Item, charsmax(Item),"\wxpm_heal_up \d'%s'",get_pcvar_num(xpm_heal_up) > 0 ? "Acik" : "Kapali")
		menu_additem(Menu, Item, "7")
		
		
		
		
		
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
		menu_display(id, Menu)
	}
	else
	{
		ChatColor(id,"[%s]!gYetkiniz !yBulunmamaktadir...",tag)
	}
	return PLUGIN_HANDLED
}
public takim_menu(id, menu, item)
{
	
	if (item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new Data[6], Name[64]
	new Access, Callback
	new say[300]
	read_args(say, charsmax(say))
	
	menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
	
	new Key = str_to_num(Data)
	
	switch (Key)
	{
		case 1:
		{	
		client_cmd(id, "messagemode __xpm_maxlevel")
		}
		case 2: 
		{	
		client_cmd(id, "messagemode __xpm_kill")	
		}
		case 3:
		{	
		client_cmd(id, "messagemode __xpm_inc")	
		}
		case 4: 
		{	
		client_cmd(id, "messagemode __xpm_headshot")	
		}
		case 5: 
		{	
		client_cmd(id, "messagemode __xpm_knife")	
		}
		case 6: 
		{
		client_cmd(id, "messagemode __xpm_damage_up")
		}
		case 7: 
		{	
		client_cmd(id, "messagemode __xpm_heal_up")	
		}
		
	}
	menu_destroy(menu)	
	return PLUGIN_HANDLED
}
public __xpm_maxlevel_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_maxlevel %s",say)
	console_cmd(id,"/xpkontrol")
}
public __xpm_kill_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_kill %s",say)
	console_cmd(id,"/xpkontrol")
}
public __xpm_inc_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_inc %s",say)
	console_cmd(id,"/xpkontrol")
}
public __xpm_headshot_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_headshot %s",say)
	console_cmd(id,"/xpkontrol")
}
public __xpm_knife_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_knife %s",say)
	console_cmd(id,"/xpkontrol")
}
public __xpm_heal_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_damage_up %s",say)
	console_cmd(id,"/xpkontrol")
}
public __xpm_damage_devam(id){
	new say[300]
	read_args(say, charsmax(say))
	remove_quotes(say)
	client_cmd(id,"amx_cvar xpm_heal_up %s",say)
	console_cmd(id,"/xpkontrol")
}
public check_rank ( index )
{
	new PlayerRank = get_player_rank ( index )
	
	set_pev ( gi_PlayerRank [ index ], pev_body, PlayerRank )
	
	switch ( PlayerRank )
	{
		case 1, 2, 3:
		{
			set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 255.0 } )
		}
		
		case 12:
		{
			set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 0.0, 0.0 } )
		}
		
		default:
		{
			set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 0.0 } )
		}
	}
}

stock get_player_rank ( index )
{
	new PlayerFrags = rutbe[ index ]
	
	switch ( PlayerFrags )
	{
		case SILVER-1:
		{
			return 1
		}
		
		case SILVER-2:
		{
			return 2
		}
		
		case SILVER-3:
		{
			return 3
		}
		
		case SILVER-4:
		{
			return 4
		}
		
		case SILVER-ELITE:
		{
			return 5
		}
		
		case GOLD-NOVA-1:
		{
			return 6
		}
		
		case GOLD-NOVA-2:
		{
			return 7
		}
		
		case GOLD-NOVA-3:
		{
			return 8
		}
		
		case GOLD-NOVA-MASTER:
		{
			return 9
		}
		
		case MASTER-GUARDIAN-1:
		{
			return 10
		}
		
		case MASTER-GUARDIAN-2:
		{
			return 11
		}
		
		case MASTER-GUARDIAN-ELITE:
		{
			return 12
		}
		
		case LEGENDARY-EAGLE:
		{
			return 13
		}
		
		case LEGENDARY-EAGLE-MASTER:
		{
			return 14
		}
		
		case FIRST-CLASS:
		{
			return 15
		}
		
		case THE-GLOBAL-ELITE:
		{
			return 16
		}
		
		default:
		{
			return 17
		}
	}
	
	return 0
}

stock is_valid_player ( index )
{
	if ( is_user_connected ( index ) && 1 <= index <= 32 )
	{
		return true
	}
	
	return false
}
stock ChatColor(const id, const input[], any:...){
	new count = 1, players[32]
	static msg[191]
	vformat(msg, 190, input, 3)
	
	replace_all(msg, 190, "!g", "^4") // Green Color
	replace_all(msg, 190, "!y", "^1") // Default Color
	replace_all(msg, 190, "!t", "^3") // Team Color
	
	
	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, g_iMsgSayText, _, players[i])  
			write_byte(players[i]);
			write_string(msg);
			message_end();
		}
	}
}
}
KODU ALAMAYANLARA LİNK :

@'GAREZ @caddegarge
En son Yek'-ta tarafından Sal Eyl 13, 2016 7:28 am tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Sebep: dışarıya verilen link silindi

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

@By.dehset Yardım.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

@CsmileFace

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

hey ?

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Yek'-ta
Mesajlar: 9625
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen Yek'-ta »

kod alınmıyor, sma yı dışarıya upload etmek yerine foruma upload edin.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

explevel.sma
@CSmiLeFaCe
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Yek'-ta
Mesajlar: 9625
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen Yek'-ta »

şunu bi dene

Kod: Tümünü seç

#include <amxmodx>
#include <nvault>
#include <fakemeta>
#include <hamsandwich>
#include <fun>

#define g_exp(%1) get_pcvar_num(xpm_start) + (seviye[%1] * get_pcvar_num(xpm_inc))
#define DLIGHT_LIFE 8
#define DLIGHT_DECAY 60
#define message_begin_f(%1,%2,%3) (engfunc (EngFunc_MessageBegin, %1, %2, %3))
#define write_coord_f(%1) (engfunc (EngFunc_WriteCoord, %1))
#define FLAG ADMIN_KICK

new const gsz_RankModel [ ] = "models/3dranks.mdl"

new xpm_3drank

new gi_PlayerRank [ 33 ]

new xpkayit,seviye[33] = 1,exp[33],xpm_kill,xpm_knife,xpm_headshot,xpm_maxlevel,hud_info,xpm_inc,xpm_start,xpm_heal_up,xpm_damage_up,aim_goster,g_iMsgSayText,hud_show,rutbe[33]
new const level[] = "explevel/seviye_atlama.wav"
new const tag[] = "!g[Dark Tiger]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
SILVER1,
SILVER2,
SILVER3,
SILVER4,
SILVERELITE,
GOLDNOVA1,
GOLDNOVA2,
GOLDNOVA3,
GOLDNOVAMASTER,
MASTERGUARDIAN1,
MASTERGUARDIAN2,
MASTERGUARDIANELITE,
LEGENDARYEAGLE,
LEGENDARYEAGLEMASTER,
FIRSTCLASS,
THEGLOBALELITE
}
public plugin_init() {
   register_plugin("Xp-Mod v2.1 ", "2.1", "nefret")
   xpm_start = register_cvar("xpm_start", "200");
   xpm_inc = register_cvar("xpm_inc", "50");
   xpm_kill = register_cvar("xpm_kill","15")
   xpm_knife = register_cvar("xpm_knife","25")
   xpm_headshot = register_cvar("xpm_headshot","35")
   xpm_maxlevel = register_cvar("xpm_maxlevel","25")
   xpm_heal_up = register_cvar("xpm_heal_up","1")
   xpm_damage_up = register_cvar("xpm_damage_up","1")
   xpkayit = nvault_open("xpmod_kayit")
   xpm_3drank = register_cvar ( "xpm_3drank", "1" )
   register_clcmd("__xpm_maxlevel","__xpm_maxlevel_devam")
   register_clcmd("__xpm_kill","__xpm_kill_devam")
   register_clcmd("__xpm_inc","__xpm_inc_devam")
   register_clcmd("__xpm_headshot","__xpm_headshot_devam")
   register_clcmd("__xpm_knife","__xpm_knife_devam")
   register_clcmd("__xpm_damage_up","__xpm_damage_devam")
   register_clcmd("__xpm_heal_up","__xpm_heal_devam")
   register_clcmd("say /xpreset","xpmod_reset")
   register_clcmd("say /xpkontrol","xpmod_kontrol")
   register_clcmd("/xpkontrol","xpmod_kontrol")
   register_event("DeathMsg", "event_death", "a");
   register_event("StatusValue", "showStatus", "be", "1=2", "2!0")
   register_event("StatusValue", "hideStatus", "be", "1=1", "2=0")
   RegisterHam(Ham_Spawn,       "player", "Fwd_PlayerSpawn_Post",   1)
   RegisterHam(Ham_TakeDamage,    "player", "FwdTakeDamage",       0)
   hud_show = CreateHudSyncObj();
   hud_info = CreateHudSyncObj();
   aim_goster = CreateHudSyncObj()
   g_iMsgSayText    = get_user_msgid("SayText") 
}
public xpmod_reset(id){
   seviye[id] = 1
   exp[id] = 0
   ChatColor(id,"%s !tLeveliniz!y ve !tExp (tecrube)!y puaniniz basariyla sifirlanmistir.",tag)
}
public plugin_precache() {
   precache_sound("fvox/beep.wav")
   precache_sound(level)
   precache_model ( gsz_RankModel )
}
public kaydet(id){
   new name[64],key[72], stats[34];
   get_user_name(id, name, 63);
   formatex(key, 71, "%s-stats", name);
   formatex(stats, 33, "%i#%i#", seviye[id], exp[id]);
   nvault_set(xpkayit, key, stats);
}
public kontrol(id){
   new name[32]
   get_user_name(id,name,31)
   if(exp[id] >= g_exp(id)){
      seviye[id]++   
      exp[id] = 0
      ChatColor(0,"%s !t'%s'!y adli oyuncu !g[%d]!y levele ulasti.",tag,name,seviye[id])
      level_atlama(id)
   }
   else if(exp[id] < g_exp(id))
   {
      console_cmd(id,"spk fvox/beep")   
   }
}
public yukle(id){
   new name[64],key[72], stats[34], stat[3][12];
   get_user_name(id, name, 63);
   formatex(key, 71, "%s-stats", name);
   nvault_get(xpkayit, key, stats, 33);
   replace_all(stats , 33, "#", " ")
   parse(stats, stat[0], 11, stat[1], 11);
   seviye[id] = str_to_num(stat[0]);
   exp[id] = str_to_num(stat[1]);   
   if(seviye[id] == 0){
      seviye[id] = 1
   }
}
public client_authorized(id){
   seviye[id]=1
   exp[id] = 0
   set_task(1.0, "show_explevel", id, _, _, "b")
   yukle(id)
   create_rank_entity ( id )
}
public client_disconnect(id){
   kaydet(id)
   if ( gi_PlayerRank [ id ] > 0 )
      engfunc ( EngFunc_RemoveEntity, gi_PlayerRank [ id ] )
   
   gi_PlayerRank [ id ] = 0
}
public create_rank_entity ( index )
{   
   gi_PlayerRank [ index ] = engfunc ( EngFunc_CreateNamedEntity, engfunc ( EngFunc_AllocString, "info_target" ) )
   
   set_pev ( gi_PlayerRank [ index ], pev_movetype, MOVETYPE_FOLLOW )
   set_pev ( gi_PlayerRank [ index ], pev_aiment, index )
   set_pev ( gi_PlayerRank [ index ], pev_rendermode, kRenderNormal )
   set_pev ( gi_PlayerRank [ index ], pev_renderfx, kRenderFxGlowShell )
   set_pev ( gi_PlayerRank [ index ], pev_renderamt, 5.0 )
   
   engfunc ( EngFunc_SetModel, gi_PlayerRank [ index ], gsz_RankModel )
}
public event_death(){
   
   //new attacker = read_data(1);
   new victim = read_data(2);
   new attacker = get_user_attacker(victim)
   new miktar[32] = 0 
   if ( is_valid_player ( attacker ) )
   {
      check_rank ( attacker )
   }
   if(attacker == victim)
   {
      return PLUGIN_HANDLED;
   }
   if(seviye[attacker] >= get_pcvar_num(xpm_maxlevel)){
      ChatColor(attacker,"%s !tmaximum!y levele ulastiniz.",tag)
      return PLUGIN_HANDLED;
   }
   exp[attacker] += get_pcvar_num(xpm_kill)
   miktar[attacker] += get_pcvar_num(xpm_kill)
   if(get_pdata_int(victim, 75) == HIT_HEAD){
      exp[attacker] += get_pcvar_num(xpm_headshot)
      miktar[attacker] += get_pcvar_num(xpm_headshot)
   }
   if(get_user_weapon(attacker) == CSW_KNIFE){
      exp[attacker] += get_pcvar_num(xpm_knife)
      miktar[attacker] += get_pcvar_num(xpm_knife)
   }
   ChatColor(attacker,"%s !t%d!y exp (tecrube) puani kazandiniz.",tag,miktar[attacker])
   kontrol(attacker)
   return PLUGIN_HANDLED;
}
public show_explevel(id){
   if(!is_user_alive(id))
   return PLUGIN_HANDLED;
   new ly[33],ey[33],as[33],show[33]
   as[id] = get_pcvar_num(xpm_start) + (seviye[id] * get_pcvar_num(xpm_inc))
   ly[id] = seviye[id] * 1150 / get_pcvar_num(xpm_maxlevel) 
   ey[id] = exp[id] * 1150 / as[id]
   if(ly[id] < 6){
   rutbe[id] = SILVER1
   show = "SILVER 1"
   }
   else if(ly[id] < 16 ){
   rutbe[id] = SILVER2
   show = "SILVER 2"
   }
   else if(ly[id] < 31 ){
   rutbe[id] = SILVER3
   show = "SILVER 3"
   }
   else if(ly[id] < 46 ){
   rutbe[id] = SILVER4
   show = "SILVER 4"
   }
   else if(ly[id] < 61 ){
   rutbe[id] = SILVERELITE
   show = "SILVER ELITE"
   }
   else if(ly[id] < 71 ){
   rutbe[id] = GOLDNOVA1
   show = "GOLD NOVA 1"
   }
   else if(ly[id] < 81 ){
   rutbe[id] = GOLDNOVA2
   show = "GOLD NOVA 2"
   }
   else if(ly[id] < 91 ){
   rutbe[id] = GOLDNOVA3
   show = "GOLD NOVA 3"
   }
   else if(ly[id] < 100 ){
   rutbe[id] = GOLDNOVAMASTER
   show = "GOLD NOVA MASTER"
   }
   else if(ly[id] < 250 ){
   rutbe[id] = MASTERGUARDIAN1
   show = "MASTER GUARDIAN 1"
   }
   else if(ly[id] < 350 ){
   rutbe[id] = MASTERGUARDIAN2
   show = "MASTER GUARDIAN 2"
   }
   else if(ly[id] < 450 ){
   rutbe[id] = MASTERGUARDIANELITE
   show = "MASTER GUARDIAN ELITE"
   }
   else if(ly[id] < 550 ){
   rutbe[id] = LEGENDARYEAGLE
   show = "LEGENDARY EAGLE"
   }
   else if(ly[id] < 650 ){
   rutbe[id] = LEGENDARYEAGLEMASTER
   show = "LEGENDARY EAGLE MASTER"
   }
   else if(ly[id] < 750 ){
   rutbe[id] = FIRSTCLASS
   show = "FIRST CLASS"
   }
   else if(ly[id] <= 1150){
   rutbe[id] = THEGLOBALELITE   
   show = "THE GLOBAL ELITE"
   }
   set_hudmessage( 255, 0, 0, 0.90, 0.15, 0, 6.0, 3.0, 0.1, 1.5 );
   ShowSyncHudMsg(id, hud_show,"CS:GO // Rutbe Sistemi" );
   set_hudmessage( 255, 255, 255, 0.90, 0.18, 0, 6.0, 3.0, 0.1, 1.5 );
   ShowSyncHudMsg(id, hud_info, "Level: [%d/%d] - (%s%i)  ^nExp: [%i/%i] - (%s%i)  ^nRutbe: [%s]   ",seviye[id],get_pcvar_num(xpm_maxlevel),is,ly[id],exp[id],g_exp(id),is,ey[id],show);
   return PLUGIN_HANDLED
}
public showStatus(id){
   new name[32], pid = read_data(2)
   get_user_name(pid,name,31)
   if(!is_user_bot(id) && is_user_connected(id)) {
      if(get_user_team(pid) == 1){
         set_hudmessage(255,25,25, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1)
         ShowSyncHudMsg(id, aim_goster, "%s | Mevcut Can: %d | Level: %d",name,get_user_health(pid),seviye[pid])
      }
      else if(get_user_team(pid) == 2){
         set_hudmessage(25,25,255, -1.0, 0.55, 0, 0.01, 3.0, 0.01, 0.01, -1)
         ShowSyncHudMsg(id, aim_goster, "%s | Hp: %d | Level: %d",name,get_user_health(pid),seviye[pid])
      }
   }
}
public hideStatus(id){
   ClearSyncHud(id, aim_goster)
}
public Fwd_PlayerSpawn_Post(player){
   new hp
   hp = seviye[player] * 1 - 1
   if(get_pcvar_num(xpm_heal_up) && is_user_alive(player)){
      set_user_health(player, get_user_health(player) + hp )
   }
   if ( is_valid_player ( player ) && get_pcvar_num(xpm_3drank))
   {
      check_rank ( player )
   }
   else if(!get_pcvar_num(xpm_3drank))
   {
   if ( gi_PlayerRank [ player ] > 0 )
      engfunc ( EngFunc_RemoveEntity, gi_PlayerRank [ player ] )
   
   gi_PlayerRank [player ] = 0   
   }
}
public FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits){
   new dmg = seviye[ attacker ] * 1 - 1
   if(get_pcvar_num(xpm_damage_up)){
      SetHamParamFloat( 4 , damage + dmg )
      
      return PLUGIN_HANDLED
   }
   return PLUGIN_HANDLED
}
stock level_atlama(id){
   static Float:FOrigin3[3] // PARLAMA EFEKTI
   pev(id, pev_origin, FOrigin3)
   engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, FOrigin3, 0)
   write_byte(TE_IMPLOSION)
   engfunc(EngFunc_WriteCoord, FOrigin3[0])
   engfunc(EngFunc_WriteCoord, FOrigin3[1])
   engfunc(EngFunc_WriteCoord, FOrigin3[2])
   write_byte(200)
   write_byte(100)
   write_byte(5)  
   message_end()
   emit_sound(id, CHAN_VOICE, level, 1.0, ATTN_NORM, 0, PITCH_NORM)
   level_atlama__(id)
}
public level_atlama__(id){
   //new const Invoker
   static Coord_e:vecOrigin [Coord_e];
   pev (id,pev_origin, vecOrigin);

   message_begin_f (MSG_PVS, SVC_TEMPENTITY, vecOrigin, 0);
   write_byte (TE_DLIGHT);
   write_coord_f (vecOrigin [x ]);
   write_coord_f (vecOrigin [y ]);
   write_coord_f (vecOrigin [z ]);
   write_byte (35);
   write_byte (250);
   write_byte (150);
   write_byte (15);
   write_byte (DLIGHT_LIFE);
   write_byte (DLIGHT_DECAY);
   message_end();
        
   return FMRES_HANDLED;
}
public xpmod_kontrol(id)
{
   if(get_user_flags(id) & ADMIN_CVAR)
   {
      static Item[64]
      
      formatex(Item, charsmax(Item),"\yXpmod | Kontrol Paneli") 
      new Menu = menu_create(Item, "takim_menu")
      
      formatex(Item, charsmax(Item),"\wxpm_maxlevel \d'%d'",get_pcvar_num(xpm_maxlevel))
      menu_additem(Menu, Item, "1")
      
      formatex(Item, charsmax(Item),"\wxpm_kill \d'%d'",get_pcvar_num(xpm_kill))
      menu_additem(Menu, Item, "2")
      
      formatex(Item, charsmax(Item),"\wxpm_inc \d'%d'",get_pcvar_num(xpm_inc))
      menu_additem(Menu, Item, "3")
      
      formatex(Item, charsmax(Item),"\wxpm_headshot \d'%d'",get_pcvar_num(xpm_headshot))
      menu_additem(Menu, Item, "5")
      
      formatex(Item, charsmax(Item),"\wxpm_knife \d'%d'",get_pcvar_num(xpm_knife))
      menu_additem(Menu, Item, "6")
      
      formatex(Item, charsmax(Item),"\wxpm_damage_up \d'%s'",get_pcvar_num(xpm_damage_up) > 0 ? "Acik" : "Kapali")
      menu_additem(Menu, Item, "6")
      
      formatex(Item, charsmax(Item),"\wxpm_heal_up \d'%s'",get_pcvar_num(xpm_heal_up) > 0 ? "Acik" : "Kapali")
      menu_additem(Menu, Item, "7")
      
      
      
      
      
      menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL)
      menu_display(id, Menu)
   }
   else
   {
      ChatColor(id,"[%s]!gYetkiniz !yBulunmamaktadir...",tag)
   }
   return PLUGIN_HANDLED
}
public takim_menu(id, menu, item)
{
   
   if (item == MENU_EXIT)
   {
      menu_destroy(menu)
      return PLUGIN_HANDLED
   }
   new Data[6], Name[64]
   new Access, Callback
   new say[300]
   read_args(say, charsmax(say))
   
   menu_item_getinfo(menu, item, Access, Data,5, Name, 63, Callback)
   
   new Key = str_to_num(Data)
   
   switch (Key)
   {
      case 1:
      {   
      client_cmd(id, "messagemode __xpm_maxlevel")
      }
      case 2: 
      {   
      client_cmd(id, "messagemode __xpm_kill")   
      }
      case 3:
      {   
      client_cmd(id, "messagemode __xpm_inc")   
      }
      case 4: 
      {   
      client_cmd(id, "messagemode __xpm_headshot")   
      }
      case 5: 
      {   
      client_cmd(id, "messagemode __xpm_knife")   
      }
      case 6: 
      {
      client_cmd(id, "messagemode __xpm_damage_up")
      }
      case 7: 
      {   
      client_cmd(id, "messagemode __xpm_heal_up")   
      }
      
   }
   menu_destroy(menu)   
   return PLUGIN_HANDLED
}
public __xpm_maxlevel_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_maxlevel %s",say)
   console_cmd(id,"/xpkontrol")
}
public __xpm_kill_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_kill %s",say)
   console_cmd(id,"/xpkontrol")
}
public __xpm_inc_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_inc %s",say)
   console_cmd(id,"/xpkontrol")
}
public __xpm_headshot_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_headshot %s",say)
   console_cmd(id,"/xpkontrol")
}
public __xpm_knife_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_knife %s",say)
   console_cmd(id,"/xpkontrol")
}
public __xpm_heal_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_damage_up %s",say)
   console_cmd(id,"/xpkontrol")
}
public __xpm_damage_devam(id){
   new say[300]
   read_args(say, charsmax(say))
   remove_quotes(say)
   client_cmd(id,"amx_cvar xpm_heal_up %s",say)
   console_cmd(id,"/xpkontrol")
}
public check_rank ( index )
{
   new PlayerRank = get_player_rank ( index )
   
   set_pev ( gi_PlayerRank [ index ], pev_body, PlayerRank )
   
   switch ( PlayerRank )
   {
      case 1, 2, 3:
      {
         set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 255.0 } )
      }
      
      case 12:
      {
         set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 0.0, 0.0 } )
      }
      
      default:
      {
         set_pev ( gi_PlayerRank [ index ], pev_rendercolor, { 255.0, 255.0, 0.0 } )
      }
   }
}

stock get_player_rank ( index )
{
   new PlayerFrags = rutbe[ index ]
   
   switch ( PlayerFrags )
   {
      case SILVER1:
      {
         return 1
      }
      
      case SILVER2:
      {
         return 2
      }
      
      case SILVER3:
      {
         return 3
      }
      
      case SILVER4:
      {
         return 4
      }
      
      case SILVERELITE:
      {
         return 5
      }
      
      case GOLDNOVA1:
      {
         return 6
      }
      
      case GOLDNOVA2:
      {
         return 7
      }
      
      case GOLDNOVA3:
      {
         return 8
      }
      
      case GOLDNOVAMASTER:
      {
         return 9
      }
      
      case MASTERGUARDIAN1:
      {
         return 10
      }
      
      case MASTERGUARDIAN2:
      {
         return 11
      }
      
      case MASTERGUARDIANELITE:
      {
         return 12
      }
      
      case LEGENDARYEAGLE:
      {
         return 13
      }
      
      case LEGENDARYEAGLEMASTER:
      {
         return 14
      }
      
      case FIRSTCLASS:
      {
         return 15
      }
      
      case THEGLOBALELITE:
      {
         return 16
      }
      
      default:
      {
         return 17
      }
   }
   
   return 0
}

stock is_valid_player ( index )
{
   if ( is_user_connected ( index ) && 1 <= index <= 32 )
   {
      return true
   }
   
   return false
}
stock ChatColor(const id, const input[], any:...){
   new count = 1, players[32]
   static msg[191]
   vformat(msg, 190, input, 3)
   
   replace_all(msg, 190, "!g", "^4") // Green Color
   replace_all(msg, 190, "!y", "^1") // Default Color
   replace_all(msg, 190, "!t", "^3") // Team Color
   
   
   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, g_iMsgSayText, _, players[i])  
         write_byte(players[i]);
         write_string(msg);
         message_end();
      }
   }
}
}
 

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

aynı gibi gözüküyor ama deneyeyim.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

Eyvallah sağolasın çalıştıda leveller karışmış sanırsam kendine göre düzenlermisin ? mesela level 1 de adam silver elite olmuş ?

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
pasamHD
Mesajlar: 36
Kayıt: Cmt Ağu 13, 2016 12:13 am

XP Level Plugini Gelişmiş Yardım.

Mesaj gönderen pasamHD »

@CSmiLeFaCe

Link:
Linklerini gizle
Linki Kopyala
Cevapla