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!
teşekkürler
Rica Ederim.Teşekkürler ...
Rica Ederimİlk yorumTeşekkürler
( Birdahakine inşallah
)Rica Ederim.Teşekkürler.
Rica Ederim.teşekkürler
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.
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.
Paylaşım için teşekkürler.
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
- 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
