HERAKLES Otomatik Avlı kalıcı sunucu. 19 Haziran'da açılıyor. Atius & Wizard güvencesiyle hemen kayıt ol, ön kayıt ödülleri aktif. HEMEN TIKLA!
Merhaba Arkadaşlar,
Yabancı forumda gördüğüm çoklu dil sistemini sizlerle paylaşmak istiyorum.
Not: Sistem'i yayımlıyan kişiye sordum sorunsuz çalıştığını bildirdi. O yüzden paylaşıyorum.
Bunu' da indirin,
İNDİR:
VT:
Yabancı forumda gördüğüm çoklu dil sistemini sizlerle paylaşmak istiyorum.
Not: Sistem'i yayımlıyan kişiye sordum sorunsuz çalıştığını bildirdi. O yüzden paylaşıyorum.
Kod:
#define LENGUAJE_SYSTEM_FIRE
Kod:
// Arat
ACMD(do_ride);
// Altına Ekle
#ifdef LENGUAJE_SYSTEM_FIRE
ACMD(do_idiomaenglish);
ACMD(do_idiomaespanish);
ACMD(do_idiomaportuges);
ACMD(do_idiomarumano);
#endif
// Arat
{ "dragon_soul", do_dragon_soul, 0, POS_DEAD, GM_PLAYER },
// Altına Ekle
#ifdef LENGUAJE_SYSTEM_FIRE
{ "idioma_ingles", do_idiomaenglish, 0, POS_DEAD, GM_PLAYER },
{ "idioma_espanol", do_idiomaespanish, 0, POS_DEAD, GM_PLAYER },
{ "idioma_portuges", do_idiomaportuges, 0, POS_DEAD, GM_PLAYER },
{ "idioma_rumano", do_idiomarumano, 0, POS_DEAD, GM_PLAYER },
#endif
Kod:
// Arat
ACMD(do_ride)
// Altına Ekle
#ifdef LENGUAJE_SYSTEM_FIRE
ACMD(do_idiomaenglish)
{
char query[1024];
sprintf(query, "UPDATE account.account SET idioma = 'en' WHERE id = '%d'", ch->GetAID());
DBManager::instance().DirectQuery(query);
ch->ChatPacket(CHAT_TYPE_INFO, "your new lenguague is english");
ch->GetDesc()->DelayedDisconnect(5);
}
ACMD(do_idiomaespanish)
{
char query[1024];
sprintf(query, "UPDATE account.account SET idioma = 'es' WHERE id = '%d'", ch->GetAID());
DBManager::instance().DirectQuery(query);
ch->ChatPacket(CHAT_TYPE_INFO, "Tu nuevo lenguaje es espanish.");
ch->GetDesc()->DelayedDisconnect(5);
}ACMD(do_idiomaportuges)
{
char query[1024];
sprintf(query, "UPDATE account.account SET idioma = 'pt' WHERE id = '%d'", ch->GetAID());
DBManager::instance().DirectQuery(query);
ch->ChatPacket(CHAT_TYPE_INFO, "sua nova lingua e Portugal.");
ch->GetDesc()->DelayedDisconnect(5);
}
ACMD(do_idiomarumano)
{
char query[1024];
sprintf(query, "UPDATE account.account SET idioma = 'ro' WHERE id = '%d'", ch->GetAID());
DBManager::instance().DirectQuery(query);
ch->ChatPacket(CHAT_TYPE_INFO, "noua limba in limba romana.");
ch->GetDesc()->DelayedDisconnect(5);
}
#endif
Kod:
#ifdef LENGUAJE_SYSTEM_FIRE
int pc_get_languaje(lua_State* L)
{
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
if(ch)
{
char szQuery[QUERY_MAX_LEN];
snprintf(szQuery,sizeof(szQuery),"SELECT idioma from account.account WHERE id = '%d'", ch->GetAID());
SQLMsg * pMsg = DBManager::instance().DirectQuery(szQuery);
MYSQL_ROW row;
for(int i = 0; (row = mysql_fetch_row(pMsg->Get()->pSQLResult)) != NULL; ++i)
{
lua_pushstring(L,row[0]);
}
}
return 1;
}
#endif
#ifdef LENGUAJE_SYSTEM_FIRE
{ "get_languaje", pc_get_languaje },
#endif
Kod:
import ui,dbg,app,net,os
class Dialog1(ui.Window):
def __init__(self):
ui.Window.__init__(self)
self.BuildWindow()
def __del__(self):
ui.Window.__del__(self)
def BuildWindow(self):
self.Board = ui.BoardWithTitleBar()
self.Board.SetSize(202, 206)
self.Board.SetCenterPosition()
self.Board.AddFlag('movable')
self.Board.AddFlag('float')
self.Board.SetTitleName('Cambiar Idioma')
self.Board.SetCloseEvent(self.Close)
self.Board.Show()
self.comp = ui.Component()
self.img1 = self.comp.ExpandedImage(self.Board , 163, 54, 'firewall/lenguaje_venta/en.tga')
self.img2 = self.comp.ExpandedImage(self.Board , 163, 85, 'firewall/lenguaje_venta/es.tga')
self.img3 = self.comp.ExpandedImage(self.Board , 163, 116, 'firewall/lenguaje_venta/pt.tga')
self.img4 = self.comp.ExpandedImage(self.Board , 163, 148, 'firewall/lenguaje_venta/ro.tga')
self.base = self.comp.Button(self.Board, 'Ingles', '', 9, 49, self.base_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
self.base1 = self.comp.Button(self.Board, 'Espanish', '', 9, 80, self.base1_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
self.base2 = self.comp.Button(self.Board, 'Portuges', '', 9, 112, self.base2_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
self.base3 = self.comp.Button(self.Board, 'Rumano', '', 9, 142, self.base3_func, 'firewall/lenguaje_venta/boton_base1.tga', 'firewall/lenguaje_venta/boton_base2.tga', 'firewall/lenguaje_venta/boton_base3.tga')
self.base.SetToolTipText('Convierte tu idioma en ingles')
self.base1.SetToolTipText('Convierte tu idioma en espanish')
self.base2.SetToolTipText('Convierte tu idioma en portuges')
self.base3.SetToolTipText('Convierte tu idioma en rumano')
def base_func(self):
os.remove('lang/idioma.txt')
file = open('lang/idioma.txt', 'a')
file.write("Espain") #Pones el idioma ejemplo español
file.close()
net.SendChatPacket("/idioma_ingles")
net.ExitApplication()
os.system('start Firewall.exe')
def base1_func(self):
os.remove('lang/idioma.txt')
file = open('lang/idioma.txt', 'a')
file.write("Espain")#Pones el idioma ejemplo ingles
file.close()
net.SendChatPacket("/idioma_espanol")
net.ExitApplication()
os.system('start Firewall.exe')
def base2_func(self):
os.remove('lang/idioma.txt')
file = open('lang/idioma.txt', 'a')
file.write("Espain")#Pones el idioma ejemplo ingles
file.close()
net.SendChatPacket("/idioma_portuges")
net.ExitApplication()
os.system('start Firewall.exe')
def base3_func(self):
os.remove('lang/idioma.txt')
file = open('lang/idioma.txt', 'a')
file.write("Espain")#Pones el idioma ejemplo ingles
file.close()
net.SendChatPacket("/idioma_rumano")
net.ExitApplication()
os.system('start Firewall.exe')
def Close(self):
self.Board.Hide()
Dialog1().Show()
Kod:
# Arat
["locale","error"]
# Altına Ekle
if os.path.exists("lang/idioma.txt"):
pass
else:
file = open('lang/idioma.txt', 'a')
file.write("Espain")
file.close()
lines = open("lang/idioma.txt").readlines()
firstLine = str(lines[0].replace("\n", ""))
if firstLine.split("=")[0] == "Italy":
LOCALE_FILE_NAME = "%s/locale_game.txt" % app.GetLocalePath()
elif firstLine.split("=")[0] == "Espain":
LOCALE_FILE_NAME = "lang\\es/locale_game.txt"
elif firstLine.split("=")[0] == "Germany":
LOCALE_FILE_NAME = "lang\\gm/locale_game.txt"
elif firstLine.split("=")[0] == "Poland":
LOCALE_FILE_NAME = "lang\\pl/locale_game.txt"
elif firstLine.split("=")[0] == "Romany":
LOCALE_FILE_NAME = "lang\\rm/locale_game.txt"
elif firstLine.split("=")[0] == "Turkey":
LOCALE_FILE_NAME = "lang\\tk/locale_game.txt"
# Yazdığım anlatım yanlış olabilir gerçek anlatım şu şekilde,
in localeinfo search and paste all = ["locale","error"]
Kod:
# Arat
EMPIREDESC_C = "%s/empiredesc_c.txt" % (name)
# Ekle
import os
if os.path.exists("lang/idioma.txt"):
pass
else:
file = open('lang/idioma.txt', 'a')
file.write("Espain")
file.close()
lines = open("lang/idioma.txt").readlines()
firstLine = str(lines[0].replace("\n", ""))
if firstLine.split("=")[0] == "Italy":
LOCALE_INTERFACE_FILE_NAME = "%s/locale_interface.txt" % (name)
elif firstLine.split("=")[0] == "Espain":
LOCALE_INTERFACE_FILE_NAME = "lang\\es/locale_interface.txt"
elif firstLine.split("=")[0] == "Germany":
LOCALE_INTERFACE_FILE_NAME = "lang\\gm/locale_interface.txt"
elif firstLine.split("=")[0] == "Poland":
LOCALE_INTERFACE_FILE_NAME = "lang\\pl/locale_interface.txt"
elif firstLine.split("=")[0] == "Romany":
LOCALE_INTERFACE_FILE_NAME = "lang\\rm/locale_interface.txt"
elif firstLine.split("=")[0] == "Turkey":
LOCALE_INTERFACE_FILE_NAME = "lang\\tk/locale_interface.txt"
else:
LOCALE_INTERFACE_FILE_NAME = "%s/locale_interface.txt" % (name)
Kod:
in navicat ro -- default lenguague the server
( Anlatım yukardaki şekilde tr sini anlıyamadım)
ALTER TABLE account.account ADD idioma varchar(2) NOT NULL DEFAULT 'ro' ;
(yapılacak da yukarıdaki gibi)
Kod:
quest multilenguaje begin
state start begin
when 20094.chat.gameforge.es.titulo with pc.get_languaje() == 'es' begin
say(gameforge.es.say1)
say(gameforge.es.say2)
end
when 20094.chat.gameforge.en.titulo with pc.get_languaje() == 'en' begin
say(gameforge.en.say1)
say(gameforge.en.say2)
end
when 20094.chat.gameforge.pt.titulo with pc.get_languaje() == 'pt' begin
say(gameforge.pt.say1)
say(gameforge.pt.say2)
end
when 20094.chat.gameforge.ro.titulo with pc.get_languaje() == 'ro' begin
say(gameforge.ro.say1)
say(gameforge.ro.say2)
end
end
end
Kod:
gameforge.es = {}
gameforge.es.titulo = "hola prueba en español"
gameforge.es.say1 = "funciona en español chao"
gameforge.es.say2 = "chao me despido"
gameforge.en = {}
gameforge.en.titulo = "hola prueba en ingles"
gameforge.en.say1 = "funciona en ingles chao"
gameforge.en.say2 = "chao me despido"
gameforge.pt = {}
gameforge.pt.titulo = "hola prueba en portuges"
gameforge.pt.say1 = "funciona en portuges chao"
gameforge.pt.say2 = "chao me despido"
gameforge.ro = {}
gameforge.ro.titulo = "hola prueba en rumano"
gameforge.ro.say1 = "funciona en rumano chao"
gameforge.ro.say2 = "chao me despido"
Bunu' da indirin,
İNDİR:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
VT:
Linkleri görebilmek için Turkmmo Forumuna ÜYE olmanız gerekmektedir.
Son düzenleme:
En Çok Reaksiyon Alan Mesajlar
teşekkürler ama biraz performans sorunu yaratabilir anlık kullanan sayısı artarsa direk sorgu yapıyor update ile bunu cacheye bağlanmış olsa daha iyi olurdu yapan kolaya kaçmış yabancılardan daha iyisini beklerdim bununla servere saldırı yapılma riski oluşabilir ddos gibi anlık sürüyle paket gönderme tabi onu yapacak insan var mı bu ülkede orası meçhul
Teşekkürler ...
- Durum
- Üzgünüz bu konu cevaplar için kapatılmıştır...
Şu an konuyu görüntüleyenler (Toplam : 0, Üye: 0, Misafir: 0)
Benzer konular
- Cevaplar
- 1
- Görüntüleme
- 366
- Cevaplar
- 65
- Görüntüleme
- 12K
- Cevaplar
- 28
- Görüntüleme
- 4K
- Cevaplar
- 0
- Görüntüleme
- 366
- Cevaplar
- 164
- Görüntüleme
- 30K

Teşekkürler