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

https://discord.gg/43gGDQe6tS

[ReAPI] Jbmenu çalışmaları

Oyunda karşılaştığınız hatalar , oyun hakkında genel bilgiler

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
Darkness Berry
Mesajlar: 376
Kayıt: Pzt Tem 15, 2019 8:14 pm

[ReAPI] Jbmenu çalışmaları

Mesaj gönderen Darkness Berry »

Arkadaşlar uzun süredir üzerinde uğraştığım bir jbmenü var
reapi kütüphanesi ile kodlamaya çalışıyorum eğer pluginde bir sıkıntı varsa söylermisiniz.
ilk jbmenümde

not: daha %5 felan yaptım tam bitmedi birkaç eksiği var bir hata varsa belirtirseniz sevinirim

Kod: Tümünü seç

#include <amxmodx>
#include <amxmisc>
#include <reapi>
#include <fakemeta>
native jb_get_user_packs(id);
native jb_set_user_packs(id, Float:ammount);
/* ------------ Ayarlanacak Yer ------------ */

#define ServerTag "CSDURAGI"     // Sunucu Tagınız
#define KisaTag "CSD"            // Kısa Tag

#define tsip "Ts3.Csduragi.Com"  // Ts3 adresiniz

/* ------------- Modeller ve sesler ------------ */

new const VIEW_MODELT[] = { "models/jbmodeller/csd_thand.mdl" };         /* Yumruk Modeli */
new const PLAYER_MODELT[] = { "models/jbmodeller/csd_thand2.mdl" };     /* Dıs gorunus yumruk modeli */

new const VIEW_Palo[] =  { "models/jbmodeller/csd_bicak.mdl" };	        /* T Bicak modeli */

new const VIEW_MODELCT[] = { "models/jbmodeller/csd_jop.mdl" }; 	        /* Ct jop */
new const PLAYER_MODELCT[] = { "models/jbmodeller/csd_jop2.mdl" };      /* Ct jop dış gorunuşu */

new const VIEW_Moto[] = { "models/[Shop]JailBreak/Moto/Moto.mdl" };     /* Testere */
new const PLAYER_Moto[] = { "models/[Shop]JailBreak/Moto/Moto2.mdl" };  /* Testere dış gorunuşu */

new const bictes_deploy[] = { "[Shop]JailBreak/Machete/MConvoca.wav" };
new const bictes_slash[] = { "[Shop]JailBreak/Machete/MSlash.wav" };
new const bictes_wall[] = { "[Shop]JailBreak/Machete/MHitWall.wav" };
new const bictes_hit1[] = { "[Shop]JailBreak/Machete/MHit1.wav" };
new const bictes_hit2[] = { "[Shop]JailBreak/Machete/MHit2.wav" };
new const bictes_stab[] = { "[Shop]JailBreak/Machete/MStab.wav" };
new const t_deploy[] = { "[Shop]JailBreak/T/TConvoca.wav" };
new const t_slash1[] = { "[Shop]JailBreak/T/Slash1.wav" };
new const t_wall[] = { "[Shop]JailBreak/T/THitWall.wav" };
new const t_hit1[] = { "[Shop]JailBreak/T/THit1.wav" };
new const t_hit2[] = { "[Shop]JailBreak/T/THit2.wav" };
new const t_hit3[] = { "[Shop]JailBreak/T/THit3.wav" };
new const t_hit4[] = { "[Shop]JailBreak/T/THit4.wav" };
new const t_stab[] = { "[Shop]JailBreak/T/TStab.wav" };
new const ct_deploy[] = { "[Shop]JailBreak/CT/CTConvoca.wav" };
new const ct_slash1[] = { "[Shop]JailBreak/CT/Slash1.wav" };
new const ct_wall[] = { "[Shop]JailBreak/CT/CTHitWall.wav" };
new const ct_hit1[] = { "[Shop]JailBreak/CT/CTHit1.wav" };
new const ct_hit2[] = { "[Shop]JailBreak/CT/CTHit2.wav" };
new const ct_hit3[] = { "[Shop]JailBreak/CT/CTHit3.wav" };
new const ct_hit4[] = { "[Shop]JailBreak/CT/CTHit4.wav" };
new const ct_stab[] = { "[Shop]JailBreak/CT/CTStab.wav" };

/* --------------------------------------------- */
new Float: TL[MAX_CLIENTS+1],cvars[5],TCuchillo[MAX_CLIENTS+1],Destapador[MAX_CLIENTS+1],Motocierra[MAX_CLIENTS+1],bicakkontrol[MAX_CLIENTS+1]
/* --------------------------------------------- */
public plugin_init() {
	register_plugin("[ReAPI] Jailbreak Mahkum Menu", "v0.1", "DarknessBerry & BlueBell");
	
	register_clcmd("say /jbmenu", "jbmenu");
	register_clcmd("say_team /jbmenu", "jbmenu");
	register_clcmd("say /mg", "mgtlver");
	register_clcmd("say_team /mg", "mgtlver");
	register_clcmd("say /tl", "mgtlver");
	register_clcmd("say_team /tl", "mgtlver");
	
	register_clcmd("chooseteam","menugiriskontrol");
	register_clcmd("nightvision","menugiriskontrol");
	
	register_event("CurWeapon", "Event_Change_Weapon", "be", "1=1");
	register_forward(FM_EmitSound, "Fwd_EmitSound");
	register_forward(FM_ClientKill, "fwd_FM_ClientKill");
	
	RegisterHookChain(RG_CBasePlayer_Spawn, "userdogdu",1);
	
	cvars[1] = register_cvar("baslangic_parasi", "5.00");	// Oyun basinda gelicek para
	cvars[2] = register_cvar("kill_parasi", "0.99");	         // Kill cekince gelen para
	cvars[3] = register_cvar("flipknife_para", "1.24");	// Flip knife parasi
	cvars[4] = register_cvar("testere_para", "35.15");	// Testere parasi
}
/* -----------------------Menuler & Publicler---------------------- */
public bicakmarket(id){
	if(bicakkontrol[id]){
		client_print_color(id, id, "^4(^3%s^4) ^1Bicak Marketini ^4Her Elde 1 Kere ^1Kullanilabilir.",ServerTag),jbmenu(id)
	}
	else{
		static blmenu[128]
		formatex(blmenu, charsmax(blmenu), "\w%s \rAILESI \d|| \yBicak Marketi",ServerTag);
		new menu = menu_create(blmenu, "bicak_devam");	
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \wFlip \rKnife \d(\y%0.2f TL\d)",KisaTag,get_pcvar_float(cvars[3]));
		menu_additem(menu, blmenu, "1");	
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \rTestere \y+ \wBomba \d(\y%0.2f TL\d)",KisaTag,get_pcvar_float(cvars[4]));
		menu_additem(menu, blmenu, "2");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \rReklam \wAt \d(\y+0.90 TL\d)",KisaTag);
		menu_additem(menu, blmenu, "3");
		
		menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
		menu_display(id, menu, 0);
	}
}
public bicak_devam(id, menu, item){
	if(item == MENU_EXIT){
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[9],name[32],access,callback;
	menu_item_getinfo(menu,item,access,data,charsmax(data),name,charsmax(name),callback);
	new key=str_to_num(data);
	switch(key){
		case 1:{
			if(TL[id] >= get_pcvar_float(cvars[3])){
				TL[id]-=get_pcvar_float(cvars[3]);
				TCuchillo[id]=0,Destapador[id]=true,Motocierra[id]=false,bicakkontrol[id]=true;
				rg_remove_item(id, "weapon_knife"),rg_give_item(id, "weapon_knife");
				client_print_color(id, id, "^4(^3%s^4) ^1Basarili bir sekilde ^4Flip Knife ^1Satin alinmistir.",ServerTag),jbmenu(id);
			} else client_print_color(id, id, "^4(^3%s^4) ^1Uzgunum ^4Flip Knife ^1almak icin yeterli TL'niz yok.",ServerTag);
		}
		case 2:{
			if(TL[id] >= get_pcvar_float(cvars[4])){
				TL[id]-=get_pcvar_float(cvars[4]);
				TCuchillo[id]=0,Destapador[id]=false,Motocierra[id]=true,bicakkontrol[id]=true;
				rg_remove_item(id, "weapon_knife"),rg_give_item(id, "weapon_knife"),rg_give_item(id, "weapon_hegrenade");
				client_print_color(id, id, "^4(^3%s^4) ^1Basarili bir sekilde ^4Testere + Bomba ^1Satin alinmistir.",ServerTag),jbmenu(id);
			} else client_print_color(id, id, "^4(^3%s^4) ^1Uzgunum ^4Testere + Bomba ^1almak icin yeterli TL'niz yok.",ServerTag),jbmenu(id);
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public jbmenu(id){
	if (get_user_team(id) == 1 && is_user_alive(id)){
		static blmenu[128]
		formatex(blmenu, charsmax(blmenu), "\w%s \rAILESI \d|| \yJailbreak Menusu^n\rTS3: \d%s",ServerTag ,tsip);
		new menu = menu_create(blmenu, "jbmenu_devam");
		
		if(bicakkontrol[id]) formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \dBicak Marketi \yKullanildi",KisaTag);
		else formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \yBicak \rMarketi",KisaTag);
		menu_additem(menu, blmenu, "1");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wT Market \rMenu",KisaTag);
		menu_additem(menu, blmenu, "2");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wYetkili \rMenu",KisaTag);
		menu_additem(menu, blmenu, "3");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wTL Transfer \rMenu",KisaTag);
		menu_additem(menu, blmenu, "4");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wMeslek \rMenu",KisaTag);
		menu_additem(menu, blmenu, "5");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wOyuncu \rAyar Menu",KisaTag);
		menu_additem(menu, blmenu, "6");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \y- \wOyuncu Bonus \rMenu",KisaTag);
		menu_additem(menu, blmenu, "6");
		
		menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
		menu_display(id, menu, 0);
	}
}
public jbmenu_devam(id,menu,item){
	if(item == MENU_EXIT){
		menu_destroy(menu)
		return PLUGIN_HANDLED;
	}
	new data[9],name[32],access,callback;
	menu_item_getinfo(menu,item,access,data,charsmax(data),name,charsmax(name),callback);
	new key=str_to_num(data)
	switch(key){
		case 1:bicakmarket(id)
		}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public hudmesaj(id) {
	if(is_user_alive(id) && get_user_team(id)==1) { 
		set_task(1.0,"hudmesaj",id);
		set_hudmessage(255, 0, 212, -1.0, 0.83, 2, 6.0, 1.0)
		show_hudmessage(id, "Cebinizdeki TL [ %0.2f ]^nJbmenuye baglanmak icin [N] Tusuna basiniz.",TL[id])
	}
}
public client_putinserver(id) {
	TL[id]=get_pcvar_float(cvars[1]);
}
public fwd_FM_ClientKill(id) {
	if(get_user_team(id)==1){
		TL[id]+=get_pcvar_float(cvars[2]);
	}
}
public menugiriskontrol(id) {
	new teams=get_user_team(id);
	switch(teams){
		case 1: jbmenu(id);
			case 2: mgtlver(id);
		}
	return PLUGIN_HANDLED;
}
public mgtlver(id){
	if (get_user_team(id) == 2 && is_user_alive(id)){
		static blmenu[128]
		formatex(blmenu, charsmax(blmenu), "\w%s \rAILESI \d|| \yGardiyan TL-Menu",ServerTag);
		new menu = menu_create(blmenu, "mgtlver_devam");
		
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yTL Ver",KisaTag);
		menu_additem(menu, blmenu, "1");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yTL Al",KisaTag);
		menu_additem(menu, blmenu, "2");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yToplu TL Ver \dSadece Yasayanlar",KisaTag);
		menu_additem(menu, blmenu, "3");
		formatex(blmenu, charsmax(blmenu), "\y[\r%s\y] \d- \yToplu TL Al \dSadece Yasayanlar",KisaTag);
		menu_additem(menu, blmenu, "4");
		
		menu_setprop(menu, MPROP_EXITNAME, "\dCikis");
		menu_display(id, menu, 0);
	}
}
public mgtlver_devam(id, menu, item){
	if(item == MENU_EXIT){
		menu_destroy(menu)
		return PLUGIN_HANDLED;
	}
	new data[9],name[32],access,callback;
	menu_item_getinfo(menu,item,access,data,charsmax(data),name,charsmax(name),callback);
	new key=str_to_num(data)
	switch(key){
		case 1:{
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
public plugin_precache(){
	precache_model(VIEW_MODELT),precache_model(PLAYER_MODELT),precache_model(VIEW_Moto)
	precache_model(VIEW_Palo),precache_model(VIEW_MODELCT),precache_model(PLAYER_MODELCT)
	precache_model(PLAYER_Moto)
	precache_sound(t_deploy),precache_sound(t_slash1),precache_sound(t_stab),precache_sound(t_wall);
	precache_sound(t_hit1),precache_sound(t_hit2),precache_sound(t_hit3),precache_sound(t_hit4);
	precache_sound(ct_deploy),precache_sound(ct_slash1),precache_sound(ct_stab),precache_sound(ct_wall);
	precache_sound(ct_hit1),precache_sound(ct_hit2),precache_sound(ct_hit3),precache_sound(ct_hit4);
	precache_sound(bictes_deploy),precache_sound(bictes_slash),precache_sound(bictes_stab);
	precache_sound(bictes_wall),precache_sound(bictes_hit1),precache_sound(bictes_hit2);
}
public userdogdu(id){
	rg_set_user_footsteps(id, false);
	TCuchillo[id]=1;
	Destapador[id]=false;
	Motocierra[id]=false;
	bicakkontrol[id]=false;
	new teams=get_user_team(id);
	switch(teams) {
		case 1: rg_remove_all_items(id),rg_give_item(id, "weapon_knife"),jbmenu(id),hudmesaj(id)
			case 2: show_menu(id,0,""),set_entvar(id, var_health, Float:get_entvar(id, var_health)+50);  // 50 Yazan yer gardiyanlara verilecek hp'dir.
		}
}
public Event_Change_Weapon(id) {
	new slh=read_data(2);
	if(slh==CSW_KNIFE) {
		new teams=get_user_team(id);
		switch(teams) {
			case 1: {
				if(TCuchillo[id]==1 || TCuchillo[id]==2 || Destapador[id]){
					if(!Destapador[id]) set_entvar(id, var_viewmodel, VIEW_MODELT);
					else set_entvar(id, var_viewmodel, VIEW_Palo);
					set_entvar(id, var_weaponmodel, PLAYER_MODELT);
				}else if(Motocierra[id]) set_entvar(id, var_viewmodel, VIEW_Moto),set_entvar(id, var_weaponmodel, PLAYER_Moto);
			}
			case 2: set_entvar(id, var_viewmodel, VIEW_MODELCT),set_entvar(id, var_weaponmodel, PLAYER_MODELCT);
			}
	}
}
/* -------------- FWD_EMITSOUND Bu kisim Necati Doğan'dan alınmıştır. Mükemmel ve temiz bir şekilde olduğu için sectm eğer sıkıntı olursa mesaj atmanız yeterli ---------*/
public Fwd_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch){
	if(!is_user_connected(id) || !equal(sample[8], "kni", 3)) return FMRES_IGNORED;
	new teams=get_user_team(id);
	switch(teams){
		case 1:{
			if(TCuchillo[id]==1 || TCuchillo[id]==2){
				if(equal(sample[14], "sla", 3)){
					engfunc(EngFunc_EmitSound, id, channel, t_slash1, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}else if(equal(sample,"weapons/knife_deploy1.wav")){
					engfunc(EngFunc_EmitSound, id, channel, t_deploy, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}else if(equal(sample[14], "hit", 3)){
					if(sample[17] == 'w'){
						engfunc(EngFunc_EmitSound, id, channel, t_wall, volume, attn, flags, pitch);
						return FMRES_SUPERCEDE;
					}else{
						new mnum=random_num(1,4);
						switch(mnum){
							case 1: engfunc(EngFunc_EmitSound, id, channel, t_hit1, volume, attn, flags, pitch);
							case 2: engfunc(EngFunc_EmitSound, id, channel, t_hit2, volume, attn, flags, pitch);
							case 3: engfunc(EngFunc_EmitSound, id, channel, t_hit3, volume, attn, flags, pitch);
							case 4: engfunc(EngFunc_EmitSound, id, channel, t_hit4, volume, attn, flags, pitch);
						}
						return FMRES_SUPERCEDE;
					}
				}else if(equal(sample[14], "sta", 3)){
					engfunc(EngFunc_EmitSound, id, channel, t_stab, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}
			}else if(Motocierra[id] || Destapador[id]){
				if(equal(sample[14], "sla", 3)){
					engfunc(EngFunc_EmitSound, id, channel, bictes_slash, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}else if(equal(sample,"weapons/knife_deploy1.wav")){
					engfunc(EngFunc_EmitSound, id, channel, bictes_deploy, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}else if(equal(sample[14], "hit", 3)){
					if(sample[17] == 'w'){
						engfunc(EngFunc_EmitSound, id, channel, bictes_wall, volume, attn, flags, pitch);
						return FMRES_SUPERCEDE;
					}else{
						new mnum=random_num(1,2);
						switch(mnum){
							case 1: engfunc(EngFunc_EmitSound, id, channel, bictes_hit1, volume, attn, flags, pitch);
							case 2: engfunc(EngFunc_EmitSound, id, channel, bictes_hit2, volume, attn, flags, pitch);
						}
						return FMRES_SUPERCEDE;
					}
				}else if(equal(sample[14], "sta", 3)){
					engfunc(EngFunc_EmitSound, id, channel, bictes_stab, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}
			}
		}
		case 2: {
			if(equal(sample[14], "sla", 3)){
				engfunc(EngFunc_EmitSound, id, channel, ct_slash1, volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}else if(equal(sample,"weapons/knife_deploy1.wav")){
				engfunc(EngFunc_EmitSound, id, channel, ct_deploy, volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}else if(equal(sample[14], "hit", 3)){
				if(sample[17] == 'w'){
					engfunc(EngFunc_EmitSound, id, channel, ct_wall, volume, attn, flags, pitch);
					return FMRES_SUPERCEDE;
				}else{
					new mnum=random_num(1,4);
					switch(mnum){
						case 1: engfunc(EngFunc_EmitSound, id, channel, ct_hit1, volume, attn, flags, pitch);
						case 2: engfunc(EngFunc_EmitSound, id, channel, ct_hit2, volume, attn, flags, pitch);
						case 3: engfunc(EngFunc_EmitSound, id, channel, ct_hit3, volume, attn, flags, pitch);
						case 4: engfunc(EngFunc_EmitSound, id, channel, ct_hit4, volume, attn, flags, pitch);
					}
					return FMRES_SUPERCEDE;
				}
			}else if(equal(sample[14], "sta", 3)){
				engfunc(EngFunc_EmitSound, id, channel, ct_stab, volume, attn, flags, pitch);
				return FMRES_SUPERCEDE;
			}
		}
	}
	return FMRES_IGNORED;
}

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

Fatih ~ EjderYa
Mesajlar: 2896
Kayıt: Prş Mar 16, 2017 5:05 pm
Konum: İstanbul
İletişim:

[ReAPI] Jbmenu çalışmaları

Mesaj gönderen Fatih ~ EjderYa »

Eklentilerini kendi bilgisayarın üzerinde test edebilirsin dostum. Bu şekilde daha hızlı sonuç alabilirsin.

gelistirme-arac-gerecler/hlds-test-sunu ... 38028.html

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

Konu Sahibi
Darkness Berry
Mesajlar: 376
Kayıt: Pzt Tem 15, 2019 8:14 pm

[ReAPI] Jbmenu çalışmaları

Mesaj gönderen Darkness Berry »

evet öyle yapıyorum ancak bu ilk jbmenü kodlamaya girişim birkaç jbmenülere bakarak yaptım o yüzden bir sıkıntısı varmı o yüzden sormak istedim

Link:
Linklerini gizle
Linki Kopyala
Cevapla