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

https://discord.gg/43gGDQe6tS

Botlar Hk.

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

Moderatör: Moderatörler


Konu Sahibi
AğustosBöceği
Mesajlar: 51
Kayıt: Sal Ara 17, 2019 7:25 pm

Botlar Hk.

Mesaj gönderen AğustosBöceği »

Bir eklenti ile botları her el başı t takımına attırıp slaylatıyorum ama loglarda düştüğü hataya göre bot oyunda gözükmüyor.
CSD'nin spec bot eklentisini kullanıyorum.

Kod: Tümünü seç

L 05/13/2020 - 00:14:54: [ReAPI] rg_set_user_team: player 2 is not connected
L 05/13/2020 - 00:14:54: [AMXX] Displaying debug trace (plugin "Bot_Control.amxx", version "1.0")
L 05/13/2020 - 00:14:54: [AMXX] Run time error 10: native error (native "rg_set_user_team")
L 05/13/2020 - 00:14:54: [AMXX]    [0] Bot_Control.sma::Control_Team (line 35)

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

Yek'-ta
Mesajlar: 9625
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

Botlar Hk.

Mesaj gönderen Yek'-ta »

SPEC bot eklentisi, sadece spec takımı için.

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
AğustosBöceği
Mesajlar: 51
Kayıt: Sal Ara 17, 2019 7:25 pm

Botlar Hk.

Mesaj gönderen AğustosBöceği »

Yek'-ta yazdı: Çrş May 13, 2020 4:26 pm SPEC bot eklentisi, sadece spec takımı için.
2 tanesi t takımına geçiyor, 1 tanesi geçmiyor sadece.
Sadece 1 tanesi spec takımı için mi?

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

Yek'-ta
Mesajlar: 9625
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

Botlar Hk.

Mesaj gönderen Yek'-ta »

Ömer TELLİnin bana dediği bu botların sadece spec takımı için yazıldığı. TE takımına attığınız vakit eklenti botların sayısını algılayamayabilir, başka sorunlarla karşılabilirsiniz.

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

OPC Line
Mesajlar: 1635
Kayıt: Pzt Tem 22, 2019 3:13 am
Server Ip/DNS: 213.238.173.xx
Clan İsmi: *YouKnowMyName*

Botlar Hk.

Mesaj gönderen OPC Line »

SPEC bot : adı üstünde specde duran bottur. Bunu te veya ct ye atmak mantıksız bence

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

Ömer TELLİ
Yönetici
Mesajlar: 5458
Kayıt: Pzr Eyl 06, 2015 6:12 pm
Server Ip/DNS: dm.csduragi.com
Clan İsmi: csd

Botlar Hk.

Mesaj gönderen Ömer TELLİ »

Gir çık sistemi açık ise kicklenip, tekrar girdiğinde spece yerleşecektir.
Ancak sen her el başı işlem yaptırdığın için sorun olmaması gerekiyor.

Kodu atarsan daha rahat yardımcı oluruz

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
AğustosBöceği
Mesajlar: 51
Kayıt: Sal Ara 17, 2019 7:25 pm

Botlar Hk.

Mesaj gönderen AğustosBöceği »

Kod: Tümünü seç

public Event_Round_Start()
{
	set_task(1.0, "Control_Team");
}

public Control_Team()
{
	new Players[32], Num_All, New_ID;
	get_players(Players, Num_All);
	
	for(new i; i < Num_All; i++)
	{
		New_ID = Players[i];
		
		if(is_user_bot(New_ID))
		{
			if(get_member(New_ID, m_iTeam) != TEAM_TERRORIST || get_member(New_ID, m_iTeam) == TEAM_SPECTATOR)
			{
				rg_set_user_team(New_ID, TEAM_TERRORIST);
				rg_round_respawn(New_ID);
			}
			else if(get_entvar(New_ID, var_health) == 0.0)
			{
				rg_round_respawn(New_ID);
			}
			
			user_kill(New_ID, 1);
		}
	}
	
	set_task(3.0, "Control_Team");
}

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

Ömer TELLİ
Yönetici
Mesajlar: 5458
Kayıt: Pzr Eyl 06, 2015 6:12 pm
Server Ip/DNS: dm.csduragi.com
Clan İsmi: csd

Botlar Hk.

Mesaj gönderen Ömer TELLİ »

is_user_connected ile kontrolü sağlayın
Bot girdi/çıktı vs gibi durumlarda task ile işlem yaparken botun kicklendiği ana vs denk gelirse hata vermesi normal

Task kullanımını bilerek mi bu şekilde yaptınız ?
Round başladıktan sonra 1 saniye sonra Control_Team fonksiyonunu çağırıp, ardından 3 saniye sonra aynı fonksiyonu neden çağırıyorsunuz ?

Yanlış kullanımlar var kodda, her el başı döngüye sokmak yerine client auth aldığı sırada, bağlanan oyuncu bot ise 3 saniye sonra ayrı fir fonksiyonda t atmak daha mantıklı.
Adminler amx_team ile botun takımını değiştiriyorsa ve bunu istemiyorsanız yasaklı komutlara bot isimlerini yazarsınız sorun düzelir

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

ShooTeR
Mesajlar: 4496
Kayıt: Çrş Ağu 16, 2017 10:35 pm
Server Ip/DNS: CSXX.CSDURAGI.COM
Clan İsmi: NoMercy

Botlar Hk.

Mesaj gönderen ShooTeR »

AğustosBöceği yazdı: Çrş May 13, 2020 6:39 pm

Kod: Tümünü seç

public Event_Round_Start()
{
	set_task(1.0, "Control_Team");
}

public Control_Team()
{
	new Players[32], Num_All, New_ID;
	get_players(Players, Num_All);
	
	for(new i; i < Num_All; i++)
	{
		New_ID = Players[i];
		
		if(is_user_bot(New_ID))
		{
			if(get_member(New_ID, m_iTeam) != TEAM_TERRORIST || get_member(New_ID, m_iTeam) == TEAM_SPECTATOR)
			{
				rg_set_user_team(New_ID, TEAM_TERRORIST);
				rg_round_respawn(New_ID);
			}
			else if(get_entvar(New_ID, var_health) == 0.0)
			{
				rg_round_respawn(New_ID);
			}
			
			user_kill(New_ID, 1);
		}
	}
	
	set_task(3.0, "Control_Team");
}
publicini client_connect olarak ayarlayıp kullanıcı girişlerinde bot sorgusunu yapıp tye atmasını ekleyebilirsin task cidden gereksiz

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
AğustosBöceği
Mesajlar: 51
Kayıt: Sal Ara 17, 2019 7:25 pm

Botlar Hk.

Mesaj gönderen AğustosBöceği »

Ömer TELLİ yazdı: Cum May 15, 2020 7:31 pm is_user_connected ile kontrolü sağlayın
Bot girdi/çıktı vs gibi durumlarda task ile işlem yaparken botun kicklendiği ana vs denk gelirse hata vermesi normal

Task kullanımını bilerek mi bu şekilde yaptınız ?
Round başladıktan sonra 1 saniye sonra Control_Team fonksiyonunu çağırıp, ardından 3 saniye sonra aynı fonksiyonu neden çağırıyorsunuz ?

Yanlış kullanımlar var kodda, her el başı döngüye sokmak yerine client auth aldığı sırada, bağlanan oyuncu bot ise 3 saniye sonra ayrı fir fonksiyonda t atmak daha mantıklı.
Adminler amx_team ile botun takımını değiştiriyorsa ve bunu istemiyorsanız yasaklı komutlara bot isimlerini yazarsınız sorun düzelir
Bu sefer aynı botu yine oyunda olmadı diyecek ve t takımına atmayacaktır.
Serverin ilk yüklendiği andan beri botun biri specde kalıyor, öyle bir ana denk gelmedi daha ya da ben yakalayamadım.
Task olayı Event_Round_Start çok hızlı çalışıyordu ve botları öldürse bile tekrar doğuyorlardı, o yüzden 1 saniyelik task ekledim ve bir tane daha 3 saniye sonrasını ekledim; o da bot o an oyuna girerse halletsin yoksa el boyunca oyuncuları rahatsız etmesin.

Link:
Linklerini gizle
Linki Kopyala
Cevapla