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

https://discord.gg/43gGDQe6tS

Level Sistemi

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
burakozdemir58
Mesajlar: 77
Kayıt: Cmt Eki 05, 2019 1:05 pm

Level Sistemi

Mesaj 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 ?

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

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Level Sistemi

Mesaj 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.

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

Konu Sahibi
burakozdemir58
Mesajlar: 77
Kayıt: Cmt Eki 05, 2019 1:05 pm

Level Sistemi

Mesaj 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

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

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Level Sistemi

Mesaj 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 ?

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

Konu Sahibi
burakozdemir58
Mesajlar: 77
Kayıt: Cmt Eki 05, 2019 1:05 pm

Level Sistemi

Mesaj 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

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

bestcore
Mesajlar: 1625
Kayıt: Cmt Eyl 30, 2017 12:44 pm
Konum: Samsun

Level Sistemi

Mesaj 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;
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla