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

https://discord.gg/43gGDQe6tS

plugin düzenleme

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler


Konu Sahibi
ZIPZINK
Mesajlar: 208
Kayıt: Pzr Eki 10, 2021 10:38 pm

plugin düzenleme

Mesaj gönderen ZIPZINK »

bu level sistemini kill alarak xp gelmeye yapabilirmiyiz kill alınca xp gelsin ve level atlansın xp aralıklarını ben ayarlarım
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
ZIPZINK
Mesajlar: 208
Kayıt: Pzr Eki 10, 2021 10:38 pm

plugin düzenleme

Mesaj gönderen ZIPZINK »

güncel yardım edermisinz çok gerekli

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
ZIPZINK
Mesajlar: 208
Kayıt: Pzr Eki 10, 2021 10:38 pm

plugin düzenleme

Mesaj gönderen ZIPZINK »

güncel arkadaşlar

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

orucoglukayra
Mesajlar: 209
Kayıt: Pzr Haz 09, 2019 2:48 pm
İletişim:

plugin düzenleme

Mesaj gönderen orucoglukayra »

Bu satırı düzenleyerek vereceği xp'yi ayarlayın ;

Kod: Tümünü seç

set_user_xp(pevAttacker, get_user_xp(pevAttacker) + 5);

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <cstrike>
#include <levels>
#include <nvault>
#include <zombieplague>
#include <reapi>

#define MAXLEVEL 71

new const LEVELS[MAXLEVEL] = { 
90, // Needed on level 1
180, // Needed on level 2
300, // Needed on level 3
450, // Needed on level 4
700, // Needed on level 5
1200, // Needed on level 6
1800, // Needed on level 7
2800, // Needed on level 8
4100, // Needed on level 9
5200, // Needed on level 10
6000, // Needed on level 11
6800, // Needed on level 12
8200, // Needed on level 13
10200, // Needed on level 14
12000, // Needed on level 15
15000, // Needed on level 16
17500, // Needed on level 17
20500, // Needed on level 18
25500, // Needed on level 19
29000, // Needed on level 20
35000, // Needed on level 21
46000, // Needed on level 22
58000, // Needed on level 23
71000, // Needed on level 24
85000, // Needed on level 25
100000, // Needed on level 26
116000, // Needed on level 27
133000, // Needed on level 28
151000, // Needed on level 29
170000, // Needed on level 30
190000, // Needed on level 31
211000, // Needed on level 32
233000, // Needed on level 33
256000, // Needed on level 34
280000, // Needed on level 35
305000, // Needed on level 36
331000, // Needed on level 37
358000, // Needed on level 38
386000, // Needed on level 39
415000, // Needed on level 40
445000, // Needed on level 41
476000, // Needed on level 42
508000, // Needed on level 43
541000, // Needed on level 44
575000, // Needed on level 45
610000, // Needed on level 46
646000, // Needed on level 47
683000, // Needed on level 48
721000, // Needed on level 49
760000, // Needed on level 50
800000, // Needed on level 51
842000, // Needed on level 52
886000, // Needed on level 53
974000, // Needed on level 54
1020000, // Needed on level 55
1068000, // Needed on level 56
1118000, // Needed on level 57
1170000, // Needed on level 58
1224000, // Needed on level 59
1280000, // Needed on level 60
1338000, // Needed on level 61
1398000, // Needed on level 62
1460000, // Needed on level 63
1524000, // Needed on level 64
1590000, // Needed on level 65
1658000, // Needed on level 66
1728000, // Needed on level 67
1800000, // Needed on level 68
1874000, // Needed on level 69
1950000, // Needed on level 70
9999999 // Needed on level 71
}; // Needed Xp on each Levels

new PlayerXp[33]
new PlayerLevel[33]

new g_Vault
new savexp, save_type, escape_xp_human, escape_xp_zombie

public plugin_init()
{
	register_plugin("Level Sistemi", "1.0", "AhmetBey*")

	save_type = register_cvar("levels_savetype","0") // Save Xp to : 0 = NVault.
	savexp = register_cvar("levels_save","1") // Save Xp by : 2 = Name, 1 = SteamID, 0 = IP.
	escape_xp_human = register_cvar("escape_xp_amount_human", "90") // How much XP given to Humans when escape success?
	escape_xp_zombie = register_cvar("escape_xp_amount_zombie", "45") // How much XP given to Humans when escape success?

	RegisterHookChain(RG_CBasePlayer_Killed, "@CBasePlayer_Killed", .post = true);
	
	register_event("HLTV", "elbasi", "a", "1=0", "2=0")
	register_clcmd("amx_levelmenu", "levelmenu")
	register_clcmd("amx_levelver", "level_ver", ADMIN_RCON, "<authid, nick or #userid>")
}

@CBasePlayer_Killed(const this, pevAttacker, iGib) {
	if(this == pevAttacker || !is_user_connected(pevAttacker)) {
		return;
	}

	set_user_xp(pevAttacker, get_user_xp(pevAttacker) + 5);
	SaveLevel(pevAttacker);
	check_level(pevAttacker);
}

public elbasi()
{
	new players[32],inum,id
	get_players(players,inum)
	for(new i;i<inum;i++)
	{
		id = players[i]
		
		new current_ammopacks = zp_get_user_ammo_packs(id)
		if(get_user_level(id) >= 10 && get_user_level(id) <= 19)
		{
			zp_set_user_ammo_packs(id, current_ammopacks + 5)
			//renkli_yazi(id,"!g[ZE] !yHesabina 5CP eklendi.")
			//renkli_yazi(id,"!g[ZE] !yAdded 5AP to your account.")
		}
		else if(get_user_level(id) >= 20 && get_user_level(id) <= 29)
		{
			zp_set_user_ammo_packs(id, current_ammopacks + 10)
		}
		else if(get_user_level(id) >= 30)
		{
			zp_set_user_ammo_packs(id, current_ammopacks + 15)
		}
	}
}

// Level sifirlama
public levelmenu(id)
{
	if(get_user_flags(id) & ADMIN_RCON)
	{
		static amenu[512]
		formatex(amenu,charsmax(amenu),"\yLevel Sifirlama icin oyuncu sec")
		new menuz = menu_create(amenu,"silmemenu_devam")
		
		new players[32], tempid, pnum
		new szName[32], szTempid[10]
		get_players(players, pnum)
		
		for(new i; i < pnum; i++)
		{
			tempid = players[i]
			if(is_user_connected(tempid) && !is_user_bot(tempid))
			{
				get_user_name(tempid, szName, 31)
				num_to_str(tempid, szTempid, 9)
				
				formatex(amenu, charsmax(amenu), "\w%s", szName)
				menu_additem(menuz, amenu, szTempid)
			}
		}
		
		menu_setprop(menuz,MPROP_EXIT,MEXIT_ALL)
		menu_display(id,menuz,0)
	}
	
	return PLUGIN_HANDLED
}

public silmemenu_devam(id,menu,item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new access,callback,data[6],iname[64]
	
	menu_item_getinfo(menu,item,access,data,5,iname,63,callback)
	
	new tempid = str_to_num(data)
	
	silmeislem(id, tempid)
	
	menu_destroy(menu)
	return PLUGIN_HANDLED
}

public silmeislem(id, player) {
	if (!player)
	return PLUGIN_HANDLED
	
	set_user_xp(player, 0)
	set_user_level(player, 0)
	SaveLevel(player)
	
	return PLUGIN_HANDLED
}

// Level verme
public level_ver(id, level, cid)
{
	if(!cmd_access(id, level, cid, 2))
		return PLUGIN_HANDLED
	
	new arg[32], arg2[10], arg3[3]
	read_argv(1, arg, charsmax(arg))
	read_argv(2, arg2, charsmax(arg2))
	read_argv(3, arg3, charsmax(arg3))
	
	if(arg3[0])
		return PLUGIN_HANDLED
	
	new player = cmd_target(id, arg, charsmax(arg))
	if(!player)
		return PLUGIN_HANDLED
	
	set_user_xp(player, str_to_num(arg2))
	SaveLevel(player)
	check_level(player)
	
	return PLUGIN_HANDLED
}

public plugin_cfg()
{
	//Open our vault and have g_Vault store the handle.
	g_Vault = nvault_open("levels")

	//Make the plugin error if vault did not successfully open
	if ( g_Vault == INVALID_HANDLE )
		set_fail_state( "Error opening levels nVault, file does not exist!" )
}

public plugin_natives()
{
	register_native("get_user_xp", "native_get_user_xp", 1)
	register_native("set_user_xp", "native_set_user_xp", 1)
	register_native("get_user_level", "native_get_user_level", 1)
	register_native("set_user_level", "native_set_user_level", 1)
	register_native("get_user_max_level", "native_get_user_max_level", 1)
}

public plugin_end()
{
	//Close the vault when the plugin ends (map change\server shutdown\restart)
	nvault_close(g_Vault)
}

public client_connect(id)
{
	LoadLevel(id)
}

public client_disconnected(id)
{
	SaveLevel(id)
	
	PlayerXp[id] = 0
	PlayerLevel[id] = 0
}

public zp_round_ended()
{
	new Alive_Terrorists_Number = GetPlayersNum(CsTeams:CS_TEAM_T)
	new Alive_CT_Numbers = GetPlayersNum(CsTeams:CS_TEAM_CT)
	
	new iPlayers[32], iNum
	get_players(iPlayers, iNum, "ace", "CT")
	
	for (new i = 0; i < iNum; i++)
	{
		if(PlayerLevel[iPlayers[i]] < MAXLEVEL-1)
		{
			if((Alive_CT_Numbers > Alive_Terrorists_Number) && (Alive_Terrorists_Number == 0))
			{
				set_user_xp(iPlayers[i], get_user_xp(iPlayers[i]) + get_pcvar_num(escape_xp_human))
				SaveLevel(iPlayers[i])
			}
			else if((Alive_Terrorists_Number > Alive_CT_Numbers) && (Alive_CT_Numbers == 0))
			{
				set_user_xp(iPlayers[i], get_user_xp(iPlayers[i]) + get_pcvar_num(escape_xp_zombie))
				SaveLevel(iPlayers[i])
			}
			check_level(iPlayers[i])
		}
	}
}

public check_level(id)
{
	if(PlayerLevel[id] < MAXLEVEL-1)
	{
		while(PlayerXp[id] >= LEVELS[PlayerLevel[id]])
		{
			PlayerLevel[id]++
			SaveLevel(id)
			
			static name[32]
			get_user_name(id, name, charsmax(name))
			renkli_yazi(0,"!g[VEENCS] !n[ !t%s !n] Adli Oyuncu !n[ !t%i. !n] Level'e Ulasti.", name, PlayerLevel[id])
		}
	}
}

SaveLevel(id)
{
	new szAuth[33];
	new szKey[64];
	
	if (get_pcvar_num(savexp) == 0)
	{
		get_user_ip(id, szAuth , charsmax(szAuth), 1)
		formatex(szKey , 63 , "%s-IP" , szAuth)
	}
	else if (get_pcvar_num(savexp) == 1)
	{
		get_user_authid(id , szAuth , charsmax(szAuth))
		formatex(szKey , 63 , "%s-ID" , szAuth)
	}
	else if (get_pcvar_num(savexp) == 2)
	{
		get_user_name(id, szAuth , charsmax(szAuth))
		formatex(szKey , 63 , "%s-NAME" , szAuth)
	}
	
	if (!get_pcvar_num(save_type))
	{
		new szData[256]
		
		formatex(szData , 255 , "%i#%i#" , PlayerLevel[id], PlayerXp[id])
		
		nvault_pset(g_Vault , szKey , szData)
	}
}

LoadLevel(id)
{
	new szAuth[33];
	new szKey[40];
	
	if (get_pcvar_num(savexp) == 0)
	{
		get_user_ip(id, szAuth , charsmax(szAuth), 1)
		formatex(szKey , 63 , "%s-IP" , szAuth)
	}
	else if (get_pcvar_num(savexp) == 1)
	{
		get_user_authid(id , szAuth , charsmax(szAuth))
		formatex(szKey , 63 , "%s-ID" , szAuth)
	}
	else if (get_pcvar_num(savexp) == 2)
	{
		get_user_name(id, szAuth , charsmax(szAuth))
		formatex(szKey , 63 , "%s-NAME" , szAuth)
	}
	
	if (!get_pcvar_num(save_type))
	{
		new szData[256];
		
		formatex(szData , 255, "%i#%i#", PlayerLevel[id], PlayerXp[id])
		
		nvault_get(g_Vault, szKey, szData, 255)
		
		replace_all(szData , 255, "#", " ")
		new xp[32], level[32]
		parse(szData, level, 31, xp, 31)
		PlayerLevel[id] = str_to_num(level)
		PlayerXp[id] = str_to_num(xp)
	}
}

// Native: get_user_xp
public native_get_user_xp(id)
{
	return PlayerXp[id]
}

// Native: set_user_xp
public native_set_user_xp(id, amount)
{
	PlayerXp[id] = amount
}

// Native: get_user_level
public native_get_user_level(id)
{
	return PlayerLevel[id]
}

// Native: set_user_xp
public native_set_user_level(id, amount)
{
	PlayerLevel[id] = amount
}

// Native: Gets user level by Xp
public native_get_user_max_level(id)
{
	new gerilevel
	
	if(PlayerLevel[id] > (MAXLEVEL-1)) {
		gerilevel = LEVELS[MAXLEVEL-1]
	}
	else {
		gerilevel = LEVELS[PlayerLevel[id]]
	}
	
	return gerilevel
}

stock GetPlayersNum(CsTeams:iTeam) {
	new iNum
	for( new i = 1; i <= get_maxplayers(); i++ ) {
		if(is_user_connected(i) && is_user_alive(i) && cs_get_user_team(i) == iTeam)
			iNum++
	}
	return iNum
}

stock renkli_yazi(const id, const input[], any:...)
{
	new count = 1, players[32]
	static msg[191]
	vformat(msg, sizeof(msg) - 1, input, 3)
	
	replace_all(msg, 190, "!n", "^x01")
	replace_all(msg, 190, "!g", "^x04")
	replace_all(msg, 190, "!t", "^x03")
	
	if(id) players[0] = id; else get_players(players, count, "ch")
	for(new i = 0; i < count; i++)
	{
		if(is_user_connected(players[i]))
		{
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
			write_byte(players[i])
			write_string(msg)
			message_end()
		}
	}
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
ZIPZINK
Mesajlar: 208
Kayıt: Pzr Eki 10, 2021 10:38 pm

plugin düzenleme

Mesaj gönderen ZIPZINK »

çok teşekkür ederim aağolasın oldu

Link:
Linklerini gizle
Linki Kopyala
Cevapla