Plugin Kodlamada Temel Bilgiler

Konu

#1
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_healthindex,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 
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

Kod:
#define oldur(%1) user_kill(%1,1) 
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.

Kod:
new numara 
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.

Kod:
numara = 5 
Değişkenimizin değerini 5 yaptık.Peki değeri değiştirmenin birçok yolu vardır.

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 

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 

Kod:
new bool:degisken 
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

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

Float

Bu değişken çeşidi değer olarak ondalıklı sayı alır.

Kod:
new Float : naber = 4.5 
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.

Kod:
new array[ 3 ] 
Yukarıdaki kodun anlamı değişkeninin içinde 3 farklı değişken olduğunu gösterir.

Kod:
new array[ 3 ]

array[ 0 ] = 200
array[ 1 ] = 150
array[ 2 ] = 120 

Yukarıda gördüğnüz gibi ilk dizi her zaman 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

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. 

Buradaki sayıları ASCII Karakterlere göre yazıyoz aşağıya ascıı karakter tablosunu koydum.Bakmak isteyen inceleyebilir.

R0PJYa


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.
Discord adresim: https://discord.com/invite/TtqDkD5h8x
Cevapla
#2
Teşekkürler
213.238.173.43
Cevapla
#3
Teşekkürler zamaninda cok isime yaramişdi Çok güldüm
Cevapla
#4
Teşekkürler
Cevapla
#5
Teşekkürler.
Cevapla
#6
Çok güzel ve basit anlatım anlattığın her şeyi anladım teşekkürler.
Cevapla
#7
teşekkürler devamını bekliyorum Gülümse
Cevapla
#8
Sağol.
Cevapla
#9
Teşekkürler
Cevapla
Cevapla

Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da
Task
Kayıt Ol
Discord Adresimize Katılın