SOL
SAĞ
Bilinmesi gereken quest fonksiyonları
SİDEBAR REKLAMI

.

Fazla uzatmadan bu konu hakkında bildiğim kadarı ile sizlere hangi fonksiyonların ne işe yaradığını anlatacağım..

Questte'ki fonksiyon ve lua kodlarını ayırt etmek
Evet arkadaşlar bir quest yazarken yazdığınız her cümlecik kod değildir. 3 Farklı olay ile questleri oluştururuz..
a-Lua kodları
b-function(fonksiyon)
c-Metinler
a-Lua kodları lua proğlamlama diline ait kodlarıdır.php,javascript vb kodlama dilleri gibi buda proğlamlama dilidir
lua diline ait birkaç kod:
if elseif else for end or and not select local global switc table while print
Bazı lua kodları bunlardır

b-Functions (fonksiyonlar)
Fonksiyonlar ise bu lua kodları ile yazılmış hazır kod diye biliriz. fonksiyonlar çağırılır iken fonksiyon_ismi() şeklinde çağrılır () içerisine bir değer girile bilir örnekler ile anlatacağım. Ayrıca dikkat ederseniz bir quest full fonksiyonlar ile çalışmakta :D örnek oyuncuya item ver : pc.get_item2("50002",1) şeklinde
Bazı fonksiyonlar:
notice pc.get_item pc.get_item2 say say_green pc.get_name pc.is_gm pc.get_level
bazu fonksiyonlardır
Fonksiyonlar sabit değildir ve lua diline hakin iseniz sizde kendi fonksiyonunuzu yazabilirsiniz entegresini anlatırım..

c- metinler
Metinler ise questi komple düşündüğümüzde içerisinde olanlar dedim o zaman bunuda eklemek gerekirdi
metinler arkadaşlar say("") arasında kullanıcıya ifa ettiğimiz bölümler örnek say("naber millet ")

Not:bu konu devamlı güncellenecektir bu yüzden şu eksik bu eksik demeyin en basitlerden başlıyorum elim yorulmasın :D

Quest fonksiyonları
1-say(),say_green(),say_yellow(),say_red()
Bahsetmek anlamına gelir ekrana basılacak her türlü ifadeyi bu parantezler içerisine yazarız
Not: say ın bazı yazım kuralları vardır örnek say("naber") şeklinde yazmamız gereklidir fakat yazılacak bir değişken ise
say(naber) de yazılabilir değişkeni yazmanın diğer yolu say(""naber"") de olabilir fakat değişkenni say("naber") şeklinde yazar iseniz ekranda naber yazar. Eğer bir değişken birde metin eklemek istiyo iseniz örnek
local yas = 24
say("Senin Yaşın "..yas.." Mı ?") şeklinde yazmamız gereklidir..
say_green ve diğerleri ise içerisine yazılan metini renkli hale getirir bir örnek vermek gerekirse
say_green("Bu yeşil bir metindir")
Çıktısı: Bu yeşil bir metindir

2-İnput()
Anlatım:
İnput oyuncuların klavyeden giriş yapmasını sağlayan kutucuklardır ruhtaşına sağ tıkladığınızda ekrana gelen kutu gibi

Kullanım:
2 farklı kullanımı vardır bu kullanımlar istenilen veriye göre değişmektedir. Eğer istenilen veri metinsel bir değer ise
direkt input() yazabiliriz fakat istenilen değer sayısal bir değer ise bunu tonumber(input()) tonumber lua hazır fonksiyonunun içerisine almamız gereklidir. almaya bilirsiniz faka if ile sorgulamada sıkıntı olur alın siz

Örnek:
local sayi = tonumber(input()) // Sayısal bir değer alıyo isem
local metin = input() // Metinsel bir değer alıyo isem
Çıktısı: Oyuncu kutuya ne yazar ise o

3-pc.get_name()
Anlatım:
Etkileşimde olan oyuncunun ismini almaya yarar

Kullanım:
2 farklı yol ile kullanabilirsiniz birincisi bir değişkene atayarak kullanım local oyuncu = pc.get_name() diğeri ise direkt kullanım pc.get_name()

Örnek:
local oyuncu = pc.get_name() say("Senin adın "..oyuncu.." ") // Değişkene atayarak kullanım
say("Senin adın "..pc.get_name().." ") //Normal kullanım
Her zaman en üstte bir kere değişkene atayın bir daha tekrar tekrar pc.get_name() yazmayın

4-pc.get_level()
Anlatım:
Etkileşimde olan oyuncunun levelini verir

Kullanım:
pc.get_name() ile aynıdır
Örnek:
pc.get_name() ile aynıdır

5-pc.get_job()
Anlatım:
Etkileşimde olan oyuncunun karakterini verir sayısal bir değer gelir 0 ile 7 arasında

Kullanım:
pc.get_name() ile aynıdır

Örnek:
pc.get_name() ile aynıdır

Mini bilgi: Sayısal bir değer geleceği için bunları bir diziye sokarak hangi karakter olduğu bulunabilir
local karakterler = {}
karakterler[0] = "Erkek savaşçı";karakterler[1] = "Kadın savaşçı";
Şeklinde gelecek değeri [] içerisine yazarak

6-pc.get_playtime()
anlatım:
Etkileşimde olan oyuncunun oyun süresini verir. oyunda kalma süresi

Kullanım:
pc.get_name() ile aynıdır
Örnek:
local suren = pc.get_playtime()
if ( suren < 100 ) then
say("Oyun süren 100 den küçük")
else
say("Oyun süren 100 den büyük")
end

7-pc.get_money()
Gold değil money coins ep yani

Kullanım:
pc.get_name() ile aynıdır

Örnek:
local ep = pc.get_money()
say("Hesabında"..ep.." bulunmaktadır")

8-pc.get_gold()
Anlatım:
Etkileşimde olan oyuncunun yang'ını miktarını gösterir

Kullanım:
pc.get_name() ile aynıdır

Örnek:
local yang = pc.get_gold()
say("Toplam "..yang.." yangınız var")

9-pc.get_hp()
Etkileşimde olan oyuncunun hp değerini gösterir

Kullanım:
pc.get_name() ile aynıdır

Örnek:
local hp = pc.get_hp()
say("Toplam "..hp.." hp bulunmaktadır")

10-pc.get_local_x & pc.get_local_y
Anlatım:
Etkileşimde olan oyuncunun local deki x ve y konumunu gösterir dikkat local deki dedim..

Kullanım:
pc.get_name() ile aynıdır

Örnek:
local local_x = pc.get_local_x()
local local_y = pc.get_local_y()
say("Local olarak kordinatlarınız: X:"..x.." Y:"..y.." dir... ")

11-pc.get_empire()
Anlatım:
Etkileşimde olan oyuncunun krallığını verir 3 krallıkdan birisi sayısal bir değer döner 1 2 3

Kullanım:
pc.get_name() ile aynıdır

Örnek:
local kral = pc.get_empire()
say("Krallığınız: "..kral.." dır")

12-chat()
Anlatım:
Alttan geçen ve sadece etkileşimdeki oyuncunun görebileceği konuşmadır.

Kullanım:
chat("yeterince güçlü değilsin") // muharebe kılıcı +0 kazandınız yazısı gibi alttan gecer


12-table.getn()
Anlatım:
Genelde sql cümlelerini sorgulamada kullanılır. sql den dönen satır sayısını verir

Kullanım:
local sql = mysql_query10("select * from player order by id desc")
local toplam = tonumber (table.getn(sql))
say("Toplam oyuncu sayımız: "..toplam.." ")

Dipnot: tonumberi sayısal olduğu için kullandım. direkt olarak table.getn() yazabilirsiniz

13-pc.getqf()
Anlatım:
Olay tutucudur bu kodu her kullandığımızda aslında veri tabanına () arasına yazdıklarınız kayıt edilir.
olay tutucu cok kullanışlı bir olaydır fakat 1 den fazla değer verilmiyor. ama siz kendi olay tutucunuzu yapabilirisiniz
biraz sql biliyo iseniz....

Kullanım:
oyuncudan bir görevi yaptığını farz edelim ve başarınca bu kodu yazıyorum pc.getqf("yapti",1) yapti == 1 oldu ve questimin en başına if ( pc.getqf("yapti") == 0 ) yazar isem artık o görevi tekrar yapamaz :d

Örnek:
when 20018.chat."görev" with pc.getqf("yapti") == 0 begin
say("Görevi yapmamışın")
vs vs vs....
pc.getqf("yapti",1) //artık bu bölüme gireme yapti artık 1 oldu sadece 0 olanları alırız..

14-pc.getx() & pc.gety()
Anlatım:
Normal olarak x ve y deki kordinatlar bu kordinatlar oyundaki sag üstte bulunan küçük haritadaki sizin bunudugunuz kordinatlar ile aynıdır.

Kullanım:
local x= pc.getx()
local y= pc.gety()

say("Kordinatlarınız X:"..x.." Y:"..y.." ")

15-say_item_vnum()
Anlatım:
İtemin png resmini verir..

Kullanım:
Parantezler arasına yazılan item kodları ile gerçekleşir mob kodlarını çalıştırmaz..

Örnek:
say("İtemin resmi:")
say(say_item_vnum(19))
Çıktısı: 19 kodlu kılıç+9 un png resmi

Şimdilik 15 tanesi yeter yarın gene güncellerim arkadaşlarç malum daha lig sistemini yazacağım :d
Yorumlar eksik olmasın..inşallah...konunun devamı için

Güncelleme-1

16-Mob_name()
Anlatım:
Mobların isimlerini verir

Kullanım:
Parantezler arasına girilen mob kodları ile çalışır girilen kodun mob ismini verir

Örnek:
say("Bu npc'nin ismi:")
mob_name(20017)
Şeklinde kullanılır

17-Mob_vnum()
Anlatım:
Mob un kodunu verir

Kullanım:
Etkileşimde olan mob un kodunu almaya yarar

Örnek:
say("Bu npc'nin kodu:")
say(""..mob_vnum().."'dir")

18-timer()
Anlatım:
Geri sayım zaman

Kullanım:
Parantez aralarına verilen sayi ile kullanılır bir string ve bir int değer ile çalışır. when komutu ile bu değerleri yakalarız..

Örnek:
say("beni yolla")
timer("yolla",10)
when yolla.timer begin
pc.warp(555,555)
end

19-Loop_timer()
Anlatım:
Sonsuz döndü süresi aktif hale getiren veya reload q ve reboot atılmadığı sürece oyundan çıkana kadar dönen bir döngü süresidir

Kullanım:
Timer ile aynıdır tek fark timer da tekrar dönmesini istese idik bir daha timer() yapmamız gerekli idi bunda gerek yok

Örnek:
when 20018.chat."lolo" begin
loop_timer("hasan",10)
end
when hasan.loop_timer begin
say("Bu yazı ben oyundan cıkana kadar her 10 saniyede gelecek")
end

20-server_timer()
Anlatım:
Server taraflı süredir timer den farkı oyuncu ile alakası yoktur aktif hale getiren oyuncu oyunda olmasa bile döngü devam eder

Kullanım:
timer ile kullanımı aynıdır

Örnek:
when 20018.chat."lolo" begin
server_timer("hasan",10)
end
when hasan.server_timer begin
say("Bu yazı ben oyunda olmasam bile gelecek")
end

21-server_loop_timer()
Anlatım:
Server timer ile aynıdır tek fark buda loop timer da olduğu gibi sınırsız döndü süresidir

Kullanım:
Loop_timer ile aynı kullanımı vardır

Örnek:
loop_timer ile aynıdır
tek fark oyuncu oyunda olmasada döngü reload q veya reboot atılmadğı sürece devam eder

22-send_letter()
Anlatım:
Görev şeklinde buton vermemizi sağlar

Kullanım:
Parantezler arasına bir isim girilir ve sol kenardaki görev butonları yerine gelir

Örnek:
when letter with pc.is_gm() begin
send_letter("GM:E-posta")
end
when info or button with pc.is_gm() begin
end
bu ikiliyi hep birlikte kullanmak gerekir yoksa buton çalışmaz..

23-clear_letter()
Anlatım:
Görev butonlarını silmeye yarar

Kullanım:
bitişlere bu kodu yazarak silnilir

Örnek:
questin sonuna
celar_letter()

 

YAZAR HAKKINDA;
arcface
Admin

Web Developer

KONU YORUMLARI
YORUM YAP
Image

Quests

Bilinmesi gereken quest fonksiyonları

Bilinmesi gereken quest fonksiyonları Bilinmesi gereken quest fonksiyonları Bilinmesi gereken quest fonksiyonları Bilinmesi gereken quest fonksiyonları Bilinmesi gereken quest fonksiyonları Bilinmesi gereken quest fonksiyonları

EN ÇOK OKUNAN 5 MAKALELER
arcface
Admin Yazdı;

3 ay önce

Yarı insan denilince ne anlıyoruz önce ona bir bakalım. Yarı insan; bi..

arcface
Admin Yazdı;

2 ay önce

Rubinum2 Web Panel Rubinum2 Web Panel Rubinum2 Web PanelRubinum2 Web..

arcface
Admin Yazdı;

2 ay önce

Afro2 Web Panel Kodlaması Afro2 Web Panel Kodlaması Afro2 Web Pane..

arcface
Admin Yazdı;

2 ay önce

Discord Widget Discord Widget Discord Widget Discord Widget Di..

arcface
Admin Yazdı;

2 ay önce

Aegea2 Site Teması İndir Aegea2 Site Teması İndir Aegea2 Site Teması..