1. sayfa (Toplam 1 sayfa)

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 1:52 pm
gönderen Red
Merhaba, sunucuda rocket atılınca donmalar oluyor sebebi nedir?

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 2:07 pm
gönderen [~ TABUTCU ~]
Evet biz bu sorunu yaklaşık 2 3 haftadır yaşıyoruz ping artışı yaşanıyor rokcet de lag donma vs ama konu açmamıştım ben iyi oldu bu konu cevaplanırsa sevinirim.

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 3:14 pm
gönderen REYNMENNN
Bugludur kotrol ettirin forumda

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 3:37 pm
gönderen [~ TABUTCU ~]
REYNMENNN yazdı: Cmt Ağu 29, 2020 3:14 pm Bugludur kotrol ettirin forumda
Eklenti den kaynaklandığını sanmıyorum.

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 9:01 pm
gönderen Yek'-ta
Roket içeren eklentiyi konuya ekleyebilir misiniz merak ettim.

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 10:31 pm
gönderen [~ TABUTCU ~]
Yek'-ta yazdı: Cmt Ağu 29, 2020 9:01 pm Roket içeren eklentiyi konuya ekleyebilir misiniz merak ettim.

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 11:00 pm
gönderen Red
Yek'-ta yazdı: Cmt Ağu 29, 2020 9:01 pm Roket içeren eklentiyi konuya ekleyebilir misiniz merak ettim.

Rocket hk.

Gönderilme zamanı: Cmt Ağu 29, 2020 11:32 pm
gönderen Yek'-ta
Bu roket muhabbeti resmen işkence, sunucu iyi bu durumu az çok kaldırabiliyor.
1. Neden get_players kullanıp for içerisinde if ile takım sorgusu yaptırmış? Get_players zaten sorunlu çalışıyor iken bi de bunun içerisine o sorguyu katması çok yersiz.
2.

Kod: Tümünü seç

public rocketmenu(id)
{
	if(get_user_team(id) == 2 && is_user_alive(id))
	{
		new menu = menu_create("\wRoket Menu", "rocketmenu2")
		
		menu_additem(menu, "\y10 \wSaniye \wRoket \wAt", "1", 0);
		menu_additem(menu, "\y20 \wSaniye \wRoket \wAt", "2", 0);
		menu_additem(menu, "\y30 \wSaniye \wRoket \wAt", "3", 0);
		menu_additem(menu, "\y40 \wSaniye \wRoket \wAt", "4", 0);
		menu_additem(menu, "\y50 \wSaniye \wRoket \wAt", "5", 0);
		menu_additem(menu, "\y60 \wSaniye \wRoket \wAt \d(1 Dakika)", "6", 0);
		
		menu_setprop(menu, MPROP_EXITNAME, "Cikis")
		menu_display(id, menu, 0)
	}
	else if(get_user_team(id) == 2 && !is_user_alive(id))
	{
		client_printc(id, "!t[!gNexus!t] !nBu menuye !tOluler !ngiremez")
	}
	else
	{
		client_printc(id, "!t[!gNexus!t] !nBu menuye girme yetkin yok")
	}
}
---->

Kod: Tümünü seç

public rocketmenu(id)
{
	if(!is_user_alive(id))
	{
		client_printc(id, "!t[!gNexus!t] !nBu menuye !tOluler !ngiremez")
	}
	else if(get_user_team(id) == 2)
	{
		new menu = menu_create("\wRoket Menu", "rocketmenu2")
		
		menu_additem(menu, "\y10 \wSaniye \wRoket \wAt", "1", 0);
		menu_additem(menu, "\y20 \wSaniye \wRoket \wAt", "2", 0);
		menu_additem(menu, "\y30 \wSaniye \wRoket \wAt", "3", 0);
		menu_additem(menu, "\y40 \wSaniye \wRoket \wAt", "4", 0);
		menu_additem(menu, "\y50 \wSaniye \wRoket \wAt", "5", 0);
		menu_additem(menu, "\y60 \wSaniye \wRoket \wAt \d(1 Dakika)", "6", 0);
		
		menu_setprop(menu, MPROP_EXITNAME, "Cikis")
		menu_display(id, menu, 0)
	}
	else
	{
		client_printc(id, "!t[!gNexus!t] !nBu menuye girme yetkin yok")
	}
}
3. switchlerdeki static yersiz olmuş biraz.
4. For içerisindeki hucrekapisiniac() sunucunun içinden geçer. Canlı oyuncular kadar sunucuya hücreleri aç komutu gönderiliyor ve her gönderişte oyundaki bütün nesneler tek tek sorgulanıyor. 20 canlı oyuncu var diyelim, 20 kere alttaki kod bulağı sunucuya boş yere gönderiliyor.

Kod: Tümünü seç

public hucrekapisiniac()
{
	new Float:radius = 200.0, Float:origin[3], ent = 1, ent2 = 1, ent3, class[32], name[32], pos
	while((pos <= sizeof(found)) && (ent = engfunc(EngFunc_FindEntityByString, ent, "classname", "info_player_deathmatch")))
	{
		pev(ent, pev_origin, origin)
		while((ent2 = engfunc(EngFunc_FindEntityInSphere, ent2, origin, radius)))
		{
			if(!pev_valid(ent2))
				continue
			
			pev(ent2, pev_classname, class, charsmax(class))
			if(!equal(class, "func_door"))
				continue
			
			pev(ent2, pev_targetname, name, charsmax(name))
			ent3 = engfunc(EngFunc_FindEntityByString, 0, "target", name)
			if(pev_valid(ent3) && (in_array(ent3, found, sizeof(found)) < 0))
			{
				ExecuteHamB(Ham_Use, ent3, 0, 0, 1, 1.0)
				pos++
				break
			}
		}
	}
	return pos
}
5.

Kod: Tümünü seç

public rocketmenu2(id, menu, item)
{
	if(item == MENU_EXIT || get_user_team(id) != 2 || !is_user_alive(id))
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64], Access, Callback
	menu_item_getinfo(menu, item, Access, data, sizeof(data), iName, sizeof(iName), Callback)
	new key = str_to_num(data)
	remove_task(1300)
	switch(key)
	{
		case 1: {
			new players[32], inum;
			static Uid;
			get_players(players, inum, "a")
			for(new i; i < inum; i++) {
				Uid = players[i];
				Sure = -1
				YeniSure = -1
				//set_cvar_num("semiclip", 1)
				hucrekapisiniac()
				if(get_user_team(Uid) == 1) {
					give_item(Uid, "weapon_tmp")
					unammocuk[Uid] = true
				}
				else if(get_user_team(Uid) == 2) {
					set_user_godmode(Uid, 1)
					set_user_health(Uid, 50000)
				}
			}
			roket = 10
			set_task(0.1, "roketdevam", 1300)
		}
		case 2: {
			new players[32], inum;
			static Uid;
			get_players(players, inum, "a")
			for(new i; i < inum; i++) {
				Uid = players[i];
				Sure = -1
				YeniSure = -1
				//set_cvar_num("semiclip", 1)
				hucrekapisiniac()
				if(get_user_team(Uid) == 1) {
					give_item(Uid, "weapon_tmp")
					unammocuk[Uid] = true
				}
				else if(get_user_team(Uid) == 2) {
					set_user_godmode(Uid, 1)
					set_user_health(Uid, 50000)
				}
			}
			roket = 20
			set_task(0.1, "roketdevam", 1300)	
		}
		case 3: {
			new players[32], inum;
			static Uid;
			get_players(players, inum, "a")
			for(new i; i < inum; i++) {
				Uid = players[i];
				Sure = -1
				YeniSure = -1
				//set_cvar_num("semiclip", 1)
				hucrekapisiniac()
				if(get_user_team(Uid) == 1) {
					give_item(Uid, "weapon_tmp")
					unammocuk[Uid] = true
				}
				else if(get_user_team(Uid) == 2) {
					set_user_godmode(Uid, 1)
					set_user_health(Uid, 50000)
				}
			}
			roket = 30
			set_task(0.1, "roketdevam", 1300)
		}
		case 4: {
			new players[32], inum;
			static Uid;
			get_players(players, inum, "a")
			for(new i; i < inum; i++) {
				Uid = players[i];
				Sure = -1
				YeniSure = -1
				//set_cvar_num("semiclip", 1)
				hucrekapisiniac()
				if(get_user_team(Uid) == 1) {
					give_item(Uid, "weapon_tmp")
					unammocuk[Uid] = true
				}
				else if(get_user_team(Uid) == 2) {
					set_user_godmode(Uid, 1)
					set_user_health(Uid, 50000)
				}
			}
			roket = 40
			set_task(0.1, "roketdevam", 1300)	
		}
		case 5: {
			new players[32], inum;
			static Uid;
			get_players(players, inum, "a")
			for(new i; i < inum; i++) {
				Uid = players[i];
				Sure = -1
				YeniSure = -1
				//set_cvar_num("semiclip", 1)
				hucrekapisiniac()
				if(get_user_team(Uid) == 1) {
					give_item(Uid, "weapon_tmp")
					unammocuk[Uid] = true
				}
				else if(get_user_team(Uid) == 2) {
					set_user_godmode(Uid, 1)
					set_user_health(Uid, 50000)
				}
			}
			roket = 50
			set_task(0.1, "roketdevam", 1300)	
		}
		case 6: {
			new players[32], inum;
			static Uid;
			get_players(players, inum, "a")
			for(new i; i < inum; i++) {
				Uid = players[i];
				Sure = -1
				YeniSure = -1
				//set_cvar_num("semiclip", 1)
				hucrekapisiniac()
				if(get_user_team(Uid) == 1) {
					give_item(Uid, "weapon_tmp")
					unammocuk[Uid] = true
				}
				else if(get_user_team(Uid) == 2) {
					set_user_godmode(Uid, 1)
					set_user_health(Uid, 50000)
				}
			}
			roket = 60
			set_task(0.1, "roketdevam", 1300)	
		}
	}
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}
---->

Kod: Tümünü seç

public rocketmenu2(id, menu, item)
{
	if(item == MENU_EXIT || get_user_team(id) != 2 || !is_user_alive(id))
	{
		menu_destroy(menu);
		return PLUGIN_HANDLED;
	}
	new data[6], iName[64], Access, Callback
	menu_item_getinfo(menu, item, Access, data, sizeof(data), iName, sizeof(iName), Callback)
	new key = str_to_num(data)
	remove_task(1300)
	hucrekapisiniac()
	Sure = -1
	YeniSure = -1
	for (new i = 1; i <= MAX_CLIENTS; i++){
		if(get_user_team(i) == 1 && is_user_alive(i)) {
			give_item(i, "weapon_tmp")
			unammocuk[i] = true
		}
		else if(get_user_team(i) == 2 && is_user_alive(i)) {
			set_user_godmode(i, 1)
			set_user_health(i, 50000)
		}
	}
	switch(key)
	{
		case 1: {
			roket = 10
		}
		case 2: {
			roket = 20
		}
		case 3: {
			roket = 30
		}
		case 4: {
			roket = 40
		}
		case 5: {
			roket = 50	
		}
		case 6: {
			roket = 60
		}
	}
	set_task(0.1, "roketdevam", 1300)
	menu_destroy(menu);
	return PLUGIN_HANDLED;
}

public roketdevam()
{
	if(roket == 0)
	{
		t_roketle()
		client_print(0, print_center, "Sure Bitti. Mahkumlar Roketlendi")
	}
	else if(roket == -1)
	{
	}
	else
	{
		client_print(0, print_center, "[ %d ] Saniye Sonra Mahkumlar Roketlenecektir", roket)
		roket--
		set_task(1.0, "roketdevam", 1300)
	}
}
6. Roket efekti 10'dan fazla oyuncuda aynı anda uygulandığı için sunucuya birden yük bindirmesi normal. Bu roket kodlarını yazan adam bunu normalde 1 oyuncu için yapmıştı, ama bizim jailci arkadaşlarımız bunu bütün oyuncular için ne olacak yaaa dediği için dozunu arttırmıştır.

Bu arada eklenti çok kötü @Colditz , biğinmidim.

Ama redin paylaştığı Necatinin jbmenü eklentisinde bu tip sorunlar yok, aksine baya özenilmiş kodlar mantıklı algoritmalar var. O eklentide roket diğer eklentinin aksine daha rahat çalışması lazım. Sunucuda ne kadarlık bir takılma oluyor? Roket esnasındaki net_graph 3 değerlerini skor tablosu açık bir şekilde ekran görüntüsünü alıp paylaşabilir misin?

Rocket hk.

Gönderilme zamanı: Pzr Ağu 30, 2020 12:53 am
gönderen Ömer TELLİ
ip adresi nedir ?
rocket atıldığı esnada unammo ve silah veriliyor mu ?

rocket atılınca panelden konsola 1 saniye ara ile 4-5 kere stats yazın, aynısını birde rocketsiz yapıp değerleri buraya gönderin kontrol edelim

Rocket hk.

Gönderilme zamanı: Pzr Ağu 30, 2020 2:18 am
gönderen Colditz
Sunucularda roket kullanılmasını önermiyorum yani başka alternatifler bulunabilir. Eskiden bir bugu olduğu bilinmiyordu ve eğlenceliydi fakat artık status bugu olduğunu biliyoruz. Ayrıca sunucuya çok yük bindiriyor ve kasmalara, donmalara hatta çökmelere sebep olabiliyor.