1. sayfa (Toplam 1 sayfa)

Level Sistemi

Gönderilme zamanı: Çrş May 05, 2021 1:07 pm
gönderen burakozdemir58
Sunucuma Level Sistemi Getirmek istiyorum fakat bir türlü yapamadım , yardım ederseniz çok mutlu olurum şimdiden teşekkür ederim :)

-Level Plugini ile Menüden özel silahlar itemler almak istiyorum , zombi escape level sistemini denedim maalesef olmadı .
-Leveller Say + Hud olarak gözükmesinide istiyorum
-Her öldürdüğümüz kişi başına belli XP gelmesini,
-Her Round Başı Belli XP gelmesini ,
-T'ler eli kazanırsa .... XP gelmesi (Yaşayanlara)
-Ct'ler eli kazanırsa .... XP gelmesi (Yaşayanlara)

şeklinde bir level sistemi lazım yardımcı olabilir misin ?

Level Sistemi

Gönderilme zamanı: Çrş May 05, 2021 1:30 pm
gönderen bestcore
Eklenti zaman alıcak bir eklenti, kimse 0'dan yapmaz. Paylaşılan eklentileri değiştirebilirsin.
eklentiler-pluginler/gelismis-rank-sistemi-t46543.html
Oyuncu rankını çekipte işlem yaptırabilirsiniz konuda yazıyor.

Level Sistemi

Gönderilme zamanı: Çrş May 05, 2021 1:43 pm
gönderen burakozdemir58
bestcore yazdı: Çrş May 05, 2021 1:30 pm Eklenti zaman alıcak bir eklenti, kimse 0'dan yapmaz. Paylaşılan eklentileri değiştirebilirsin.
eklentiler-pluginler/gelismis-rank-sistemi-t46543.html
Oyuncu rankını çekipte işlem yaptırabilirsiniz konuda yazıyor.
çeyrek kısmı kadar bile yapılsa işimi görür devamını ben eklerim

Level Sistemi

Gönderilme zamanı: Çrş May 05, 2021 1:59 pm
gönderen bestcore
burakozdemir58 yazdı: Çrş May 05, 2021 1:43 pm çeyrek kısmı kadar bile yapılsa işimi görür devamını ben eklerim
Yukarıdaki istekleriniz basit, onun haricinde birşey istiyor musunuz ? Ona göre müsait zamanımda yapıp atabilirim. Leveller steamidyemi kayıt olacak ?

Level Sistemi

Gönderilme zamanı: Çrş May 05, 2021 2:03 pm
gönderen burakozdemir58
bestcore yazdı: Çrş May 05, 2021 1:59 pm
burakozdemir58 yazdı: Çrş May 05, 2021 1:43 pm çeyrek kısmı kadar bile yapılsa işimi görür devamını ben eklerim
Yukarıdaki istekleriniz basit, onun haricinde birşey istiyor musunuz ? Ona göre müsait zamanımda yapıp atabilirim. Leveller steamidyemi kayıt olacak ?
[ZE] de steam id galiba , orada güzel işliyor.
oradaki gibi olursa güzel olur

Level Sistemi

Gönderilme zamanı: Çrş May 05, 2021 7:18 pm
gönderen bestcore
burakozdemir58 yazdı: Çrş May 05, 2021 2:03 pm [ZE] de steam id galiba , orada güzel işliyor.
oradaki gibi olursa güzel olur
Oyuncu öldürünce xp artar eğer xpsi bağladığım cvardan büyükse level atlar ve xp'sini sıfırlar böylece bu hep döngüye girer, cvarları belirlerken anlarsın zaten.

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <reapi>
#include <nvault>

new g_vault,
	g_iLevel[MAX_PLAYERS+1],
	g_iXP[MAX_PLAYERS+1],
	syncobj;

enum _:cvarenum {
	cvKillXP,
	cvDeadXP,
	cvXPLimited
};
new g_cvars[cvarenum];

public plugin_init(){
	register_plugin("Level System", "0.1", "` BesTCore;");

	RegisterHookChain(RG_CBasePlayer_Killed, "RG_CBasePlayer_Killed_Post", .post = true);

	bind_pcvar_num(create_cvar("KillBasinaXP", "2", _, "Kill alinca gelecek xp"), g_cvars[cvKillXP]);
	bind_pcvar_num(create_cvar("OlunceGidecekXPXP", "2", _, "Olunce kac xp gitsin."), g_cvars[cvDeadXP]);
	bind_pcvar_num(create_cvar("XPSinir", "20", _, "Kac xp olunca level atlasin."), g_cvars[cvXPLimited]);

	syncobj = CreateHudSyncObj();
}
public RG_CBasePlayer_Killed_Post(const this, pevAttacker, iGib){
	if(!(is_user_connected(this) || is_user_connected(pevAttacker)) || this == pevAttacker){
		return;
	}
	g_iXP[pevAttacker] += g_cvars[cvKillXP];
	g_iXP[this] -= g_cvars[cvDeadXP];

	if(g_iXP[pevAttacker] >= g_cvars[cvXPLimited]){
		g_iLevel[pevAttacker]++;
		g_iXP[pevAttacker] = 0;
		client_print_color(0, 0, "^1%n ^3adli oyuncu level atladi^1,^3yeni leveli^4 %d.", pevAttacker, g_iLevel[pevAttacker]);
	}
	if(g_iXP[this] < 0){
		g_iXP[this] = 0;
	}
}
public client_authorized(id, const authid[]){
	set_task(1.0, "HudMessages", id, .flags = "b");

	g_iLevel[id] = nvault_get(g_vault, fmt("%s-level", authid));
	g_iXP[id] = nvault_get(g_vault, fmt("%s-xp", authid));
}
public HudMessages(const id){
	set_hudmessage(255, 255, 255, 0.01, 0.18, 0, _, 1.5);
	ShowSyncHudMsg(id, syncobj, "[ Level: %d - XP: %d/%d ]", g_iLevel[id], g_iXP[id], g_cvars[cvXPLimited]);
}
public client_disconnected(id){
	savenvault(id);
	g_iLevel[id] = 0;
	g_iXP[id] = 0;
}
public savenvault(const id){
	new authid[MAX_AUTHID_LENGTH];
	get_user_authid(id, authid, charsmax(authid));

	nvault_pset(g_vault, fmt("%s-level", authid), fmt("%i", g_iLevel[id]));
	nvault_pset(g_vault, fmt("%s-xp", authid), fmt("%i", g_iXP[id]));
}
// native
public plugin_natives(){
	register_native("get_user_rank", "native_get_user_rank");
}
public native_get_user_rank(const id){
	return g_iLevel[id];
}
// nvault
public plugin_cfg(){
	g_vault = nvault_open("Level System");
}
public plugin_end(){
	nvault_close(g_vault);
}
Oyuncunun leveline göre bir eklenti yapmak istiyorsan "get_user_rank(index)" şeklinde rankını çekip sorguyla birlikte item verebilirsin, bunu yapabilmen için ufak bir örnek gösteriyorum. Kafanın takıldığı bir yer olursa sorabilirsin.

Kod: Tümünü seç

#pragma semicolon 1

#include <amxmodx>
#include <reapi>

native get_user_rank(id);

public plugin_init(){
	register_plugin("Level System Native Test", "0.1", "` BesTCore;");
	
	register_clcmd("say /satinal", "clcmd_buy");
}
public clcmd_buy(const id){
	if(get_user_rank(id) > 5){
		set_entvar(id, var_health, Float:get_entvar(id, var_health) +100.0);
		// Leveli 5'den buyukse 100 hp verdirdik.
	}
	else {
		client_print_color(id, id, "Rankin 5'den buyuk olmadigi icin 100 hp alamadin.");
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}