1. sayfa (Toplam 1 sayfa)

Mapchooser Hata

Gönderilme zamanı: Cum Oca 25, 2019 3:53 pm
gönderen Xau
Plugini yüklerken client_print_color hatası alıyorum yardım edin

Kod: Tümünü seç

#include <amxmodx>
#include <reapi>

#pragma semicolon 1

// ========== www.CSDuragi.com ==========
// Bu eklentinin orjinali BlackSmoke adli yazara aittir.  Yek'-ta (CSmiLeg_oylar) nin gelistirdigi versiyonun biraz editlenmis ve yeniden kodlanmis halidir.
// Eklenti yapilirken onceki surum kodlari kullanilmistir.
// 1.8.3 versiyonuna uyumlu yazilmistir.
// ========== www.CSDuragi.com ==========

#define g_oylamazamani 20 // Burayi sunucunuza gore ayarlayiniz
new const tag[] = "CSDuragi.com";  // Burayi sunucunuza gore ayarlayiniz
new const yuzdeisareti[] = "Yüzde"; //Yuzde isareti hudmessage de gorunmedigi icin boyle yazmasi daha uygun.

new cvar_bironcekiharita, cvar_ondanbironcekiharita, cvar_ondanbirbironcekiharita, cvar_amx_nextmap, elsonunubekle, oylamabaslat,
haritalistesi,bironcekiharita[32], ondanbironcekiharita[32],  ondanbirbironcekiharita[32], amx_nextmap[32], mp_timelimit,  suankimap[32],
g_oylamazamanid[33], haritaisimleri[250][250], LeFa[6], g_oylar[6], bool:g_oylama, g_yuzdelikoran, bool:g_oylandi[33], secilenharita[64],
g_tumoylar, Float:g_saniye[33], g_haritalar, bool:g_hasrtv[33], g_rtvsayisi, HookChain:PreThink, HookChain:RoundEnd, timelimit, thetime;

public plugin_init() {
	register_plugin("MapChooser", "1.0", "PurposeLess");

	register_clcmd("say /rtv", "cmd_oylamabaslat");
	register_clcmd("say .rtv", "cmd_oylamabaslat");
	register_clcmd("say /oylamabaslat", "cmd_oylamabaslat");
	register_clcmd("say .oylamabaslat", "cmd_oylamabaslat");
	register_clcmd("say /haritalar", "cmd_haritalistesi");
	register_clcmd("say .haritalar", "cmd_haritalistesi");
	register_clcmd("say nextmap", "cmd_nextmap");
	register_clcmd("say thetime", "cmd_thetime");
	register_clcmd("say currentmap", "cmd_currentmap");

	register_menucmd(register_menuid("HaritaOylamasi"), 1023, "harita_oylamasi_handler");

	elsonunubekle = register_cvar("csm_elsonunubekle", "1");
	oylamabaslat = register_cvar("csm_oylamabaslat", "1");
	haritalistesi = register_cvar("csm_haritalistesi", "1");
	timelimit = register_cvar("csm_timelimit", "1");
	thetime = register_cvar("csm_thetime", "1");
	cvar_bironcekiharita = register_cvar("csm_bironcekiharita", "YOK");
	cvar_ondanbironcekiharita = register_cvar("csm_ondanbironcekiharita", "YOK");
	cvar_ondanbirbironcekiharita = register_cvar("csm_ondanbirbironcekiharitacevir", "YOK");
	cvar_amx_nextmap = register_cvar("amx_nextmap", "YOK");

	mp_timelimit = get_cvar_pointer("mp_timelimit");

	get_mapname(suankimap, charsmax(suankimap));
	format(secilenharita, charsmax(secilenharita), "");

	get_pcvar_string(cvar_bironcekiharita, bironcekiharita, charsmax(bironcekiharita));
	get_pcvar_string(cvar_ondanbironcekiharita, ondanbironcekiharita, charsmax(ondanbironcekiharita));
	get_pcvar_string(cvar_ondanbirbironcekiharita, ondanbirbironcekiharita, charsmax(ondanbirbironcekiharita));
	get_pcvar_string(cvar_amx_nextmap, amx_nextmap, charsmax(amx_nextmap));
	set_pcvar_string(cvar_ondanbirbironcekiharita, ondanbironcekiharita);
	set_pcvar_string(cvar_ondanbironcekiharita,bironcekiharita);
	set_pcvar_string(cvar_bironcekiharita, suankimap);

	DisableHookChain((PreThink = RegisterHookChain(RG_CBasePlayer_PreThink, "RGC_PreThink")));
	DisableHookChain((RoundEnd = RegisterHookChain(RG_RoundEnd, "RGC_RoundEnd")));

	set_task(45.0, "ClCmdVote", _, _, _, "d");
}

public plugin_natives()
{
	register_native("HaritaOyla", "ClCmdVote", 1);
}

public harita_oylamasi(id)
{
	if(!g_oylama)
	{
		return PLUGIN_HANDLED;
	}

	if(g_oylandi[id])
	{
		new yazi[256];
		format(yazi, charsmax(yazi), "Harita Oylama Zamani [%d Saniye]^n", g_oylamazamanid[id]);

		for(new i=0; i < 5; i++)
		{
			format(yazi, charsmax(yazi), "%s^n%d. %s [%s %d]", yazi, i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
		}

		format(yazi, charsmax(yazi), "%s^n^nGeçerli oy sayisi [%d]", yazi, g_tumoylar);
		set_hudmessage(255, 255, 255, 0.0, 0.35, 0, 6.0, 1.0);
		show_hudmessage(id, yazi);
	}
	else
	{
		new menu[512], len, key;
		len = format(menu[len], charsmax(menu) - len, "\yHarita Oylama Zamani^n\dOylamanin bitmesine \r%d \dSaniye^n", g_oylamazamanid[id]);

		for(new i=0; i < 5; i++)
		{
			len += format(menu[len], charsmax(menu) - len, "^n\r%d. \w%s \d[\y%s %d\d]", i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
		}

		len += format(menu[len], charsmax(menu) - len, "^n^n\r0. \wOylamaya Katilma");
		len += format(menu[len], charsmax(menu) - len, "^n^n\yGeçerli oy sayisi: \r%d", g_tumoylar);

		key |= MENU_KEY_0|MENU_KEY_1|MENU_KEY_2|MENU_KEY_3|MENU_KEY_4|MENU_KEY_5;
		show_menu(id, key, menu, -1, "HaritaOylamasi");
	}
	return PLUGIN_HANDLED;
}

public harita_oylamasi_handler(id, key)
{
	if(!(g_oylama && !g_oylandi[id]))
	{
		return PLUGIN_HANDLED;
	}

	new name[32];
	get_user_name(id, name, charsmax(name));

	if(key == 9)
	{
		client_print_color(id, id, "^1[^4%s^1] ^3%s ^4oylamaya ^3katilmadi^1.", tag, name);
		g_oylandi[id] = true;
		return PLUGIN_HANDLED;
	}
	g_tumoylar++;
	g_oylar[key]++;
	client_cmd(id, "spk Gman/gman_noreg");
	g_oylandi[id] = true;
	client_print_color(id, id, "^1[^4%s^1] ^3%s ^4oyuncusunun sectigi harita ^3%s^1.", tag, name, haritaisimleri[LeFa[key]]);
	return PLUGIN_HANDLED;
}

public RGC_PreThink(const id)
{
	g_yuzdelikoran = g_tumoylar ? 100 / g_tumoylar:0;

	if((get_gametime() - g_saniye[id]) >= 1.0)
	{
		if(g_oylamazamanid[id] != 0)
		{
			g_oylamazamanid[id]--;
			harita_oylamasi(id);
			g_saniye[id] = get_gametime();
		}
		else
		{
			show_menu(id, 0, "^n");
			g_oylamazamanid[id] = -1;
			DisableHookChain(PreThink);
		}
	}
}

public ClCmdVote()
{
	client_cmd(0, "spk Gman/gman_choose2");
	server_cmd("mp_timelimit 0");
	haritalari_ayarla();

	new yazi[256];
	format(yazi, charsmax(yazi), "Harita Oylama Zamani[%d Saniye]^n", g_oylamazamani -10);
	set_hudmessage(255, 255, 255, 0.0, 0.35, 2, 6.0, 5.0);
	show_hudmessage(0, yazi);
	set_task(1.0, "oylamaya_kalan", _, _, _, "a", 10);
}

public haritalari_ayarla()
{
	g_haritalar = 0;
	HaritalariYukle();

	if(g_haritalar >= 6)
	{
		LeFa[0] = random_num(1, g_haritalar);
		LeFa[1] = random_num(1, g_haritalar);
		LeFa[2] = random_num(1, g_haritalar);
		LeFa[3] = random_num(1, g_haritalar);
		LeFa[4] = random_num(1, g_haritalar);

		for(new i=0; i<5; i++)
		{
			for(new j=0; j<5; j++)
			{
				if(i == j)
				{
					continue;
				}

				if(LeFa[i] == LeFa[j] || equal(haritaisimleri[LeFa[i]], suankimap) || equal(haritaisimleri[LeFa[i]], ondanbironcekiharita) || equal(haritaisimleri[LeFa[i]], ondanbirbironcekiharita))
				{
					LeFa[i] = random_num(1, g_haritalar);
					i = 0;
				}
			}
		}
	}
}

public HaritalariYukle()
{
	new komutdosyasi[250];
	get_localinfo("amxx_configsdir", komutdosyasi, charsmax(komutdosyasi));
	format(komutdosyasi, charsmax(komutdosyasi), "%s/maps.ini", komutdosyasi);

	new file = fopen(komutdosyasi, "rt");

	new data[182];
	if(file)
	{
		while(!feof(file))
		{
			fgets(file, data, charsmax(data));
			trim(data);

			replace_all(data, charsmax(data), " ", "");

			if(data[0] == ';')
			{
				continue;
			}

			g_haritalar++;
			haritaisimleri[g_haritalar] = data;
		}
		fclose(file);
	}
}

public oylamaya_kalan()
{
	new yazi[256];
	format(yazi, charsmax(yazi), "Harita Oylama Zamani[%d Saniye]^n", g_oylamazamani - 10);

	static timer = 10;
	timer --;
	switch(timer)
	{
		case 0: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasi ^4AKTIF^1.", tag);
			g_oylama = true;
			EnableHookChain(PreThink);
			g_oylar[0] = 0;
			g_oylar[1] = 0;
			g_oylar[2] = 0;
			g_oylar[3] = 0;
			g_oylar[4] = 0;
			arrayset(g_oylar, 0, sizeof(g_oylar));
			arrayset(g_oylamazamanid, g_oylamazamani - 10, 33);
			arrayset(g_oylandi, false, 33);
			set_task(float(g_oylamazamani)-5, "oylamayi_bitir");
			timer = 10;
		}
		case 1: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasinin baslamasina ^4%d saniye^1.", tag, timer);

			for(new i=0; i<5; i++)
			{
				format(yazi, charsmax(yazi), "%s^n%d. %s [%s %d]", yazi, i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
			}

			format(yazi, charsmax(yazi), "%s^n^nGeçerli oy sayisi [%d]", yazi, g_tumoylar);
			set_hudmessage(255, 255, 255, 0.0, 0.35, 0, 6.0, 1.0);
			show_hudmessage(0, yazi);
		}
		case 2: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasinin baslamasina ^4%d saniye^1.", tag, timer);

			for(new i=0; i<4; i++)
			{
				format(yazi, charsmax(yazi), "%s^n%d. %s [%s %d]", yazi, i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
			}

			format(yazi, charsmax(yazi), "%s^n^nGeçerli oy sayisi [%d]", yazi, g_tumoylar);
			set_hudmessage(255, 255, 255, 0.0, 0.35, 0, 6.0, 1.0);
			show_hudmessage(0, yazi);
		}
		case 3: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasinin baslamasina ^4%d saniye^1.", tag, timer);

			for(new i=0; i<3; i++)
			{
				format(yazi, charsmax(yazi), "%s^n%d. %s [%s %d]", yazi, i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
			}

			format(yazi, charsmax(yazi), "%s^n^nGeçerli oy sayisi [%d]", yazi, g_tumoylar);
			set_hudmessage(255, 255, 255, 0.0, 0.35, 0, 6.0, 1.0);
			show_hudmessage(0, yazi);
		}
		case 4: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasinin baslamasina ^4%d saniye^1.", tag, timer);

			for(new i=0; i<2; i++)
			{
				format(yazi, charsmax(yazi), "%s^n%d. %s [%s %d]", yazi, i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
			}

			format(yazi, charsmax(yazi), "%s^n^nGeçerli oy sayisi [%d]", yazi, g_tumoylar);
			set_hudmessage(255, 255, 255, 0.0, 0.35, 0, 6.0, 1.0);
			show_hudmessage(0, yazi);
		}
		case 5: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasinin baslamasina ^4%d saniye^1.", tag, timer);

			for(new i=0; i<1; i++)
			{
				format(yazi, charsmax(yazi), "%s^n%d. %s [%s %d]", yazi, i+1, haritaisimleri[LeFa[i]], yuzdeisareti, g_oylar[i] * g_yuzdelikoran);
			}

			format(yazi, charsmax(yazi), "%s^n^nGeçerli oy sayisi [%d]", yazi, g_tumoylar);
			set_hudmessage(255, 255, 255, 0.0, 0.35, 0, 6.0, 1.0);
			show_hudmessage(0, yazi);
		}
		default: {
			client_print_color(0, 0, "^1[^4%s^1] ^3Harita oylamasinin baslamasina ^4%d saniye^1.", tag, timer);
		}
	}
}

public oylamayi_bitir()
{
	new kazanan = LeFa[0], eniyiharita = g_oylar[0];

	for(new i=0; i<5; i++)
	{
		if(g_oylar[i] > eniyiharita)
		{
			kazanan = LeFa[i];
			eniyiharita = g_oylar[i];
		}
	}
	g_oylama = false;

	format(secilenharita, charsmax(secilenharita), "%s", haritaisimleri[kazanan]);

	if(!is_map_valid(secilenharita))
	{
		g_oylar[0] = 0;
		g_oylar[1] = 0;
		g_oylar[2] = 0;
		g_oylar[3] = 0;
		g_oylar[4] = 0;
		g_tumoylar = 0;
		client_cmd(0, "spk Gman/gman_nowork");
		set_task(5.0, "ClCmdVote");
		client_print_color(0, 0, "^1[^4%s^1] ^3Secilen harita ^1^"^4cstrike/maps^1^" ^4dosyasinda bulunamadi^1.", tag);
		client_print_color(0, 0, "^1[^4%s^1] ^4Harita oylamasi ^3yeniden yapilacaktir^1.", tag);
		return;
	}

	client_print_color(0, 0, "^1[^4%s^1] ^3Sonraki Harita^1: ^4%s", tag, secilenharita);
	set_pcvar_string(cvar_amx_nextmap, secilenharita);

	if(get_pcvar_num(elsonunubekle))
	{
		EnableHookChain(RoundEnd);
		set_dhudmessage( 149,68,0, -1.0, -0.70, 2, 4.0, 11.0, 0.01, 1.5 );
		show_dhudmessage(0, "Sonraki Harita: %s^nHarita el sonunda degisecek", secilenharita);
	}
	else
	{
		set_task(1.0, "changelevel");
	}
}

public changelevel()
{
	server_cmd("mp_timelimit 0");
	set_dhudmessage( 0,255,0, -1.0, -0.40, 0, 11.0, 6.0, 0.1, 1.5 );
	show_dhudmessage(0, "^nHarita %s olarak degistiriliyor", secilenharita);

	new flags;
	for(new i=1; i<MAX_CLIENTS; i++)
	{
		if(!is_user_connected(i)) continue;
		client_cmd(i, "drop;wait;wait;wait;wait;wait;drop;wait;wait;wait;wait;wait;drop");
		flags = get_entvar(i, var_flags);
		set_entvar(i, var_flags, flags | FL_FROZEN);
	}

	set_task(3.5, "changelevel1");
	set_task(6.0, "changelevel2");
}

public changelevel1()
{
	new modismi[10];
	get_modname(modismi, charsmax(modismi));
	if(!equal(modismi, "zp"))
	{
		message_begin(MSG_ALL, SVC_INTERMISSION);
		message_end();
	}
}

public changelevel2()
{
	server_cmd("changelevel %s",  secilenharita);
}

public RGC_RoundEnd()
{
	set_task(1.0, "changelevel");
}

public cmd_oylamabaslat(id)
{
	if(!get_pcvar_num(oylamabaslat))
	{
		return PLUGIN_HANDLED;
	}
	if(g_oylama)
	{
		client_print_color(id, id, "^1[^4%s^1] ^3Zaten ^4oylama ^3yapiliyor^1.", tag);
		return PLUGIN_HANDLED;
	}
	if(g_hasrtv[id])
	{
		client_print_color(id, id, "^1[^4%s^1] ^3Zaten ^4oy vermissiniz^1.", tag);
		return PLUGIN_HANDLED;
	}

	g_hasrtv[id] = true;
	g_rtvsayisi++;

	new players[32], inum;
	get_players(players, inum, "ch");

	if(g_rtvsayisi == inum)
	{
		client_print_color(0, 0, "^1[^4%s^1] ^3Katilimci^4(%d) ^3gerekli sayiya ulasti. ^4Harita oylamasi ^3geliyor^1.", tag, g_rtvsayisi);
		set_task(5.0, "ClCmdVote");
	}
	else
	{
		client_print_color(0, 0, "^1[^4%s^1] ^3Oylama icin ^4(%d) ^3kadar istege ihtiyaciimz var^1. ^1^"^4say /RTV^1^"", tag, inum - g_rtvsayisi);
	}
	return PLUGIN_HANDLED;
}

public cmd_haritalistesi(id)
{
	if(!get_pcvar_num(haritalistesi))
	{
		return PLUGIN_HANDLED;
	}
	client_print_color(id, id, "^1[^4%s^1] ^3Oynanilan haritalar^1: ^4%s ^3--> ^4%s ^3--> ^4%s ^3--> ^4%s", tag, ondanbirbironcekiharita, ondanbironcekiharita, bironcekiharita, suankimap);
	return PLUGIN_HANDLED;
}

public cmd_nextmap(id)
{
	if(!equal(secilenharita, ""))
	{
		client_print_color(id, id, "^1[^4%s^1] ^3Sonraki Harita^1: ^4%s", tag, secilenharita);
	}
	else
	{
		client_print_color(id, id, "^1[^4%s^1] ^3Harita daha ^4oylanmadi^1.", tag);
	}
	return PLUGIN_HANDLED;
}

public cmd_thetime(id)
{
	if(get_pcvar_num(thetime))
	{
		new mhours[6], mmins[6], whours[32], wmins[32], wpm[6];
		get_time("%H", mhours, charsmax(mhours));
		get_time("%M",mmins,charsmax(mmins));
		new mins = str_to_num(mmins);
		new hrs = str_to_num(mhours);

		if(mins) {
			num_to_word(mins, wmins, charsmax(wmins));
		}
		else {
			wmins[0] = 0;
		}

		if(hrs < 12) {
			wpm = "am ";
		}
		else {
			if(hrs > 12) hrs -= 12;
			wpm = "pm ";
		}

		if(hrs) {
			num_to_word(hrs, whours, charsmax(whours));
		}
		else {
			whours = "twelve ";
		}

		client_cmd(id, "spk ^"fvox/time_is_now %s_period %s%s^"", whours, wmins, wpm);

		new ctime[64];
		get_time("%m^3/^4%d^3/^4%Y ^1- ^4%H^3:^4%M^3:^4%S", ctime, charsmax(ctime));
		client_print_color(id, print_team_red, "^1[^4%s^1] ^3Saat^1: ^4%s", tag, ctime);
	}
	return PLUGIN_HANDLED;
}

public cmd_currentmap(id)
{
	client_print(id, print_chat, "^1[^4%s^1] ^3Suanki Harita^1: ^4%s", tag, suankimap);
	return PLUGIN_HANDLED;
}

setTimeVoice(text[],len,flags,tmlf) {
	new temp[7][32];
	new secs = tmlf % 60;
	new mins = tmlf / 60;
	for(new a = 0;a < sizeof(temp);++a) temp[a][0] = 0;
	if (secs > 0)
	{
		num_to_word(secs,temp[4],charsmax(temp[]));
		if (!(flags & 8)) temp[5] = "seconds ";
	}
	if (mins > 59)
	{
		new hours = mins / 60;
		num_to_word(hours,temp[0],charsmax(temp[]));
		if (!(flags & 8)) temp[1] = "hours ";
		mins = mins % 60;
	}
	if (mins > 0)
	{
		num_to_word(mins ,temp[2],charsmax(temp[]));
		if (!(flags & 8)) temp[3] =  "minutes ";
	}
	if(!(flags & 4)) temp[6] = "remaining ";
	return format(text,len,"spk ^"vox/%s%s%s%s%s%s%s^"", temp[0],temp[1],temp[2],temp[3],temp[4],temp[5],temp[6]);
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

Mapchooser Hata

Gönderilme zamanı: Cum Oca 25, 2019 3:53 pm
gönderen Taha Demirbaş
Suncunuz 1.8.3 destekli değil. Sanırım csd dışı bir sunucudan geliyorsunuz.