- Mesaj
- 1.025
- Çözümler
- 35
- Beğeni
- 1.077
- Puan
- 1.339
- Ticaret Puanı
- 0
Bu seride doğrudan Metin2'den tersine mühendislik(reverse engineering) ile sökülmüş veya Metin2'ye sağdık kalınarak yazılmış sistemleri paylaşacağım.
Sistemler 2014 yılında sızdırılan kraizy.tgz arşivindeki mainline için yazılmıştır. Siz başka server dosyaları kullanıyorsanız aradığınız bazı kodları bulamayabilir veya birtakım hatalarla karşılaşabilirsiniz.
Sistem sahibi metin2.dev'den
Sistemi aldığım asıl konu:
13- Client Locale String:
Aslında sunucudaki locale_string.txt, translate.lua ve oxquiz.lua dosyalarından okunan yazıların, Clientin locale packindeki locale_string.txt, locale_quest.txt ve locale_quiz.txt dosyalarından okunmasını sağlayan sistem. Bu sistem sayesinde aslında server tarafında sadece bir dilde okunabilen yazı, Client hangi dilde çalıştırılmışsa o dilde gözükür. Bir nevi çoklu dil(multilanguage) sistemidir.
Bu sistemin doğru çalışması için Clientinizin bu external kütüphaneye sahip olması gerekir:
Server:
Quest:
Sistemler 2014 yılında sızdırılan kraizy.tgz arşivindeki mainline için yazılmıştır. Siz başka server dosyaları kullanıyorsanız aradığınız bazı kodları bulamayabilir veya birtakım hatalarla karşılaşabilirsiniz.
Sistem sahibi metin2.dev'den
Linkleri görebilmek için
giriş yap veya kayıt ol.
'dir.Sistemi aldığım asıl konu:
Linkleri görebilmek için
giriş yap veya kayıt ol.
13- Client Locale String:
Aslında sunucudaki locale_string.txt, translate.lua ve oxquiz.lua dosyalarından okunan yazıların, Clientin locale packindeki locale_string.txt, locale_quest.txt ve locale_quiz.txt dosyalarından okunmasını sağlayan sistem. Bu sistem sayesinde aslında server tarafında sadece bir dilde okunabilen yazı, Client hangi dilde çalıştırılmışsa o dilde gözükür. Bir nevi çoklu dil(multilanguage) sistemidir.
Bu sistemin doğru çalışması için Clientinizin bu external kütüphaneye sahip olması gerekir:
-
Linkleri görebilmek için giriş yap veya kayıt ol.
Server:
Orijinal:
if (test_server && GetOwner())
{
GetOwner()->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s에서 소켓 빠질때까지 남은 시간 %d"), GetName(), time);
}
Yeni sistem:
if (test_server && GetOwner())
{
GetOwner()->ChatPacket (CHAT_TYPE_INFO, "[LS;469;%s;%d]", GetName(), time);
}
Quest:
Orijinal locale.lua:
locale.yes = gameforge.locale.yes
locale.no = gameforge.locale.no
locale.cancel = gameforge.locale.cancel
locale.gold = gameforge.locale.gold
locale.need_item_prefix = gameforge.locale.need_item_prefix
locale.need_item_postfix = gameforge.locale.need_item_postfix
locale.map_name = {
[61] = gameforge.locale.map_name_1,
[62] = gameforge.locale.map_name_2,
[63] = gameforge.locale.map_name_3,
[64] = gameforge.locale.map_name_4,
}
Yeni sistem locale.lua:
locale.yes = "[LC;4473]"
locale.no = "[LC;3418]"
locale.cancel = "[LC;2426]"
locale.gold = "[LC;2585]"
locale.need_item_prefix = "[LC;3410]"
locale.need_item_postfix = "[LC;3409]"
locale.map_name = {
[61] = "[LC;2691]",
[62] = "[LC;2692]",
[63] = "[LC;2693]",
[64] = "[LC;2694]",
}