![]() |
|
AmxModX Ayrıntılı Menü Dersi - Printable Version +- CSPLague (https://www.csplague.com) +-- Forum: CS 1.6 Plugin (Eklenti) Bölümü (https://www.csplague.com/forumdisplay.php?fid=6) +--- Forum: [PAWN] Plugin Dersleri (https://www.csplague.com/forumdisplay.php?fid=79) +--- Thread: AmxModX Ayrıntılı Menü Dersi (/showthread.php?tid=7889) |
AmxModX Ayrıntılı Menü Dersi - akcaliberkk - 29-06-13 Bu derste amxmodx programlamanın en son çıkmış menü sistemine ait tüm özellikleri öğrenebilirsiniz. Tüm Menü Fonksiyonları, [ newmenus.inc ] menu_create(const title[], const handler[], ml=0) Açıklama: Bu fonksiyon menü yaratmak için kullanılır. 1. Parametre: Menünün başlığı Türü "string" Buraya yazdığınız başlık, menü açıldığında, menünün en üstünde görünür. 2. Parametre: Menünün işletici fonksiyonu Türü "string" Menüler genel olarak 3 fonksiyondan oluşur. A. Menünün Oluşturulduğu Kısım (menu_create fonksiyonunu kullandığımız kısım) B. Menüyü İşlettiğimiz Kısım ( Menüde bir tuşa basıldığı zaman çalışacak olan fonksiyon) C. Menünün geriçağrımı (callback) ( Bu kısım zorunlu değil ancak gelişmiş menülerde kullanılıyor ve bu derste de anlatılacak) İkinci parametreye B kısmı fonksiyonu yazıyoruz. 3. Parametre: Bir işe yaramıyormuş. Biz sadece ilk iki parametreyi yazıcaz, üçüncü bir parametre girmenize gerek yok. Return: Bu fonksiyon yaratılan menünün indexine döner. Yani, bir değişken yaratıp bu fonksiyonu değişkene atarsak, bu değişken menümüzün indexi olacak. Ve bu menü indexi, diğer menü fonksiyonlarında menüyü ayarlamak için kullanılacak. Bu indexi diğer fonksiyonlarda menu olarak göstereceğiz. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_additem(menu, const name[], const info[]="", paccess=0, callback=-1) Açıklama: Bu fonksiyon yaratılmış bir menüye seçenek eklemek için kullanılır. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: Seçeneğin ismi Türü "string" Buraya girdiğiniz isim, menüde başlığın altında eklenme sırasına göre liste şeklinde görünür. 3. Parametre: Seçenekle ilgili ekstra bilgi Türü "string" Buraya herhangi bir şey yazabiliriz. Buraya yazılan bilgi menüde görünmez. Bilgiyi yazarken seçenek sırasına göre numaralar yazarsak, işletici fonksiyonda, seçilen seçeneği kolayca ayırt edebiliriz. Örneklerde daha iyi anlaşılacaktır. 4. Parametre: Seçeneğe erişim yetkisi Türü "integer" Seçeneğe sadece belirli yetkideki kullanıcıların erişebilmesini istiyorsanız bu parametreye ilgili yetkiyi yazarsınız. Örneğin ADMIN_BAN yazarsanız sadece "d" yetkisine sahip kişiler bu seçeneğe basabilir. Herkesin kullanabilmesi için 0 yazın. 5. Parametre: Geriçağrım fonksiyonunun indexi. Türü "integer" Seçeneğe bağlamak istediğiniz geriçağrım fonksiyonunu buraya girin. Geriçağrımı anlattığım zaman daha iyi anlaşılacaktır. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_setprop(menu, prop, ...) Açıklama: Bu fonksiyon yaratılmış bir menünün özelliklerini değiştirir. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: Değiştirilecek özellik Türü "integer" Buraya girdiğiniz özelliği, üçüncü parametrede değiştirirsiniz. MPROP_PERPAGE: Bir sayfadaki maksimum seçenek sayısı (standart = 7) (parametre türü = integer) MPROP_BACKNAME: Menünün "Geri" tuşunun ismi. ( standart = Geri veya Back ) (parametre türü = string ) MPROP_NEXTNAME: Menünün "İleri" tuşunun ismi. ( standart = Ileri veya Next ) (parametre türü = string ) MPROP_EXITNAME: Menünün "Çıkış" tuşunun ismi. ( standart = Cikis veya Exit) ( parametre türü = string ) MPROP_TITLE: Menünün başlığı ( Gereksiz, zaten menu_create fonksiyonu başlığı ayarlıyor ) ( parametre türü = string ) MPROP_EXIT: Çıkış tuşunun işlevi ( standart = MEXIT_ALL ) ( parametre türü = integer ) MPROP_EXIT parametreleri: MEXIT_ALL: Menüyü kapatır MEXIT_NEVER: Menüyü kapatma tuşunu kaldırır. Menü kapanmaz. 3. Parametre: Değiştirilecek özelliğin yeni değeri Türü "integer/string" 2. Parametrede belirtilen özelliğin yeni değerini buraya gireriz. Return: Bu fonksiyon, işlem başarılı olursa 1'e, başarısız olursa 0'a döner.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_display(id, menu, page=0) Açıklama: Bu fonksiyon yaratılmış bir menüyü, belirtilen oyuncuya görüntüler. 1. Parametre: Oyuncu indexi Türü "integer" 2. Parametre: Menü indexi Türü "integer" 3. Parametre: Gösterilecek sayfa Türü "integer" 0 = İlk Sayfa 1 = 2. Sayfa ... Boş bırakılırsa page=0 olduğundan otomatik 0 olarak kabul eder. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_destroy(menu) Açıklama: Bu fonksiyon yaratılmış bir menüyü yok eder. 1. Parametre: Menünün indexi Türü "integer" ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_item_getinfo(menu, item, &access, info[], infolen, name[]="", namelen=0, &callback) Açıklama: Bu fonksiyon belirtilen seçeneğin indexinden seçeneğe ait bilgileri toplamayı sağlar. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: .Seçeneğin indexi Türü "integer" Program buraya girdiğiniz indexi kullanarak ilgili seçeneğin bilgilerini toplar. 3. Parametre: Seçeneğin erişim yetkisi Türü "integer" Erişim yetkisi, buraya yazdığınız değişkende depolanır. 4. Parametre: Seçeneğin ekstra bilgileri Türü "string" Seçeneğe ait ekstra bilgi, buraya yazdığınız değişkende depolanır. 5. Parametre: 4. Parametredeki değişkenin uzunluğu Türü "integer" Örneğin: szData[6] ise buraya 5 yazılır. Veya charsmax(szData) yazabilirsiniz. 6. Parametre: Seçeneğin ismi Türü "string" Seçeneğin ismi, buraya yazdığınız değişkende depolanır. 7. Parametre: 6. Parametredeki değişkenin uzunluğu Türü "integer" 8. Parametre: Seçeneğin geriçağrım fonksiyonu Türü "integer" Seçeneğin geriçağrım fonksiyonunun indexi, buraya yazılan değişkende depolanır. Return: Bu fonksiyon, işlem başarılı olursa 1'e, başarısız olursa 0'a döner.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_pages(menu) Açıklama: Bu fonksiyon belirtilen menünün kaç sayfadan oluştuğunu verir. 1. Parametre: Menünün indexi Türü "integer" Return: Bu fonksiyonun değeri, menünün toplam sayfa sayısına döner. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_items(menu) Açıklama: Bu fonksiyon belirtilen menünün kaç adet seçenekten oluştuğunu verir. 1. Parametre: Menünün indexi Türü "integer" Return: Bu fonksiyonun değeri, menünün toplam seçenek sayısına döner. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_find_id(menu, page, key) Açıklama: Bu fonksiyon belirtilen sayfada, belirtilen tuştaki seçeneğin indexini verir. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: Sayfa numarası Türü "integer" 3. Parametre: Tuş Türü "integer" Return: Belirtilen adresteki seçeneğin indexine döner. ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_item_setname(menu, item, const name[]) Açıklama: Bu fonksiyon belirtilen seçeneğin görünen ismini değiştirir. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: .Seçeneğin indexi Türü "integer" 3. Parametre: Seçeneğin yeni ismi Türü "string" Return: Bu fonksiyon, işlem başarılı olursa 1'e, başarısız olursa 0'a döner.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_item_setcmd(menu, item, const info[]) Açıklama: Bu fonksiyon belirtilen seçeneğin ekstra bilgi değerini değiştirir. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: .Seçeneğin indexi Türü "integer" 3. Parametre: Seçeneğin yeni bilgisi Türü "string" Return: Bu fonksiyon, işlem başarılı olursa 1'e, başarısız olursa 0'a döner.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_addblank(menu, slot=1) Açıklama: Bu fonksiyon belirtilen menüde iki seçenek arasına bir satır boşluk bırakmaya yarar. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: Boşluk bırakma metodu Türü "integer" 1 = Boşluk bırakır ve seçenekleri numaralandırırken 1 numara kaydırarak numaralandırır. Örneğin: 5. Seçenek 5 // BOŞLUK 7. Seçenek 6 0 = Boşluk bırakır ve seçenekleri numaralandırırken, numara sırasını bozmaz. Örneğin: 5. Seçenek 5 // BOŞLUK 6. Seçenek 6 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_addtext(menu, const text[], slot=1) Açıklama: Bu fonksiyon belirtilen menüde numarasız bir yazı ekler. Seçeneklerden bağımsızdır. Seçilemez. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: Görünecek yazı Türü "string" 3. Parametre: Yazı yazdırma metodu 1 = Yazı ekler ve seçenekleri numaralandırırken 1 numara kaydırarak numaralandırır. Örneğin: 5. Seçenek 5 Örnek Yazı 7. Seçenek 6 0 = Yazı ekler ve seçenekleri numaralandırırken, numara sırasını bozmaz. Örneğin: 5. Seçenek 5 Örnek Yazı 6. Seçenek 6 ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_cancel(player) Açıklama: Bu fonksiyon belirtilen oyuncuya zorla MENU_EXIT seçtirir. Menü görüntülenmeye devam eder ancak seçim yaptığında işlemez. 1. Parametre: Oyuncu indexi Türü "integer" ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_makecallback(const function[]) Açıklama: Bu fonksiyon bir menü geriçağrım işleticisi yaratır. 1. Parametre: Fonksiyon ismi Türü "string" Return: Bu fonksiyon, yaratılan geriçağrım fonksiyonunun indexine döner.---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- menu_item_setcall(menu, item, callback = -1) Açıklama: Bu fonksiyon belirtilen seçeneğin geriçağrım işleticisini ayarlar. 1. Parametre: Menünün indexi Türü "integer" 2. Parametre: Seçeneğin indexi Türü "integer" 3. Parametre: Geriçağrım fonksiyonunun bağlı olduğu değişken Türü "integer" Return: Bu fonksiyon, işlem başarılı olursa 1'e, başarısız olursa 0'a döner. Örnekler: Menüler local (yerel) ve global (küresel) olmak üzere ikiye ayrılır. Local menüler; tek kullanımlık, sadece kullanılacağı an yaratılan ve hemen kullanılıp yok edilen menülerdir. Global menüler ise plugin_init veya plugin_cfg forwardında bir defa olmak üzere yaratılır, tekrar tekrar yaratılmadan defalarca kez kullanılabilir. Örnekleri sırayla okumanız önerilir. Bir örnekte anlatılan, sonraki örneklerde anlatılmayacaktır. Local Menüler Basit Menü PHP Code: /* Plugin generated by AMXX-Studio */Oyuncu Menüsü PHP Code: /* Plugin generated by AMXX-Studio */Oylama Menüsü PHP Code: /* Plugin generated by AMXX-Studio */Alt Menü PHP Code: /* Plugin generated by AMXX-Studio */Birden Çok Menüye Bir İşletici Bağlamak PHP Code: /* Plugin generated by AMXX-Studio */Geriçağrım ( Callback ) Öncelikle biraz geriçağrımın ne olduğunu anlatayım. Geriçağrım, menüdeki seçenekleri belirli kurallar çerçevesinde devre dışı bırakmak veya aktif etmek için kullanılır. Örneğin devre dışı bırakılmış bir seçenek, menüde sönük renkte (yarı saydam beyaz) görünür ve hiçbir şekilde basılamaz. PHP Code: /* Plugin generated by AMXX-Studio */Global Menü PHP Code: #include <amxmodx>Ekstra Notlar: --> Menüyü renklendirirken kullanabileceğiniz renk kodları: \r - Kırmızı \y - Sarı \w - Beyaz \d - Deaktif rengi / yarı saydam beyaz --> Yazıları sağa dayalı yapmak için: \R --> Bir menü, eğer hiç seçenek eklenmemiş ise kendini göstermeyecektir. --> Global menüler, local menüler gibi tekrar tekrar yaratıp, yok etme gerektirmez. Bu yüzden performansı daha yüksektir. Daha az CPU tüketir. --> 10 Seçenek birden göstermek ve Geri, İleri, Çıkış tuşlarını kaldırmak için: menu_setprop(menu, MPROP_PERPAGE, 0)[/i][/i][/i] Cevap: AmxModX Ayrıntılı Menü Dersi - JacKSparrowS - 29-06-13 Ellerine Sağlık Kolun Kopmuyormu yaw
Cevap: AmxModX Ayrıntılı Menü Dersi - akcaliberkk - 29-06-13 2 Günde yaptım
Cevap: AmxModX Ayrıntılı Menü Dersi - JacKSparrowS - 29-06-13 Plugin Kodlamayı Hiçmi Hiç Beceremem Bende
Cevap: AmxModX Ayrıntılı Menü Dersi - Furkan Dize - 29-06-13 Öncelikle teşekkür ediyorum, emeğine sağlık. Senide yordum tarzı cümleler kurmayacağım çünkü anladığım kadarıyla pawnla uğraşmak senin de hoşuna gidiyor ) Teşekkürler tekrardan
Cevap: AmxModX Ayrıntılı Menü Dersi - akcaliberkk - 29-06-13 Rica ederim
Cevap: AmxModX Ayrıntılı Menü Dersi - smt287 - 29-06-13 Gerçekten güzel bence sabitlenmesi gerek
Cevap: AmxModX Ayrıntılı Menü Dersi - JacKSparrowS - 29-06-13 Yetkim Olsaydı Derdimki Konu Kendimce Sabite Alınmıştır
Cevap: AmxModX Ayrıntılı Menü Dersi - Pikachu - 30-06-13 Pluginle ilgili okuduğum en bilgilendirici konuydu, özellikle hakkında çoğu şeyi bilmediğim menü konusu da açıklığa kavuştu benim için, çok teşekkür ederim
Cevap: AmxModX Ayrıntılı Menü Dersi - kApO - 30-06-13 Eline emeğine sağlık kardeşim. |