1. sayfa (Toplam 3 sayfa)

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cum Haz 09, 2017 6:40 pm
gönderen Yek'-ta
Tutor mesajın kullanılması ile ilgili 10 dakikalık bir video çektim, yazılı olarak anlatmam çok uzun olabilirdi. Aklınızdaki soruları bu başlık altından sorabilirsiniz.


Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cum Haz 09, 2017 11:25 pm
gönderen surokeskin
Teşekkürler ..

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 12:21 am
gönderen YeKTaBEYy
Bilgi Panosu Eklentisi Yapabilirmiyiz Tutor Mesaj Şeklinde Sağda Skorunu Sıfırladı Yerine Mesela Adminlik Fiyatları Çıkabilir 60 Saniyede Bir Yapsak Olurmu Yani

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 1:01 am
gönderen Poseidon*
Teşekkürler şimdi revmenuleri-tutor yapmaya çalışıcağım :)

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 1:09 am
gönderen Poseidon*

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?

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 1:20 am
gönderen MehmetReis-
@Yek'-ta lag kasma sorunu vb gibi şey yaparmı çok aşırı kullanıldığında

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 1:24 am
gönderen Poseidon*
mehmetxkonya1 yazdı:@Yek'-ta lag kasma sorunu vb gibi şey yaparmı çok aşırı kullanıldığında
Onun önüne bence saniyesini (üstte duruş saniyesini) düşürerek geçebiliriz. Ve @Yek'-ta bunun yerini değişebiliyormuyuz?

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 1:28 am
gönderen Yek'-ta
@YeKTaBEYy evet yapabilirsin ama jail serverlara uygun olur daha çok, bekle yaparım basit bir şey.


@TeamTR yanlış yere koymuşsun mesajları, seçeneklerin içine yerleştirecektin. revmenuleri kısmına.

bu yanlış;

Kod: Tümünü seç

 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); 
bu doğru;

Kod: Tümünü seç

 else if(str_to_num(data) == 3)
   {
      revivemenu(id)
      tutor_mesaj_olustur(id,"Listedeki Mahkumu Revlediniz",MesajTipi1,false,3);

   }
 
@mehmetxkonya1 az ama öz kullanırsan kasma yapmaz. Oyuncuya normal mesaj gönderiyor gibi düşün, sen sadece fonksiyonla birlikte yazılacak olan yazıyı gönderiyorsun, oyuncunun oyunu oraya mesajı yerleştiriyor.

@TeamTR hayır bunun yerini değiştiremiyorsun, oyunun kendisinde olan bir özelliktir.

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 1:48 am
gönderen Yek'-ta
@YeKTaBEYy şunu denersin

Kod: Tümünü seç

/* Yek'-ta */

#include <amxmodx>


#define MESAJ "Server Hakkinda^n Bilgilendirici Mesaj"


#define MesajTipi1 0
#define UyariMesajiKirmizi 1
#define UyariMesajiMavi 2
#define MesajTipi2 5 //Zafer Sesli

public plugin_init()
{
    register_plugin("60 saniyede bir mesaj", "1.0", "Yek'-ta")

}
public client_putinserver(kisi){

    set_task(60.0,"yazdir",kisi);
}
public client_disconnected(kisi){
    remove_task(kisi);
}
public yazdir(kisi){
    if(is_user_connected(kisi)){
        tutor_mesaj_olustur(kisi, MESAJ, MesajTipi1, false, 10)
        set_task(60.0,"yazdir",kisi)
    }
}

public plugin_precache() {
    precache_sound( "events/enemy_died.wav" );
    precache_sound( "events/friend_died.wav" );
    precache_sound( "events/task_complete.wav" );
    precache_sound( "events/tutor_msg.wav" );

    precache_generic( "resource/TutorScheme.res" );
    precache_generic( "resource/UI/TutorTextWindow.res" );

    precache_generic( "gfx/career/icon_!.tga" );
    precache_generic( "gfx/career/icon_!-bigger.tga" );
    precache_generic( "gfx/career/icon_i.tga" );
    precache_generic( "gfx/career/icon_i-bigger.tga" );
    precache_generic( "gfx/career/icon_skulls.tga" );
    precache_generic( "gfx/career/round_corner_ne.tga" );
    precache_generic( "gfx/career/round_corner_nw.tga" );
    precache_generic( "gfx/career/round_corner_se.tga" );
    precache_generic( "gfx/career/round_corner_sw.tga" );
}



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

Eklentide Tutor Mesaj Kullanımı

Gönderilme zamanı: Cmt Haz 10, 2017 2:15 am
gönderen Poseidon*
Peki şarkıları false yaptığım için sorun çıkmaz değilmi? Çünkü belirtmedim precacheleri