⭐🚀 TkyNET | Blacklist ve Profesyonel DDoS Korumalı TeamSpeak 3 Sunucuları 🚀⭐
Sponsor Görsel
Server ip : 95.173.173.2 || Ts3 : LCAPRO www.lcapro.net
Sponsor Görsel 2
SponsorSponsor

Score Sistemi Elle Düzeltme

Konu

#1
Merhabalar, bu pluginde bazen istemediğimiz anda skor sayıyor elle düzeltme kodu olsun istiyorum. Pluginin çalışmasında bir problem yok sadece
örneğin kod şöyle olacak amx_skorsistemi_t 1 kodunu yazınca tabloya 1 skor eklesin ama "-" kodu da çalışması lazım örneğin bazen skor 12-3 "amx_skorsistemi_ct -1" yazınca CT takımından 1 skor silsin.
Teşekkürler.

@"pFer" hocam sen plugini hatırlıyorsundur, düzeneği de biliyorsun yardımcı olur musun? amx_skorduzelt_t amx_skorduzelt_ct "değer (1-15) ve (-1 -15)" olacak şekilde kod lazım.
.smascoresistemi.sma(Dosya Boyutu: 5,84 KB | İndirme Sayısı: 3)
Son Düzenleme: 25-04-2025, 00:31, Düzenleyen: john80.
#2
(25-04-2025, 00:29)john80 Adlı Kullanıcıdan Alıntı: Merhabalar, bu pluginde bazen istemediğimiz anda skor sayıyor elle düzeltme kodu olsun istiyorum. Pluginin çalışmasında bir problem yok sadece
örneğin kod şöyle olacak amx_skorsistemi_t 1 kodunu yazınca tabloya 1 skor eklesin ama "-" kodu da çalışması lazım örneğin bazen skor 12-3 "amx_skorsistemi_ct -1" yazınca CT takımından 1 skor silsin.
Teşekkürler.

@"pFer" hocam sen plugini hatırlıyorsundur, düzeneği de biliyorsun yardımcı olur musun? amx_skorduzelt_t amx_skorduzelt_ct "değer (1-15) ve (-1 -15)" olacak şekilde kod lazım.

@john80

Hocam selamlar. Evet hatırlıyorum. Ancak şuan şehir dışındayım. Pazar ya da pazartesi günü bakabilirim. Eğer o zamana kadar destek çıkan olmazsa çözeriz.
Advanced Plug-in & Animated Model Tasarımı
#3
buyrun deneyin amx_skorsistemi_t sayı ve amx_skorsistemi_ct sayı şeklinde çalışıyor istediğiniz gibi https://www.webailesi.com/ds-scoresistemi-15361.sma
| Return All Starz | Valorant Mod | 95.173.173.31 |
#4
(25-04-2025, 00:29)john80 Adlı Kullanıcıdan Alıntı: Merhabalar, bu pluginde bazen istemediğimiz anda skor sayıyor elle düzeltme kodu olsun istiyorum. Pluginin çalışmasında bir problem yok sadece
örneğin kod şöyle olacak amx_skorsistemi_t 1 kodunu yazınca tabloya 1 skor eklesin ama "-" kodu da çalışması lazım örneğin bazen skor 12-3 "amx_skorsistemi_ct -1" yazınca CT takımından 1 skor silsin.
Teşekkürler.

@"pFer" hocam sen plugini hatırlıyorsundur, düzeneği de biliyorsun yardımcı olur musun? amx_skorduzelt_t amx_skorduzelt_ct "değer (1-15) ve (-1 -15)" olacak şekilde kod lazım.

Hocam gerekli düzenlemeleri yaptım. Test etmeden önce eski plugininizi yedekleyin. Sonra test edin. Ekstra olarak Say'dan geçen yazıların tagını ve komut kullanabilecek yetkiyi ayarlayabilmeniz için inisiyatif olarak #define atadım. Ve açıklamalar ekledim.
compiled but not tested

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

// --- Ayarlanabilir Sabitler ---
#define EOSM_TAG        "[EOSM]"    // Plugin tagı (örneğin: "[SKOR]", "[CSMATCH]" vs)
#define ACCESS_FLAG     ADMIN_BAN   // Komut yetkisi (örneğin: ADMIN_KICK, ADMIN_LEVEL_H)

// --- Değişkenler ---
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 sınırlama

// Takım adları (takım değiştiğinde ters dönecek)
new const szTeamName_Terr[2][] = { "Terrorist""Counter-Terrorist" }
new const 
szTeamName_CT[2][] = { "Counter-Terrorist""Terrorist" }

// Fonksiyonlar
#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.2""ALBERT BROOKS + ÖZEL İSTEK")

    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ACCESS_FLAG"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ACCESS_FLAG"Skoru sıfırlar")
    register_concmd("amx_skorduzelt_t""Command_AdjustScore_T"ACCESS_FLAG"<deger> kadar T skorunu düzeltir")
    register_concmd("amx_skorduzelt_ct""Command_AdjustScore_CT"ACCESS_FLAG"<deger> kadar CT skorunu düzeltir")

    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")
}

// --- Komutlar ---
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%s !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"EOSM_TAGGetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g%s !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir."EOSM_TAG)
    }
    return PLUGIN_HANDLED
}

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

    
if (g_bScoreStartedOnce) {
        chat_color(id"!g%s !ySkor sayma sistemi zaten baslatildi! Bu komut tekrar kullanilamaz."EOSM_TAG)
        return PLUGIN_HANDLED
    
}

    g_bScoreStartedOnce true
    g_bScoreTrackingEnabled 
true

    
new admin_name[32]
    get_user_name(idadmin_namecharsmax(admin_name))
    chat_color(0"!g%s !t%s !yskor sayma sistemini !gaktiflestirdi!y."EOSM_TAGadmin_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_namecharsmax(admin_name))
    chat_color(0"!g%s !t%s !yskor tablosunu !gsifirladi!y."EOSM_TAGadmin_name)

    return PLUGIN_HANDLED
}

public 
Command_AdjustScore_T(idlevelcid) {
    if (!cmd_access(idlevelcid2))
        return PLUGIN_HANDLED

    
new arg[8]
    read_argv(1argcharsmax(arg))
    new value str_to_num(arg)

    g_iTerrScore += value
    
if (g_iTerrScore 0)
        g_iTerrScore 0

    chat_color
(0"!g%s !t%s !yskoru duzeltildi. Yeni skor: !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScore)
    return PLUGIN_HANDLED
}

public 
Command_AdjustScore_CT(idlevelcid) {
    if (!cmd_access(idlevelcid2))
        return PLUGIN_HANDLED

    
new arg[8]
    read_argv(1argcharsmax(arg))
    new value str_to_num(arg)

    g_iCTScore += value
    
if (g_iCTScore 0)
        g_iCTScore 0

    chat_color
(0"!g%s !t%s !yskoru duzeltildi. Yeni skor: !g%d"EOSM_TAGGetTeamNameCT(), g_iCTScore)
    return PLUGIN_HANDLED
}

// --- Oyun Eventleri ---
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%s !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    chat_color(0"!g%s !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"EOSM_TAGGetTeamNameT(), 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) {
        for (new 03i++)
        chat_color(0"!g%s !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"EOSM_TAGg_iCTScoreg_iTerrScore)
        chat_color(0"!g%s !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"EOSM_TAGg_iCTScoreg_iTerrScore)
        chat_color(0"!g%s !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"EOSM_TAGg_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        for (new 03i++)
        chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreg_iCTScore)
        chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreg_iCTScore)
        chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreg_iCTScore)        
        g_bScoreTrackingEnabled 
false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        for (new 03i++)
        chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameCT(), g_iCTScoreg_iTerrScore)
        chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameCT(), g_iCTScoreg_iTerrScore)
        chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

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

// --- Chat Color Yardımcı Fonksiyonu ---
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()
        }
    }

Advanced Plug-in & Animated Model Tasarımı
Son Düzenleme: 25-04-2025, 12:26, Düzenleyen: fernpasha.
#5
@"pFer" Hocam sistem çalışıyor ama 15. el sonunda devre sistemiyle çakışıyor skor silince 15. elde takım ismi değiştirmeyle vs. saçmalıyor sistem tam bakar mısın oraya da
Yani örneğin 15. elden sonra amx_skorduzelt_t komutu skorda ct'ye ekleme yapıyor.
Son Düzenleme: 25-04-2025, 15:09, Düzenleyen: john80.Son Düzenleme: 25-04-2025, 15:09, Düzenleyen: john80.
#6
(25-04-2025, 15:06)john80 Adlı Kullanıcıdan Alıntı: @"pFer"  Hocam sistem çalışıyor ama 15. el sonunda devre sistemiyle çakışıyor skor silince 15. elde takım ismi değiştirmeyle vs. saçmalıyor sistem tam bakar mısın oraya da
Yani örneğin 15. elden sonra amx_skorduzelt_t komutu skorda ct'ye ekleme yapıyor.

Tabii bakarım. Ama önce diğer arkadaşımızın çözümünü de bir deneyin. Ben de olmazsa diye bu şikayetinizin üstüne yoğunlaşayım.

(25-04-2025, 15:36)pFer Adlı Kullanıcıdan Alıntı:
(25-04-2025, 15:06)john80 Adlı Kullanıcıdan Alıntı: @"pFer"  Hocam sistem çalışıyor ama 15. el sonunda devre sistemiyle çakışıyor skor silince 15. elde takım ismi değiştirmeyle vs. saçmalıyor sistem tam bakar mısın oraya da
Yani örneğin 15. elden sonra amx_skorduzelt_t komutu skorda ct'ye ekleme yapıyor.

Tabii bakarım. Ama önce diğer arkadaşımızın çözümünü de bir deneyin. Ben de olmazsa diye bu şikayetinizin üstüne yoğunlaşayım.

Anladığım kadarıyla 15. elden sonra amx_skordüzelt_t kullanılınca o an CT takımına, amx_skordüzelt_ct kullanılınca o an T takımına ekleme ya da çıkarma yapılıyor bu da karışıklığa yol açıyor. Bunu fixleyen bir çalışma yaptım.
compiled but not tested

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

// --- Ayarlanabilir Sabitler ---
#define EOSM_TAG        "[EOSM]"        // Plugin tagı
#define ACCESS_FLAG     ADMIN_BAN       // Komut yetkisi

// --- Global Değişkenler ---
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

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.2""ALBERT BROOKS + fernpasha")

    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ACCESS_FLAG"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ACCESS_FLAG"Skoru sıfırlar")
    register_concmd("amx_skorduzelt_t""Command_AdjustScore_T"ACCESS_FLAG"<deger> kadar T skorunu düzeltir")
    register_concmd("amx_skorduzelt_ct""Command_AdjustScore_CT"ACCESS_FLAG"<deger> kadar CT skorunu düzeltir")

    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")
}

// --- Komutlar ---
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%s !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"EOSM_TAGGetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g%s !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir."EOSM_TAG)
    }
    return PLUGIN_HANDLED
}

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

    
if (g_bScoreStartedOnce) {
        chat_color(id"!g%s !ySkor sayma sistemi zaten baslatildi! Bu komut tekrar kullanilamaz."EOSM_TAG)
        return PLUGIN_HANDLED
    
}

    g_bScoreStartedOnce true
    g_bScoreTrackingEnabled 
true

    
new admin_name[32]
    get_user_name(idadmin_namecharsmax(admin_name))
    chat_color(0"!g%s !t%s !yskor sayma sistemini !gaktiflestirdi!y."EOSM_TAGadmin_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_namecharsmax(admin_name))
    chat_color(0"!g%s !t%s !yskor tablosunu !gsifirladi!y."EOSM_TAGadmin_name)

    return PLUGIN_HANDLED
}

public 
Command_AdjustScore_T(idlevelcid) {
    if (!cmd_access(idlevelcid2))
        return PLUGIN_HANDLED

    
new arg[8]
    read_argv(1argcharsmax(arg))
    new value str_to_num(arg)

    if (g_bTeamsSwitched)
        g_iCTScore += value
    
else
        g_iTerrScore += value

    
if (g_iTerrScore 0g_iTerrScore 0
    
if (g_iCTScore 0g_iCTScore 0

    chat_color
(0"!g%s !t%s !yskoru duzeltildi. Yeni skor: !g%d"EOSM_TAGGetTeamNameT(), g_bTeamsSwitched g_iCTScore g_iTerrScore)
    return PLUGIN_HANDLED
}

public 
Command_AdjustScore_CT(idlevelcid) {
    if (!cmd_access(idlevelcid2))
        return PLUGIN_HANDLED

    
new arg[8]
    read_argv(1argcharsmax(arg))
    new value str_to_num(arg)

    if (g_bTeamsSwitched)
        g_iTerrScore += value
    
else
        g_iCTScore += value

    
if (g_iTerrScore 0g_iTerrScore 0
    
if (g_iCTScore 0g_iCTScore 0

    chat_color
(0"!g%s !t%s !yskoru duzeltildi. Yeni skor: !g%d"EOSM_TAGGetTeamNameCT(), g_bTeamsSwitched g_iTerrScore g_iCTScore)
    return PLUGIN_HANDLED
}

// --- Round Başlangıcı ---
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%s !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

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

// --- Round Sonu Kazanan Takım Tespiti ---
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()
}

// --- Oyun Bitiş Kontrolü ---
public CheckGameEnd() {
    if (g_iRoundCount == 15) {
        g_bTeamsSwitched true
    
}

    if (g_iTerrScore == 15 && g_iCTScore == 15) {
        for (new 03i++)
            chat_color(0"!g%s !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"EOSM_TAGg_iCTScoreg_iTerrScore)

        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        for (new 03i++)
            chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreg_iCTScore)

        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        for (new 03i++)
            chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameCT(), g_iCTScoreg_iTerrScore)

        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

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

// --- Renkli Yazı Fonksiyonu ---
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()
        }
    }

Advanced Plug-in & Animated Model Tasarımı
Son Düzenleme: 25-04-2025, 15:43, Düzenleyen: fernpasha.
#7
@"pFer" Hocam kodsal problem düzeldi sadece tek eksik kaldı o da 15. elden sonra skoru düzeltiyoruz ama sadece TAKIM İSMİ eskide kalıyor. Yani 15. elden sonra ct takımının skorunu düzeltiyorum ama say olarak terrorist takımının skoru düzeltildi yazıyor. Skor ve kodsal olarak doğru sadece takım ismi.
#8
@john80 hocam selamlar.
Şehirdışına çıktım. Bu sebepten verilerime pazartesi gününe kadar erişimim yok. Yardımcı olmaya çalışırken tüm çalışmalarımın *not compiled & tested* olarak işaretleneceğini bilin. Konumuza dönecek olursak isteğinizi uygulayıp dönüş yapacağım.
Advanced Plug-in & Animated Model Tasarımı
#9
@"pFer" Ben deniyorum senin yerine hocam hiçbir problem yok sen ayarlayıp atarsan bana yeterli.
#10
(25-04-2025, 18:21)john80 Adlı Kullanıcıdan Alıntı: @"pFer" Ben deniyorum senin yerine hocam hiçbir problem yok sen ayarlayıp atarsan bana yeterli.

Tam kod olarak vereceğim ancak say kısımlarını sonradan değiştirmişsiniz. Bu değişiklikleri bir yere kaydedin. Tam eklentiyi paylaştıktan sonra tekrar değiştirmeniz gerekebilir.

(25-04-2025, 18:21)john80 Adlı Kullanıcıdan Alıntı: @"pFer" Ben deniyorum senin yerine hocam hiçbir problem yok sen ayarlayıp atarsan bana yeterli.

Bunu dener misiniz?

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

// === Ayarlanabilir Sabitler ===
#define EOSM_TAG        "[EOSM]"        // Plugin tagı
#define ACCESS_FLAG     ADMIN_BAN       // Komut yetkisi (örnek: ADMIN_KICK)

// === Global Değişkenler ===
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

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.2""ALBERT BROOKS + fernpasha")

    register_clcmd("amx_skor""Command_Score"0"Skorları gösterir")
    register_concmd("amx_skorbaslat""Command_StartScoring"ACCESS_FLAG"Skor saymayı başlatır")
    register_concmd("amx_skorsifirla""Command_ResetScoring"ACCESS_FLAG"Skoru sıfırlar")
    register_concmd("amx_skorduzelt_t""Command_AdjustScore_T"ACCESS_FLAG"<deger> kadar T skorunu düzeltir")
    register_concmd("amx_skorduzelt_ct""Command_AdjustScore_CT"ACCESS_FLAG"<deger> kadar CT skorunu düzeltir")

    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")
}

// === Komutlar ===

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%s !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"EOSM_TAGGetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScoreg_iRoundCount)
    } else {
        chat_color(0"!g%s !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir."EOSM_TAG)
    }
    return PLUGIN_HANDLED
}

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

    if (g_bScoreStartedOnce) {
        chat_color(id"!g%s !ySkor sayma sistemi zaten baslatildi! Bu komut tekrar kullanilamaz."EOSM_TAG)
        return PLUGIN_HANDLED;
    }

    g_bScoreStartedOnce true;
    g_bScoreTrackingEnabled true;

    new admin_name[32]
    get_user_name(idadmin_namecharsmax(admin_name))
    chat_color(0"!g%s !t%s !yskor sayma sistemini !gaktiflestirdi!y."EOSM_TAGadmin_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_namecharsmax(admin_name))
    chat_color(0"!g%s !t%s !yskor tablosunu !gsifirladi!y."EOSM_TAGadmin_name)

    return PLUGIN_HANDLED
}

public 
Command_AdjustScore_T(idlevelcid) {
    if (!cmd_access(idlevelcid2))
        return PLUGIN_HANDLED;

    new arg[8];
    read_argv(1argcharsmax(arg));
    new value str_to_num(arg);

    if (g_bTeamsSwitched)
        g_iCTScore += value;
    else
        g_iTerrScore += value;

    if (g_iTerrScore 0g_iTerrScore 0;
    if (g_iCTScore 0g_iCTScore 0;

    chat_color(0"!g%s !tTerrorist !yskoru duzeltildi. Yeni skor: !g%d"EOSM_TAGg_bTeamsSwitched g_iCTScore g_iTerrScore)
    return PLUGIN_HANDLED;
}

public 
Command_AdjustScore_CT(idlevelcid) {
    if (!cmd_access(idlevelcid2))
        return PLUGIN_HANDLED;

    new arg[8];
    read_argv(1argcharsmax(arg));
    new value str_to_num(arg);

    if (g_bTeamsSwitched)
        g_iTerrScore += value;
    else
        g_iCTScore += value;

    if (g_iTerrScore 0g_iTerrScore 0;
    if (g_iCTScore 0g_iCTScore 0;

    chat_color(0"!g%s !tCounter-Terrorist !yskoru duzeltildi. Yeni skor: !g%d"EOSM_TAGg_bTeamsSwitched g_iTerrScore g_iCTScore)
    return PLUGIN_HANDLED;
}

// === Event Fonksiyonları ===

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%s !yIlk devre !tbitti! !yToplam Skor: !t%s: !g%d !t%s: !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreGetTeamNameCT(), g_iCTScore)
    }

    chat_color(0"!g%s !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!"EOSM_TAGGetTeamNameT(), 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) {
        for (new 03i++)
            chat_color(0"!g%s !yMac !tberabere !ybitti! Toplam skor: !g%d !y-- !g%d"EOSM_TAGg_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iTerrScore == 16) {
        for (new 03i++)
            chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameT(), g_iTerrScoreg_iCTScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
    else if (g_iCTScore == 16) {
        for (new 03i++)
            chat_color(0"!g%s !t%s !ytakimi maci !tkazandi!y! Toplam skor: !g%d !y-- !g%d"EOSM_TAGGetTeamNameCT(), g_iCTScoreg_iTerrScore)
        g_bScoreTrackingEnabled false
        set_cvar_num
("sv_restart"5)
    }
}

public 
Event_GameRestart() {
    // Restart ile skor sıfırlanmaz
}

// === Renkli Chat Yardımcı Fonksiyonu ===

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()
        }
    }

Advanced Plug-in & Animated Model Tasarımı
Son Düzenleme: 25-04-2025, 18:33, Düzenleyen: fernpasha.

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

Yorum yapmak için üye olmanız gerekiyor

ya da
Task