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

https://discord.gg/43gGDQe6tS

menu yapim

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

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

menu yapim

Mesaj gönderen Colditz »

Ayrıca cvarlar için bir enum kullanmanız daha uygun ve güzel olur. Sayı belirtmek yerine isim belirteceksiniz. Ufak bir örneğini paylaştım.

Kod: Tümünü seç

enum CvarNames {
	YuzElliHP,
	HizliYurume,
	OnSaniyeGod,
	KillPara,
	CanVeZirh
}

new cvar[CvarNames]

public plugin_init() {
	...


	bind_pcvar_num(create_cvar("dmmenu_150hp", "12"), cvar[YuzElliHP]);
	bind_pcvar_num(create_cvar("dmmenu_hizliyurume", "15"), cvar[HizliYurume]);
	bind_pcvar_num(create_cvar("dmmenu_10saniyegod", "20"), cvar[OnSaniyeGod]);
	bind_pcvar_num(create_cvar("dmmenu_killpara", "3"), cvar[KillPara]);
	bind_pcvar_num(create_cvar("dmmenu_canvezirh", "25"), cvar[CanVeZirh]);
}


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

	TL[pevAttacker] += cvar[KillPara];
	
	...
}

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

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

menu yapim

Mesaj gönderen orucoglukayra »

Colditz yazdı: Pzr Kas 14, 2021 4:38 pm Ayrıca cvarlar için bir enum kullanmanız daha uygun ve güzel olur. Sayı belirtmek yerine isim belirteceksiniz. Ufak bir örneğini paylaştım.

Kod: Tümünü seç

enum CvarNames {
	YuzElliHP,
	HizliYurume,
	OnSaniyeGod,
	KillPara,
	CanVeZirh
}

new cvar[CvarNames]

public plugin_init() {
	...


	bind_pcvar_num(create_cvar("dmmenu_150hp", "12"), cvar[YuzElliHP]);
	bind_pcvar_num(create_cvar("dmmenu_hizliyurume", "15"), cvar[HizliYurume]);
	bind_pcvar_num(create_cvar("dmmenu_10saniyegod", "20"), cvar[OnSaniyeGod]);
	bind_pcvar_num(create_cvar("dmmenu_killpara", "3"), cvar[KillPara]);
	bind_pcvar_num(create_cvar("dmmenu_canvezirh", "25"), cvar[CanVeZirh]);
}


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

	TL[pevAttacker] += cvar[KillPara];
	
	...
}
Teşekkürler.

Link:
Linklerini gizle
Linki Kopyala

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

menu yapim

Mesaj gönderen ZIPZINK »

bu menuyu değiştirdim sildim bazı şeyleri hatası var yapabilirmisiniz?
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

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

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

menu yapim

Mesaj gönderen orucoglukayra »

ZIPZINK yazdı: Pzr Kas 14, 2021 8:53 pm bu menuyu değiştirdim sildim bazı şeyleri hatası var yapabilirmisiniz?
Ne yapmaya çalıştığını anlamıyorum.Değişik şeyler ekleyip birşeyler siliyorsun.

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

new const iUstTag[]  = "\rCSD \d -";
new const iChatTag[] = "^4CSD :";

enum (+= 1337){
	TASK_GODMODE = 1337,
	TASK_GIVEHEGRENADE,
	TASK_GIVEHEALTH,
	TASK_UNLIMITEDAMMO,
	TASK_INVISIBLE
}

enum _:intenum {
	iTL,
	iHeLimited,
	iHealthLimited
};

enum _:cvarenum {
	cvKillTL,
	cvHealth,
	cvFastWalking,
	cvResetHPArmor,
	cvFootsteps,
	cvGodmode,
	cvHighJump,
	cvBeAnEnemy
};
new g_cvars[cvarenum],g_int[MAX_PLAYERS+1][intenum];

new bool:g_blOneUse[MAX_PLAYERS+1][14];

public plugin_init(){
	register_plugin("[REAPI] DeathMatch Shop", "0.1", "`BestCore");

	register_dictionary("reDMShop.txt");

	register_clcmd("say /dmmarket", "clcmd_dmshop");
	register_clcmd("nightvision", "clcmd_dmshop");

	RegisterHookChain(RG_CBasePlayer_Killed, "RG_CBasePlayer_Killed_Post", .post = true);
	RegisterHookChain(RG_CBasePlayer_Spawn, "RG_CBasePlayer_Spawn_Post", .post = true);
	RegisterHookChain(RG_CBasePlayer_ResetMaxSpeed, "RG_CBasePlayer_ResetMaxSpeed_Pre", .post = false);
	register_event("CurWeapon", "CurWeapon_", "be", "1=1", "3=1");

	bind_pcvar_num(create_cvar("KillBasinaTL", "3"), g_cvars[cvKillTL]);

	bind_pcvar_num(create_cvar("150HP_Fiyat", "15"), g_cvars[cvHealth]);
	bind_pcvar_num(create_cvar("HizliYurume_Fiyat", "12"), g_cvars[cvFastWalking]);
	bind_pcvar_num(create_cvar("HPveZirhYenileme_Fiyat", "20"), g_cvars[cvResetHPArmor]);
	bind_pcvar_num(create_cvar("SessizYurume_Fiyat", "6"), g_cvars[cvFootsteps]);
	bind_pcvar_num(create_cvar("GodMode_Fiyat", "25"), g_cvars[cvGodmode]);
	bind_pcvar_num(create_cvar("YuksekZiplama_Fiyat", "8"), g_cvars[cvHighJump]);
	bind_pcvar_num(create_cvar("DusmanKiliginaBurun_Fiyat", "24"), g_cvars[cvBeAnEnemy]);
}
public plugin_natives() {
	register_native("get_user_TL", "@get_user_tl");
	register_native("set_user_TL", "@set_user_tl");
}
public clcmd_dmshop(const id){
	new bestm = menu_create(fmt("[%s] DeathMatch Menu^n\dCebinizdeki Point:\r %d Point", iUstTag, g_int[iTL][id]), "clcmd_dmshop_");

	menu_additem(bestm, fmt("%s150 HP \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvHealth]), 0) ? "":"\d", IsThePlayerDia(id, g_cvars[cvHealth])));
	menu_additem(bestm, fmt("%sHizli Yurume \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvFastWalking]), 1) ? "":"\d", IsThePlayerDia(id, g_cvars[cvFastWalking])));
	menu_additem(bestm, fmt("%sCan ve Zirh Yenile \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvResetHPArmor]), 2) ? "":"\d", IsThePlayerDia(id, g_cvars[cvResetHPArmor])));
	menu_additem(bestm, fmt("%sSessiz Yurume \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvFootsteps]), 3) ? "":"\d", IsThePlayerDia(id, g_cvars[cvFootsteps])));
	menu_additem(bestm, fmt("%sGodMode\d(10 Saniye) \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvGodmode]), 4) ? "":"\d", IsThePlayerDia(id, g_cvars[cvGodmode])));
	menu_additem(bestm, fmt("%sYuksek Ziplama \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvHighJump]), 5) ? "":"\d", IsThePlayerDia(id, g_cvars[cvHighJump])));
        menu_additem(bestm, fmt("%sDusman Kiligina Gir \d[\r%d \yTL\d]", CanUsePlayer(id, IsThePlayerDia(id, g_cvars[cvBeAnEnemy]), 6) ? "":"\d", IsThePlayerDia(id, g_cvars[cvBeAnEnemy])));

	menu_setprop(bestm, MPROP_EXITNAME, "\rCikis");
	menu_setprop(bestm, MPROP_SHOWPAGE, 0);
	menu_display(id, bestm);
}
public clcmd_dmshop_(const id, menu, item){
	switch(item){
		case 0: buyitem(id, "150 HP", IsThePlayerDia(id, g_cvars[cvHealth]), 0);
		case 1: buyitem(id, "Hizli Yurume", IsThePlayerDia(id, g_cvars[cvFastWalking]), 1);
		case 2: buyitem(id, "Can ve Zirh Yenile", IsThePlayerDia(id, g_cvars[cvResetHPArmor]), 2);
		case 3: buyitem(id, "Sessiz Yurume", IsThePlayerDia(id, g_cvars[cvFootsteps]), 3);
		case 4: buyitem(id, "GodMode", IsThePlayerDia(id, g_cvars[cvGodmode]), 4);
		case 5: buyitem(id, "Yuksek Ziplama", IsThePlayerDia(id, g_cvars[cvHighJump]), 5);
		case 6: buyitem(id, "Dusman Kiligina Gir", IsThePlayerDia(id, g_cvars[cvBeAnEnemy]), 6);
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
/********************************* Queries **********************************/
public buyitem(const id, szItem[], iCost, iType){
	if(g_blOneUse[id][iType]){
		client_print_color(id, id, "%l", "ONE_USE", iChatTag);
		return PLUGIN_HANDLED;
	}
	else if(g_int[iTL][id] >= iCost){
		g_int[iTL][id] -= iCost;
		g_blOneUse[id][iType] = true;
		client_print_color(id, id, "%l", "BUY_ITEM", iChatTag, szItem);
		switch(iType){
			case 0:{
				set_entvar(id, var_health, Float:get_entvar(id, var_health) +150.0);
			}
			case 1:{
				set_entvar(id, var_maxspeed, 350.0);
			}
			case 2:{
				set_entvar(id, var_health, 100.0);
				set_entvar(id, var_armorvalue, 100.0);
			}
			case 3:{
				rg_set_user_footsteps(id, true);
			}
			case 4:{
				set_entvar(id, var_takedamage, DAMAGE_NO);
				if(!task_exists(id + TASK_GODMODE)){
					set_task(10.0, "GodmodeClose", id + TASK_GODMODE);
			    }
			}
			case 5:{
				set_entvar(id, var_gravity, 0.6);
			}
			case 6:{
					if(get_member(id, m_iTeam) == TEAM_CT){
					rg_set_user_model(id, "leet");
				}
					else {
					rg_set_user_model(id, "gign");
					}
			}
				
		}
	}
	else {
		client_print_color(id, id, "%l", "INSUFFICIENT_COST", iChatTag);
		return PLUGIN_HANDLED;
	}
	return PLUGIN_HANDLED;
}
bool:CanUsePlayer(const id, cvCvars, iType){
	if(g_blOneUse[id][iType]){
		return false;
	}
	else if(g_int[iTL][id] >= cvCvars){
		return true;
	}
	return false;
}
@get_user_tl() {
	new pPlayer = get_param(1);

	return g_int[iTL][pPlayer];
}

@set_user_tl() {
	new pPlayer = get_param(1);
	new iAmount = get_param(2);

	g_int[iTL][pPlayer] = iAmount;
	return PLUGIN_HANDLED;
}
public IsThePlayerDia(const id, iCost){
	if(get_user_flags(id) & ADMIN_RCON){
		if(iCost > 10){
			iCost = iCost-5;
		}
		else {
			iCost = iCost-2;
		}
	}
	return iCost;
}
/**************************** Registers ****************************/
public RG_CBasePlayer_ResetMaxSpeed_Pre(const id){
	if(g_blOneUse[id][2]){
		set_entvar(id, var_maxspeed, 450.0);
		return HC_SUPERCEDE;
	}
	return HC_CONTINUE;
}
public RG_CBasePlayer_Killed_Post(const this, pevAttacker, iGib){
	if(!(is_user_connected(this) || is_user_connected(pevAttacker)) || this == pevAttacker){
		return;
	}

	if(g_blOneUse[pevAttacker][6]){
		set_entvar(pevAttacker, var_health, Float:get_entvar(pevAttacker, var_health) +10.0);
	}
	if(g_blOneUse[pevAttacker][7]){
		g_int[iTL][pevAttacker] += g_cvars[cvKillTL]*2;
	}
	else {
		g_int[iTL][pevAttacker] += g_cvars[cvKillTL];
	}
}
public RG_CBasePlayer_Spawn_Post(const id){
	if(get_member(id, m_bJustConnected)){
		return;
	}
	ResetData(id);
	rg_reset_user_model(id);
}
public CurWeapon_(const id){
	if(g_blOneUse[id][13]){
		set_member(get_member(id, m_pActiveItem), m_Weapon_iClip, rg_get_weapon_info(read_data(2), WI_GUN_CLIP_SIZE));
	}
}

/**************************** Tasks Close ***************************/
public GodmodeClose(Taskid){
	new id = Taskid - TASK_GODMODE;

	set_entvar(id, var_takedamage, DAMAGE_AIM);
	client_print_color(id, id, "%l", "GODMODE_CLOSE", iChatTag);
}
public GiveHegrenade(Taskid){
	new id = Taskid - TASK_GIVEHEGRENADE;

	if(rg_has_item_by_name(id, "weapon_hegrenade")){
		rg_set_user_bpammo(id, WEAPON_HEGRENADE, rg_get_user_bpammo(id, WEAPON_HEGRENADE)+1);
	}
	else {
		rg_give_item(id, "weapon_hegrenade");
		rg_set_user_bpammo(id, WEAPON_HEGRENADE, 1);
	}
	g_int[iHeLimited][id]++;

	if(g_int[iHeLimited][id] >= 6){
		remove_task(id + TASK_GIVEHEGRENADE);
		client_print_color(id, id, "%l", "GIVE_HEGRENADE_CLOSE", iChatTag);
	}
}
public GiveHealth(Taskid){
	new id = Taskid - TASK_GIVEHEALTH;

	set_entvar(id, var_health, Float:get_entvar(id, var_health) +10.0);
	g_int[iHealthLimited][id]++;

	if(g_int[iHealthLimited][id] >= 6){
		remove_task(id + TASK_GIVEHEALTH);
		client_print_color(id, id, "%l", "GIVE_HEALTH_CLOSE", iChatTag);
	}
}
public UnlimitedAmmoClose(Taskid){
	new id = Taskid - TASK_UNLIMITEDAMMO;

	g_blOneUse[id][13] = false;
	client_print_color(id, id, "%l", "UNLIMITED_AMMO_CLOSE", iChatTag);
}
public InvisibleClose(Taskid){
	new id = Taskid - TASK_INVISIBLE;

	set_entvar(id, var_effects, get_entvar(id, var_effects) & ~EF_NODRAW);
	client_print_color(id, id, "%l", "INVISIBLE_CLOSE", iChatTag);
}
/********************************************************************/
public client_disconnected(id){
	ResetData(id);
	g_int[iTL][id] = 0;
}
public client_connect(id){
	ResetData(id);
}
public ResetData(const id){
	remove_task(id + TASK_GODMODE);
	remove_task(id + TASK_GIVEHEGRENADE);
	remove_task(id + TASK_GIVEHEALTH);
	remove_task(id + TASK_UNLIMITEDAMMO);
	remove_task(id + TASK_INVISIBLE);

	g_int[iHeLimited][id] = 0;
	g_int[iHealthLimited][id] = 0;

	for(new i = 0; i <= 13; i++){
		g_blOneUse[id][i] = false;
	}
}
/* 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
ZIPZINK
Mesajlar: 208
Kayıt: Pzr Eki 10, 2021 10:38 pm

menu yapim

Mesaj gönderen ZIPZINK »

menu acılmıyor malesef n tusuyla /dmmarket yazıncada

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

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

menu yapim

Mesaj gönderen orucoglukayra »

ZIPZINK yazdı: Pzr Kas 14, 2021 10:53 pm menu acılmıyor malesef n tusuyla /dmmarket yazıncada
Orijinalini eke koy.
Eklenmesini istediğin şeyi yaz.

Link:
Linklerini gizle
Linki Kopyala

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

menu yapim

Mesaj gönderen ZIPZINK »

150hp- hizliyurume- hpzirhyenileme- sessizyurume-10snygod-dusmankılıgına- killbasınaTl
bunlar kalsın gerisi silinsin
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

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

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

menu yapim

Mesaj gönderen orucoglukayra »

ZIPZINK yazdı: Pzr Kas 14, 2021 11:20 pm 150hp- hizliyurume- hpzirhyenileme- sessizyurume-10snygod-dusmankılıgına- killbasınaTl
bunlar kalsın gerisi silinsin
Sadece menüde, istemediğin özelliklerin başına // koy.
Otomatik devre dışı kalacaktır.

Link:
Linklerini gizle
Linki Kopyala

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

menu yapim

Mesaj gönderen ZIPZINK »

menu sıralaması bozulmazmı musaıt zamanda bakabilirmisin?

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

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

menu yapim

Mesaj gönderen orucoglukayra »

ZIPZINK yazdı: Pzr Kas 14, 2021 11:53 pm menu sıralaması bozulmazmı musaıt zamanda bakabilirmisin?
Menü sıralamasını değiştirme, istemediğin özelliğin başına // koy.
Sonra dene anlarsın zaten.

Link:
Linklerini gizle
Linki Kopyala
Cevapla