Discord sunucumuz açılmıştır, hepinizi bekleriz

https://discord.gg/43gGDQe6tS

Source Dunyasina hosgeldiniz..

Moderatör: Moderatörler

Forum kuralları
[font size=20] DİKKAT [/font]

Silinmiş konu içerikleri hiçbir şekilde kontrol edlimemektedir. İndirdiğiniz dosyaların sorumluluğu tamamiyle size aittir.
Mutlaka indirdiğiniz dosyaları antivirüs ile taratınız.

Konu Sahibi
PaZee
Mesajlar: 1761
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen PaZee »

Gun icerisinde cokca karsilastigimiz bir sorun olan aaa acaba su kod neydi hay aksi unuttum.

veya su seyin kodu ney bla bla gibi olaylari bu konuda derleyeylim gun icinde en cok kullandiginiz kodlari aciklayarak yoruma atalim

ben bir temel atayim

bu arada yuklenen dosya bos hatasi aliyorum 11kblik dosyada rar atiyim dedim http hatasi verdi

sadece kod hata vermiyor

[@Bilinmeyen Etiket]


Kod: Tümünü seç


*/

#include <amxmisc> /// bu kod en ustte zorunludur her plugine koyunuz
#include <amxmodx> ///bu kod en ustte zorunludur her pluginde koyunuz
#include <hamsandwich> // bu kod ham kodlarini kullanacagimiz kitapliktir
#include <cstrike> // counter kodlarini kullanabilcegimiz kitapliktir ornek get_user_name get_user_team cs_get_user_money cs_set_model gibi 
#include <jail> // jailbreak pluginlerde kullanilacak include  jb_set_user_packs(id, jb_get_user_packs(id) + 5) gibi kodlarin kullanilmasini saglar
#include <fun> // give item vb eglenceli kodlarin bulundugu kitaplik
#include <fakemeta> // pev kodlarinin icerdigi include


//bu include dedigimiz sey kitapliktir belirli kodlarin scriptings/include klasorundeki .inc halinde bulunan dosyalara yonlendirmedir.



// "//" nedir bu "//" olayi plugin icerisinde kisiye birakacagimiz nottur bir not birakmadan once veya bir kodu devre dissi birakmadan once satir baslarina // koyulur.

#define PLUGIN "OrnekOgretici" // bu defineler en sevdigim seydir her degere koyabiliyoruz sayi vb haric yazi yazilan bir seyler tanitilan cvar kod renk formatex gibi tum degiskenlere koyuluyor
#define VERSION "1.1"
#define AUTHOR "PaZee"





new const sesimiz[] 		= { "ornekses.wav" } // bu ornek bir ses dosya yolu 



// eger bu sekilde alt alta new yollamak istiyorsaniz new yazip altina bir satir inip xxx, "," "virgul" koymayi unutmayin fakat newlerin en son yenilige "," "virgul" koyarsaniz plugin akisi bozulur son new e virgul koymayiniz alttaki ornek
new
deger1,
deger2,
deger3,
deger4,
deger5[33],
izin // burasi en son satir oldugu icin virgul koymadim 


// bu 33 , kisiye yani "id" kavramina yonelik calistirir [33] koymassak plugin icinde calisir [33] bir kisiye yaptiracagimiz kisiye ozel koddur [id] [0] gibi kullanilabilir.
// gibi gider bu sizin plugin icinde "yeni" olarak ekliceginiz kodlardir. ornegin g_para olarak bir kod olusturacaksiniz new kismina g_para yaziyorsunuz 
//newleri bir yere baglamazsak bir sorun cikarmaz fakat warning verir symbol is never used "xxxx" on line xxx gibisinden turkce anlami sembol hic kullanilmadi "xxx" xxx cizgisinde.

public plugin_init()
{
	
	
	//hamsandwich kitapligi bazi kodlar
	RegisterHam(Ham_Spawn, 		"player", "dogdumben",	1) // oyuncudogdugunda dogdumben adli publice yonlendirilen ham kodu
	
	register_logevent("elsonu",2,"1=Round_End"); // el bittiginde elsonu adli publice yonlendirme yapacagimiz kod id olarak islemez.
	register_event( "DeathMsg" , "olunce" , "a" ) // oyuncu oldugunde
	register_event("HLTV", "elbasi", "a", "1=0", "2=0") // el basi
	
	//cvar ekleme
	izin	= register_cvar("plugin_izin", 		"1");  // 1 acik halidir biz acma kapama gorevinde kullancagimiz icin oyle dedim. new kismina izin yaziyoruz  bu bir cvardir
	
	
	
	
	// alttaki komutta oyuncu /sescal yazarsa sescal publicine gider.
	register_clcmd("say /sescal","sescal") // bir say komutuyla public yonlendirme simdi biz sescal adli publicimize say komutuyla player yollayacaz sescal yazdigimiz yere (id) (blabla) gibi seyler yazmiyoruz diyek public adi. sescal gibi
	
	
	// public kodlari yazabilcegimiz baginti noktalaridir
}
public elbasi()
{
}
public olunce()
{
	new olduren = read_data(1)
	new olen = read_data(2)
	
	if(olduren == olen)
	{
		return PLUGIN_HANDLED
	}
	if(get_user_team(olduren) == 1 && get_user_team(olen) == 1)// t olduruldugunde girilecek yer
	cs_set_user_money(olduren, cs_get_user_money(olduren) + 2000) // burda id veya 0 gibi terimler kullanmadik burda tyi olduren kisiye 2000 lira veriyor
	cs_set_user_money(olen, cs_get_user_money(olen) - 1000) // olen tden 1000 lira aliyor
	if(get_user_team(olduren) == 1 && get_user_team(olen) == 2) // ct oldurdugunde girebilcek yer
	cs_set_user_money(olduren, cs_get_user_money(olduren) + 2000) // burda id veya 0 gibi terimler kullanmadik burda ctyi olduren kisiye 2000 lira veriyor
	cs_set_user_money(olen, cs_get_user_money(olen) - 1000) // olen ctden 1000 lira aliyor
		 
	return PLUGIN_CONTINUE;
	
}
public plugin_precache() // id yapmadik pluginde yurutecegiz. zaten id yapamayiz plugin_init plugin_xxx vb gibi seyleri
{
	precache_sound(sesimiz) // new const olarak yeni kavramiyla tanittigimiz yere baglanacaktir 
}
public elsonu()
{
        new players[32],inum,id             // bu kod () olan id vb koymadigimiz yerde butun oyunculari bi anda pluginin bu publice yonlendirdigi ve publice idyi tanitabildigimiz koddur.
	get_players(players,inum)
	for(new i;i<inum;i++)
	{ // acilis
		id = players[i]              // kodun bitisi
		// buranin altina id kodlari girilebilir ama eger ustteki kodu yazmassak id kodlari girilemez
		if(!is_user_alive(id)) // bu if sadece anlamina gelir alive yasiyor gibi bir anlam tasir buraya sadece yasayanlar girebiliyor. bu if kodunun bos hali "if()" tir
		{ // acilis
			jb_set_user_packs(id, jb_get_user_packs(id) + 5) // burasi el sonu oldugu icin ve if alive kodu koydugumuz icin el sonunda yasayanlara 5 jb verdigimiz yer.
			cs_set_user_money(id, cs_get_user_money(id) + 2000) // buda oyuncuya cs parasi verir cstrike includesiyle calisir
		} // kapanis
		else // else if komutundan gecemeyen kisilerin gonderilcegi yerdir illa kisi olmasi gerekmez. else yada anlamina gelir
		{ // acilis
			renkli_yazi(id,"!n[!gOlu Oldugunuz icin para alamadiniz")
		} // kapanis
	} // kapanis
		
}
public dogdumben(id)
{
	new isim[32] // bu public icinde tanittigimiz newdir sadece bu publice baglidir
	get_user_name(id,isim,31) // get user name oyuncunun ismini alir
	renkli_yazi(id,"!n[!gDogdunuz Adiniz : %s", isim)  // kelimeler vb %s ile gosterilir sayilar vb %i ile gosterilir "yaziyi" yazdigim yerdir ", deger) bu kisimda bir kullandigim koddur bu kodda adamin ismini veriyor.
}

public sescal(id) // id yapmamin sebebi kisiye yaptirmam olacaktir.
{
	emit_sound(id, CHAN_AUTO, sesimiz, VOL_NORM, ATTN_NORM , 0, PITCH_NORM) // sesimizin constunu ve plugin_precache ayarlarini yaptiktan sonra publice yuklemeye hazir olmasidir 
	// su yukardaki sesi caldigimizda herkez duyar fakat ATTN_NORM , id yaparsak duyamaz sadece biz duyariz. publice giren kisi
	
	emit_sound(id, CHAN_AUTO, sesimiz, VOL_NORM, ATTN_NORM , id, PITCH_NORM) // boyle yaparsak sadece biz duyariz 0 olan yeri id yaptim. 0 herkez demektir id ise sadece biz giren kisi yapan eden.
}

// ses dosyalari 8000 hz 8 bit olmalidir mono halinde


public kisitlama(id)
{
	
	//diyelim ki oyuncu 3000 cs parasi verecek ve karsiliginda 3 tane bomba alacak 
	
	
	if (cs_get_user_money(id) >= 3000) // ">=" gerekli degeri esitleme anlamina gelir karsisina eger 31 yazarsan adamin parasi 31den fazlaysa o if kismindan gecebilir.
	{
		give_item(id, "weapon_hegrenade") // burasi el bombasi veriyor 1 tane
		cs_set_user_bpammo(id,CSW_HEGRENADE,3) // burasi oyuncuyunun el bombasi kac olursa olsun bakin kac olursa olsun 3 tane bomba mermisi yapiyor.
	}
}

// bu basit bir menudur 
public arac_gerec(id)
{
	if(get_pcvar_num(izin)) // burasi yukarda tanittigimiz cvar kodu eger 1 se bu menuye erisim acilir eger 0sa erisim kapanir.
	{
		new Menu = menu_create("\d|\yTurkish Army\d| \w~ \rArac Gerec Menu","arac_devam") // arac_devam adinda alt publice gonderir.
	
		menu_additem(Menu,"Menu Sayfa","1") // surda "1" yaziyor ya he o iste gondercegi casedir alttakilderdede 2 3 4 vb yaziyor 
		menu_additem(Menu,"Menu Sayfa","2")
		menu_additem(Menu,"Menu Sayfa","3")
		menu_additem(Menu,"Menu Sayfa","4")
	
		menu_setprop(Menu, MPROP_EXITNAME, "Cikis") 
		menu_setprop(Menu, MPROP_EXIT, MEXIT_ALL) 
		menu_display(id, Menu)
	}
	return PLUGIN_HANDLED
}
public arac_devam(id,menu,item)
{
	if(item == MENU_EXIT)
	{
		menu_destroy(menu)
		return PLUGIN_HANDLED
	}
	new access,callback,data[6],iname[64]
	
	menu_item_getinfo(menu,item,access,data,5,iname,63,callback)
	
	new key = str_to_num(data)
	
	switch(key)
	{
		case 1 : // yukardaki publicte "1" yazdigimiz seyin gonderdigi kutucuk
		{
			//kodlar
		}
		case 2 : // "2" yazanin gondercegi kutucuk
		{
		          //kodlar	
		}
		case 3 : // "3" yazanin gondercegi kutucuk
		{
			//kodlar
		}
		case 4 : // "4" yazanin gondercegi kutucuk
		{
			//kodlar
		}
	}
	menu_destroy(menu)
	return PLUGIN_HANDLED
}


public kaldiysabir(id)
{
	new contador=0;
	new players[32], num, tempid;
	
	get_players(players, num)
					
	for (new i=0; i<num; i++)
	{
		tempid = players[i]
						
		if (get_user_team(tempid)==1 && is_user_alive(tempid))
		{
			contador++;
		}
	}
	if ( contador == 1 ) // "==" eger deger 1 ise sadece 1 baska sayi degil ne ustu ne alti sadece 1 terorist kaldi ise girecegi yer
	{
		renkli_yazi(id,"!gSon Mahkum Bu Menuden yararlanamaz") // eger son kisi varsa bu menuden yararlanamiyacgini soyluyor
	}
	else if ( contador >= 2 ) // eger 1den fazla terorist varsa girecegi yer BURDAKI CONDATOR TERORIST SAYISI DEMEK condator eger 2den yuksek ise girilebilir.
	{
	}	
}



// kosede bekleyen stock olmayan kodlar

public get_godmode() // bu kodda eger god varsa girilecek yeri gosteriyor ornek public veriyim
{
	new ctsayisi, godluct
	for( new i = 1; i<(get_maxplayers() + 1); i++)
	{
		if(is_user_connected(i) && get_user_team(i) == 2 && is_user_alive(i))
		{
			ctsayisi++
			if(!pev(i,pev_takedamage))
			{
				godluct++	
			}
		}
	}
	if(godluct == ctsayisi && ctsayisi > 0)
	{
		return 1
	}
	else if(godluct != ctsayisi && godluct > 0)
	{
		return godluct
	}
	else if(godluct == 0 && ctsayisi > 0)
	{
		return 0
	}
	else
	{
		return 0	
	}
	
}

public ornekpublici(id)
{
	if(get_godmode ()) // eger god varsa girilebilecek yer
	{
	}
	else  // 
	{
	}
}

//stocklar kosede bekliyen pluginde hazir kullanilmak uzere olan kodlar.

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"); // Default Renk(Sar?)
	replace_all(msg, 190, "!g", "^x04"); // Ye?il Renk
	replace_all(msg, 190, "!t", "^x03"); // Tak?m Renk( CT mavi , T k?rm?z? )
	
	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();
		}
		
	}
}




/*

arkadaslar birazcik hizli kafayla yazmaya calistim her gun bir kod ekleyip yorumlara atacagim kodun kullanim sekli vb burda hem sizin hem benim kaybetmeyecegim bir kitaplik olacak

hani bi anda aa acaba su kod ne ise yariyordu diye sordugumuzda bu kitapliga gelcez herkez buraya kucuk kucuk cok kullandigi kodlari atarak bilmeyenlerede ogretebilir 

benim yanlis bilip anlattigim seyleri yorumlarda duzeltirsiniz. hatasiz kul olmaz


*/
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1055\\ f0\\ fs16 \n\\ par }
*/

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
PaZee
Mesajlar: 1761
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen PaZee »

kucuk bir not:

amxstudio programini indirip yekta abinin forumda paylastigi derleyiciyle baglayiniz ve amxstudiodan bakiniz

cok daha iyi ogrenirsiniz

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

jottABey
Mesajlar: 951
Kayıt: Sal Şub 28, 2017 5:22 pm
Konum: Ankara
Server Ip/DNS: Cs42.CsDuragi.COM
Clan İsmi: DayilaR JB
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen jottABey »

Teşekkürler.

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Taha Demirbaş
Mesajlar: 10427
Kayıt: Cum Tem 08, 2016 10:05 pm
Konum: Türkiye
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen Taha Demirbaş »

Aklim birden cs sourceye gitti. Acikladiginiz iyi olmus :)

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
PaZee
Mesajlar: 1761
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen PaZee »

Ise Yarayan Bulmakta Gucluk cektigimiz 2 kod :

Kod: Tümünü seç

public plugin_init()
{
register_event("SendAudio", "te_win", "a", "2&%!MRAD_terwin")
register_event( "SendAudio", "ct_win", "a", "2&%!MRAD_ctwin"  )
}
public te_win()
{
}
public ct_win()
{
}

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
PaZee
Mesajlar: 1761
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen PaZee »

Kod: Tümünü seç

if kodlari 

if(is_user_alive(id)) // oyuncu yasiyorsa gecebilecegi yer.

if(get_user_team(id) == 1) // oyuncu t ise gecebilcegi yer
if(get_user_team(id) == 2) // oyuncu ct ise gecebilecegi yer.
if(get_pcvar_num(blabla)) // plugin icinde blabla cvari var ise yapiniz yoksa hata verir blabla cvarina tanittiginiz deger 1 ise gecebilecek yer 0 ise gecilemez.

aklima geldikce yazarim

Link:
Linklerini gizle
Linki Kopyala

Konu Sahibi
PaZee
Mesajlar: 1761
Kayıt: Çrş Şub 22, 2017 11:28 pm
Konum: Istanbul
Server Ip/DNS: Cs.teknoklan.com
Clan İsmi: TeknoKlan
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen PaZee »

Takim kodlari ;

Kod: Tümünü seç

    1: // Team Terror
    2: // team CT
    3: // Spec team
	
	if(get_user_team(id) == 1)
	{
	// tlerin girebilecegi yer
	}
	
	if(get_user_team(id) == 2)
	{
	// ctlerin girebilcegi yer
	}
	
	if(get_user_team(id) == 3)
	{
	// speclerin girebilecegi yer
	}

Link:
Linklerini gizle
Linki Kopyala
Kullanıcı avatarı

Yek'-ta
Mesajlar: 9625
Kayıt: Cmt Eyl 12, 2015 12:40 pm
İletişim:

Source Dunyasina hosgeldiniz..

Mesaj gönderen Yek'-ta »

Konu ne kadar faydalı bir amaç uğruna açılmış olsa bile, düzensizlikte ve yetersiz bilgelikte yanlış yerlere gider. Misal; post65566.html#p65566 . if bir sorgulamadır, if kodları diye bir şey olmaz.

Mesela id yazıyor iki parantez arasında, bunun ne olduğunu bilmenizde fayda var.
20170412164814_1.jpg
id kısmı her bir oyuncunun başındaki numaralar. id yerine rastgele bir sayı girersen oradakilerden birine denk gelir. id yerine 6 yazdın diyelim, uygulatacağın işlemler Dartanqnan a gider. Bu yüzden her oyuncuya işlem uygulatırken for döngüsü oluşturup sunucunun maksimum oyuncu kapasitesi kadar saydırılır. Sonra içinde sorgulama yaptırarak takımlara böleriz vs.. Bir şeyler öğrenmek istiyorsanız ingilizcenizi az çok geliştirip yabancı kaynaklara bakın direkt. Yada yazı bekleyin bir şeyler yaparız duruma göre.

Konu silinenlere taşınmıştır, teşekkürler.
Bu mesaja eklenen dosyaları görüntülemek için gerekli izinlere sahip değilsiniz.

Link:
Linklerini gizle
Linki Kopyala
Kilitli