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

https://discord.gg/43gGDQe6tS

Bicak Menu Sorun

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

Moderatör: Moderatörler

Kullanıcı avatarı

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

Bicak Menu Sorun

Mesaj gönderen LoseBasgan »

Yaptığım bıçak menüde birkaç sorun var
1-) Menü ctye özel sadece ct girebiliyor ancak bıçak aldıkdan sonra t ye geçtikden sonra aynı bıçak duruyor.
2-) Menüden bir bıçak seçtikden sonra yeni bıçağı seçemiyorsun.

Bu hataları düzeltirmisiniz? Düzelttikden sonrada nasıl düzeltildiğini anlatırsanız sevinirim.

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>

#define PLUGIN "Ct Bicak Menu"
#define VERSION "1.0"
#define AUTHOR "LoseBasgan"

#define TAG "MoonGaming"
#define KISATAG "Moon"

new bicakkitle[33];
new bool:bicak1[33];
new bool:bicak2[33];
new bool:bicak3[33];
new bool:bicak4[33];

new const bicakmodel1[66] = "models/moon_basebuilder/v_dual_laser.mdl";
new const bicakmodel2[66] = "models/moon_basebuilder/kelebek.mdl";
new const bicakmodel3[66] = "models/moon_basebuilder/flipknife.mdl";
new const bicakmodel4[66] = "models/moon_basebuilder/kirmizitersbicak.mdl";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /bicakmenu","bicakmenu");
	register_clcmd("say /bicak","bicakmenu");
	register_event("CurWeapon", "CurentWeapon", "be", "1=1");
}
public plugin_precache() 
{
	precache_model(bicakmodel1);
	precache_model(bicakmodel2);
	precache_model(bicakmodel3);
	precache_model(bicakmodel4);
	
}
public client_putinserver(id) 
{
	bicak1[id] = false;
	bicak2[id] = false;
	bicak3[id] = false;
	bicak4[id] = false;
}
public bicakmenu(id){		
	if(get_user_team(id) == 2)
	{		
		if(is_user_alive(id))
		{
	static Item[128]
	
	formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \wInsan Bicak Menu", TAG)
	new Menu = menu_create(Item, "bicakmenu_devam")
	
	formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yDual Laser Knife", KISATAG)
	menu_additem(Menu, Item, "1")
	
	formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yKelebek Bicagi", KISATAG)
	menu_additem(Menu, Item, "2")
	
	formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yFlip Knife", KISATAG)
	menu_additem(Menu, Item, "3")
	
	formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yKirmizi Ters Bicak", KISATAG)
	menu_additem(Menu, Item, "4")
	
	menu_setprop(Menu,MPROP_EXITNAME,"\wCikis")
	menu_display(id, Menu,0)
	
		}
		else
		{
			client_print_color(id,id,"^1[^3%s^1] - ^3Menuye girmek icin ^1yasaman ^3gerek.",TAG);
		}
	}
	else
	{
		client_print_color(id,id,"^1[^3%s^1] - ^3Menuye Girmek icin ^1Insanlar takiminda^3 olman gerek.",TAG);
	}
	return PLUGIN_HANDLED
}
public bicakmenu_devam(const id, const menu, const item)
{
	if(item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], name[32], access, callback;
	menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
	switch(str_to_num(data))
	{
		case 1:{
			bicakkitle[id] = true;
			bicak1[id] = true;
			set_task(0.1,"olumlu_ses",id)
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Dual Laser Knife ^1aktif edildi.",TAG);
		}   
		case 2:{
			bicakkitle[id] = true;
			bicak2[id] = true;
			set_task(0.1,"olumlu_ses",id)
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Kelebek Bicagi ^1aktif edildi.",TAG);
		}   		
		case 3:{
			bicakkitle[id] = true;
			bicak3[id] = true;
			set_task(0.1,"olumlu_ses",id)
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Flip Knife ^1aktif edildi.",TAG);
		}   
		case 4:{
			bicakkitle[id] = true;
			bicak4[id] = true;
			set_task(0.1,"olumlu_ses",id)
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Kirmizi Ters Bicak ^1aktif edildi.",TAG);
		}   
	}
	return PLUGIN_HANDLED
}
public olumlu_ses(id)
{
	client_cmd(id,"spk ^"misc/killChicken.wav^"")
}
public CurentWeapon(id) {
	if(get_user_weapon(id) == CSW_KNIFE) {
		
		if(bicak1[id])
			set_pev(id, pev_viewmodel2, bicakmodel1);
		
		if(bicak2[id])
			set_pev(id, pev_viewmodel2, bicakmodel2);
		
		if(bicak3[id])
			set_pev(id, pev_viewmodel2, bicakmodel3);
		
		if(bicak4[id])
			set_pev(id, pev_viewmodel2, bicakmodel4);
		
	}
}

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

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

Bicak Menu Sorun

Mesaj gönderen Darkness Berry »

şöyle yapabilirsin oyuncu doğduğu zaman eğer CT ise xxx[id] = true; yaparsın T ise false yaparsın

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

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

Bicak Menu Sorun

Mesaj gönderen LoseBasgan »

Darkness Berry yazdı: Sal May 26, 2020 3:56 pm şöyle yapabilirsin oyuncu doğduğu zaman eğer CT ise xxx[id] = true; yaparsın T ise false yaparsın
Anlamadım bir örnek yapabilir misin ?

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

ulyoS
Mesajlar: 4520
Kayıt: Cum Ara 16, 2016 2:14 pm
Konum: İzmir

Bicak Menu Sorun

Mesaj gönderen ulyoS »

Kod: Tümünü seç

public RoundBasladi()
{
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}
}
bla bla

Kod: Tümünü seç

public RoundBasladi()
{
	set_task(1.0, "rbasladi", id);
}

public rbasladi(id) 
{ 
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}	
}
bla bla

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

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

Bicak Menu Sorun

Mesaj gönderen LoseBasgan »

ulyoS yazdı: Sal May 26, 2020 6:49 pm

Kod: Tümünü seç

public RoundBasladi()
{
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}
}
bla bla

Kod: Tümünü seç

public RoundBasladi()
{
	set_task(1.0, "rbasladi", id);
}

public rbasladi(id) 
{ 
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}	
}
bla bla
Teşekkür ederim.

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

ulyoS
Mesajlar: 4520
Kayıt: Cum Ara 16, 2016 2:14 pm
Konum: İzmir

Bicak Menu Sorun

Mesaj gönderen ulyoS »

Bıçağı anında mı değiştiremiyorsun yoksa map boyunca mı?

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

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

Bicak Menu Sorun

Mesaj gönderen Darkness Berry »

ulyoS yazdı: Sal May 26, 2020 6:49 pm

Kod: Tümünü seç

public RoundBasladi()
{
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}
}
bla bla

Kod: Tümünü seç

public RoundBasladi()
{
	set_task(1.0, "rbasladi", id);
}

public rbasladi(id) 
{ 
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}	
}
bla bla
bunun yerine

Kod: Tümünü seç

public kontrol(id){
	new teams=get_user_team(id);
	switch(teams){
		case 1: bicak1[id] = false,bicak2[id] = false,bicak3[id] = false,bicak4[id] = false;
	}
}
bunuda kullanabilirsin daha kısa

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

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

Bicak Menu Sorun

Mesaj gönderen LoseBasgan »

ulyoS yazdı: Sal May 26, 2020 6:51 pm Bıçağı anında mı değiştiremiyorsun yoksa map boyunca mı?
Yeni map açana kadar değişemiyorum yeni maç açıncada oyunun kendi bıçağını veriyor o yüzden seçiliyor tekrardan.

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

ulyoS
Mesajlar: 4520
Kayıt: Cum Ara 16, 2016 2:14 pm
Konum: İzmir

Bicak Menu Sorun

Mesaj gönderen ulyoS »

Darkness Berry yazdı: Sal May 26, 2020 6:56 pm

Kod: Tümünü seç

public kontrol(id){
	new teams=get_user_team(id);
	switch(teams){
		case 1: bicak1[id] = false,bicak2[id] = false,bicak3[id] = false,bicak4[id] = false;
	}
}
bunuda kullanabilirsin daha kısa
Evet bu daha mantıklı

Link:
Linklerini gizle
Linki Kopyala

mbuldu
Mesajlar: 19
Kayıt: Pzr May 24, 2020 11:43 pm

Bicak Menu Sorun

Mesaj gönderen mbuldu »

Darkness Berry yazdı: Sal May 26, 2020 6:56 pm
ulyoS yazdı: Sal May 26, 2020 6:49 pm

Kod: Tümünü seç

public RoundBasladi()
{
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}
}
bla bla

Kod: Tümünü seç

public RoundBasladi()
{
	set_task(1.0, "rbasladi", id);
}

public rbasladi(id) 
{ 
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}	
}
bla bla
bunun yerine

Kod: Tümünü seç

public kontrol(id){
	new teams=get_user_team(id);
	switch(teams){
		case 1: bicak1[id] = false,bicak2[id] = false,bicak3[id] = false,bicak4[id] = false;
	}
}
bunuda kullanabilirsin daha kısa
ufak bi if'ten sıkıntı çıkacağını sanmıyorum kısaltmakta anlattığınız satır kısaltmak olarak anladım.
ulyoS yazdı: Sal May 26, 2020 6:49 pm

Kod: Tümünü seç

public RoundBasladi()
{
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}
}
bla bla

Kod: Tümünü seç

public RoundBasladi()
{
	set_task(1.0, "rbasladi", id);
}

public rbasladi(id) 
{ 
	if(get_user_team(id) == 1)
	{
		bicak1[id] = false;
		bicak2[id] = false;
		bicak3[id] = false;
		bicak4[id] = false;
	}	
}
bla bla
Anlattığın kısım public'de index tanımlaması olmadığı için hata basacaktır.

Fazla değişkenle uğraşmana gerek yok tek değişkenlede halledilebilir.
Eklenti;

Kod: Tümünü seç

#include <amxmodx>
#include <fakemeta>
#include <reapi>

#define PLUGIN "Ct Bicak Menu"
#define VERSION "1.0"
#define AUTHOR "LoseBasgan"

#define TAG "MoonGaming"
#define KISATAG "Moon"

new bicak[33];

new const bicakmodel1[41] = "models/moon_basebuilder/v_dual_laser.mdl";
new const bicakmodel2[36] = "models/moon_basebuilder/kelebek.mdl";
new const bicakmodel3[38] = "models/moon_basebuilder/flipknife.mdl";
new const bicakmodel4[45] = "models/moon_basebuilder/kirmizitersbicak.mdl";

public plugin_init() {
	register_plugin(PLUGIN, VERSION, AUTHOR)
	
	register_clcmd("say /bicakmenu","bicakmenu");
	register_clcmd("say /bicak","bicakmenu");
	register_event("CurWeapon", "CurentWeapon", "be", "1=1");
	RegisterHookChain(RG_CBasePlayer_Spawn,"RG_Spawn",.post=true);
}
public plugin_precache() 
{
	precache_model(bicakmodel1);
	precache_model(bicakmodel2);
	precache_model(bicakmodel3);
	precache_model(bicakmodel4);
	
}

public RG_Spawn ( id )
	if( get_member( id , m_iTeam ) == TEAM_TERRORIST )
		bicak[ id ] = 0;
		
public client_putinserver(id) 
{
	bicak[ id ] = 0;
}
public bicakmenu(id){		
	if(get_user_team(id) == 2)
	{		
		if(is_user_alive(id))
		{
			static Item[128]
			
			formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \wInsan Bicak Menu", TAG)
			new Menu = menu_create(Item, "bicakmenu_devam")
			
			
			formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yDual Laser Knife", KISATAG)
			menu_additem(Menu, Item, "1")
			
			formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yKelebek Bicagi", KISATAG)
			menu_additem(Menu, Item, "2")
			
			formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yFlip Knife", KISATAG)
			menu_additem(Menu, Item, "3")
			
			formatex(Item, charsmax(Item),"\d[\r%s\d] \w| \yKirmizi Ters Bicak", KISATAG)
			menu_additem(Menu, Item, "4")
			
			menu_setprop(Menu,MPROP_EXITNAME,"\wCikis")
			menu_display(id, Menu,0)
	
		}
		else
		{
			client_print_color(id,id,"^1[^3%s^1] - ^3Menuye girmek icin ^1yasaman ^3gerek.",TAG);
		}
	}
	else
	{
		client_print_color(id,id,"^1[^3%s^1] - ^3Menuye Girmek icin ^1Insanlar takiminda^3 olman gerek.",TAG);
	}
	return PLUGIN_HANDLED
}
public bicakmenu_devam(const id, const menu, const item)
{
	if(item == MENU_EXIT )
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], name[32], access, callback;
	menu_item_getinfo(menu, item, access, data, charsmax(data), name, charsmax(name), callback);
	switch(str_to_num(data))
	{
		case 1:{
			bicak[id] = 1;
			CurentWeapon(id);
			client_cmd(id,"spk ^"misc/killChicken.wav^"")
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Dual Laser Knife ^1aktif edildi.",TAG);
		}   
		case 2:{
			bicak[id] = 2;
			CurentWeapon(id);
			client_cmd(id,"spk ^"misc/killChicken.wav^"")
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Kelebek Bicagi ^1aktif edildi.",TAG);
		}   		
		case 3:{
			bicak[id] = 3;
			CurentWeapon(id);
			client_cmd(id,"spk ^"misc/killChicken.wav^"")
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Flip Knife ^1aktif edildi.",TAG);
		}   
		case 4:{
			bicak[id] = 4;
			CurentWeapon(id);
			client_cmd(id,"spk ^"misc/killChicken.wav^"")
			CurentWeapon(id);
			client_print_color(id,id,"^1[^3%s^1] - ^3Kirmizi Ters Bicak ^1aktif edildi.",TAG);
		}   
	}
	return PLUGIN_HANDLED
}
public CurentWeapon( id )
{
	if(get_user_weapon( id ) == CSW_KNIFE)
	{
		switch( bicak[ id ] )
		{
			case 1 : set_pev(id, pev_viewmodel2, bicakmodel1);
			case 2 : set_pev(id, pev_viewmodel2, bicakmodel2);
			case 3 : set_pev(id, pev_viewmodel2, bicakmodel3);
			case 4 : set_pev(id, pev_viewmodel2, bicakmodel4);
		}
		
	}
}

Link:
Linklerini gizle
Linki Kopyala
Cevapla