1. sayfa (Toplam 2 sayfa)

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 2:26 pm
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)

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 4:26 pm
gönderen Yek'-ta
SPEC bot eklentisi, sadece spec takımı için.

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 4:29 pm
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?

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 4:42 pm
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.

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 4:55 pm
gönderen OPC Line
SPEC bot : adı üstünde specde duran bottur. Bunu te veya ct ye atmak mantıksız bence

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 5:11 pm
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

Botlar Hk.

Gönderilme zamanı: Çrş May 13, 2020 6:39 pm
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");
}

Botlar Hk.

Gönderilme zamanı: Cum May 15, 2020 7:31 pm
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

Botlar Hk.

Gönderilme zamanı: Cum May 15, 2020 8:55 pm
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

Botlar Hk.

Gönderilme zamanı: Cmt May 16, 2020 12:38 am
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.