Alıntı akcaliberkk Nickli Üyeden Alıntı Mesajı göster


Plugin Adı: Hediye Kutusu
Yapımcısı: akcaliberkk
Versiyonu: 1.0 (30/12/2014)

Açıklama:

Bu plugin ölen oyunculardan hediye kutuları düşmesini sağlar. Bu hediye kutularından çıkacak ödülleri tamamen siz belirleyebilirsiniz. Üstelik eklentide en ufak bir değişiklik bile yapmadan! Nasıl yapılacağını anlatacağım.

Öncelikle bu eklenti modüler bir yapıdadır. Modüler yapıdan kasıt, eklentinin birden fazla parça eklentiden oluşmasıdır. Kurmak zorunda olduğunuz tek eklenti çekirdek eklentidir. Çekirdek eklentiyi bir defa kurduğunuzda hediye kutularından çıkacak her ödülü ayrı ayrı ekleyip, çıkarabileceksiniz. Yani ödüller de ayrı ayrı eklenti olacak.

Örneğin hediye kutularından "Rev Hakkı", "Golden Deagle", "250 HP" şeklinde sadece 3 farklı ödülün çıkmasını istiyorsunuz. Bunun için çekirdek eklentiyi kurduktan sonra tek yapmanız gereken, konu altında paylaşılan "Hediye Eklentileri" klasöründeki; "Rev Hakkı Hediyesi", "Golden Deagle Hediyesi" ve "250HP Hediyesi" eklentilerini kurmak olacak.

Mesela, "Rev Hakkı" hediyesi oyun dengesini bozdu ve artık istemiyorsunuz. Tek yapmanız gereken "Rev Hakkı Hediyesi" eklentisini kaldırmaktır.

Veya daha fazla hediyeniz olsun istiyorsanız klasörden başka bir hediye eklentisini seçip yükleyebilirsiniz.

Ayrıca bu eklentilerle kısıtlı kalmayıp, biraz bilginiz varsa kendi hediye eklentilerinizi kodlayabilirsiniz. Kendi eklentilerinizi kodlamak veya hazır eklentileri sma'dan amxx'e çevirmek için ihtiyacınız olan hediye_kutusu.inc dosyasına yine konu altından indireceğiniz dosyadaki çekirdek eklenti klasöründe bulabilirsiniz.

Bu kütüphane dosyası ile hediye_ekle fonksiyonunu kullanabilir ve kendi hediyelerinizi kodlayabilirsiniz.

hediye_ekle( consthediye_ismi[], consthediye_func[] )

hediye_ismi[] = "Hediyenizin adi" // Çok önemli değildir.
hediye_func[] = "Hediye kazanıldığında çalıştırılacak olan fonksiyon"

Ayrıca önemli bir de return sabiti var.

return HEDIYE_TEKRARLA;

girildiğinde, bu hediyeyi iptal edip başka bir hediye seçer. Örneğin kişiye daha önce Rev Hakkı çıkmış ve henüz hakkını kullanmamışsa, tekrar Rev Hakkı ödülü çıkarsa kutu boş yere gideceğinden bu return girilerek kullanıcının başka bir hediye alması sağlanmış olur. Eğer alabileceği hiçbir hediye kalmamışsa yani mevcut bütün eklentiler bu return'ü veriyorsa, kullanıcı kutuyu açamaz.

Son olarak; hediye_ekle fonksiyonu bazı hatalarda hata return'ü verir. Bunlar:

INVALID_PARAM_AMOUNT = -2 ( hediye_ekle fonksiyonuna parametre eksik veya fazla girildi )
ITEM_ALREADY_EXISTS = -3 ( aynı isimli hediye bulundu )


INCLUDE İÇERİĞİ:
PHP- Kodu:
#pragma reqlib "hediye_kutusu"

enum _:ERR {
    
INVALID_PARAM_AMOUNT = -2,
    
ITEM_ALREADY_EXISTS = -3
    
}

#define HEDIYE_TEKRARLA -5

native hediye_ekle( const hediye_ismi[], const hediye_func[] ) 
#include <hediye_kutusu>

yerine direk bunu yapıştırabilirsiniz. Böylece oyunyöneticisi sıkıntısıyla ve "Can not read from file "hediye_kutusu" " gibi bir hatayla karşılaşılmaz.




CVAR:
Kod:
present_respectowner "15" // 0: Düşen kutuyu herkes alabilir, 1: Düşen kutuyu sadece düşüren alabilir, 1 den büyük sayılarda girilen süre boyunca sadece düşüren alabilir, süre dolduğunda herkes alabilir.

present_sound "1" // 1: Kutu alındığında müzik çalar, 0: çalmaz

present_dropteam "0" // 0: herkesten kutu düşer, 1: sadece teroristlerden kutu düşer, 2: sadece ct

present_tag "[ Hediye Kutusu ]" // Eklenti tagı. Server isminizi falan yazabilirsiniz.







ÇEKİRDEK EKLENTİNİN KURULUMU

hediye_kutusu.amxx -> amxmodx/plugins klasörüne atılacak.
hediye_kutusu.sma -> amxmodx/scripting klasörüne atılacak.

amxmodx/configs klasöründeki plugins.ini dosyasının içine:
hediye_kutusu.amxx
yazılacak ve kaydedilecek.

Hediye eklentileri de aynı şekilde kurulur. İçlerinde model ve sound olanları klasördeki şekliyle atın.

ÖNEMLİ NOT:

Çekirdek eklentiden sonra yükleyeceğiniz hediye eklentileri plugins.ini de hediye_kutusu.amxx'in üzerine yazılmamalıdır.






HEDİYE EKLENTİLER SÜREKLİ EKLENECEKTİR.
ÖZELLİKLE İSTEDİĞİNİZ HEDİYELERİ BELİRTEBİLİRSİNİZ.
Bunu Söyle Yapabilirmiyiz jb cıksa hediye kutularından ama
Üstüne Eklense Kendi Jbnizin