tur sistemi 30 tur dolunca , ekran kararsın ve yüklü olan maplerden otomatik oylama başlatsın tur sistemine ekliyebilicek varmı eklentiyi paylaştım
tur sistemi 30 tur
)

/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <reapi>
#define PLUGIN "CSGO / Pro Tur Sistemi"
#define VERSION "1.0"
#define AUTHOR "MoruQ*"
#define TASK_DEGISIM 004
new tur
new skor_t
new skor_ct
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("tur_sistemi",AUTHOR,FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
register_event("TextMsg", "isinma", "a", "2=#Game_will_restart_in")
register_event("HLTV", "tur_basi", "a", "1=0", "2=0")
register_logevent("tur_sonu", 2, "1=Round_End")
register_event("SendAudio", "CT_Win", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "T_Win", "a", "2&%!MRAD_terwin");
}
public client_putinserver(id)
{
set_task(1.0, "HudGoster", id, _, _, "b");
}
public client_disconnected(id)
{
remove_task(id);
}
public isinma()
{
tur = 0
skor_ct = 0
skor_t = 0
}
public tur_basi()
{
tur++
if(tur == 16) {
for(new i = 1; i <= MaxClients; i++) {
if(is_user_alive(i)) {
rg_remove_all_items(i);
rg_give_item(i, "weapon_knife");
get_member(i, m_iTeam) == TEAM_TERRORIST ? rg_give_item(i, "weapon_glock18"):rg_give_item(i, "weapon_usp");
}
}
set_task(0.2, "Reset");
}
renkli_yazi(0, "!g[HomeLandClan] !tRound: !g%d !t/ !g30", tur)
}
public Reset(id) {
for(new i = 1; i <= MaxClients; i++) {
if(is_user_connected(i)) {
cs_set_user_money(i, 800);
}
}
}
public tur_sonu()
{
if(tur >= 30)
{
// Tüm oyuncuların ekranını karart (ScreenFade)
for(new i = 1; i <= MaxClients; i++) {
if(is_user_connected(i)) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0,0,0}, i);
write_short(1<<12); // Süre
write_short(1<<12); // Tutma süresi
write_short(0x0000); // Bayrak (0 = Dışarıdan içeri kararma)
write_byte(0); // Kırmızı
write_byte(0); // Yeşil
write_byte(0); // Mavi
write_byte(255); // Alpha (Saydamlık)
message_end();
}
}
renkli_yazi(0, "!g[HomeLandClan]!t 30 Tur Tamamlandi! Oylama Basliyor...")
// 2 saniye sonra oylamayı başlat (Oylama eklentini tetikler)
set_task(2.0, "OylamaBaslat")
}
if(tur == 15)
{
set_task(1.0, "takimlari_degis", TASK_DEGISIM)
}
}
public OylamaBaslat()
{
// Sunucuda yüklü olan oylama sistemini tetikler
// Eğer galileo veya başka bir mapchooser varsa komutu ona göre güncelleyebiliriz
server_cmd("amx_votemap");
}
public takimlari_degis()
{
new players[32], num
get_players(players, num)
new player
for(new i = 0; i < num; i++)
{
player = players[i]
if(cs_get_user_team(player) == CS_TEAM_T)
cs_set_user_team(player, CS_TEAM_CT)
else if(cs_get_user_team(player) == CS_TEAM_CT)
cs_set_user_team(player, CS_TEAM_T)
cs_set_user_money(player, 800);
}
skor_t = 0
skor_ct = 0
renkli_yazi(0, "!g[HomeLandClan]!t Devre Arasi: Takimlar Degistirildi.")
remove_task(TASK_DEGISIM)
}
public T_Win() { skor_t++; }
public CT_Win() { skor_ct++; }
public HudGoster()
{
set_dhudmessage(255, 255, 255, -1.0, 0.01, 0, 0.0, 1.1, 0.0, 0.0)
show_dhudmessage(0, "%d / 30", tur)
set_hudmessage(255, 255, 255, -1.0, 0.05, 0, 0.0, 1.1, 0.0, 0.0)
show_hudmessage(0, "CT: %d | T: %d", skor_ct, skor_t)
}
stock renkli_yazi(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, sizeof(msg) - 1, input, 3)
replace_all(msg, 190, "!n", "^x01")
replace_all(msg, 190, "!g", "^x04")
replace_all(msg, 190, "!t", "^x03")
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()
}
}
}/* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <cstrike>
#include <reapi>
#define PLUGIN "CSGO / Pro Tur Sistemi + Oylama"
#define VERSION "2.0"
#define AUTHOR "MR.Ceyhun"
#define TASK_DEGISIM 004
#define TASK_MAPCHANGE 005
new tur
new skor_t
new skor_ct
new bool:g_OylamaBitti = false
// Harita Listesi
new const g_MapList[][] = {
"csgo_homeland_dust2mini",
"csgo_dust2_long",
"csgo2_dust2",
"csgo2_mirage",
"csgo2_nuke",
"csgo2_inferno",
"csgo2_cache",
"csgo2_overpass",
"csgo_cache2x2",
"csgo_awp_lego"
}
new g_MapVotes[sizeof g_MapList]
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR)
register_cvar("tur_sistemi", AUTHOR, FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
register_event("TextMsg", "isinma", "a", "2=#Game_will_restart_in")
register_event("HLTV", "tur_basi", "a", "1=0", "2=0")
register_logevent("tur_sonu", 2, "1=Round_End")
register_event("SendAudio", "CT_Win", "a", "2&%!MRAD_ctwin");
register_event("SendAudio", "T_Win", "a", "2&%!MRAD_terwin");
}
public client_putinserver(id)
{
set_task(1.0, "HudGoster", id, _, _, "b");
}
public client_disconnected(id)
{
remove_task(id);
}
public isinma()
{
tur = 0
skor_ct = 0
skor_t = 0
g_OylamaBitti = false
}
public tur_basi()
{
tur++
if(tur == 16) {
for(new i = 1; i <= MaxClients; i++) {
if(is_user_alive(i)) {
rg_remove_all_items(i);
rg_give_item(i, "weapon_knife");
get_member(i, m_iTeam) == TEAM_TERRORIST ? rg_give_item(i, "weapon_glock18"):rg_give_item(i, "weapon_usp");
}
}
set_task(0.2, "Reset");
}
renkli_yazi(0, "!g[HomeLandClan] !tRound: !g%d !t/ !g30", tur)
}
public Reset(id) {
for(new i = 1; i <= MaxClients; i++) {
if(is_user_connected(i)) {
cs_set_user_money(i, 800);
}
}
}
public tur_sonu()
{
if(tur >= 30)
{
// Tüm oyuncuların ekranını KALICI olarak karart
EkranKarart();
renkli_yazi(0, "!g[HomeLandClan]!t 30 Tur Tamamlandi! Karanlikta Oylama Basliyor...")
// 2 saniye bekleyip oylamayı aç
set_task(2.0, "OylamaMenusuAc")
}
if(tur == 15)
{
set_task(1.0, "takimlari_degis", TASK_DEGISIM)
}
}
public EkranKarart()
{
for(new i = 1; i <= MaxClients; i++) {
if(is_user_connected(i)) {
message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("ScreenFade"), {0,0,0}, i);
write_short(1<<12); // Kararma süresi
write_short(1<<12); // Açılma süresi (Kalıcı modda etkisizdir)
write_short(0x0004); // FFADE_STAYOUT (Ekranı karanlık tutar)
write_byte(0); // R
write_byte(0); // G
write_byte(0); // B
write_byte(255); // Alpha
message_end();
}
}
}
public OylamaMenusuAc()
{
new menu = menu_create("\yHomeLandClan \w- Yeni Harita Oylamasi", "Oylama_Handler")
new szItem[64], szNum[3]
for(new i = 0; i < sizeof g_MapList; i++) {
num_to_str(i, szNum, charsmax(szNum))
formatex(szItem, charsmax(szItem), "\w%s", g_MapList[i])
menu_additem(menu, szItem, szNum)
}
menu_setprop(menu, MPROP_EXIT, MEXIT_NEVER) // Çıkış butonu yok
for(new i = 1; i <= MaxClients; i++) {
if(is_user_connected(i)) {
menu_display(i, menu, 0)
}
}
set_task(10.0, "OylamaSonuclandir") // 10 saniye oylama süresi
}
public Oylama_Handler(id, menu, item)
{
if(item == MENU_EXIT || g_OylamaBitti) return PLUGIN_HANDLED;
new data[6], szName[64], access, callback
menu_item_getinfo(menu, item, access, data, charsmax(data), szName, charsmax(szName), callback)
new voteid = str_to_num(data)
g_MapVotes[voteid]++
get_user_name(id, szName, charsmax(szName))
renkli_yazi(0, "!g[HomeLandClan] !t%s !g%s !tharitasina oy verdi.", szName, g_MapList[voteid])
return PLUGIN_HANDLED;
}
public OylamaSonuclandir()
{
g_OylamaBitti = true
show_menu(0, 0, "^n", 1) // Menüleri kapat
new best_map = 0, max_votes = -1
for(new i = 0; i < sizeof g_MapList; i++) {
if(g_MapVotes[i] > max_votes) {
max_votes = g_MapVotes[i]
best_map = i
}
}
renkli_yazi(0, "!g[HomeLandClan] !tOylama Bitti! Kazanan: !g%s", g_MapList[best_map])
renkli_yazi(0, "!g[HomeLandClan] !tHarita 5 saniye icinde degisiyor...")
set_task(5.0, "HaritayiDegis", best_map)
}
public HaritayiDegis(mapid)
{
server_cmd("changelevel %s", g_MapList[mapid])
}
public takimlari_degis()
{
new players[32], num
get_players(players, num)
new player
for(new i = 0; i < num; i++)
{
player = players[i]
if(cs_get_user_team(player) == CS_TEAM_T)
cs_set_user_team(player, CS_TEAM_CT)
else if(cs_get_user_team(player) == CS_TEAM_CT)
cs_set_user_team(player, CS_TEAM_T)
cs_set_user_money(player, 800);
}
skor_t = 0
skor_ct = 0
renkli_yazi(0, "!g[HomeLandClan]!t Devre Arasi: Takimlar Degistirildi.")
remove_task(TASK_DEGISIM)
}
public T_Win() { skor_t++; }
public CT_Win() { skor_ct++; }
public HudGoster()
{
set_dhudmessage(255, 255, 255, -1.0, 0.01, 0, 0.0, 1.1, 0.0, 0.0)
show_dhudmessage(0, "%d / 30", tur)
set_hudmessage(255, 255, 255, -1.0, 0.05, 0, 0.0, 1.1, 0.0, 0.0)
show_hudmessage(0, "CT: %d | T: %d", skor_ct, skor_t)
}
stock renkli_yazi(const id, const input[], any:...)
{
new count = 1, players[32]
static msg[191]
vformat(msg, sizeof(msg) - 1, input, 3)
replace_all(msg, 190, "!n", "^x01")
replace_all(msg, 190, "!g", "^x04")
replace_all(msg, 190, "!t", "^x03")
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()
}
}
}(04-02-2026, 18:07)4kr0 Adlı Kullanıcıdan Alıntı: İstediğinin, haritaların fare imleci ile seçilebilen eklentisi var. Süre ya da Round limiti belirlenebiliniyor. Pluginin map kısmını denemedim, cursor ile işim oldu, cs içerisinde güzel bir deneyim oluyor. Uğraşmak gerek tabi. "Map Manager Modular AMXX" diye aratırsanız çıkıyor, link verilir mi bilemedim.bu eklentiden mi bahsediyorsunuz
(04-02-2026, 18:11)ceyhun.yazicii Adlı Kullanıcıdan Alıntı:(04-02-2026, 18:07)4kr0 Adlı Kullanıcıdan Alıntı: İstediğinin, haritaların fare imleci ile seçilebilen eklentisi var. Süre ya da Round limiti belirlenebiliniyor. Pluginin map kısmını denemedim, cursor ile işim oldu, cs içerisinde güzel bir deneyim oluyor. Uğraşmak gerek tabi. "Map Manager Modular AMXX" diye aratırsanız çıkıyor, link verilir mi bilemedim.bu eklentiden mi bahsediyorsunuz