Whistle

Ruhsuz Filozof
Kurucu
Kurumsal Üye
Geliştirici
Yardımsever Üye
Mesaj
11.557
Çözümler
550
Beğeni
12.227
Puan
5.915
Ticaret Puanı
2
Merhaba arkadaşlar,
Biliyorsunuz ki forumlarda quest renklendirme fonksiyonları paylaşılıyor. Her ne kadar bu paylaşılan fonksiyonlar kullanımı kolaylaştırsa da renk seçeneği konusunda özgürlüğünüzü kısıtlayabiliyor. Oysaki Metin2'nin hiç el değmemiş halinde (vanilla) aslında quest renklendirme mantığı oyuna entegre edilmiş durumda.

Mesela say_reward() diye bir fonksiyon kullandığınız zaman. Turuncumsu bir yazı quest ekranında yazar. Oysaki bu normalde say fonksiyonudur.
Örnek ile göstereyim. :)
Metin2 filesinin questlerin bulunduğu dizine gelip şu dosyayı açın: questlib.lua. Daha sonra şöyle bir satır bulacaksınız;
Lua (Quest):
function say_reward(name) say(color256(255, 200, 200)..name..color256(196, 196, 196)) end

İşte gördüğünüz gibi. Normalde RGB renk kodlarını kullanarak renklendirme yapılmış. Sizde renklendirme istediğiniz bir kısmı quest kodlarken şu şekilde kullanabilirsiniz.

Lua (Quest):
say(color256(64,224,208) .. "Merhaba dünya[ENTER]Yeni yazi rengi nasil olmus? :)" .. color256(196, 196, 196))

Gördüğünüz gibi. Eğer sizde bunu uygularsanız yazının rengi turkuaz renkte olacaktır.

Birde bazılarınız soracaktır. Neden fonksiyonunun bitiminde şunu kullandın;
Lua (Quest):
color256(196, 196, 196)
Normalde Metin2'de quest penceresini açıldığı zaman yazan yazının rengi 196,196,196 renk koduna aittir. Siz sonuna bunu eklemezseniz yazının rengi beyaz olur. Bu yüzden sonuna bunu ekleyerek yazının rengini normal haline çevirebilirsiniz..

Şimdi soracaksınız RGB renk kodlarını nereden öğrenebilirim diye. RGB renk kodlarını photoshop programından seçtiğiniz renkte yazan bilgilerden öğrenebilirsiniz. Yada şuna benzer siteleri kullanabilirsiniz;
Linkleri görebilmek için giriş yap veya kayıt ol.


Evet arkadaşlar. Metin2 quest renklendirme mantığını anladığınıza göre daha rahat kullanım için kendinize ekstra quest funksiyonları yazabilirsiniz.
Forumlarda paylaşılan örnek;
Lua (Quest):
function say_color(color,text)
    if color=="blue" then
        say(color256(0, 0, 255)..text..color256(196, 196, 196))
    elseif color == "green" then
        say(color256(0, 255, 0)..text..color256(196, 196, 196))
    elseif color == "red" then
        say(color256(255, 0, 0)..text..color256(196, 196, 196))
    elseif color == "yellow" then
        say(color256(255, 255, 0)..text..color256(196, 196, 196))
    elseif color == "white" then
        say(color256(255, 255, 255)..text..color256(196, 196, 196))
    elseif color == "black" then
        say(color256(0, 0, 0)..text..color256(196, 196, 196))
    elseif color == "cyan" then
        say(color256(0, 255, 255)..text..color256(196, 196, 196))
    elseif color == "pink" then
        say(color256(255, 0, 255)..text..color256(196, 196, 196))
    elseif color == "orange" then
        say(color256(255, 145, 0)..text..color256(196, 196, 196))
    elseif color == "purple" then
        say(color256(100, 0, 255)..text..color256(196, 196, 196))
    else
        say(color256(196, 196, 196)..text..color256(196, 196, 196))
    end
end

Server filesinizin quest dizinine girip quest_functions isimli dosyayı açıp şu değeri de ekleyin;
Kod:
say_color

Eklenen fonksiyonun örnek kullanımı;
Lua (Quest):
say_color("green","Bu quest yeşil renklidir.")

Evet bu konuda size renklendirme mantığını anlattım. İster benim gösterdiğim gibi kullanın ister örnek fonksiyondaki gibi kendinize bir kütüphane yazın. Hangisi hoşunuza giderse. :)
 
Son düzenleme:
Geri
Üst