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

https://discord.gg/43gGDQe6tS

[İSTEK]Eklenti Edit

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
Red
Mesajlar: 1780
Kayıt: Cum Oca 01, 2016 9:12 am
Server Ip/DNS: x
Clan İsmi: Mr.GaminG

[İSTEK]Eklenti Edit

Mesaj gönderen Red »

bu pluginde sol tarafta gösterilen rütbe ve exp kısmını sağ tarafa alabilir misiniz ?
@Taha Demirbaş
@ShooTeR
@PaZee
@ENESIZM
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala

PaZee
Mesajlar: 1755
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

[İSTEK]Eklenti Edit

Mesaj gönderen PaZee »

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.50, 0.20, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.50, 0.23, 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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
		}
	}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Red
Mesajlar: 1780
Kayıt: Cum Oca 01, 2016 9:12 am
Server Ip/DNS: x
Clan İsmi: Mr.GaminG

[İSTEK]Eklenti Edit

Mesaj gönderen Red »

PaZee yazdı: Sal May 29, 2018 12:54 pm

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.50, 0.20, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.50, 0.23, 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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
		}
	}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
biraz ortada duruyor orta reklamla çakışıyor tam sağ tarafa koyabilir misiniz?

Link:
Linklerini gizle
Linki Kopyala

PaZee
Mesajlar: 1755
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

[İSTEK]Eklenti Edit

Mesaj gönderen PaZee »

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.77, 0.20, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.77, 0.23, 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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
		}
	}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

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

Colditz
Mesajlar: 2574
Kayıt: Çrş Ağu 23, 2017 9:17 pm

[İSTEK]Eklenti Edit

Mesaj gönderen Colditz »

Dener misin ;)

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.75, 0.20, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.75, 0.23, 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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
		}
	}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
Red
Mesajlar: 1780
Kayıt: Cum Oca 01, 2016 9:12 am
Server Ip/DNS: x
Clan İsmi: Mr.GaminG

[İSTEK]Eklenti Edit

Mesaj gönderen Red »

Colditz yazdı: Sal May 29, 2018 1:27 pm Dener misin ;)

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.75, 0.20, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.75, 0.23, 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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
		}
	}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/
hala yanıp yanıp sönüyor biraz daha kaydırabilir misiniz?

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

Colditz
Mesajlar: 2574
Kayıt: Çrş Ağu 23, 2017 9:17 pm

[İSTEK]Eklenti Edit

Mesaj gönderen Colditz »

Buyur kardeşim tam senin istediğin gibi yaptım.

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.92, 0.20, 0, 6.0, 3.0, 0.1, 1.5 );
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.92, 0.23, 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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
		}
	}
}
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

Link:
Linklerini gizle
Linki Kopyala

PaZee
Mesajlar: 1755
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

[İSTEK]Eklenti Edit

Mesaj gönderen PaZee »

sol kisimdayken yazi kaybolma sıkıntısı olmaz fakat sag kisimda

yazilar kaybolabilir onun için çok fazla sağa kaydrma işlemi yapmak saglikli olmaz bir gün yaziyi çogaltirsin,yazilar ekran dışında felan kalır diye.

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

Colditz
Mesajlar: 2574
Kayıt: Çrş Ağu 23, 2017 9:17 pm

[İSTEK]Eklenti Edit

Mesaj gönderen Colditz »

Bunu dener misin?

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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(0.1, "show_explevel", id, _, _, "b")
	yukle(id)
	create_rank_entity ( id )
}
public client_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.92, 0.20, 0, 6.0, 0.13);
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.92, 0.23, 0, 6.0, 0.13);
	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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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
Red
Mesajlar: 1780
Kayıt: Cum Oca 01, 2016 9:12 am
Server Ip/DNS: x
Clan İsmi: Mr.GaminG

[İSTEK]Eklenti Edit

Mesaj gönderen Red »

Colditz yazdı: Sal May 29, 2018 2:21 pm Bunu dener misin?

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[BlackMailer's BaseBuilder]!y"
new const is[] = "%"
enum Coord_e {Float:x, Float:y, Float:z};

enum
{
ER,
ONBASI,
CAVUS,
TEGMEN,
YUZBASI,
BINBASI,
YARBAY,
ALBAY,
GENERAL	
}
public plugin_init() {
	register_plugin("Xp-Mod v2.0 | nefret007 | BlackMailer's BaseBuilder", "1.4", "nefret007")
	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","100")
	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(0.1, "show_explevel", id, _, _, "b")
	yukle(id)
	create_rank_entity ( id )
}
public client_disconnected(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] * 100 / get_pcvar_num(xpm_maxlevel) 
	ey[id] = exp[id] * 100 / as[id]
	if(ly[id] < 6){
	rutbe[id] = ER
	show = "ER"
	}
	else if(ly[id] < 16 ){
	rutbe[id] = ONBASI
	show = "ONBASI"
	}
	else if(ly[id] < 31 ){
	rutbe[id] = CAVUS
	show = "CAVUS"
	}
	else if(ly[id] < 46 ){
	rutbe[id] = TEGMEN
	show = "TEGMEN"
	}
	else if(ly[id] < 61 ){
	rutbe[id] = YUZBASI
	show = "YUZBASI"
	}
	else if(ly[id] < 71 ){
	rutbe[id] = BINBASI
	show = "BINBASI"
	}
	else if(ly[id] < 81 ){
	rutbe[id] = YARBAY
	show = "YARBAY"
	}
	else if(ly[id] < 91 ){
	rutbe[id] = ALBAY
	show = "ALBAY"
	}
	else if(ly[id] <= 100){
	rutbe[id] = GENERAL	
	show = "GENERAL"
	}
	set_hudmessage( 255, 0, 0, 0.92, 0.20, 0, 6.0, 0.13);
	ShowSyncHudMsg(id, hud_show,"Exp/Level" );
	set_hudmessage( 255, 255, 255, 0.92, 0.23, 0, 6.0, 0.13);
	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 | Hp: %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 ER:
		{
			return 1
		}
		
		case ONBASI:
		{
			return 2
		}
		
		case CAVUS:
		{
			return 3
		}
		
		case TEGMEN:
		{
			return 4
		}
		
		case YUZBASI:
		{
			return 5
		}
		
		case BINBASI:
		{
			return 6
		}
		
		case YARBAY:
		{
			return 7
		}
		
		case ALBAY:
		{
			return 8
		}
		
		case GENERAL:
		{
			return 9
		}
		
		default:
		{
			return 10
		}
	}
	
	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();
			}
		}
	}
}
teşekkürler

Link:
Linklerini gizle
Linki Kopyala
Cevapla