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.
Konu
(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(id, level, cid){
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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_iRoundCount)
} else {
chat_color(0, "!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
}
return PLUGIN_HANDLED
}
public Command_StartScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
chat_color(0, "!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y.", admin_name)
return PLUGIN_HANDLED
}
public Command_ResetScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
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_iTerrScore, GetTeamNameCT(), 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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_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_iCTScore, g_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_iTerrScore, g_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_iCTScore, g_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 = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch");
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
(18-04-2025, 23:02)pFer Adlı Kullanıcıdan Alıntı: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.(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 testedPHP 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(id, level, cid){
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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_iRoundCount)
} else {
chat_color(0, "!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
}
return PLUGIN_HANDLED
}
public Command_StartScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
chat_color(0, "!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y.", admin_name)
return PLUGIN_HANDLED
}
public Command_ResetScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
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_iTerrScore, GetTeamNameCT(), 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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_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_iCTScore, g_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_iTerrScore, g_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_iCTScore, g_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 = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch");
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
(18-04-2025, 23:08)john80 Adlı Kullanıcıdan Alıntı:Ö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(18-04-2025, 23:02)pFer Adlı Kullanıcıdan Alıntı: @john80Hocam 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.
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 testedPHP 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(id, level, cid){
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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_iRoundCount)
} else {
chat_color(0, "!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
}
return PLUGIN_HANDLED
}
public Command_StartScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
chat_color(0, "!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y.", admin_name)
return PLUGIN_HANDLED
}
public Command_ResetScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
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_iTerrScore, GetTeamNameCT(), 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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_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_iCTScore, g_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_iTerrScore, g_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_iCTScore, g_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 = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch");
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
İyi Forumlar.
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
(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(id, level, cid){
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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_iRoundCount)
} else {
chat_color(0, "!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
}
return PLUGIN_HANDLED
}
public Command_StartScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
chat_color(0, "!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y.", admin_name)
return PLUGIN_HANDLED
}
public Command_ResetScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
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_iTerrScore, GetTeamNameCT(), 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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_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_iCTScore, g_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_iTerrScore, g_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_iCTScore, g_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 = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch");
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
(18-04-2025, 23:23)pFer 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(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(id, level, cid){
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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_iRoundCount)
} else {
chat_color(0, "!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
}
return PLUGIN_HANDLED
}
public Command_StartScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
chat_color(0, "!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y.", admin_name)
return PLUGIN_HANDLED
}
public Command_ResetScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
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_iTerrScore, GetTeamNameCT(), 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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_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_iCTScore, g_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_iTerrScore, g_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_iCTScore, g_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 = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch");
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
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.
(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?
(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(id, level, cid){
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_iTerrScore, GetTeamNameCT(), g_iCTScore, g_iRoundCount)
} else {
chat_color(0, "!g[EOSM] !ySkor sayma sistemi baslatilmadi. Yetkili tarafindan !g/skorbaslat !ykomutu ile baslatilmalidir.")
}
return PLUGIN_HANDLED
}
public Command_StartScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
chat_color(0, "!g[EOSM] !t%s!y: Skor sayma sistemini !taktiflestirdi!y.", admin_name)
return PLUGIN_HANDLED
}
public Command_ResetScoring(id, level, cid) {
if (!cmd_access(id, level, cid, 1))
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(id, admin_name, 31)
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_iTerrScore, GetTeamNameCT(), g_iCTScore)
}
chat_color(0, "!g[EOSM] !t%s: !g%d !t%s: !g%d !y------------> !g%d. !yEl oynaniyor!", GetTeamNameT(), g_iTerrScore, GetTeamNameCT(), g_iCTScore, g_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_iCTScore, g_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_iTerrScore, g_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_iCTScore, g_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 = 1, players[32]
static msg[191]
vformat(msg, 190, input, 3)
replace_all(msg, 190, "!g", "^4")
replace_all(msg, 190, "!y", "^1")
replace_all(msg, 190, "!t", "^3")
replace_all(msg, 190, "!team2", "^0")
if (id) players[0] = id; else get_players(players, count, "ch");
for (new i = 0; i < count; i++) {
if (is_user_connected(players[i])) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"), _, players[i])
write_byte(players[i])
write_string(msg)
message_end()
}
}
}
Benzer Konular
Yorum
1.058
Okunma
03-02-2026, 22:48
)


