Kod: Tümünü seç
/* Script generated by Pawn Studio */
#include <amxmodx>
#include <amxmisc>
#include <fun>
#include <hamsandwich>
#include <cstrike>
#define PLUGIN	"RevMenuleri-Tutor"
#define AUTHOR	"Anil Can-Tutorlayan TeamTR"
#define VERSION	"1.0"
#define MesajTipi1 0
#define UyariMesajiKirmizi 1
#define UyariMesajiMavi 2
#define MesajTipi2 5 //Zafer Sesli
new mahkumrevle;
new gardiyanrevle;
new revmenu ;
public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)
	register_clcmd("say /revmenu","kontrol")
	register_clcmd("say_team /revmenu","kontrol")
	
	mahkumrevle    = register_cvar("rev_mahkum","1")
	gardiyanrevle  = register_cvar("rev_gardiyan","1")
	revmenu        = register_cvar("revmenu","1")
}
public kontrol(id)
{
	if(get_user_team(id) == 2)
	
	{
		rev(id)
		
	}
	else if(get_user_flags(id) & ADMIN_KICK)
	
	{
		rev(id)
		
	}
	return PLUGIN_HANDLED
}
public rev(id)
{
	
	new Menuz[512]
	
	formatex(Menuz,charsmax(Menuz),"\rRev Menuleri")
	new menu = menu_create(Menuz, "revmenuleri")
	
	if(get_pcvar_num(mahkumrevle) == 1)
	
	{
		formatex(Menuz,charsmax(Menuz),"\yOlmus Tum Mahkumlari Revle")
		menu_additem(menu,Menuz,"1")
		tutor_mesaj_olustur(id,"Olmus Tum Mahkumlari Revlediniz",MesajTipi1,false,5);
		
	}
	if(get_pcvar_num(gardiyanrevle) == 1)
	
	{
		formatex(Menuz,charsmax(Menuz),"\yOlmus Tum Gardiyanlari Revle")
		menu_additem(menu,Menuz,"2")
		tutor_mesaj_olustur(id,"Olmus Tum Gardiyanlari Revlediniz",MesajTipi1,false,5);
		
	}
	if(get_pcvar_num(revmenu) == 1)
	
	{
		formatex(Menuz,charsmax(Menuz),"\yRevmenu \d(Listede Sadece Mahkumlar Gozukur)")
		menu_additem(menu,Menuz,"3")
		tutor_mesaj_olustur(id,"Listedeki Mahkumu Revlediniz",MesajTipi1,false,3);
		
	}
	
	menu_setprop(menu,MPROP_EXIT,MEXIT_ALL)
	menu_display(id,menu,0)
	
	return PLUGIN_HANDLED
}
public revmenuleri(id,menu,item)
{
	if(item == MENU_EXIT)
	
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
		
	}
	new data[6],iname[64]
	new access,callback
	menu_item_getinfo(menu,item,access,data,5,iname,63,callback)
	
	if(str_to_num(data) == 1)
	
	{
		mahkumrevive(id)
		
	}
	else if(str_to_num(data) == 2)
	
	{
		gardiyanrevive(id)
		
	}
	else if(str_to_num(data) == 3)
	
	{
		revivemenu(id)
		
	}
	
	menu_destroy(menu)
	return PLUGIN_HANDLED
}
public mahkumrevive(id)
{
	for(new i= 1; i < 33; i++)
	
	{
		if(is_user_connected(i) && !is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_T)
		
		{
			ExecuteHamB(Ham_CS_RoundRespawn,i)
			strip_user_weapons(i)
			give_item(i,"weapon_knife")
			
		}
		
	}
	new adnm[33]
	get_user_name(id,adnm,32)
	renkli_yazi(0,"!n[!t%s!n] !gAdli Kisi Olu Olan Mahkumlari Revledi",adnm)
}
public gardiyanrevive(id)
{
	for(new i= 1; i < 33; i++)
	
	{
		if(is_user_connected(i) && !is_user_alive(i) && cs_get_user_team(i) == CS_TEAM_CT)
		
		{
			ExecuteHamB(Ham_CS_RoundRespawn,i)
			strip_user_weapons(i)
			give_item(i,"weapon_knife")
			
		
		}
		
	}
	new adnm[33]
	get_user_name(id,adnm,32)
	renkli_yazi(0,"!n[!t%s!n] !gAdli Kisi Olu Olan Gardiyanlari Revledi",adnm)
}
public revivemenu(id)
{
	
	new ad[32],sznum[6]
	new menu = menu_create("\rRevive Menu","revive_devam")
	for(new i = 1;i<=get_maxplayers();i++)
	if(is_user_connected(i) && get_user_team(i) == 1 && !is_user_alive(i))
	
	
	
	{
		num_to_str(i,sznum,5)
		get_user_name(i,ad,31)
		menu_additem(menu,ad,sznum)
		
		
		
	}
	menu_display(id,menu, 0)
	return PLUGIN_HANDLED
}
public revive_devam(id,menu,item)
{
	if(item == MENU_EXIT)
	
	
	
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
		
		
		
	}
	new ad[32],callback,access,data[6]
	menu_item_getinfo(menu,item,access,data,5,ad,31,callback)
	new tid = str_to_num(data)
	get_user_name(tid,ad,31)
	ExecuteHamB(Ham_CS_RoundRespawn,tid)
	new adnm[33]
	get_user_name(id,adnm,32)
	renkli_yazi(0,"!n[!t%s!n] !gAdli Kisi !n[!t%s!n] !gAdli Mahkumu Revledi",adnm,ad)
	revivemenu(id)
	
	return PLUGIN_HANDLED
}
stock renkli_yazi(const id, const input[], any:...)
{
	
	new count = 1, players[32];
	static msg[191];
	vformat(msg, 190, 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();
				
			}
			
			
		}
		
		
	}
	
}
stock tutor_mesaj_olustur(id, mesaj[], stil, bool:ses, sure){
    if (ses){
        switch(stil){
            case 1: emit_sound(id, CHAN_ITEM, "events/friend_died.wav", VOL_NORM, ATTN_NORM, 0, PITCH_HIGH)
            case 2: emit_sound(id, CHAN_ITEM, "events/enemy_died.wav", VOL_NORM, ATTN_NORM, 0, PITCH_LOW)
            case 5: emit_sound(id, CHAN_ITEM, "events/task_complete.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
            default: emit_sound(id, CHAN_ITEM, "events/tutor_msg.wav", VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
        }
    }
    message_begin(MSG_ONE_UNRELIABLE , get_user_msgid("TutorClose"), {0, 0, 0}, id)
    message_end()
    message_begin(MSG_ONE_UNRELIABLE , get_user_msgid("TutorText"), {0, 0, 0}, id)
    write_string(mesaj)
    write_byte(0)
    write_short(0)
    write_short(0)
    write_short(1<<stil)
    message_end()
    remove_task(id)
    set_task(sure+0.0, "tutorkaldir", id)
}
public tutorkaldir(id){
    if( is_user_connected( id ) ) {
        message_begin(MSG_ONE_UNRELIABLE , get_user_msgid("TutorClose"), {0, 0, 0}, id)
        message_end()
    }
}
	
@Yek'-ta Panel kullanmadığımdan sunucuya kurmadım. Acaba bakarmısın? precache leri false yaptığımdan okutmaya gerek duymadım?