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

https://discord.gg/43gGDQe6tS

Jbmenu kodlama dersi

Eklenti sorunlarınız ve özel eklenti istekleriniz

Moderatör: Moderatörler

Kullanıcı avatarı

Konu Sahibi
umutycel54
Mesajlar: 185
Kayıt: Cum Şub 02, 2018 7:46 pm
Konum: Sakarya

Jbmenu kodlama dersi

Mesaj gönderen umutycel54 »

Arkadaşlar merhaba ben serverim için basit bir jbmenu yapmak istiyorum eskiden youtubeda bir arkadaşın videosu vardı sıfırdan jbmenu kodlamayı öğretiyodu silinmiş pluginden anlayan arkadaşlar detaylı şekilde video çekebilirmi

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

noeldayi
Mesajlar: 3167
Kayıt: Prş Oca 19, 2017 6:57 pm
Konum: 213.238.173.35
Server Ip/DNS: 213.238.173.35
Clan İsmi: Moon Gaming
İletişim:

Jbmenu kodlama dersi

Mesaj gönderen noeldayi »

0dan jbmenu zor üstüne editleme yapmıştır zamanım olsa taktiğini gösterirdim basit bir mantığı var banada @YeKTaBEYy öğretmişti.

Link:
Linklerini gizle
Linki Kopyala

baranss
Mesajlar: 280
Kayıt: Pzt Kas 30, 2015 1:44 pm

Jbmenu kodlama dersi

Mesaj gönderen baranss »

@noeldayi Taktiğini gösterirsen cok sevinirim :))

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

ENESIZM
Mesajlar: 2191
Kayıt: Prş Tem 06, 2017 10:44 pm
Konum: Mersin
Server Ip/DNS: MoonDeveloperTeam
İletişim:

Jbmenu kodlama dersi

Mesaj gönderen ENESIZM »

Ya basit aslında temelleri bilsen yeterli. En azından şöyle, ilk cvar ayarları ve modelleri değiştirmekten başlarsan zaten bunun devamı geliyor. Onun dışında da en basit olan şey reklamları editlemek... Sonradan hangi kodun ne işe yaradığını, nereye neyin bağlandığını anlıyorsun. Ağaç gibi bir şey eklenti işi. Şuan tr sunucuların kullandığı hiç bir jbmenu tr yapımı değil. Türkiye'de sanmıyorum sıfırdan yazan bir eklenti uzmanı varmıdır bilemem. Öhm öhm yok bence.

@Yek'-ta Öhm öhm yok.

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

YeKTaBEYy
Mesajlar: 1877
Kayıt: Prş Şub 09, 2017 3:47 am
Konum: Makedonya/Skopje
Clan İsmi: IMPERIAL GAMING
İletişim:

Jbmenu kodlama dersi

Mesaj gönderen YeKTaBEYy »

Coded By NoelDayi :D @noeldayi

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

amad
Mesajlar: 1809
Kayıt: Cmt Nis 30, 2016 2:46 pm
Konum: Batman
Clan İsmi: Ke$`h | Gaming
İletişim:

Jbmenu kodlama dersi

Mesaj gönderen amad »

ENESIZM yazdı: Çrş Eyl 19, 2018 1:45 am Ya basit aslında temelleri bilsen yeterli. En azından şöyle, ilk cvar ayarları ve modelleri değiştirmekten başlarsan zaten bunun devamı geliyor. Onun dışında da en basit olan şey reklamları editlemek... Sonradan hangi kodun ne işe yaradığını, nereye neyin bağlandığını anlıyorsun. Ağaç gibi bir şey eklenti işi. Şuan tr sunucuların kullandığı hiç bir jbmenu tr yapımı değil. Türkiye'de sanmıyorum sıfırdan yazan bir eklenti uzmanı varmıdır bilemem. Öhm öhm yok bence.

@Yek'-ta Öhm öhm
Evet sanırsam Amerikayı tekrar tekrar keşfetmenin anlamı yok. 0'dan da yazsan bazı kısımlarını hazır da alsan aynı kapıya çıkan yerler var. Hamallığın anlamı yok.

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

ENESIZM
Mesajlar: 2191
Kayıt: Prş Tem 06, 2017 10:44 pm
Konum: Mersin
Server Ip/DNS: MoonDeveloperTeam
İletişim:

Jbmenu kodlama dersi

Mesaj gönderen ENESIZM »

By.Dehset yazdı: Çrş Eyl 19, 2018 2:21 am
ENESIZM yazdı: Çrş Eyl 19, 2018 1:45 am Ya basit aslında temelleri bilsen yeterli. En azından şöyle, ilk cvar ayarları ve modelleri değiştirmekten başlarsan zaten bunun devamı geliyor. Onun dışında da en basit olan şey reklamları editlemek... Sonradan hangi kodun ne işe yaradığını, nereye neyin bağlandığını anlıyorsun. Ağaç gibi bir şey eklenti işi. Şuan tr sunucuların kullandığı hiç bir jbmenu tr yapımı değil. Türkiye'de sanmıyorum sıfırdan yazan bir eklenti uzmanı varmıdır bilemem. Öhm öhm yok bence.

@Yek'-ta Öhm öhm
Evet sanırsam Amerikayı tekrar tekrar keşfetmenin anlamı yok. 0'dan da yazsan bazı kısımlarını hazır da alsan aynı kapıya çıkan yerler var. Hamallığın anlamı yok.
Neden olmasın ? Jbmenu yazmak hamallık mı ? Çok saçma düşünüyorsun... En azından bir kişinin kendi yazmadığı eklentiyi, kendim yazdım deyip, sadece hud renklerini ve yazılarını değiştirerek yazılmış oluyorsa asıl hamallık o oluyor.

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

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

Jbmenu kodlama dersi

Mesaj gönderen ulyoS »

Olan bir şeyi tekrardan sıfırdan yazmak yerine olanı geliştirmek daha eğlenceli ve güzeldir.

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

amad
Mesajlar: 1809
Kayıt: Cmt Nis 30, 2016 2:46 pm
Konum: Batman
Clan İsmi: Ke$`h | Gaming
İletişim:

Jbmenu kodlama dersi

Mesaj gönderen amad »

ENESIZM yazdı: Çrş Eyl 19, 2018 2:28 am Neden olmasın ? Jbmenu yazmak hamallık mı ? Çok saçma düşünüyorsun... En azından bir kişinin kendi yazmadığı eklentiyi, kendim yazdım deyip, sadece hud renklerini ve yazılarını değiştirerek yazılmış oluyorsa asıl hamallık o oluyor.
Kusura bakma sen her jbmenu eklentisi yazdığında alttaki satırları inatla tekrar tekrar yazıyorsan hamallık olmuyor da ne oluyor ? Sen buralarda vakit harcarken ben çoktan farklı farklı fikirlerimi eklentide buluşturmuş olacağım. Ayrıca Eklentide not olarak "xxx adlı kişisinin kodlarından da yararlanılmıştır." diye not düşebilirsin. Bu satırları kullanmam eklentinin bana ait olmadığı anlamına gelmez.

Kod: Tümünü seç

public FwdTakeDamage(victim, inflictor, attacker, Float:damage, damage_bits)
{
	if(!is_valid_player(attacker) || !is_valid_player(victim)) return HAM_IGNORED
	
	if (is_valid_player(attacker) && get_user_weapon(attacker) == CSW_KNIFE)	
	{
		switch(get_user_team(attacker))
		{
			case 1:
			{
				if(TCuchillo[attacker])
				{    
					
					SetHamParamFloat(4, get_pcvar_float(TDefaultDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hTDefaultDano))
					}
				}
				
				if(Destapador[attacker])
				{ 
					SetHamParamFloat(4, get_pcvar_float(PaloDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hPaloDano))
					}
				}
				
				if(Hacha[attacker])
				{    	
					SetHamParamFloat(4, get_pcvar_float(HachaDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hHachaDano))
					}
				}
				
				if(Machete[attacker])
				{    	
					SetHamParamFloat(4, get_pcvar_float(MacheteDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hMacheteDano))
					}
				}
				
				if(Motocierra[attacker])
				{    
					SetHamParamFloat(4, get_pcvar_float(MotocierraDano))
				}
			}
			case 2:
			{
				if(CTCuchillo[attacker])
				{    
					SetHamParamFloat(4, get_pcvar_float(CTDefaultDano))
					
					if(get_pdata_int(victim, 75) == HIT_HEAD)
					{
						SetHamParamFloat(4, get_pcvar_float(hCTDefaultDano))
					}
				}
			}
		}
	}
	if((damage_bits & DMG_FALL) && g_yuksek[victim])
	{
		return HAM_SUPERCEDE
	}
	if(is_valid_player(attacker) && g_hasar[attacker])
	{
		damage *= get_pcvar_float(hasar_miktar)
		SetHamParamFloat(4,damage)
	}
	
	return HAM_HANDLED
}  

public fw_player_killed(victim, attacker, shouldgib)
{
	if(get_user_team(attacker) == 1)
	{
		g_jbpacks[attacker] += get_pcvar_num(g_killjp) 
		
		if(get_pdata_int(victim, 75) == HIT_HEAD)
		{
			g_jbpacks[attacker] += get_pcvar_num(g_killhsjp)
		}
	}
	
}
public native_jb_get_user_packs(id)
{
	return g_jbpacks[id];
}

public native_jb_set_user_packs(id, ammount)
{
	new id = get_param(1);
	new ammount = get_param(2);
	g_jbpacks[id] = ammount
	return 1;
}

public Event_Change_Weapon(id)
{
	new weaponID = read_data(2) 
	
	switch (get_user_team(id))
	{
		case 1:
		{
			if(Speed[id])
			{
				set_user_maxspeed(id, 500.0)
			}
			
			if(Speed2[id])
			{
				set_user_maxspeed(id, 380.0)
				
			}
			
			if(weaponID == CSW_KNIFE)
				
		{
			if(TCuchillo[id])
			{
				set_pev(id, pev_viewmodel2, VIEW_MODELT)
				set_pev(id, pev_weaponmodel2, PLAYER_MODELT)
			}
			
			if(Destapador[id])
			{
				set_pev(id, pev_viewmodel2, VIEW_Palo)
				set_pev(id, pev_weaponmodel2, PLAYER_Palo)
			}
			
			if(Hacha[id])
			{
				set_pev(id, pev_viewmodel2, VIEW_Hacha)
				set_pev(id, pev_weaponmodel2, PLAYER_Hacha)
			}
			
			if(Machete[id])
			{
				set_pev(id, pev_viewmodel2, VIEW_Machete)
				set_pev(id, pev_weaponmodel2, PLAYER_Machete)
			}
			
			if(Motocierra[id])
			{
				set_pev(id, pev_viewmodel2, VIEW_Moto)
				set_pev(id, pev_weaponmodel2, PLAYER_Moto)
			}
			
			
		}
	}
	case 2:
	{
		if(CTCuchillo[id] && weaponID == CSW_KNIFE)
		{
			set_pev(id, pev_viewmodel2, VIEW_MODELCT)
			set_pev(id, pev_weaponmodel2, PLAYER_MODELCT)
		}
	}
	}
	if(meslek[id] == 2)
	{
		set_user_gravity(id,0.7)
	}

	if(g_frozen[id])
	{
		engclient_cmd(id,"weapon_knife")
	}
	if(g_unammo[id]){
		new iWeapon = read_data(2)
		if( !( NOCLIP_WPN_BS & (1<<iWeapon) ) )
		{
			fm_cs_set_weapon_ammo( get_pdata_cbase(id, m_pActiveItem) , g_MaxClipAmmo[ iWeapon ] )
		}
	}
	return PLUGIN_CONTINUE 
}

public fw_SetModel(entity, model[])
{
	if(!pev_valid(entity))
		return FMRES_IGNORED
	if(!equali(model, OLDWORLD_MODEL)) 
		return FMRES_IGNORED
	new className[33]
	pev(entity, pev_classname, className, 32)
	if(equal(className, "weaponbox") || equal(className, "armoury_entity") || equal(className, "grenade"))
	{
		engfunc(EngFunc_SetModel, entity, WORLD_MODEL)
		return FMRES_SUPERCEDE
	}
	return FMRES_IGNORED
}

public Fwd_EmitSound(id, channel, const sample[], Float:volume, Float:attn, flags, pitch)
{
	
	if (!is_user_connected(id))
		return FMRES_IGNORED;
	
	if(CTCuchillo[id])
	{
		if(get_user_team(id) == 2)
		{
			if (equal(sample[8], "kni", 3))
			{
				if (equal(sample[14], "sla", 3)) 
				{
					switch (random_num(1, 2))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, ct_slash1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, ct_slash2, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
				if(equal(sample,"weapons/knife_deploy1.wav"))
				{
					engfunc(EngFunc_EmitSound, id, channel, ct_deploy, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				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 
					{
						switch (random_num(1, 4))
						{
							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;
					}
				}
				if (equal(sample[14], "sta", 3)) 
				{
					engfunc(EngFunc_EmitSound, id, channel, ct_stab, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
			}
		}	
	}
	
	if(TCuchillo[id])
	{
		if(get_user_team(id) == 1)
		{
			if (equal(sample[8], "kni", 3))
			{
				if (equal(sample[14], "sla", 3)) 
				{
					switch (random_num(1, 2))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, t_slash1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, t_slash2, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
				if(equal(sample,"weapons/knife_deploy1.wav"))
				{
					engfunc(EngFunc_EmitSound, id, channel, t_deploy, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				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 
					{
						switch (random_num(1, 4))
						{
							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;
					}
				}
				if (equal(sample[14], "sta", 3))
				{
					engfunc(EngFunc_EmitSound, id, channel, t_stab, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
			}
		}
	}
	
	if(Destapador[id])
	{
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3)) 
			{
				switch (random_num(1, 2))
				{
					case 1: engfunc(EngFunc_EmitSound, id, channel, palo_slash1, volume, attn, flags, pitch)
						case 2: engfunc(EngFunc_EmitSound, id, channel, palo_slash2, volume, attn, flags, pitch)
						
				}
				
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, palo_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w') 
				{
					engfunc(EngFunc_EmitSound, id, channel, palo_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else 
				{
					switch (random_num(1, 4))
					{
						case 1:engfunc(EngFunc_EmitSound, id, channel, palo_hit1, volume, attn, flags, pitch)
							case 2:engfunc(EngFunc_EmitSound, id, channel, palo_hit2, volume, attn, flags, pitch)
							case 3:engfunc(EngFunc_EmitSound, id, channel, palo_hit3, volume, attn, flags, pitch)
							case 4:engfunc(EngFunc_EmitSound, id, channel, palo_hit4, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3))
			{
				engfunc(EngFunc_EmitSound, id, channel, palo_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	
	if(Hacha[id])
	{
		
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3))
			{
				switch (random_num(1, 2))
				{
					case 1: engfunc(EngFunc_EmitSound, id, channel, hacha_slash1, volume, attn, flags, pitch)
						case 2: engfunc(EngFunc_EmitSound, id, channel, hacha_slash2, volume, attn, flags, pitch)
					}
				
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, hacha_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w')
				{
					engfunc(EngFunc_EmitSound, id, channel, hacha_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else 
				{
					switch (random_num(1, 3))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, hacha_hit1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, hacha_hit2, volume, attn, flags, pitch)
							case 3: engfunc(EngFunc_EmitSound, id, channel, hacha_hit3, volume, attn, flags, pitch)
						}
					
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3)) 
			{
				engfunc(EngFunc_EmitSound, id, channel, hacha_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	
	if(Machete[id])
	{
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3)) 
			{
				switch (random_num(1, 2))
				{
					case 1: engfunc(EngFunc_EmitSound, id, channel, machete_slash1, volume, attn, flags, pitch)
						case 2: engfunc(EngFunc_EmitSound, id, channel, machete_slash2, volume, attn, flags, pitch)
					}
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, machete_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w') 
				{
					engfunc(EngFunc_EmitSound, id, channel, machete_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else // hit
				{
					switch (random_num(1, 4))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, machete_hit1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, machete_hit2, volume, attn, flags, pitch)
							case 3: engfunc(EngFunc_EmitSound, id, channel, machete_hit3, volume, attn, flags, pitch)
							case 4: engfunc(EngFunc_EmitSound, id, channel, machete_hit4, volume, attn, flags, pitch)
						}
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3)) 
			{
				engfunc(EngFunc_EmitSound, id, channel, machete_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}
	
	if(Motocierra[id])
	{
		
		if (equal(sample[8], "kni", 3))
		{
			if (equal(sample[14], "sla", 3))
			{
				engfunc(EngFunc_EmitSound, id, channel, motocierra_slash, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if(equal(sample,"weapons/knife_deploy1.wav"))
			{
				engfunc(EngFunc_EmitSound, id, channel, motocierra_deploy, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
			if (equal(sample[14], "hit", 3))
			{
				if (sample[17] == 'w') 
				{
					engfunc(EngFunc_EmitSound, id, channel, motocierra_wall, volume, attn, flags, pitch)
					return FMRES_SUPERCEDE;
				}
				else 
				{
					switch (random_num(1, 2))
					{
						case 1: engfunc(EngFunc_EmitSound, id, channel, motocierra_hit1, volume, attn, flags, pitch)
							case 2: engfunc(EngFunc_EmitSound, id, channel, motocierra_hit2, volume, attn, flags, pitch)
							
					}
					return FMRES_SUPERCEDE;
				}
			}
			if (equal(sample[14], "sta", 3)) 
			{
				engfunc(EngFunc_EmitSound, id, channel, motocierra_stab, volume, attn, flags, pitch)
				return FMRES_SUPERCEDE;
			}
		}
	}	
	return FMRES_IGNORED;
}
Zaman bana göre çok önemli bir kavramdır. Minimum zamanda maksimum verimi almayı hedefleyerek işimi yapan bir insanım. Bu sadece eklenti yazmak olarak anlaşılmasın, hayatın her alanı da dahil.

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

Konu Sahibi
umutycel54
Mesajlar: 185
Kayıt: Cum Şub 02, 2018 7:46 pm
Konum: Sakarya

Jbmenu kodlama dersi

Mesaj gönderen umutycel54 »

By.Dehset yazdı: Çrş Eyl 19, 2018 2:21 am
ENESIZM yazdı: Çrş Eyl 19, 2018 1:45 am Ya basit aslında temelleri bilsen yeterli. En azından şöyle, ilk cvar ayarları ve modelleri değiştirmekten başlarsan zaten bunun devamı geliyor. Onun dışında da en basit olan şey reklamları editlemek... Sonradan hangi kodun ne işe yaradığını, nereye neyin bağlandığını anlıyorsun. Ağaç gibi bir şey eklenti işi. Şuan tr sunucuların kullandığı hiç bir jbmenu tr yapımı değil. Türkiye'de sanmıyorum sıfırdan yazan bir eklenti uzmanı varmıdır bilemem. Öhm öhm yok bence.

@Yek'-ta Öhm öhm
Evet sanırsam Amerikayı tekrar tekrar keşfetmenin anlamı yok. 0'dan da yazsan bazı kısımlarını hazır da alsan aynı kapıya çıkan yerler var. Hamallığın anlamı yok.
Benim bunu öğrenmek isteme sebebim bir serverde hoşuma giden jbmenuye benzeyen menu yapmaktı menu sade beyaz yazılı bir menuydu

Link:
Linklerini gizle
Linki Kopyala
Cevapla