hasanlarsbr
Aktif Üye
Slot Kontrolü nasıl olacak mesela 10 item ver ama inventryde 11 yer boş olması şartıyla şeklinde...Knight Online Lua Anlatımı
Bu rehber, Knight Online için Lua dilini kullanarak NPC'lerle etkileşimli görevler oluşturmayı kapsamaktadır. Yukarıda verilen komutlar ve örnekler, kendi scriptlerinizi oluşturmanızda size yardımcı olacaktır.
Lua - NPC'ye Bağlama
Değişken Tanımlamaları
*** Hidden text: cannot be quoted. ***
NPC'ye Tıklanınca Açılacak İlk Menü
İlk Menü Ayarlama
*** Hidden text: cannot be quoted. ***
EVENT_KODU: Bu, belirli bir olayı temsil eden koddur. Veritabanından veya manuel olarak atanabilir. Her olay kodu benzersiz olmalıdır.
MESAJ_KODU: NPC ile etkileşimde ortaya çıkacak mesajın kodudur. Bu mesajlar, Quest_Talk_us.tbl dosyasından alınabilir.
MENU: NPC'ye tıklanınca açılan menüdeki butonların üstünde yazacak yazıdır. Bu yazılar Quest_Menu_us.tbl dosyasından alınabilir.
ICERIK: Menünün içeriğini temsil eder. Butona tıklanınca yönlendirecek event kodudur.
Örnek:
*** Hidden text: cannot be quoted. ***
Bu örnekte:
EVENT == 100: 100 numaralı event için
1186: Quest_Talk_us.tbl dosyasından alınan mesaj kodu
10: Quest_Menu_us.tbl dosyasından alınan menü kodu (Confirm butonu)
150: Confirm butonuna tıklanınca yönlendirilecek event kodu
Devam Eden Menü Yapısı
*** Hidden text: cannot be quoted. ***
Bu örnekte:
EVENT == 150: 150 numaralı event için
1234: Quest_Talk_us.tbl dosyasından alınan mesaj kodu
27: Menü buton kodu
180: Butona tıklanınca yönlendirilecek event kodu
Genişletilmiş Menü Yapısı
*** Hidden text: cannot be quoted. ***
Ekstra Komutlar ve Açıklamaları
GiveItem(UID, ITEMNO, ADET)
- UID: Kullanıcının kimlik numarası
- ITEMNO: Verilecek itemin kodu
- ADET: Verilecek itemin adedi
- Açıklama: Kullanıcıya belirtilen itemi verir.
*** Hidden text: cannot be quoted. ***
RobItem(UID, ITEMKOD, ADET)
*** Hidden text: cannot be quoted. ***
- UID: Kullanıcının kimlik numarası
- ITEMKOD: Alınacak itemin kodu
- ADET: Alınacak itemin adedi
- Açıklama: Kullanıcıdan belirtilen itemi alır.
RunExchange(UID, EVENTNO)
*** Hidden text: cannot be quoted. ***
- UID: Kullanıcının kimlik numarası
- EVENTNO: Çalıştırılacak eventin kodu
- Açıklama: Kullanıcı için belirli bir event çalıştırır.
CheckGiveSlot(UID, -1)
- UID: Kullanıcının kimlik numarası
- Açıklama: Kullanıcının envanterinde boş yer olup olmadığını kontrol eder.
*** Hidden text: cannot be quoted. ***
CheckLevel(UID)
*** Hidden text: cannot be quoted. ***
- UID: Kullanıcının kimlik numarası
- Açıklama: Kullanıcının seviyesini kontrol eder.
GoldLose(UID, ParaMiktarı)
*** Hidden text: cannot be quoted. ***
- UID: Kullanıcının kimlik numarası
- ParaMiktarı: Alınacak para miktarı
- Açıklama: Kullanıcıdan belirli miktarda para alır.
GiveLoyalty(UID, NPMIKTARI)
*** Hidden text: cannot be quoted. ***
- UID: Kullanıcının kimlik numarası
- NPMIKTARI: Verilecek national point miktarı
- Açıklama: Kullanıcıya belirli miktarda national point (NP) verir.
GiveMoney(UID, PARAMIKTARI)
*** Hidden text: cannot be quoted. ***
- UID: Kullanıcının kimlik numarası
- PARAMIKTARI: Verilecek para miktarı
- Açıklama: Kullanıcıya belirli miktarda para verir.
Örnek Görev Lua
Aşağıdaki örnek, kullanıcıya bir görev verirken çeşitli kontroller ve ödüller içeren bir lua gösterir:
*** Hidden text: cannot be quoted. ***
Bu lua, kullanıcı envanterinde boş yer olup olmadığını ve kullanıcının seviyesinin yeterli olup olmadığını kontrol eder. Eğer şartlar sağlanıyorsa, kullanıcıdan 1000 altın alır ve ona belirli ödüller verir.