⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
🇹🇷 TR Lokasyon | 🛡️ Gelişmiş DDoS Koruması | ⚡ Düşük Ping | 🎧 Kesintisiz TS3 | Hostlar
Sponsor Görsel 2
SponsorSponsor

16. Elde Takım Skoru Değiştirme

Konu

#1
Merhaba arkadaşlar bu pluginde skor sayıyor ama bir şey eksik kalıyor o da şu, örneğin T 8 CT 7 olarak bitti bunu say geçiyor "Ilk devre bitti! skor 8-7" falan diye işte ve sonraki el başında biz amx_teamswap komutu ile takımları değiştiriyoruz ama bu pluginde sadece isim olarak ct'yi t saymaya devam ediyor yani teamswap komutundan sonra hala eski isim olarak takıma skor saymaya devam ediyor. Skor sistemi doğru ama 16. elin başından sonra skor tablosunda takım isimleri değişmesi gerekiyor. Yapana teşekkürler.
.smassssss.sma(Dosya Boyutu: 4,66 KB | İndirme Sayısı: 1)
#2
(18-04-2025, 22:03)john80 Adlı Kullanıcıdan Alıntı: Merhaba arkadaşlar bu pluginde skor sayıyor ama bir şey eksik kalıyor o da şu, örneğin T 8 CT 7 olarak bitti bunu say geçiyor "Ilk devre bitti! skor 8-7" falan diye işte ve sonraki el başında biz amx_teamswap komutu ile takımları değiştiriyoruz ama bu pluginde sadece isim olarak ct'yi t saymaya devam ediyor yani teamswap komutundan sonra hala eski isim olarak takıma skor saymaya devam ediyor. Skor sistemi doğru ama 16. elin başından sonra skor tablosunda takım isimleri değişmesi gerekiyor. Yapana teşekkürler.

@john80

Anladığım kadarıyla 15. elin sonunda takımlar swaplanıyor ancak takımların skorları swaplanmıyor. Alttaki düzeltilmiş halini test eder misiniz? not tested

PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new g_iTerrScore 0
new g_iCTScore 0
new g_iRoundCount 1
new bool:g_bHalfTimeAnnounced false
new bool:g_bTeamsSwitched false
new bool:g_bScoreTrackingEnabled false

new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

#define GetTeamNameT() (g_bTeamsSwitched ? szTeamName_CT[0] : szTeamName_Terr[0])
#define GetTeamNameCT() (g_bTeamsSwitched ? szTeamName_CT[1] : szTeamName_Terr[1])

public plugin_init() {
    register_plugin("EOSM""1.0""ALBERT BROOKS")
    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ADMIN_BAN"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ADMIN_BAN"Skoru sıfırlar")
    register_event("HLTV""Event_RoundStart""a""1=0""2=0")
    register_event("SendAudio""Event_RoundEnd_Terr""a""2=%!MRAD_terwin")
    register_event("SendAudio""Event_RoundEnd_CT""a""2=%!MRAD_ctwin")
    register_event("TextMsg""Event_GameRestart""a""2&#Game_will_restart_in")
}

public 
Command_Score(idlevelcid){
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    g_iRoundCount g_iCTScore g_iTerrScore 1
    
if (g_bScoreTrackingEnabled){
        chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
    }
    return PLUGIN_HANDLED
}

public 
Command_StartScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_bScoreTrackingEnabled 
true
    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Command_ResetScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s !yskoru !gsifirladi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Event_RoundStart() {
    if (!g_bScoreTrackingEnabled)
        return

    g_iRoundCount g_iCTScore g_iTerrScore 1

    
if (g_iRoundCount == 16 && !g_bHalfTimeAnnounced) {
        g_bHalfTimeAnnounced true
        chat_color
(0"!g[EOSM] !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    // Her el başında otomatik skor gösterimi
    chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
}

public 
Event_RoundEnd_Terr() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iCTScore++
    else
        g_iTerrScore++

    CheckGameEnd()
}

public 
Event_RoundEnd_CT() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iTerrScore++
    else
        g_iCTScore++

    CheckGameEnd()
}

public 
CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        chat_color(0"!g[EOSM] !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart olduğunda skor değişmeyecek
}

stock chat_color(const id, const input[], any:...) {
    new count 1players[32]
    static msg[191]
    vformat(msg190input3)

    replace_all(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    replace_all(msg190"!team2""^0")

    if (idplayers[0] = id; else get_players(playerscount"ch");
    for (new 0counti++) {
        if (is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
        }
    }

Plug-in & Model Tasarımı
#3
(18-04-2025, 23:02)pFer Adlı Kullanıcıdan Alıntı:
(18-04-2025, 22:03)john80 Adlı Kullanıcıdan Alıntı: Merhaba arkadaşlar bu pluginde skor sayıyor ama bir şey eksik kalıyor o da şu, örneğin T 8 CT 7 olarak bitti bunu say geçiyor "Ilk devre bitti! skor 8-7" falan diye işte ve sonraki el başında biz amx_teamswap komutu ile takımları değiştiriyoruz ama bu pluginde sadece isim olarak ct'yi t saymaya devam ediyor yani teamswap komutundan sonra hala eski isim olarak takıma skor saymaya devam ediyor. Skor sistemi doğru ama 16. elin başından sonra skor tablosunda takım isimleri değişmesi gerekiyor. Yapana teşekkürler.

@john80

Anladığım kadarıyla 15. elin sonunda takımlar swaplanıyor ancak takımların skorları swaplanmıyor. Alttaki düzeltilmiş halini test eder misiniz? not tested

PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new g_iTerrScore 0
new g_iCTScore 0
new g_iRoundCount 1
new bool:g_bHalfTimeAnnounced false
new bool:g_bTeamsSwitched false
new bool:g_bScoreTrackingEnabled false

new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

#define GetTeamNameT() (g_bTeamsSwitched ? szTeamName_CT[0] : szTeamName_Terr[0])
#define GetTeamNameCT() (g_bTeamsSwitched ? szTeamName_CT[1] : szTeamName_Terr[1])

public plugin_init() {
    register_plugin("EOSM""1.0""ALBERT BROOKS")
    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ADMIN_BAN"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ADMIN_BAN"Skoru sıfırlar")
    register_event("HLTV""Event_RoundStart""a""1=0""2=0")
    register_event("SendAudio""Event_RoundEnd_Terr""a""2=%!MRAD_terwin")
    register_event("SendAudio""Event_RoundEnd_CT""a""2=%!MRAD_ctwin")
    register_event("TextMsg""Event_GameRestart""a""2&#Game_will_restart_in")
}

public 
Command_Score(idlevelcid){
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    g_iRoundCount g_iCTScore g_iTerrScore 1
    
if (g_bScoreTrackingEnabled){
        chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
    }
    return PLUGIN_HANDLED
}

public 
Command_StartScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_bScoreTrackingEnabled 
true
    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Command_ResetScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s !yskoru !gsifirladi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Event_RoundStart() {
    if (!g_bScoreTrackingEnabled)
        return

    g_iRoundCount g_iCTScore g_iTerrScore 1

    
if (g_iRoundCount == 16 && !g_bHalfTimeAnnounced) {
        g_bHalfTimeAnnounced true
        chat_color
(0"!g[EOSM] !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    // Her el başında otomatik skor gösterimi
    chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
}

public 
Event_RoundEnd_Terr() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iCTScore++
    else
        g_iTerrScore++

    CheckGameEnd()
}

public 
Event_RoundEnd_CT() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iTerrScore++
    else
        g_iCTScore++

    CheckGameEnd()
}

public 
CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        chat_color(0"!g[EOSM] !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart olduğunda skor değişmeyecek
}

stock chat_color(const id, const input[], any:...) {
    new count 1players[32]
    static msg[191]
    vformat(msg190input3)

    replace_all(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    replace_all(msg190"!team2""^0")

    if (idplayers[0] = id; else get_players(playerscount"ch");
    for (new 0counti++) {
        if (is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
        }
    }

Hocam denemedim henüz ama skoru doğru sayıyor sadece isim eskide kalıyor onu söyleyeyim. Doğru anladın mı yani doğru anlatabildim mi emin değilim. Skoru aslında doğru sayıyor yani takımlar swap olduktan sonra da t'ye saymaya devam ediyor ct'ye geçse de yani doğruyu yapıyor sadece İSİM sıkıntı 16. elde TAKIM İSİMLERİNİ düzeltirse yeterli.
#4
(18-04-2025, 23:08)john80 Adlı Kullanıcıdan Alıntı:
(18-04-2025, 23:02)pFer Adlı Kullanıcıdan Alıntı: @john80

Anladığım kadarıyla 15. elin sonunda takımlar swaplanıyor ancak takımların skorları swaplanmıyor. Alttaki düzeltilmiş halini test eder misiniz? not tested

PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new g_iTerrScore 0
new g_iCTScore 0
new g_iRoundCount 1
new bool:g_bHalfTimeAnnounced false
new bool:g_bTeamsSwitched false
new bool:g_bScoreTrackingEnabled false

new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

#define GetTeamNameT() (g_bTeamsSwitched ? szTeamName_CT[0] : szTeamName_Terr[0])
#define GetTeamNameCT() (g_bTeamsSwitched ? szTeamName_CT[1] : szTeamName_Terr[1])

public plugin_init() {
    register_plugin("EOSM""1.0""ALBERT BROOKS")
    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ADMIN_BAN"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ADMIN_BAN"Skoru sıfırlar")
    register_event("HLTV""Event_RoundStart""a""1=0""2=0")
    register_event("SendAudio""Event_RoundEnd_Terr""a""2=%!MRAD_terwin")
    register_event("SendAudio""Event_RoundEnd_CT""a""2=%!MRAD_ctwin")
    register_event("TextMsg""Event_GameRestart""a""2&#Game_will_restart_in")
}

public 
Command_Score(idlevelcid){
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    g_iRoundCount g_iCTScore g_iTerrScore 1
    
if (g_bScoreTrackingEnabled){
        chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
    }
    return PLUGIN_HANDLED
}

public 
Command_StartScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_bScoreTrackingEnabled 
true
    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Command_ResetScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s !yskoru !gsifirladi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Event_RoundStart() {
    if (!g_bScoreTrackingEnabled)
        return

    g_iRoundCount g_iCTScore g_iTerrScore 1

    
if (g_iRoundCount == 16 && !g_bHalfTimeAnnounced) {
        g_bHalfTimeAnnounced true
        chat_color
(0"!g[EOSM] !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    // Her el başında otomatik skor gösterimi
    chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
}

public 
Event_RoundEnd_Terr() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iCTScore++
    else
        g_iTerrScore++

    CheckGameEnd()
}

public 
Event_RoundEnd_CT() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iTerrScore++
    else
        g_iCTScore++

    CheckGameEnd()
}

public 
CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        chat_color(0"!g[EOSM] !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart olduğunda skor değişmeyecek
}

stock chat_color(const id, const input[], any:...) {
    new count 1players[32]
    static msg[191]
    vformat(msg190input3)

    replace_all(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    replace_all(msg190"!team2""^0")

    if (idplayers[0] = id; else get_players(playerscount"ch");
    for (new 0counti++) {
        if (is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
        }
    }

Hocam denemedim henüz ama skoru doğru sayıyor sadece isim eskide kalıyor onu söyleyeyim. Doğru anladın mı yani doğru anlatabildim mi emin değilim. Skoru aslında doğru sayıyor yani takımlar swap olduktan sonra da t'ye saymaya devam ediyor ct'ye geçse de yani doğruyu yapıyor sadece İSİM sıkıntı 16. elde TAKIM İSİMLERİNİ düzeltirse yeterli.
Özür dilerim ben yanlış anlattım. Evet o yönlü bir çalışma yaptım, ancak yanlış ifade ettim. Deneyin, bir hata durumunda tekrar konuşuruz

İyi Forumlar.
Plug-in & Model Tasarımı
#5
Bu plugine bir de ek olarak amx_skorbaslat komutunu haritada sadece 1 kere yazılacak şekilde editler misin @"pFer" hocam? Yani yeni bir harita açılana kadar 1 kere yazılabilsin sadece. Tek 1 hak olsun harita boyunca öyle bir şey editler misin bu pluginin içine
#6
(18-04-2025, 23:19)john80 Adlı Kullanıcıdan Alıntı: Bu plugine bir de ek olarak amx_skorbaslat komutunu haritada sadece 1 kere yazılacak şekilde editler misin @"pFer"  hocam? Yani yeni bir harita açılana kadar 1 kere yazılabilsin sadece. Tek 1 hak olsun harita boyunca öyle bir şey editler misin bu pluginin içine

@john80. Dener misiniz hocam?

PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new g_iTerrScore 0
new g_iCTScore 0
new g_iRoundCount 1
new bool:g_bHalfTimeAnnounced false
new bool:g_bTeamsSwitched false
new bool:g_bScoreTrackingEnabled false
new bool:g_bScoreStartedOnce false // amx_skorbaslat sinirlama

new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

#define GetTeamNameT() (g_bTeamsSwitched ? szTeamName_CT[0] : szTeamName_Terr[0])
#define GetTeamNameCT() (g_bTeamsSwitched ? szTeamName_CT[1] : szTeamName_Terr[1])

public plugin_init() {
    register_plugin("EOSM""1.1""ALBERT BROOKS & fernpasha")
    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ADMIN_BAN"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ADMIN_BAN"Skoru sıfırlar")
    register_event("HLTV""Event_RoundStart""a""1=0""2=0")
    register_event("SendAudio""Event_RoundEnd_Terr""a""2=%!MRAD_terwin")
    register_event("SendAudio""Event_RoundEnd_CT""a""2=%!MRAD_ctwin")
    register_event("TextMsg""Event_GameRestart""a""2&#Game_will_restart_in")
}

public 
Command_Score(idlevelcid){
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    g_iRoundCount g_iCTScore g_iTerrScore 1
    
if (g_bScoreTrackingEnabled){
        chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
    }
    return PLUGIN_HANDLED
}

public 
Command_StartScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    
if (g_bScoreStartedOnce) {
        chat_color(id"!g[EOSM] !yBu haritada skor sayma sistemi zaten !g1 kez !ybaslatildi.")
        return PLUGIN_HANDLED
    
}

    g_bScoreStartedOnce true
    g_bScoreTrackingEnabled 
true
    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Command_ResetScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s !yskoru !gsifirladi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Event_RoundStart() {
    if (!g_bScoreTrackingEnabled)
        return

    g_iRoundCount g_iCTScore g_iTerrScore 1

    
if (g_iRoundCount == 16 && !g_bHalfTimeAnnounced) {
        g_bHalfTimeAnnounced true
        chat_color
(0"!g[EOSM] !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    // Her el başında otomatik skor gösterimi
    chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
}

public 
Event_RoundEnd_Terr() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iCTScore++
    else
        g_iTerrScore++

    CheckGameEnd()
}

public 
Event_RoundEnd_CT() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iTerrScore++
    else
        g_iCTScore++

    CheckGameEnd()
}

public 
CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        chat_color(0"!g[EOSM] !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart olduğunda skor değişmeyecek
}

stock chat_color(const id, const input[], any:...) {
    new count 1players[32]
    static msg[191]
    vformat(msg190input3)

    replace_all(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    replace_all(msg190"!team2""^0")

    if (idplayers[0] = id; else get_players(playerscount"ch");
    for (new 0counti++) {
        if (is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
        }
    }

Plug-in & Model Tasarımı
#7
(18-04-2025, 23:23)pFer Adlı Kullanıcıdan Alıntı:
(18-04-2025, 23:19)john80 Adlı Kullanıcıdan Alıntı: Bu plugine bir de ek olarak amx_skorbaslat komutunu haritada sadece 1 kere yazılacak şekilde editler misin @"pFer"  hocam? Yani yeni bir harita açılana kadar 1 kere yazılabilsin sadece. Tek 1 hak olsun harita boyunca öyle bir şey editler misin bu pluginin içine

@john80. Dener misiniz hocam?

PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new g_iTerrScore 0
new g_iCTScore 0
new g_iRoundCount 1
new bool:g_bHalfTimeAnnounced false
new bool:g_bTeamsSwitched false
new bool:g_bScoreTrackingEnabled false
new bool:g_bScoreStartedOnce false // amx_skorbaslat sinirlama

new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

#define GetTeamNameT() (g_bTeamsSwitched ? szTeamName_CT[0] : szTeamName_Terr[0])
#define GetTeamNameCT() (g_bTeamsSwitched ? szTeamName_CT[1] : szTeamName_Terr[1])

public plugin_init() {
    register_plugin("EOSM""1.1""ALBERT BROOKS & fernpasha")
    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ADMIN_BAN"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ADMIN_BAN"Skoru sıfırlar")
    register_event("HLTV""Event_RoundStart""a""1=0""2=0")
    register_event("SendAudio""Event_RoundEnd_Terr""a""2=%!MRAD_terwin")
    register_event("SendAudio""Event_RoundEnd_CT""a""2=%!MRAD_ctwin")
    register_event("TextMsg""Event_GameRestart""a""2&#Game_will_restart_in")
}

public 
Command_Score(idlevelcid){
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    g_iRoundCount g_iCTScore g_iTerrScore 1
    
if (g_bScoreTrackingEnabled){
        chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
    }
    return PLUGIN_HANDLED
}

public 
Command_StartScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    
if (g_bScoreStartedOnce) {
        chat_color(id"!g[EOSM] !yBu haritada skor sayma sistemi zaten !g1 kez !ybaslatildi.")
        return PLUGIN_HANDLED
    
}

    g_bScoreStartedOnce true
    g_bScoreTrackingEnabled 
true
    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Command_ResetScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s !yskoru !gsifirladi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Event_RoundStart() {
    if (!g_bScoreTrackingEnabled)
        return

    g_iRoundCount g_iCTScore g_iTerrScore 1

    
if (g_iRoundCount == 16 && !g_bHalfTimeAnnounced) {
        g_bHalfTimeAnnounced true
        chat_color
(0"!g[EOSM] !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    // Her el başında otomatik skor gösterimi
    chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
}

public 
Event_RoundEnd_Terr() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iCTScore++
    else
        g_iTerrScore++

    CheckGameEnd()
}

public 
Event_RoundEnd_CT() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iTerrScore++
    else
        g_iCTScore++

    CheckGameEnd()
}

public 
CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        chat_color(0"!g[EOSM] !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart olduğunda skor değişmeyecek
}

stock chat_color(const id, const input[], any:...) {
    new count 1players[32]
    static msg[191]
    vformat(msg190input3)

    replace_all(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    replace_all(msg190"!team2""^0")

    if (idplayers[0] = id; else get_players(playerscount"ch");
    for (new 0counti++) {
        if (is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
        }
    }

Olmadı hocam. Hala amx_skorbaslat yazınca hep yazılıyor. Engellemiyor. Harita boyunca 1 kere yazılmasını istiyorum skoru sıfırlıyor yoksa ya da öyle olmuyorsa
1 kere amx_skorbaslat yazınca skor sistemini aktif ediyor, ondan sonra kaç kere yazılırsa yazılsın sıfırlamasın skoru sadece 1 kere başlatmayı yapsın sonra hiç sıfırlamasın skoru bunlardan birisini yapman bana yeterli.
#8
(18-04-2025, 23:31)john80 Adlı Kullanıcıdan Alıntı: Olmadı hocam. Hala amx_skorbaslat yazınca hep yazılıyor. Engellemiyor. Harita boyunca 1 kere yazılmasını istiyorum skoru sıfırlıyor yoksa ya da öyle olmuyorsa
1 kere amx_skorbaslat yazınca skor sistemini aktif ediyor, ondan sonra kaç kere yazılırsa yazılsın sıfırlamasın skoru sadece 1 kere başlatmayı yapsın sonra hiç sıfırlamasın skoru bunlardan birisini yapman bana yeterli.

Anladığım kadarıyla amx_skorbaslat komutu harita boyunca sadece 1 defa kullanılabilsin. Kullanıldığında ise skoru sıfırlamasın. Sıfırlama sadece amx_skorsifirla ile yapılsın. Doğru mu anladım?
Plug-in & Model Tasarımı
Son Düzenleme: 18-04-2025, 23:54, Düzenleyen: fernpasha.Son Düzenleme: 18-04-2025, 23:54, Düzenleyen: fernpasha.
#9
Evet.
#10
(18-04-2025, 23:57)john80 Adlı Kullanıcıdan Alıntı: Evet.

Lütfen bunu deneyin.

PHP Kod:
#include <amxmodx>
#include <amxmisc>
#include <cstrike>

new g_iTerrScore 0
new g_iCTScore 0
new g_iRoundCount 1
new bool:g_bHalfTimeAnnounced false
new bool:g_bTeamsSwitched false
new bool:g_bScoreTrackingEnabled false
new bool:g_bScoreStartedOnce false // amx_skorbaslat sinirlama

new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

#define GetTeamNameT() (g_bTeamsSwitched ? szTeamName_CT[0] : szTeamName_Terr[0])
#define GetTeamNameCT() (g_bTeamsSwitched ? szTeamName_CT[1] : szTeamName_Terr[1])

public plugin_init() {
    register_plugin("EOSM""1.01""ALBERT BROOKS & fernpasha")
    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ADMIN_BAN"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ADMIN_BAN"Skoru sıfırlar")
    register_event("HLTV""Event_RoundStart""a""1=0""2=0")
    register_event("SendAudio""Event_RoundEnd_Terr""a""2=%!MRAD_terwin")
    register_event("SendAudio""Event_RoundEnd_CT""a""2=%!MRAD_ctwin")
    register_event("TextMsg""Event_GameRestart""a""2&#Game_will_restart_in")
}

public 
Command_Score(idlevelcid){
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    g_iRoundCount g_iCTScore g_iTerrScore 1
    
if (g_bScoreTrackingEnabled){
        chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
    }
    return PLUGIN_HANDLED
}

public 
Command_StartScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    
if (g_bScoreStartedOnce) {
        chat_color(id"!g[EOSM] !ySkor sayma sistemi zaten başlatildi. Bu komut tekrar kullanılamaz.")
        return PLUGIN_HANDLED
    
}

    g_bScoreStartedOnce true
    g_bScoreTrackingEnabled 
true

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Command_ResetScoring(idlevelcid) {
    if (!cmd_access(idlevelcid1))
        return PLUGIN_HANDLED

    g_iTerrScore 
0
    g_iCTScore 
0
    g_iRoundCount 
1
    g_bHalfTimeAnnounced 
false
    g_bTeamsSwitched 
false

    
new admin_name[32]
    get_user_name(idadmin_name31)
    chat_color(0"!g[EOSM] !t%s !yskoru !gsifirladi!y."admin_name)

    return PLUGIN_HANDLED
}

public 
Event_RoundStart() {
    if (!g_bScoreTrackingEnabled)
        return

    g_iRoundCount g_iCTScore g_iTerrScore 1

    
if (g_iRoundCount == 16 && !g_bHalfTimeAnnounced) {
        g_bHalfTimeAnnounced true
        chat_color
(0"!g[EOSM] !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    chat_color(0"!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"GetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
}

public 
Event_RoundEnd_Terr() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iCTScore++
    else
        g_iTerrScore++

    CheckGameEnd()
}

public 
Event_RoundEnd_CT() {
    if (!g_bScoreTrackingEnabled)
        return

    if (g_bTeamsSwitched)
        g_iTerrScore++
    else
        g_iCTScore++

    CheckGameEnd()
}

public 
CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        chat_color(0"!g[EOSM] !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        chat_color(0"!g[EOSM] !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"GetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart olduğunda skor değişmeyecek
}

stock chat_color(const id, const input[], any:...) {
    new count 1players[32]
    static msg[191]
    vformat(msg190input3)

    replace_all(msg190"!g""^4")
    replace_all(msg190"!y""^1")
    replace_all(msg190"!t""^3")
    replace_all(msg190"!team2""^0")

    if (idplayers[0] = id; else get_players(playerscount"ch");
    for (new 0counti++) {
        if (is_user_connected(players[i])) {
            message_begin(MSG_ONE_UNRELIABLEget_user_msgid("SayText"), _players[i])
            write_byte(players[i])
            write_string(msg)
            message_end()
        }
    }

Plug-in & Model Tasarımı

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da