Merhaba
Elimde karıstır eklentisi var fakat biz kendimiz saydan /karıstır yazınca oluyor ve restart atıyor.
ben bunu otomatik server yapsın istiyorum Takımlarda güç dengesizliği olduğunda örneğin CT ve TE takım üst üste el kaybettiğinde yada aşırı fark oldugunda gibi.
otomatik takım karıştırma olsun istiyorum oyt sunucusuyuz
Konu
(19-04-2025, 13:44)D1STANCED Adlı Kullanıcıdan Alıntı: Merhaba
Elimde karıstır eklentisi var fakat biz kendimiz saydan /karıstır yazınca oluyor ve restart atıyor.
ben bunu otomatik server yapsın istiyorum Takımlarda güç dengesizliği olduğunda örneğin CT ve TE takım üst üste el kaybettiğinde yada aşırı fark oldugunda gibi.
otomatik takım karıştırma olsun istiyorum oyt sunucusuyuz
@D1STANCED
/karistir yazdığınızda otomatik restart atmasını istiyor musunuz? Yoksa bu da bir sorun mu sizin için?
(19-04-2025, 14:49)pFer Adlı Kullanıcıdan Alıntı:Aslında ona tam karar veremedik daha çok restart atmasımı tercih ediliyor acaba(19-04-2025, 13:44)D1STANCED Adlı Kullanıcıdan Alıntı: Merhaba
Elimde karıstır eklentisi var fakat biz kendimiz saydan /karıstır yazınca oluyor ve restart atıyor.
ben bunu otomatik server yapsın istiyorum Takımlarda güç dengesizliği olduğunda örneğin CT ve TE takım üst üste el kaybettiğinde yada aşırı fark oldugunda gibi.
otomatik takım karıştırma olsun istiyorum oyt sunucusuyuz
@D1STANCED
/karistir yazdığınızda otomatik restart atmasını istiyor musunuz? Yoksa bu da bir sorun mu sizin için?
(19-04-2025, 14:49)pFer Adlı Kullanıcıdan Alıntı:birde biz karıştır yazmayalım(19-04-2025, 13:44)D1STANCED Adlı Kullanıcıdan Alıntı: Merhaba
Elimde karıstır eklentisi var fakat biz kendimiz saydan /karıstır yazınca oluyor ve restart atıyor.
ben bunu otomatik server yapsın istiyorum Takımlarda güç dengesizliği olduğunda örneğin CT ve TE takım üst üste el kaybettiğinde yada aşırı fark oldugunda gibi.
otomatik takım karıştırma olsun istiyorum oyt sunucusuyuz
@D1STANCED
/karistir yazdığınızda otomatik restart atmasını istiyor musunuz? Yoksa bu da bir sorun mu sizin için?
takımlarda dengesizlik oluşunca server kendisi karıştırsın istiyorum
Son Düzenleme: 19-04-2025, 14:52, Düzenleyen: ReckLesS.
(19-04-2025, 14:50)D1STANCED Adlı Kullanıcıdan Alıntı:(19-04-2025, 14:49)pFer Adlı Kullanıcıdan Alıntı: @D1STANCEDAslında ona tam karar veremedik daha çok restart atmasımı tercih ediliyor acaba
/karistir yazdığınızda otomatik restart atmasını istiyor musunuz? Yoksa bu da bir sorun mu sizin için?
Bu sizin kararınız. Ancak Propublic bir sunucuda otomatik bir sistemin her skor farkı açıldığında sürekli restart atması benim açımdan fazla sağlıklı bir durum değil. Ama dediğim gibi karar sizin.
(19-04-2025, 14:52)pFer Adlı Kullanıcıdan Alıntı:o zaman restart vermeden takımlarda dengesizlik oluşunca server kendisi karıştırsın.(19-04-2025, 14:50)D1STANCED Adlı Kullanıcıdan Alıntı: Aslında ona tam karar veremedik daha çok restart atmasımı tercih ediliyor acaba
Bu sizin kararınız. Ancak Propublic bir sunucuda otomatik bir sistemin her skor farkı açıldığında sürekli restart atması benim açımdan fazla sağlıklı bir durum değil. Ama dediğim gibi karar sizin.
biz saydan yazmayacagız bilginiz olsun suanki eklentide biz yazıyoruz zaten
(19-04-2025, 14:54)D1STANCED Adlı Kullanıcıdan Alıntı:(19-04-2025, 14:52)pFer Adlı Kullanıcıdan Alıntı: Bu sizin kararınız. Ancak Propublic bir sunucuda otomatik bir sistemin her skor farkı açıldığında sürekli restart atması benim açımdan fazla sağlıklı bir durum değil. Ama dediğim gibi karar sizin.o zaman restart vermeden takımlarda dengesizlik oluşunca server kendisi karıştırsın.
biz saydan yazmayacagız bilginiz olsun suanki eklentide biz yazıyoruz zaten
Bunu denemenizi isteyeceğim sizden.
Önce 1 Adet Bilgilendirme Yapayım:
1-)
Kod:
#define WIN_THRESHOLD 4PHP Kod:
#include <amxmodx>
#include <reapi>
#include <cstrike>
new const tag[] = "ReckLesS";
new g_iConsecWinT = 0;
new g_iConsecWinCT = 0;
#define WIN_THRESHOLD 4
public plugin_init(){
register_plugin("Oto Takim Karistirma", "1.1", "suriyelikene");
register_event("round_end", "OnRoundEnd", "a");
}
public OnRoundEnd(const event[], const szName[]){
new winner = get_event_int(event, "winner", 0);
if (winner == TEAM_TERRORIST) {
g_iConsecWinT++;
g_iConsecWinCT = 0;
}
else if (winner == TEAM_CT) {
g_iConsecWinCT++;
g_iConsecWinT = 0;
}
else {
return;
}
if (g_iConsecWinT >= WIN_THRESHOLD || g_iConsecWinCT >= WIN_THRESHOLD) {
ScrambleTeams();
g_iConsecWinT = 0;
g_iConsecWinCT = 0;
}
}
stock ScrambleTeams(){
new te = 0, ct = 0;
for (new i = 1; i <= MaxClients; i++){
if (!is_user_connected(i) || is_user_bot(i)) continue;
new team = get_user_team(i);
if (team != TEAM_TERRORIST && team != TEAM_CT) continue;
if (ct > te) {
rg_set_user_team(i, TEAM_TERRORIST);
te++;
}
else if (te > ct) {
rg_set_user_team(i, TEAM_CT);
ct++;
}
else {
if (random_num(1,2) == 1) {
rg_set_user_team(i, TEAM_TERRORIST);
te++;
} else {
rg_set_user_team(i, TEAM_CT);
ct++;
}
}
}
client_print_color(0, 0, "^4[%s] ^3Takımlar otomatik olarak karıştırıldı. ^4İyi Oyunlar!", tag);
}
hata verdi
Eklenti : ototakimkaristir.sma
Eklenti Hatali
erleme Hatasi,Eklenti kodlari Bozuk.!
Hata Detay
1745065365_ototakimkaristir.sma(16) : error 017: undefined symbol "get_event_int"
1745065365_ototakimkaristir.sma(18) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(22) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(42) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(42) : warning 213: tag mismatch
Eklenti : ototakimkaristir.sma
Eklenti Hatali
erleme Hatasi,Eklenti kodlari Bozuk.!Hata Detay
1745065365_ototakimkaristir.sma(16) : error 017: undefined symbol "get_event_int"
1745065365_ototakimkaristir.sma(18) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(22) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(42) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(42) : warning 213: tag mismatch
(19-04-2025, 15:24)D1STANCED Adlı Kullanıcıdan Alıntı: hata verdi
Eklenti : ototakimkaristir.sma
Eklenti Hatalierleme Hatasi,Eklenti kodlari Bozuk.!
Hata Detay
1745065365_ototakimkaristir.sma(16) : error 017: undefined symbol "get_event_int"
1745065365_ototakimkaristir.sma(18) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(22) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(42) : warning 213: tag mismatch
1745065365_ototakimkaristir.sma(42) : warning 213: tag mismatch
Dener misiniz? compiled but not tested
PHP Kod:
#include <amxmodx>
#include <reapi>
#define PLUGIN "Oto Takim Karistirici"
#define VERSION "1.0"
#define AUTHOR "suriyelikene"
new const tag[] = "ReckLesS";
// Her takım için arka arkaya kaybetme sayacı
new g_iLoseCount_T = 0;
new g_iLoseCount_CT = 0;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
register_event("TeamScore", "Ev_TakimSkor", "a");
}
public Ev_TakimSkor()
{
// Round sonucunda takım skorları güncelleniyor
new t_score = read_data(1);
new ct_score = read_data(2);
static old_t_score = 0;
static old_ct_score = 0;
if (t_score > old_t_score)
{
// T kazandı
g_iLoseCount_CT++;
g_iLoseCount_T = 0;
}
else if (ct_score > old_ct_score)
{
// CT kazandı
g_iLoseCount_T++;
g_iLoseCount_CT = 0;
}
old_t_score = t_score;
old_ct_score = ct_score;
if (g_iLoseCount_T >= 4 || g_iLoseCount_CT >= 4) // Buradaki sayilari degistirerek kac yenilgide bir kere karistir atacagini belirleyebilirsin.
{
Karistir_Takimlar();
g_iLoseCount_T = 0;
g_iLoseCount_CT = 0;
}
}
public Karistir_Takimlar()
{
new te = 0, ct = 0;
for (new id = 1; id <= MaxClients; id++)
{
if (!is_user_connected(id) || is_user_bot(id))
continue;
new team = get_member(id, m_iTeam);
if (team != _:TEAM_TERRORIST && team != _:TEAM_CT)
continue;
if (ct > te)
{
rg_set_user_team(id, TEAM_TERRORIST);
te++;
}
else if (te > ct)
{
rg_set_user_team(id, TEAM_CT);
ct++;
}
else
{
switch (random_num(1, 2))
{
case 1: rg_set_user_team(id, TEAM_TERRORIST), te++;
case 2: rg_set_user_team(id, TEAM_CT), ct++;
}
}
}
client_print_color(0, 0, "^4[%s]^1 Takimlar otomatik olarak karistirildi. Iyi oyunlar!", tag);
}
eklenti hata vermeden yükledim fakat soyle bir sorun var herkesi karıstırmıyor 1-2 kişinin takımı değiştiriyor birde 4 el kaybettiğinde karıtırırken el bası oto karıstırmıyor el sonu öldürüyor o sekılde karıstırıyor
(19-04-2025, 16:07)D1STANCED Adlı Kullanıcıdan Alıntı: eklenti hata vermeden yükledim fakat soyle bir sorun var herkesi karıstırmıyor 1-2 kişinin takımı değiştiriyor birde 4 el kaybettiğinde karıtırırken el bası oto karıstırmıyor el sonu öldürüyor o sekılde karıstırıyor
Eğer pluginleriniz arasında "El sonu görev yapmayana slay" gibi bir plugin var ise el sonu öldürmesi ondan kaynaklı olabilir. Eğer raunt başında karıştır yapılırsa yeni elde kendi spawn noktalarında doğacaklarını zannetmiyorum. O yüzden yeni raunt başlamadan hemen önce (Görev yapmayanlar slaylandıktan sonra) bu karıştırma işlemini yapacak ve karıştırma işlemi tamamlanacak.
Sadece 1-2 kişinin karıştırılması fixlendi.
Alttaki kodu deneyin. Ve geri dönüş yapın.
PHP Kod:
#include <amxmodx>
#include <reapi>
#define PLUGIN "Oto Takim Karistirici"
#define VERSION "1.2"
#define AUTHOR "suriyelikene"
new const tag[] = "ReckLesS";
// Her takım için arka arkaya kaybetme sayacı
new g_iLoseCount_T = 0;
new g_iLoseCount_CT = 0;
new bool:g_bKaristirGerekli = false;
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
// El skoru güncellenince kontrol
register_event("TeamScore", "Ev_TakimSkor", "a");
// Yeni round başında karıştırma uygula
register_event("HLTV", "Ev_YeniRound", "a", "1=0", "2=0");
}
public Ev_TakimSkor()
{
new t_score = read_data(1);
new ct_score = read_data(2);
static old_t_score = 0;
static old_ct_score = 0;
if (t_score > old_t_score)
{
g_iLoseCount_CT++;
g_iLoseCount_T = 0;
}
else if (ct_score > old_ct_score)
{
g_iLoseCount_T++;
g_iLoseCount_CT = 0;
}
old_t_score = t_score;
old_ct_score = ct_score;
if (g_iLoseCount_T >= 4 || g_iLoseCount_CT >= 4)
{
g_bKaristirGerekli = true;
g_iLoseCount_T = 0;
g_iLoseCount_CT = 0;
}
}
public Ev_YeniRound()
{
if (g_bKaristirGerekli)
{
Karistir_Takimlar();
g_bKaristirGerekli = false;
}
}
public Karistir_Takimlar()
{
new te = 0, ct = 0;
for (new id = 1; id <= MaxClients; id++)
{
if (!is_user_connected(id) || is_user_bot(id))
continue;
new team = get_member(id, m_iTeam);
if (team != _:TEAM_TERRORIST && team != _:TEAM_CT)
continue;
if (ct > te)
{
rg_set_user_team(id, TEAM_TERRORIST);
te++;
}
else if (te > ct)
{
rg_set_user_team(id, TEAM_CT);
ct++;
}
else
{
switch (random_num(1, 2))
{
case 1: rg_set_user_team(id, TEAM_TERRORIST), te++;
case 2: rg_set_user_team(id, TEAM_CT), ct++;
}
}
}
client_print_color(0, 0, "^4[%s]^1 Takimlar otomatik olarak karistirildi. Iyi oyunlar!", tag);
}
)


