Bu derste sizlere plugin kodlamadaki temel bilgileri verip birkaç örnek vererek konuyu pekiştirmenizi sağlıycam.
#include
Bu yazacağınız kodları barındıran bir kütüphanedir.Örnek vermek gerekirse, bir kişinin hpsini değiştirmek istiyoruz bunun codu ise set_user_health( index,health ). Bu komut fun kütüphanesine ait komuttur.Eğer #include fun eklemezsek compilerimiz fonksiyonu tanımıyacaktır.İlerki derslerimde her kütüphaneye ait özellikleri anlatacağım.
#define
Define ise 2 farklı işlevi vardır.1.işlevi bir değişken tanımlamamızı sağlar.
Örnek
Burada TASKID' yi 1923 sayısına tanımladık yani pluginin herhangi bir yerine TASKID yazarsak bu 1923 sayını çağıracak anlamına geliyor.
2.işlevi ise kendinize özel komut yaratmanızı sağlar
Örnek
Burada ise oldur adlı bir komut yarattık.Bu komudun işlevi ise idyi öldürmemizi sağlar.
Değişken:
Değişkenler pluginler en önemli yapıtaşlarından biridir.Peki ne işe yarar bu değişkenler ?.
Değişkenler herhangi bir numarayı temsil eder.Eğer bir numara belirtmezseniz değişkenin karşılığı 0 olur.
Yukarda numara adlı bir değişken yarattık.Default değeri 0'dır.Şimdi bu değişkeninim değerini değişelim.
Değişkenimizin değerini 5 yaptık.Peki değeri değiştirmenin birçok yolu vardır.
Değişkenler bir kaç farklı varyasyonu vardır.Yukarıda anlattığım integer yani tamsayı değişkenleriydi.Şimdi diğer değişken çeşitlerine bakalım.
Bool
Bu değişken 2 değere sahip olur.Değeri ya true ( 1 ) veya false ( 0 ) olur.Eğer bir değer belirtilmezse değeri false olur.Peki bu değişkenler ne işimize yarar ? Küçük bir örnekle açıklıyım
Float
Bu değişken çeşidi değer olarak ondalıklı sayı alır.
Diziler ( Arrays ) :
Diziler birlikte hareket eden değişkenler toplululuğu diyebiliriz yani birden fazla birden değişken kullanmak yerine tek bir değişkenle bu işi yapabiliriz.
Yukarıdaki kodun anlamı değişkeninin içinde 3 farklı değişken olduğunu gösterir.
Yukarıda gördüğnüz gibi ilk dizi her zaman 0 ile başlar ve son değişkenimiz ise 1 eksiği olur.
Şimdi bir örnek gösterelim.
Çoğu pluginde gördüğünüz
Şimdi gelelim neden 33 yaptığımıza;
1 - ) Bir serverin maximum oyuncu sayısı 32 dir.
2 - ) Bizde her oyuncunun kaç kill aldığını öğrenmek istiyoruz.
3 - ) new killer [ 32 ] ve her oyuncuyu öğrenmek için killer [ id - 1 ] yazmalıyız.
4 - ) Ama yazarken 32 yerine 33 ü kullanırız çünkü maxplayers + 1 = 33
5 - ) Böylece new killer[ 33 ] yazarsak killer[ id ] kullanabiliriz.
String
String ise harf ve sembolleri belirtmemizi sağlar.
Buradaki sayıları ASCII Karakterlere göre yazıyoz aşağıya ascıı karakter tablosunu koydum.Bakmak isteyen inceleyebilir.

Tabiki bir string yazmanın daha kısa ve pratik yolunu göstericeğim .
Şimdilik bu kadar yeterli kafanızın takıldığı bir şey olursa yorumlarda belirtebilirsiniz.Eğer devam etmemi istemiyorsanız
hiç çekinmeden söyleyebilirsiniz.
#include
Bu yazacağınız kodları barındıran bir kütüphanedir.Örnek vermek gerekirse, bir kişinin hpsini değiştirmek istiyoruz bunun codu ise set_user_health( index,health ). Bu komut fun kütüphanesine ait komuttur.Eğer #include fun eklemezsek compilerimiz fonksiyonu tanımıyacaktır.İlerki derslerimde her kütüphaneye ait özellikleri anlatacağım.
#define
Define ise 2 farklı işlevi vardır.1.işlevi bir değişken tanımlamamızı sağlar.
Örnek
Kod:
#define TASKID 1923 2.işlevi ise kendinize özel komut yaratmanızı sağlar
Örnek
Kod:
#define oldur(%1) user_kill(%1,1) Değişken:
Değişkenler pluginler en önemli yapıtaşlarından biridir.Peki ne işe yarar bu değişkenler ?.
Değişkenler herhangi bir numarayı temsil eder.Eğer bir numara belirtmezseniz değişkenin karşılığı 0 olur.
Kod:
new numara Kod:
numara = 5 Kod:
numara ++ // Değişkeninin değeri 1 artar
numara -- // Değşikeninin değeri 1 azalir
nummara += 5 // Değişkeninin değeri 5 artar
nummara -= 5 // Değişkeninin değeri 5 azalir Bool
Kod:
new bool:degisken Kod:
#include <amxmodx>
#include <amxmisc>
#include <fun
#include <hamsandwich>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "author"
new bool:g_yetki [ 33 ]
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
// Bu ham eventi hamsanwich kütüphanesine ait bir fonksiyondur.İleriki derslerimde bu kütüphaneyle
// ilgili dersleri vericeğim şimdilik bu eventin oyuncunun doğduğu zaman çalıştığını bilin.
RegisterHam(Ham_Spawn, "player", "dogunca", 1);
}
public client_connect( id )
{
if(is_user_admin(id) ) // Eğer bağlanan kişinin yetkisi varsa değişken true olacak
{
g_yetki[id] = true
}
else // ama yoksa değeri false olcak.
{
g_yetki[id] = false
}
}
public dogunca( id )
{
if( g_yetki[ id ] ) // Eğer değişken true olursa aşağıdaki komut çalışacak
{
set_user_health( id, get_user_health(id ) + 20 )
}
} Bu değişken çeşidi değer olarak ondalıklı sayı alır.
Kod:
new Float : naber = 4.5 Diziler birlikte hareket eden değişkenler toplululuğu diyebiliriz yani birden fazla birden değişken kullanmak yerine tek bir değişkenle bu işi yapabiliriz.
Kod:
new array[ 3 ] Kod:
new array[ 3 ]
array[ 0 ] = 200
array[ 1 ] = 150
array[ 2 ] = 120 Şimdi bir örnek gösterelim.
Çoğu pluginde gördüğünüz
Kod:
killer[ 33 ] Şimdi gelelim neden 33 yaptığımıza;
1 - ) Bir serverin maximum oyuncu sayısı 32 dir.
2 - ) Bizde her oyuncunun kaç kill aldığını öğrenmek istiyoruz.
3 - ) new killer [ 32 ] ve her oyuncuyu öğrenmek için killer [ id - 1 ] yazmalıyız.
4 - ) Ama yazarken 32 yerine 33 ü kullanırız çünkü maxplayers + 1 = 33
5 - ) Böylece new killer[ 33 ] yazarsak killer[ id ] kullanabiliriz.
String
String ise harf ve sembolleri belirtmemizi sağlar.
Kod:
new mystring[ 6 ]
mystring[ 0 ] = 83 // S
mystring[ 1 ] = 101 // e
mystring[ 2 ] = 108 // l
mystring[ 3 ] = 97 // a
mystring[ 4 ] = 109 // m
mystring[ 5 ] = 0 // Bunun 0 olmasi stringin sona erdiği anlamına gelir. 
Tabiki bir string yazmanın daha kısa ve pratik yolunu göstericeğim .
Kod:
new mystring[7]
copy(mystring, 6, "Selam") Şimdilik bu kadar yeterli kafanızın takıldığı bir şey olursa yorumlarda belirtebilirsiniz.Eğer devam etmemi istemiyorsanız
hiç çekinmeden söyleyebilirsiniz.
)



