diff options
author | Reid <reidyaro@gmail.com> | 2016-11-17 09:30:33 +0100 |
---|---|---|
committer | Reid <reidyaro@gmail.com> | 2016-11-17 09:31:18 +0100 |
commit | b14cc0162d254793a65c5bff3ee7774c481927f7 (patch) | |
tree | 0477cfed0b0d35a075835486595a679ae56c1c19 | |
parent | e0f9a1490c524532f452dcb6891f6a434c4ee08d (diff) | |
download | serverdata-b14cc0162d254793a65c5bff3ee7774c481927f7.tar.gz serverdata-b14cc0162d254793a65c5bff3ee7774c481927f7.tar.bz2 serverdata-b14cc0162d254793a65c5bff3ee7774c481927f7.tar.xz serverdata-b14cc0162d254793a65c5bff3ee7774c481927f7.zip |
Add language selection into its own function,
Add Esperento on the fly.
-rw-r--r-- | db/constants.conf | 4 | ||||
-rw-r--r-- | npc/000-0/sailors.txt | 16 | ||||
-rw-r--r-- | npc/000-2-0/julia.txt | 26 | ||||
-rw-r--r-- | npc/001-2-21/julia.txt | 19 | ||||
-rw-r--r-- | npc/functions/asklanguage.txt | 80 | ||||
-rw-r--r-- | npc/scripts.conf | 1 |
6 files changed, 89 insertions, 57 deletions
diff --git a/db/constants.conf b/db/constants.conf index 8b2c8491..26c1399a 100644 --- a/db/constants.conf +++ b/db/constants.conf @@ -3888,5 +3888,9 @@ constants_db: { E_METAL: 127 E_CRYING: 128 + comment__: "Language function constants" + LANG_ON_SEA: 1 + LANG_IN_SHIP: 2 + @include "conf/import/constants.conf" } diff --git a/npc/000-0/sailors.txt b/npc/000-0/sailors.txt index 5d66a28c..cac7ff8c 100644 --- a/npc/000-0/sailors.txt +++ b/npc/000-0/sailors.txt @@ -51,21 +51,7 @@ OnTouch: next; restorecam; - select - menuimage("flags/en", "I hear you... (English)"), - menuimage("flags/fr", "Je vous entends... (Français)"), - menuimage("flags/ru", "Да я вас слышу... (Русский)"), - menuimage("flags/es", "Te oigo... (Español)"), - menuimage("flags/pt_BR", "Eu te ouço... (Português)"), - menuimage("flags/de", "Ich höre euch... (Deutsch)"), - menuimage("flags/vls", "'k hoar ui wel... (Vlaams)"), - menuimage("flags/pl", "Słyszę cię... (Polski)"), - menuimage("flags/it", "Vi sento... (Italiano)"), - menuimage("flags/nl_BE", "Ik kan je horen... (Nederlands)"), - menuimage("flags/ca", "Et escolto (Català)"); - .@lang = @menu-1; - if (.@lang < 0 || .@lang > 10) close; - Lang = .@lang; + asklanguage (LANG_ON_SEA); setcamnpc; mes ""; diff --git a/npc/000-2-0/julia.txt b/npc/000-2-0/julia.txt index 641727ec..53843c25 100644 --- a/npc/000-2-0/julia.txt +++ b/npc/000-2-0/julia.txt @@ -145,31 +145,7 @@ mesq l("Of course! Tell me which language you speak and I will change the note on the ship passenger list."); next; - select - menuimage("flags/en", l("I speak English.") + " (English)"), - menuimage("flags/fr", l("I speak French.") + " (Français)"), - menuimage("flags/ru", l("I speak Russian.") + " (Русский)"), - menuimage("flags/es", l("I speak Spanish.") + " (Español)"), - menuimage("flags/pt_BR", l("I speak Portuguese.") + " (Português)"), - menuimage("flags/de", l("I speak German.") + " (Deutsch)"), - menuimage("flags/vls", l("I speak Flemish.") + " (Vlaams)"), - menuimage("flags/pl", l("I speak Polish.") + " (Polski)"), - menuimage("flags/it", l("I speak Italian.") + " (Italiano)"), - menuimage("flags/nl_BE", l("I speak Dutch.") + " (Nederlands)"), - menuimage("flags/ca", l("I speak Catalan.") + " (Català)"), - getarg(0, ""); - - .@lang = @menu-1; - if (.@lang < 0 || .@lang > 10) - { - mes ""; - mesn; - mesq l("No problem, do you have any other questions for me?"); - next; - ynMenu; - return; - } - Lang = .@lang; + asklanguage (LANG_IN_SHIP); mes ""; mesn; diff --git a/npc/001-2-21/julia.txt b/npc/001-2-21/julia.txt index 06342582..24cf89f2 100644 --- a/npc/001-2-21/julia.txt +++ b/npc/001-2-21/julia.txt @@ -20,7 +20,7 @@ L_Menu: .@enora = getq(ArtisQuests_Enora); menu - rif(getskilllv(1) != 9, l("Something is wrong with me, I can't smile nor sit.")), L_BasicSkill, + rif(getskilllv(1) < 6, l("Something is wrong with me, I can't smile nor sit.")), L_BasicSkill, rif (.@enora == 0, l("Where should I go?")), L_Enora, lg("I made a mistake, I would like to change my language."), L_ChooseLang, l("Is it possible to go back to Drasil Island?"), L_Island, @@ -48,22 +48,7 @@ L_ChooseLang: mesq l("Of course! Tell me which language you speak and I will change the note on the ship board list."); next; - menu - menuimage("flags/en", l("I speak English.") + " (English)"), -, - menuimage("flags/fr", l("I speak French.") + " (Français)"), -, - menuimage("flags/ru", l("I speak Russian.") + " (Русский)"), -, - menuimage("flags/es", l("I speak Spanish.") + " (Español)"), -, - menuimage("flags/pt_BR", l("I speak Portuguese.") + " (Português)"), -, - menuimage("flags/de", l("I speak German.") + " (Deutsch)"), -, - menuimage("flags/vls", l("I speak Flemish.") + " (Vlaams)"), -, - menuimage("flags/pl", l("I speak Polish.") + " (Polski)"), -, - menuimage("flags/it", l("I speak Italian.") + " (Italiano)"), -, - menuimage("flags/nl_BE", l("I speak Dutch.") + " (Nederlands)"), -, - menuimage("flags/ca", l("I speak Catalan.") + " (Català)"), -, - .@s$, L_NoChanges; - .@lang = @menu-1; - if (.@lang < 0 || .@lang > 10) close; - Lang = .@lang; + asklanguage (LANG_IN_SHIP); mes ""; mesn; diff --git a/npc/functions/asklanguage.txt b/npc/functions/asklanguage.txt new file mode 100644 index 00000000..480ca030 --- /dev/null +++ b/npc/functions/asklanguage.txt @@ -0,0 +1,80 @@ +// Evol functions. +// Author: +// Reid +// Description: +// Function setting the player language + +function script asklanguage { + + .@nb_language = 11; + + switch (getarg(0, 0)) + { + case LANG_ON_SEA: + setarray .@messages$[0], l("I hear you... (English)"), + l("Je vous entends... (Français)"), + l("Да я вас слышу... (Русский)"), + l("Te oigo... (Español)"), + l("Eu te ouço... (Português)"), + l("Ich höre euch... (Deutsch)"), + l("'k hoar ui wel... (Vlaams)"), + l("Słyszę cię... (Polski)"), + l("Vi sento... (Italiano)"), + l("Ik kan je horen... (Nederlands)"), + l("Et escolto (Català)"), + l("Mi aŭdas vin... (Angle)"); + break; + case LANG_IN_SHIP: + setarray .@messages$[0], l("I speak English."), + l("I speak French."), + l("I speak Russian."), + l("I speak Spanish."), + l("I speak Portuguese."), + l("I speak German."), + l("I speak Flemish."), + l("I speak Polish."), + l("I speak Italian."), + l("I speak Dutch."), + l("I speak Catalan."), + l("I speak Esperanto."); + break; + default: + return; + } + + setarray .@flags$[0], l("flags/en"), + l("flags/fr"), + l("flags/ru"), + l("flags/es"), + l("flags/pt_BR"), + l("flags/de"), + l("flags/vls"), + l("flags/pl"), + l("flags/it"), + l("flags/nl_BE"), + l("flags/ca"), + l("flags/eo"); + + .@menustr$ = ""; + .@separator$ = ":"; + + for (.@i = 0; .@i <= .@nb_language; .@i++) + { + if (.@i == .@nb_language) + { + .@separator$ = ""; + } + .@menustr$ = .@menustr$ + .@flags$[.@i] + "|" + .@messages$[.@i] + .@separator$; + } + + select (.@menustr$); + + .@lang = @menu - 1; + + if (.@lang >= 0 || .@lang <= .@nb_language) + { + Lang = .@lang; + } + + return; +} diff --git a/npc/scripts.conf b/npc/scripts.conf index ef4c18e2..49e412ac 100644 --- a/npc/scripts.conf +++ b/npc/scripts.conf @@ -33,6 +33,7 @@ "npc/functions/mouboofunc.txt", "npc/functions/string.txt", "npc/functions/time.txt", +"npc/functions/asklanguage.txt", // quest debug "npc/functions/quest-debug/functions.txt", |