Merhaba arkadaşlar,
Aşağıdaki fonksiyon tamamen tarafımızca kodlanmıştır. Herhangi bir alıntı söz konusu değildir. Bu fonksiyon ile oyun içerisinde para miktarınızın arasına .(nokta) koyabilirsiniz. Böylece parayı okumak daha anlaşılır ve kolay olur.
Örneğin: 345 milyon 640 bin 350 paranız var. Bunu normalde questlerde para miktarınızı gösterirken bu şekilde görürsünüz:
Bu fonksiyon ile paranız bu şekilde görünecektir:
Fonksiyonun eklenmesi ve kullanımı:
Fonksiyon kodu:
Kurulumu:
1-) Filezilla programını açıp sunucumuza bağlanalım.
2-) /usr/game/share/locale/turkey/quest bölümüne gelelim.
3-) "questlib.lua" adlı dosyayı açıyoruz. En alta gelip yukarıdaki fonksiyon kodunu ekliyoruz. Daha sonra kapatıp dosyayı üzerine yaz diyoruz. "questlib.lua" ile işimiz bitti.
4-) Şimdi "quest_functions" dosyasını açıyoruz. En alta "yang_Ayarla" komutunu ekliyoruz. UYARI: yang_Ayarla() bu şekilde eklemeyin! Hata ile karşılaşırsınız. yang_Ayarla bu şekilde parantezler olmadan ekleyeceksiniz. Ekledikten sonra kapatıp üzerine yaz diyoruz.
Evet kurulum aşamasındakileri de olduğu gibi hatasız yaptıysanız işlem tamamdır. Reboot atmanıza gerek yok.
Kullanımı:
Evet şimdi nasıl kullanılacağını göstereceğim:
1-) usr/game/share/locale/turkey/quest bölümüne "paramiktarim.lua" adinda bir lua dosyası açalım. Daha sonra içine aşağıdaki kodları yazalım:
Bunu kaydedip çıkıyoruz.
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc paramiktarim.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 20095 adlı NPC'yi çağırarak para miktarınızı kontrol edebilirsiniz.
"SADECE PARA İÇİN DEĞİL HER DEĞER İÇİN BU ŞEKİLDE OLMASINI İSTİYORUM", diyorsanız aşağıdaki uygulamayı yapın:
1-) "questlib.lua" nın en altına bu kodu ekleyin.
2-) Daha sonra "quest_function" dosyasını açın ve "miktar_Hesapla" fonksiyonunu ekleyin. NOT: miktar_Hesapla() şeklinde eklemeyin. Bu şekilde eklenecek: miktar_Hesapla
Kullanımı:
1-) Yukarıda anlattığımdan faydalanarak bir lua dosyası oluşturun ve aşağıdaki lua kodlarını kaydederek çalıştırın.
UYARI: LÜTFEN ALINTI YAPIP PAYLAŞACAKSANIZ BAŞKA YERDE KAYNAK BELİRTİN.
Eğer yeteri kadar ilgilenen olursa, yakında "ÇOKLU OYLAMA SİSTEMİ FONKSİYONU" paylaşılacaktır. İnsanların ihtiyaçlarına göre paylaşacağım.
Ayrıca konu sabit olursa sevinirim. Bir çok önemsiz konu sabit duruma alınmış durumda. En azından bu bir çok kişinin ihtiyacını giderecektir.
Metin2'de Para Miktarı Arasına Nokta Koyma Fonksiyonu
Metin2 sunucularında oyuncuların ekonomik deneyimini geliştirmek adına bazı küçük ama etkili değişiklikler yapılabilir. Bu değişikliklerden birisi de para miktarı gösteriminde nokta veya virgül gibi ayırıcılar kullanmaktır. Bu işlem kullanıcı dostu bir arayüz sağlarken, büyük sayıların daha kolay okunmasını sağlar. Ancak Metin2 standart olarak para miktarı arasına otomatik olarak nokta koymaz. Bu nedenle geliştiriciler, Lua scripting dili kullanarak özel bir fonksiyon yazarak bu sorunu çözebilirler.
Fonksiyonun Amacı ve Kullanımı
Para miktarı arasına nokta koyma fonksiyonu, örneğin 1000000 sayısını 1.000.000 şeklinde görselleştirir. Bu, özellikle oyuncuların altın veya cash gibi yüksek miktarları daha rahat takip etmesini sağlar. Lua dilinde bu işlem için bir string manipulation fonksiyonu yazılır. Bu fonksiyon, büyük sayıları okunabilir hale getirerek hem kullanıcı deneyimini artırır hem de sunucu tarafında daha profesyonel bir görünüm sağlar.
Örnek Lua Kodu
Aşağıda, Lua dilinde yazılmış basit bir fonksiyon örneği verilmiştir:
Bu fonksiyon, girilen sayıyı string'e çevirip belirli kurallara göre noktalama yapar. Örneğin 1000000 girdiğinizde çıktı olarak 1.000.000 alırsınız.
Quest Sisteminde Kullanımı
Metin2 quest sistemlerinde bu fonksiyonu reward miktarlarını göstermek için kullanabilirsiniz. Özellikle günlük görevlerde, özel görevlerde veya NPC dialoglarında altın ödülleri daha şık bir şekilde göstermek isterseniz bu fonksiyon oldukça faydalıdır. Quest edit sırasında, reward kısmında doğrudan sayıyı değil, bu fonksiyonu kullanarak noktalı versiyonunu yazabilirsiniz. Bu sayede kullanıcıya gösterilen mesajda daha profesyonel bir görüntü oluşur.
Dikkat Edilmesi Gerekenler[/BR]
Fonksiyon doğru çalışsa bile bazı quest hata durumları oluşabilir. Özellikle çok büyük sayılarla çalışırken overflow gibi hatalar alınabilir. Ayrıca bu fonksiyonun client tarafında desteklenmesi gerekir. Bazı Metin2 client sürümleri bu tür küçük script değişikliklerini desteklemeyebilir. Bu nedenle test aşamasında dikkatli olunmalıdır. Debug işlemleri sırasında da bu fonksiyonun çağrıldığı yerler kontrol edilmelidir.
Sonuç
Metin2 quest geliştirme sürecinde kullanıcı deneyimi artırmak adına küçük ama etkili değişiklikler yapmak önemlidir. Para miktarı arasına nokta koyma fonksiyonu gibi küçük geliştirmeler, oyuncuların sunucuya olan bağlılığını artırabilir. Lua scripting bilgisi olan geliştiriciler için oldukça kolay bir entegrasyon sunar. Quest chain sistemlerinde, daily questlerde veya özel görevlerde bu tür küçük ama etkili değişiklikler sunucunuzun farklılaşmasına yardımcı olur.
Adding Dots Between Money Amounts Function in Metin2
In Metin2 servers, small but effective changes can be made to improve players' economic experience. One of these changes is adding separators like dots or commas within money amounts. This practice helps create a user-friendly interface and makes large numbers easier to read. However, Metin2 does not automatically place dots between money values by default. Developers can solve this issue by writing a custom function using the Lua scripting language.
Purpose and Usage of the Function
The function for placing dots between money amounts transforms numbers like 1000000 into 1.000.000. This allows players to more easily follow high amounts such as gold or cash. In Lua, this process involves writing a string manipulation function. The function improves readability of large numbers, enhancing user experience and providing a more professional look on the server side.
Example Lua Code
Below is a simple example of a function written in Lua:
This function converts the input number into a string and applies formatting rules to insert dots. For example, if you enter 1000000, the output will be 1.000.000.
Usage in Quest System
You can use this function in Metin2's quest system to display reward amounts more elegantly. It is particularly useful in daily quests, special missions, or NPC dialogs where you want to present gold rewards in a more polished way. During quest editing, instead of showing raw numbers, you can display the formatted version using this function, resulting in a more professional appearance in player messages.
Points to Consider
Even if the function works correctly, certain quest errors may occur. When working with very large numbers, overflow errors might arise. Additionally, the client must support this type of small script modification. Some Metin2 client versions may not support such minor script changes. Therefore, caution should be exercised during testing. During debugging, locations where the function is called should also be checked carefully.
Conclusion
In the process of developing Metin2 quests, making small but impactful changes to enhance user experience is important. Functions like adding dots between money amounts can increase player attachment to your server. These modifications offer an easy integration for developers familiar with Lua scripting. Small yet effective changes like these can help differentiate your server when applied to quest chains, daily quests, or custom missions.
Aşağıdaki fonksiyon tamamen tarafımızca kodlanmıştır. Herhangi bir alıntı söz konusu değildir. Bu fonksiyon ile oyun içerisinde para miktarınızın arasına .(nokta) koyabilirsiniz. Böylece parayı okumak daha anlaşılır ve kolay olur.
Örneğin: 345 milyon 640 bin 350 paranız var. Bunu normalde questlerde para miktarınızı gösterirken bu şekilde görürsünüz:
Kod:
345640350
Bu fonksiyon ile paranız bu şekilde görünecektir:
Kod:
345.640.350
Fonksiyonun eklenmesi ve kullanımı:
Fonksiyon kodu:
Kod:
function yang_Ayarla() yang2 = tostring(pc.get_gold()) local yang = pc.get_gold() local sayac = 10 local basamak = 1 local ilkhal = basamak while true do if yang / sayac >= 1 then basamak = basamak + 1 sayac = sayac * 10 else break end end t = {} sonucText = "" for i=1, string.len(yang2) do t[i]= (string.sub(yang2,i,i)) end for k , v in pairs(t) do if (basamak == 9 or basamak == 6 or basamak == 3) and sonucText != "" then sonucText = sonucText.."." sonucText = sonucText..v else sonucText = sonucText..v end basamak = basamak - 1 end return sonucText end
Kurulumu:
1-) Filezilla programını açıp sunucumuza bağlanalım.
2-) /usr/game/share/locale/turkey/quest bölümüne gelelim.
3-) "questlib.lua" adlı dosyayı açıyoruz. En alta gelip yukarıdaki fonksiyon kodunu ekliyoruz. Daha sonra kapatıp dosyayı üzerine yaz diyoruz. "questlib.lua" ile işimiz bitti.
4-) Şimdi "quest_functions" dosyasını açıyoruz. En alta "yang_Ayarla" komutunu ekliyoruz. UYARI: yang_Ayarla() bu şekilde eklemeyin! Hata ile karşılaşırsınız. yang_Ayarla bu şekilde parantezler olmadan ekleyeceksiniz. Ekledikten sonra kapatıp üzerine yaz diyoruz.
Evet kurulum aşamasındakileri de olduğu gibi hatasız yaptıysanız işlem tamamdır. Reboot atmanıza gerek yok.
Kullanımı:
Evet şimdi nasıl kullanılacağını göstereceğim:
1-) usr/game/share/locale/turkey/quest bölümüne "paramiktarim.lua" adinda bir lua dosyası açalım. Daha sonra içine aşağıdaki kodları yazalım:
Kod:
quest paramiktarim begin state start begin when 20095.chat."Para Miktarım" begin say_title("Bilgilendirme:") say("") say("Para miktarım: "..yang_Ayarla()) end end end
Bunu kaydedip çıkıyoruz.
2-)Putty'e geliyoruz.
cd /usr/game/share/locale/turkey/quest yazıp enterliyoruz. Daha sonra şu komutu yazıyoruz.
./qc paramiktarim.lua
Putty ile de işimiz bitti.
3-) Oyuna dönüyoruz ve bir GM karakter ile "/reload q" çekiyoruz.
4-) Daha sonra 20095 adlı NPC'yi çağırarak para miktarınızı kontrol edebilirsiniz.
"SADECE PARA İÇİN DEĞİL HER DEĞER İÇİN BU ŞEKİLDE OLMASINI İSTİYORUM", diyorsanız aşağıdaki uygulamayı yapın:
1-) "questlib.lua" nın en altına bu kodu ekleyin.
2-) Daha sonra "quest_function" dosyasını açın ve "miktar_Hesapla" fonksiyonunu ekleyin. NOT: miktar_Hesapla() şeklinde eklemeyin. Bu şekilde eklenecek: miktar_Hesapla
Kod:
function miktar_Hesapla(gelen_veri) miktar2 = tostring(gelen_veri) local miktar = gelen_veri local sayac = 10 local basamak = 1 local ilkhal = basamak while true do if miktar / sayac >= 1 then basamak = basamak + 1 sayac = sayac * 10 else break end end t = {} sonucText = "" for i=1, string.len(miktar2) do t[i]= (string.sub(miktar2,i,i)) end for k , v in pairs(t) do--1324 if (basamak == 9 or basamak == 6 or basamak == 3) and sonucText != "" then sonucText = sonucText.."." sonucText = sonucText..v else sonucText = sonucText..v end basamak = basamak - 1 end return sonucText end
Kullanımı:
1-) Yukarıda anlattığımdan faydalanarak bir lua dosyası oluşturun ve aşağıdaki lua kodlarını kaydederek çalıştırın.
Kod:
quest genelveri begin state start begin when 20095.chat."Puanlarim" begin say_title("Bilgilendirme:") say("") say("Para miktarım: "..miktar_Hesapla(pc.get_gold())) say("Exp Miktarım: "..miktar_Hesapla(pc.get_exp())) say("Toplam enerjim: "..miktar_Hesapla(pc.get_max_hp())) end end end
UYARI: LÜTFEN ALINTI YAPIP PAYLAŞACAKSANIZ BAŞKA YERDE KAYNAK BELİRTİN.
Eğer yeteri kadar ilgilenen olursa, yakında "ÇOKLU OYLAMA SİSTEMİ FONKSİYONU" paylaşılacaktır. İnsanların ihtiyaçlarına göre paylaşacağım.
Ayrıca konu sabit olursa sevinirim. Bir çok önemsiz konu sabit duruma alınmış durumda. En azından bu bir çok kişinin ihtiyacını giderecektir.
Metin2'de Para Miktarı Arasına Nokta Koyma Fonksiyonu
Metin2 sunucularında oyuncuların ekonomik deneyimini geliştirmek adına bazı küçük ama etkili değişiklikler yapılabilir. Bu değişikliklerden birisi de para miktarı gösteriminde nokta veya virgül gibi ayırıcılar kullanmaktır. Bu işlem kullanıcı dostu bir arayüz sağlarken, büyük sayıların daha kolay okunmasını sağlar. Ancak Metin2 standart olarak para miktarı arasına otomatik olarak nokta koymaz. Bu nedenle geliştiriciler, Lua scripting dili kullanarak özel bir fonksiyon yazarak bu sorunu çözebilirler.
Fonksiyonun Amacı ve Kullanımı
Para miktarı arasına nokta koyma fonksiyonu, örneğin 1000000 sayısını 1.000.000 şeklinde görselleştirir. Bu, özellikle oyuncuların altın veya cash gibi yüksek miktarları daha rahat takip etmesini sağlar. Lua dilinde bu işlem için bir string manipulation fonksiyonu yazılır. Bu fonksiyon, büyük sayıları okunabilir hale getirerek hem kullanıcı deneyimini artırır hem de sunucu tarafında daha profesyonel bir görünüm sağlar.
Örnek Lua Kodu
Aşağıda, Lua dilinde yazılmış basit bir fonksiyon örneği verilmiştir:
Kod:
function addThousandSeparator(n)[BR][/BR] local formatted = tostring(n)[BR][/BR] local k[BR][/BR] while true do[BR][/BR] formatted, k = string.gsub(formatted, '^(%d+)(%d%d%d)', '%1.%2')[BR][/BR] if k == 0 then break end[BR][/BR] end[BR][/BR] return formatted[BR][/BR]end
Bu fonksiyon, girilen sayıyı string'e çevirip belirli kurallara göre noktalama yapar. Örneğin 1000000 girdiğinizde çıktı olarak 1.000.000 alırsınız.
Quest Sisteminde Kullanımı
Metin2 quest sistemlerinde bu fonksiyonu reward miktarlarını göstermek için kullanabilirsiniz. Özellikle günlük görevlerde, özel görevlerde veya NPC dialoglarında altın ödülleri daha şık bir şekilde göstermek isterseniz bu fonksiyon oldukça faydalıdır. Quest edit sırasında, reward kısmında doğrudan sayıyı değil, bu fonksiyonu kullanarak noktalı versiyonunu yazabilirsiniz. Bu sayede kullanıcıya gösterilen mesajda daha profesyonel bir görüntü oluşur.
Dikkat Edilmesi Gerekenler[/BR]
Fonksiyon doğru çalışsa bile bazı quest hata durumları oluşabilir. Özellikle çok büyük sayılarla çalışırken overflow gibi hatalar alınabilir. Ayrıca bu fonksiyonun client tarafında desteklenmesi gerekir. Bazı Metin2 client sürümleri bu tür küçük script değişikliklerini desteklemeyebilir. Bu nedenle test aşamasında dikkatli olunmalıdır. Debug işlemleri sırasında da bu fonksiyonun çağrıldığı yerler kontrol edilmelidir.
Sonuç
Metin2 quest geliştirme sürecinde kullanıcı deneyimi artırmak adına küçük ama etkili değişiklikler yapmak önemlidir. Para miktarı arasına nokta koyma fonksiyonu gibi küçük geliştirmeler, oyuncuların sunucuya olan bağlılığını artırabilir. Lua scripting bilgisi olan geliştiriciler için oldukça kolay bir entegrasyon sunar. Quest chain sistemlerinde, daily questlerde veya özel görevlerde bu tür küçük ama etkili değişiklikler sunucunuzun farklılaşmasına yardımcı olur.
Adding Dots Between Money Amounts Function in Metin2
In Metin2 servers, small but effective changes can be made to improve players' economic experience. One of these changes is adding separators like dots or commas within money amounts. This practice helps create a user-friendly interface and makes large numbers easier to read. However, Metin2 does not automatically place dots between money values by default. Developers can solve this issue by writing a custom function using the Lua scripting language.
Purpose and Usage of the Function
The function for placing dots between money amounts transforms numbers like 1000000 into 1.000.000. This allows players to more easily follow high amounts such as gold or cash. In Lua, this process involves writing a string manipulation function. The function improves readability of large numbers, enhancing user experience and providing a more professional look on the server side.
Example Lua Code
Below is a simple example of a function written in Lua:
Kod:
function addThousandSeparator(n)[BR][/BR] local formatted = tostring(n)[BR][/BR] local k[BR][/BR] while true do[BR][/BR] formatted, k = string.gsub(formatted, '^(%d+)(%d%d%d)', '%1.%2')[BR][/BR] if k == 0 then break end[BR][/BR] end[BR][/BR] return formatted[BR][/BR]end
This function converts the input number into a string and applies formatting rules to insert dots. For example, if you enter 1000000, the output will be 1.000.000.
Usage in Quest System
You can use this function in Metin2's quest system to display reward amounts more elegantly. It is particularly useful in daily quests, special missions, or NPC dialogs where you want to present gold rewards in a more polished way. During quest editing, instead of showing raw numbers, you can display the formatted version using this function, resulting in a more professional appearance in player messages.
Points to Consider
Even if the function works correctly, certain quest errors may occur. When working with very large numbers, overflow errors might arise. Additionally, the client must support this type of small script modification. Some Metin2 client versions may not support such minor script changes. Therefore, caution should be exercised during testing. During debugging, locations where the function is called should also be checked carefully.
Conclusion
In the process of developing Metin2 quests, making small but impactful changes to enhance user experience is important. Functions like adding dots between money amounts can increase player attachment to your server. These modifications offer an easy integration for developers familiar with Lua scripting. Small yet effective changes like these can help differentiate your server when applied to quest chains, daily quests, or custom missions.
