Jump to content

Recommended Posts

M2 Download Center

This is the hidden content, please
( Internal )

Hi metin2dev,
First multi language offline message system by [007]DawisHUN

Information:
 

Spoiler

------------------------------------------
--- Információ ---
--- [007]DawisHUN ---
--- Offline levél rendszer ---
--- Verzió : 1.0.0.3 ---
------------------------------------------

Installation:
Install in MySQL

Spoiler

Player table + console....

Spoiler

CREATE TABLE `Leveles_lada` (
`id`  int(16) NOT NULL ,
`kuldo`  varchar(50) NOT NULL ,
`uzenet`  varchar(50) NOT NULL ,
PRIMARY KEY (`id`)
)
;
 

IN Notepad++
convert to ANSI
SAVE AS
offline_levelezes.quest

Language :

Spoiler
  • Hungarian
  • English
  • German
  • Turkish coming soon Special thank daradevil124

Have problem?

  • Reply to this topic ...
  • Quote topic
  • i will work on including more language
  • Try to help? send me PM ;)


Offline_levelezes.quest
 

Spoiler

------------------------------------------
--- Információ ---
--- [007]DawisHUN ---
--- Offline levél rendszer ---
--- Verzió : 1.0.0.3 ---
------------------------------------------
--- MySQLre való telepítés ---
--- player táblázat jobb klik ---
--- Konzol ---
--- MÁSOLD EZT BE ---
--- CREATE TABLE `Leveles_lada` ( ---
--- `id`  int(16) NOT NULL , ---
--- `kuldo`  varchar(50) NOT NULL , ---
--- `uzenet`  varchar(50) NOT NULL , ---
--- PRIMARY KEY (`id`) ---
--- ) ---
--- ;  ---
---  ---
------------------------------------------
--- Telepítés: ---
--- Átalakítás ANSIra ---
--- Mentés másként (CTRL+ALT+S) ---
--- Mentsd így: offline_levelezes.quest ---
------------------------------------------
quest offline_levelezes begin
    state start begin
        when 9006.chat."Üzenetek" with pc.getqf("nyelv")==0 begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            say("")
            local nyelv = select("Magyar","English","Deutch")
            if nyelv == 1 then
                pc.setqf("magyar", 1)
                pc.setqf("nyelv", 1)
            end
            if nyelv == 2 then
                pc.setqf("english", 1)
                pc.setqf("nyelv", 1)
            end
            if nyelv == 3 then
                pc.setqf("deutch", 1)
                pc.setqf("nyelv", 1)
            end
        end
----------------------------------------------------------------------------------------------
---                                         HUNGARIAN LANGUAGE                             ---
----------------------------------------------------------------------------------------------
        when 9006.chat."Üzenetek" with pc.getqf("magyar")==1 and pc.getqf("nyelv")==1 begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            ---
            say("Szia "..pc.name)
            say("Mit szeretnél tenni? ")
            say("")
            local magyar = select("Beérkező leveleim","Üzenet írása","Bezárni")
            if(magyar == 1) then
                say_title(mob_name(npc.get_race())..":")
                say("[DELAY value; 350]Adatok lekérdezése (1)/(2)[/DELAY]")
                say("[DELAY value; 150]Adatok lekérdezése (2)/(2)[/DELAY]")
                say("")
                ---
                local inbox = mysql_query("select * from player.Leveles_lada where id = '"..pc.get_player_id().."' ")
                local inbox_table = {}
                for i = 1,table.getn(inbox),1 do
                    table.insert(inbox_table,inbox.uzenet)
                end
                table.insert(inbox_table,"Close")
 
                if(table.getn(inbox) == 0) then
                    say_reward("Jelenleg nincs üzeneted. ")
                    say_reward("Offline levelező rendszert készítette ")
                    say_reward("[007]DawisHUN .")
                    say_reward("Verzió 1.0.0.3")
                    say_reward("Nézz vissza később. ")
                    return
                end
 
                local m = select_table(inbox_table)
                if(table.getn(inbox_table) == magyar) then
                    return
                elseif(table.getn(inbox_table) >= magyar) then
                    say_title(inbox.kuldo[m]..": ")
                    say("")
                    ---
                    say(inbox_table[m])
                    say("")
                    say_reward("Törölni szeretnéd az üzenetett? ")
                    local q = select(locale.yes,locale.no)
                    if(q == 2) then
                    return
                    end
                    mysql_query("delete * from player.Leveles_lada where kuldo = '"..inbox.kuldo[m].."' ")
                    say_title(mob_name(npc.get_race())..":")
                    say("")
                    ---
                    say_reward("Az üzenet sikeresen törölve. ")
                    say_reward("Offline levelező rendszert készítette ")
                    say_reward("[007]DawisHUN .")
                    say_reward("Verzió 1.0.0.3")
                    say_reward("Viszlát,Később. ")
                    say_reward("")
                end
            elseif(magyar == 2) then
                say_title(mob_name(npc.get_race())..":")
                say("[DELAY value; 350]Adatok lekérdezése (1)/(2)[/DELAY]")
                say("[DELAY value; 150]Adatok lekérdezése (2)/(2)[/DELAY]")
                say("")
                ---
                say("Szeretnéd elküldeni ezt az üzenetett? ")
                say("Add meg a nevét. ")
                local sname = input()
                local search = find_pc_by_name(sname)
                say_title(mob_name(npc.get_race())..":")
                say("")
                ---
                if(tostring(sname) == nil or sname == "") then
                    say("Add meg a nevét. ")
                    return
                elseif(search == 1) then
                    say("Jelenleg elérhető a játékos. ")
                    say("Te most csak szórakozol velem? ")
                end
                local sp = pc.select(sname)
                local l = pc.get_player_id()
                pc.select(sp)    
                say("Mi az üzeneted? ")
                say("Írd a szöveg dobozba. ")
                local uzenet = input()
                say_title(mob_name(npc.get_race())..":")
                say("")
                ---
                if(tostring(uzenet) == nil or uzenet == "") then
                    say("írd az üzenetedet. ")
                    return
                end
                mysql_query("insert into player.Leveles_lada values ('"..l.."','"..pc.name.."','"..uzenet.."') ")
                say_reward("Az üzenet sikeresen elküldve! ")
                say_reward("Offline levelező rendszert készítette ")
                say_reward("[007]DawisHUN .")
                say_reward("Verzió 1.0.0.3")
                say_reward("Viszlát,Később. ")
            end
        end
----------------------------------------------------------------------------------------------
---                                         ENGLISH LANGUAGE                             ---
----------------------------------------------------------------------------------------------
        when 9006.chat."Messages" with pc.getqf("english")==1 and pc.getqf("nyelv")==1 begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            ---
            say("Hi "..pc.name)
            say("What do you want? ")
            say("")
            local english = select("My Inbox","Write Message","Close")
            if(english == 1) then
                say_title(mob_name(npc.get_race())..":")
                say("[DELAY value; 350]connecting to the host(1)/(2)[/DELAY]")
                say("[DELAY value; 150]connecting to the host . . .(2)/(2)[/DELAY]")
                say("")
                ---
                local inbox = mysql_query("select * from player.Leveles_lada where id = '"..pc.get_player_id().."' ")
                local inbox_table = {}
                for i = 1,table.getn(inbox),1 do
                    table.insert(inbox_table,inbox.uzenet)
                end
                table.insert(inbox_table,"Close")
 
                if(table.getn(inbox) == 0) then
                    say("Currently don't have any messages. ")
                    say_reward("Offline Message system By ")
                    say_reward("[007]DawisHUN .")
                    say_reward("Version 1.0.0.3")
                    say_reward("See you later. ")
                    return
                end
 
                local m = select_table(inbox_table)
                if(table.getn(inbox_table) == english) then
                    return
                elseif(table.getn(inbox_table) >= english) then
                    say_title(inbox.kuldo[m]..": ")
                    say("")
                    ---
                    say(inbox_table[m])
                    say("")
                    say_reward("Do you want to delete the message? ")
                    local q = select(locale.yes,locale.no)
                    if(q == 2) then
                    return
                    end
                    mysql_query("delete * from player.Leveles_lada where kuldo = '"..inbox.kuldo[m].."' ")
                    say_title(mob_name(npc.get_race())..":")
                    say("")
                    ---
                    say_reward("Message was succesfully deleted. ")
                    say_reward("Offline levelező rendszert készítette ")
                    say_reward("Offline Message system By ")
                    say_reward("[007]DawisHUN .")
                    say_reward("Version 1.0.0.3")
                    say_reward("See you later. ")
                    say_reward("")
                end
            elseif(english == 2) then
                say_title(mob_name(npc.get_race())..":")
                say("[DELAY value; 350]connecting to the host(1)/(2)[/DELAY]")
                say("[DELAY value; 150]connecting to the host . . .(2)/(2)[/DELAY]")
                say("")
                ---
                say("To whom will you send the message? ")
                say("write his name. ")
                local sname = input()
                local search = find_pc_by_name(sname)
                say_title(mob_name(npc.get_race())..":")
                say("")
                ---
                if(tostring(sname) == nil or sname == "") then
                    say("Write a name. ")
                    return
                elseif(search == 1) then
                    say("this person is now online. ")
                    say("are you kidding me? ")
                end
                local sp = pc.select(sname)
                local l = pc.get_player_id()
                pc.select(sp)    
                say("What is the message? ")
                say("Write in the box. ")
                local uzenet = input()
                say_title(mob_name(npc.get_race())..":")
                say("")
                ---
                if(tostring(uzenet) == nil or uzenet == "") then
                    say("Write a message. ")
                    return
                end
                mysql_query("insert into player.Leveles_lada values ('"..l.."','"..pc.name.."','"..uzenet.."') ")
                say_reward("Message was successfully sent. ")
                say_reward("Offline Message system By ")
                say_reward("[007]DawisHUN .")
                say_reward("Version 1.0.0.3")
                say_reward("See you later. ")
            end
----------------------------------------------------------------------------------------------
---                                         GERMAN LANGUAGE                             ---
----------------------------------------------------------------------------------------------
        when 9006.chat."Nachrichten" with pc.getqf("deutch")==1 and pc.getqf("nyelv")==1 begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            ---
            say("Hallo "..pc.name)
            say("Was willst du? ")
            say("")
            local deutch = select("Posteingang","Neue Nachricht","Abbrechen")
            if(deutch == 1) then
                say_title(mob_name(npc.get_race())..":")
                say("[DELAY value; 350]connecting to the host(1)/(2)[/DELAY]")
                say("[DELAY value; 150]connecting to the host . . .(2)/(2)[/DELAY]")
                say("")
                ---
                local inbox = mysql_query("select * from player.Leveles_lada where id = '"..pc.get_player_id().."' ")
                local inbox_table = {}
                for i = 1,table.getn(inbox),1 do
                    table.insert(inbox_table,inbox.uzenet)
                end
                table.insert(inbox_table,"Close")
 
                if(table.getn(inbox) == 0) then
                    say("Du hast keine neuen Nachrichten. ")
                    say_reward("Offline Message system By ")
                    say_reward("[007]DawisHUN .")
                    say_reward("Version 1.0.0.3")
                    say_reward("Bis später. ")
                    return
                end
 
                local m = select_table(inbox_table)
                if(table.getn(inbox_table) == deutch) then
                    return
                elseif(table.getn(inbox_table) >= deutch) then
                    say_title(inbox.kuldo[m]..": ")
                    say("")
                    ---
                    say(inbox_table[m])
                    say("")
                    say_reward("Willst du diese Nachricht wirklich löschen? ")
                    local q = select(Ja","Nein")
                    if(q == 2) then
                    return
                    end
                    mysql_query("delete * from player.Leveles_lada where kuldo = '"..inbox.kuldo[m].."' ")
                    say_title(mob_name(npc.get_race())..":")
                    say("")
                    ---
                    say_reward("Die Nachricht wurde gelöscht. ")
                    say_reward("Offline levelező rendszert készítette ")
                    say_reward("Offline Message system By ")
                    say_reward("[007]DawisHUN .")
                    say_reward("Version 1.0.0.3")
                    say_reward("Bis später. ")
                    say_reward("")
                end
            elseif(deutch == 2) then
                say_title(mob_name(npc.get_race())..":")
                say("[DELAY value; 350]connecting to the host(1)/(2)[/DELAY]")
                say("[DELAY value; 150]connecting to the host . . .(2)/(2)[/DELAY]")
                say("")
                ---
                say("An wen willst du die Nachricht senden? ")
                say("Gib seinen Namen ein ")
                local sname = input()
                local search = find_pc_by_name(sname)
                say_title(mob_name(npc.get_race())..":")
                say("")
                ---
                if(tostring(sname) == nil or sname == "") then
                    say("Gib einen Namen ein. ")
                    return
                elseif(search == 1) then
                    say("Diese Person ist nun online. ")
                    say("Willst du mich rollen? ")
                end
                local sp = pc.select(sname)
                local l = pc.get_player_id()
                pc.select(sp)    
                say("Wie lautet die Nachricht? ")
                say("Gib eine Nachricht ein. ")
                local uzenet = input()
                say_title(mob_name(npc.get_race())..":")
                say("")
                ---
                if(tostring(uzenet) == nil or uzenet == "") then
                    say("Gib eine Nachricht ein. ")
                    return
                end
                mysql_query("insert into player.Leveles_lada values ('"..l.."','"..pc.name.."','"..uzenet.."') ")
                say_reward("Nachricht erfolgreich übermittelt. ")
                say_reward("Offline Message system By ")
                say_reward("[007]DawisHUN .")
                say_reward("Version 1.0.0.3")
                say_reward("Bis später. ")
            end
        end
    end
end

 

It will help " + " thank you :)

  • Metin2 Dev 6
  • Good 1
  • Love 6

787292068_Nvtelen.png.6faa7b0bbb3398fd29

Link to comment
https://metin2.dev/topic/15039-multi-language-offline-message-system/
Share on other sites

300+ lines for translate and exist 3 quests per language..omg.

I will prefer much better something like this:

translate[1].offline_msg = {}
translate[1].offline_msg.notice = "Választott nyelv: Magyar!"

translate[2].offline_msg = {}
translate[2].offline_msg.notice = "Language selected: English!"

translate[3].offline_msg = {}
translate[3].offline_msg.notice = "Sprache gewählt: Deutsch!"

And quest for select need to look like this:

quest offline_message begin
    state start begin
        when 9006.chat."Select lang" with pc.getqf("selected") == 0 begin
            say_title(mob_name(npc.get_race())..":")
            say("")
            local selected = select("Magyar", "English", "Deutsch")

			for key = 1, 3 do
				if selected == key then
					pc.setqf("lang", key)
					pc.setqf("selected", 1)
					say(translate[pc.getqf("lang")].offline_msg.notice)
				end
			end
		end
	end
end

 

And now you can call all with:

  • say(translate[pc.getqf("lang")].offline_msg.name)
4 hours ago, PACI said:

@Tasho, didn't get that for-loop.

Yeah i know, was just for other shit things, sorry.

  • You can do it like this, without loop.
	if selected then
		[.......]
	end
  • Or you can remove without check selected and without any loops.
quest offline_message begin
    state start begin
        when 9006.chat."Select lang" with pc.getqf("selected") == 0 begin
			say_title(mob_name(npc.get_race())..":")
			say("")
			local selected = select("Magyar", "English", "Deutsch")

			pc.setqf("lang", selected)
			pc.setqf("selected", 1)
			say(translate[pc.getqf("lang")].offline_msg.notice)
			end
		end
	end
end

 

I have few doubts about this
1) may i know is this working ? 

if its not provide us proper step by step so we can implement.
 
2) is this thread for offline msg with multi language support
if yes why this quests need to be? 

Thanks 

Don't use any images from : imgur, turkmmop, freakgamers, inforge, hizliresim... Or your content will be deleted without notice...
Use : https://metin2.download/media/add/

Please use https://metin2.download/ when uploading files smaller than 100MB, otherwise the approval will take longer due to manual upload.

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.