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

https://discord.gg/43gGDQe6tS

[ReAPI] BBMenu v1.0

Counter-Strike 1.6 Eklenti Paylaşımı

Moderatör: Moderatörler

Forum kuralları
DİKKAT !
Konu Başlığı veya içeriği BÜYÜK HARFLERLE olan konular direk silenecektir !
Burası eklenti paylaşım bölümüdür ve yönetici onaylıdır. Alakasız konular hiçbir şekilde onaylanmayacaktır

Eklenti eklerken eklenti kurallarına uyulması gerekir.
En önemlisi paylaşılan eklenti şablonuna uyulması gerekir.
Bu hususlara dikkat edilmeyip paylaşılan eklenti konuları silenecektir.
Kullanıcı avatarı

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

[ReAPI] BBMenu v1.0

Mesaj gönderen bestcore »

Eklenti İsmi : [REAPI] BBMenu
Yapımcısı : BesTCore
Sürüm : v1.0
Açıklama : Basebuilder sunucularının vazgeçilmez parçası ve oyunu daha zevkli hale getiren bir menüdür.

- Eklenti yapımı sırasında "Omer Tas (Leeye)"'nin basebuilder menusunden yardım alınmıştır.
- Ozel Silah olarak Ethereal kullanılmıştır, yapımcısı "w0w"'dur.

Fotoğraflar ;
zbaOD4.jpg
Kendinize Göre Değiştireceğiniz Yerler ;

Kod: Tümünü seç

#define PANEL_YETKI ADMIN_RCON    // Satir 6 - Kurucu Paneline Girme Yetkisi.
Satir 8,9,10,11 - Kullanici Yetkileri.
Satir 16,17 - Sunucu Reklami ( Server İsminiz ve Kısa Tagınız. )
Eklenti Komutları ;

Kod: Tümünü seç

BBMenu Giriş Komutları //N Tuşu , /bbmenu , /shop
Mevcut TL'nizi Ekranda Bastırma // /benimtl , /tlm , /tl
Eklenti ;
ReApi_BBMenu.sma
Eklenti Araçları ;
Ethereal.rar
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

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

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

[ReAPI] BBMenu v1.0

Mesaj gönderen Colditz »

Onaylandı, denenmedi.

--------------------------------------------->

Bir sonraki güncellemede, bunları dikkate almanı tavsiye ederim.

bind_pcvar_num ve create_cvar kullanman register_cvar komutundan daha hızlı ve güvenilir çalışıyor.
Hem daha ayrıntılı hem daha kolay.

Kod: Tümünü seç

zamanim = register_cvar("kelimeoyunu_zamani","45");
->
bind_pcvar_num(create_cvar("kelimeoyunu_zamani", "45"), zamanim);
Birkaç değişkenden kurtulmak bazen iyi olabiliyor.

Kod: Tümünü seç

new data[6], name[32], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
new key = str_to_num(data);
->
new data[6];
menu_item_getinfo(menu, item, _, data, charsmax(data));
new key = str_to_num(data);
Herhangi bir yazıda isim alacaksan %n kullanıp ekstra olarak oyuncunun ID'sini kullanman oyuncunun ismini verecektir.
Ekstradan get_user_name kullanmaya gerek yok.

Kod: Tümünü seç

new namecik[33];
get_user_name(id,namecik,32)
client_print_color(0,0,"^3%s ^1Adli Oyuncuda^3 %d TL ^1Var.",namecik[id],m_TL[id]);
->
client_print_color(0,0,"^3%n ^1Adli Oyuncuda^3 %d TL ^1Var.",id,m_TL[id]);
Birden fazla set_task varsa Task eklemen daha iyi olabilir.
Remove_task kullanırken direkt sadece tek task silersin.

Kod: Tümünü seç

set_task(60.0,"oldrmebasnhpbitis",id);
set_task(15.0,"ziplamabitis",id)
...
->
enum (+= 1000)
{
    TASK1 = 1000;
    TASK2
};

set_task(60.0,"oldrmebasnhpbitis",id + TASKI1);
set_task(15.0,"ziplamabitis",id + TASKI2);
...
Bazı arkadaşlardan get_players kodunun takım olayında hata verebildiğini öğrendim.
Bunu kullanabilirsin.

Kod: Tümünü seç

new players[32], inum;
static Uid;
get_players(players, inum, "ae", "CT");
for(new i; i<inum; i++)
{
	Uid = players[i];
	hayattakal[Uid]++;
}
->
for(new Uid = 1; Uid <= MaxClients; Uid++)
{
	if(is_user_alive(Uid) && get_member(Uid, m_iTeam) == TEAM_CT)
	{
		hayattakal[Uid]++;
	}
}
Aynı şekilde bu şekilde de yapabilirsin. Bu sadece tavsiye. Pek bir şey değişmeyecek ama
bu şekilde isim kontrol etmiyorsun ve iki değişken daha az oluyor.

Kod: Tümünü seç

public lister(const id)
{
	if(m_TL[id] > 0) {
		new menu = menu_create("\rYollayacagin Oyuncuyu Sec","lister_handler");
		
		new name[32], num[6];
		new players[32], menuz[64], inum;
		static Uid;
		get_players(players, inum);
		for(new i; i<inum; i++)
		{
			Uid = players[i];
			name[0] = '^0';
			menuz[0] = '^0';
			
			num_to_str(Uid, num, charsmax(num));
			get_user_name(Uid, name, charsmax(name));
			formatex(menuz,charsmax(menuz), "\w%s",name);
			menu_additem(menu,menuz,num);
		}
		menu_display(id,menu);
	}
	else client_print_color(id,id,"^4[%s] ^1Yetersiz TL.",SERVERISMI);
	return PLUGIN_HANDLED
}

->

public lister(const id)
{
	if(m_TL[id] > 0) {
		new menu = menu_create("\rYollayacagin Oyuncuyu Sec","lister_handler");

		new menuz[64], num[6];
		for(new Uid = 1; Uid <= MaxClients; Uid++)
		{
			if(is_user_connected(Uid))
			{
				num_to_str(Uid, num, charsmax(num));
				formatex(menuz, charsmax(menuz), "%n", Uid);
				menu_additem(menu, menuz, num);
			}
		}
		menu_display(id,menu);
	}
	else client_print_color(id,id,"^4[%s] ^1Yetersiz TL.",SERVERISMI);
	return PLUGIN_HANDLED
}

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

LoseBasgan
Mesajlar: 1402
Kayıt: Sal Oca 29, 2019 11:28 pm
Clan İsmi: MoonGaming

[ReAPI] BBMenu v1.0

Mesaj gönderen LoseBasgan »

Başarılı tebrikler :)

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

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

[ReAPI] BBMenu v1.0

Mesaj gönderen bestcore »

Colditz yazdı: Çrş Eki 14, 2020 1:10 pm Onaylandı, denenmedi.

--------------------------------------------->

Bir sonraki güncellemede, bunları dikkate almanı tavsiye ederim.

bind_pcvar_num ve create_cvar kullanman register_cvar komutundan daha hızlı ve güvenilir çalışıyor.
Hem daha ayrıntılı hem daha kolay.

Kod: Tümünü seç

zamanim = register_cvar("kelimeoyunu_zamani","45");
->
bind_pcvar_num(create_cvar("kelimeoyunu_zamani", "45"), zamanim);
Birkaç değişkenden kurtulmak bazen iyi olabiliyor.

Kod: Tümünü seç

new data[6], name[32], access, callback;
menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
new key = str_to_num(data);
->
new data[6];
menu_item_getinfo(menu, item, _, data, charsmax(data));
new key = str_to_num(data);
Herhangi bir yazıda isim alacaksan %n kullanıp ekstra olarak oyuncunun ID'sini kullanman oyuncunun ismini verecektir.
Ekstradan get_user_name kullanmaya gerek yok.

Kod: Tümünü seç

new namecik[33];
get_user_name(id,namecik,32)
client_print_color(0,0,"^3%s ^1Adli Oyuncuda^3 %d TL ^1Var.",namecik[id],m_TL[id]);
->
client_print_color(0,0,"^3%n ^1Adli Oyuncuda^3 %d TL ^1Var.",id,m_TL[id]);
Birden fazla set_task varsa Task eklemen daha iyi olabilir.
Remove_task kullanırken direkt sadece tek task silersin.

Kod: Tümünü seç

set_task(60.0,"oldrmebasnhpbitis",id);
set_task(15.0,"ziplamabitis",id)
...
->
enum (+= 1000)
{
    TASK1 = 1000;
    TASK2
};

set_task(60.0,"oldrmebasnhpbitis",id + TASKI1);
set_task(15.0,"ziplamabitis",id + TASKI2);
...
Bazı arkadaşlardan get_players kodunun takım olayında hata verebildiğini öğrendim.
Bunu kullanabilirsin.

Kod: Tümünü seç

new players[32], inum;
static Uid;
get_players(players, inum, "ae", "CT");
for(new i; i<inum; i++)
{
	Uid = players[i];
	hayattakal[Uid]++;
}
->
for(new Uid = 1; Uid <= MaxClients; Uid++)
{
	if(is_user_alive(Uid) && get_member(Uid, m_iTeam) == TEAM_CT)
	{
		hayattakal[Uid]++;
	}
}
Aynı şekilde bu şekilde de yapabilirsin. Bu sadece tavsiye. Pek bir şey değişmeyecek ama
bu şekilde isim kontrol etmiyorsun ve iki değişken daha az oluyor.

Kod: Tümünü seç

public lister(const id)
{
	if(m_TL[id] > 0) {
		new menu = menu_create("\rYollayacagin Oyuncuyu Sec","lister_handler");
		
		new name[32], num[6];
		new players[32], menuz[64], inum;
		static Uid;
		get_players(players, inum);
		for(new i; i<inum; i++)
		{
			Uid = players[i];
			name[0] = '^0';
			menuz[0] = '^0';
			
			num_to_str(Uid, num, charsmax(num));
			get_user_name(Uid, name, charsmax(name));
			formatex(menuz,charsmax(menuz), "\w%s",name);
			menu_additem(menu,menuz,num);
		}
		menu_display(id,menu);
	}
	else client_print_color(id,id,"^4[%s] ^1Yetersiz TL.",SERVERISMI);
	return PLUGIN_HANDLED
}

->

public lister(const id)
{
	if(m_TL[id] > 0) {
		new menu = menu_create("\rYollayacagin Oyuncuyu Sec","lister_handler");

		new menuz[64], num[6];
		for(new Uid = 1; Uid <= MaxClients; Uid++)
		{
			if(is_user_connected(Uid))
			{
				num_to_str(Uid, num, charsmax(num));
				formatex(menuz, charsmax(menuz), "%n", Uid);
				menu_additem(menu, menuz, num);
			}
		}
		menu_display(id,menu);
	}
	else client_print_color(id,id,"^4[%s] ^1Yetersiz TL.",SERVERISMI);
	return PLUGIN_HANDLED
}
Onay için ve önerileriniz için teşekkür ederim, bir dahakine bunlarıda dikkate alarak birşeyler yaparım.

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

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

[ReAPI] BBMenu v1.0

Mesaj gönderen bestcore »

LoseBasgan yazdı: Çrş Eki 14, 2020 1:44 pm Başarılı tebrikler :)
Teşekkür ederim.

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

omertas14544
Mesajlar: 1603
Kayıt: Prş Oca 26, 2017 3:23 pm
Server Ip/DNS: 213.238.173.35
Clan İsmi: MoonGaming
İletişim:

[ReAPI] BBMenu v1.0

Mesaj gönderen omertas14544 »

Başarılı.

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

Aconyonn
Mesajlar: 393
Kayıt: Cum Eyl 15, 2017 3:52 pm
İletişim:

[ReAPI] BBMenu v1.0

Mesaj gönderen Aconyonn »

Emeğine sağlık basit ve güzel bir menü olmuş. Bende ufak bir boş tanımlamayı düzelteyim.
Bu kısımda "get_param" değerleri zaten başlıkta tanımlanmış.

Kod: Tümünü seç

public native_bb_set_user_packs(id, ammount)
{
	new id = get_param(1);
	new ammount = get_param(2);
	m_TL[id] = ammount;
	return 1;
}
->

Kod: Tümünü seç

public native_bb_set_user_packs(id, ammount)
{
	m_TL[id] = ammount;
	return 1;
}

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

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

[ReAPI] BBMenu v1.0

Mesaj gönderen bestcore »

omertas14544 yazdı: Çrş Eki 14, 2020 5:43 pm Başarılı.
Teşekkür ederim.

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

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

[ReAPI] BBMenu v1.0

Mesaj gönderen bestcore »

Aconyonn yazdı: Çrş Eki 14, 2020 6:15 pm Emeğine sağlık basit ve güzel bir menü olmuş. Bende ufak bir boş tanımlamayı düzelteyim.
Bu kısımda "get_param" değerleri zaten başlıkta tanımlanmış.

Kod: Tümünü seç

public native_bb_set_user_packs(id, ammount)
{
	new id = get_param(1);
	new ammount = get_param(2);
	m_TL[id] = ammount;
	return 1;
}
->

Kod: Tümünü seç

public native_bb_set_user_packs(id, ammount)
{
	m_TL[id] = ammount;
	return 1;
}
Bilgilendirdiğiniz için teşekkür ederim.

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

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

[ReAPI] BBMenu v1.0

Mesaj gönderen bestcore »

Güncelleme ;
• Eklenti belirtilen hatalar düzeltilmiş, sunucu bakımından optimize edilmiştir.
• Ek bilgilendirme olarak "Üst Yazı" Eklenmiştir.

Kendinize Göre Değiştireceğiniz Yerler ;

Kod: Tümünü seç

#define Ustreklam "CSDuragi.COM Gaming Sunucusu" - Satır 6 - Üst Yazı reklamının 1.satırı.
#define Ustreklam2 "BBMenu Kullanim -> N Tusu" - Satır 7 - Üst Yazı reklamının 2.satırı.
#define duyuru "Duyuru" - Satır 8 - İsteğe bağlı reklam koymak isterseniz düzenleyin, istemiyorsanız "TIRNAK" içini boş bırakınız.
Fotoğraflar ;
Ustyazi.png
Eklenti ;
ReApi_BBMenu.sma
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala
Cevapla