summaryrefslogtreecommitdiff
path: root/doc/sample/localized_npc.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/sample/localized_npc.txt')
-rw-r--r--doc/sample/localized_npc.txt148
1 files changed, 0 insertions, 148 deletions
diff --git a/doc/sample/localized_npc.txt b/doc/sample/localized_npc.txt
deleted file mode 100644
index 82a08fa35..000000000
--- a/doc/sample/localized_npc.txt
+++ /dev/null
@@ -1,148 +0,0 @@
-//===== Hercules Script ======================================
-//= Sample localized NPC
-//===== By: ==================================================
-//= Hercules Dev Team
-//===== Current Version: =====================================
-//= v1.1
-//===== Description: =========================================
-//= Example of a localized NPC.
-//=
-//= There are many ways to do it, this is just one option.
-//= The player has a global account variable ##_langid_ that
-//= identifies the it's language.
-//=
-//= The default language should always have langid 0.
-//= When a message isn't found for the player's langid
-//= (strlen = 0), the message from langid 0 is used instead.
-//=
-//= Each message is identified by a string that must only
-//= contain valid variable name characters.
-//=
-//= void setlang(int langid)
-//= - sets the player's language
-//= int getlang(void)
-//= - returns the player's language
-//= void setmes2(string name,int langid,string text)
-//= - sets the localized text for name
-//= string getmes2(string name,int langid)
-//= - returns the localized text of name
-//= void mes2(string name)
-//= - displays the localized text of name
-//=
-//===== Additional Comments: =================================
-//= To use this globally, just put the functions in Global_Functions.txt
-//============================================================
-
-//////////////////////////////////////////////////////////////
-/// Sets the language of the player account.
-/// @param langid Languange identifier (0 for default)
-function script setlang {
- ##_langid_ = getarg(0);
- return;
-}
-
-//////////////////////////////////////////////////////////////
-/// Returns the language identifier of the player
-function script getlang {
- return ##_langid_;
-}
-
-//////////////////////////////////////////////////////////////
-/// Sets a localized text entry.
-/// Does not need a RID attached.
-/// @param name Message identifier
-/// @param langid Language identifier (0 for default)
-/// @param text Text message
-function script setmes2 {
- .@mes2_name$ = getarg(0);
- .@mes2_langid = getarg(1);
- .@mes2_text$ = getarg(2);
- .@mes2_var$ = "$@__"+ .@mes2_name$ +"_"+ .@mes2_langid +"$";
-
- //debugmes "setmes2 \""+ .@mes2_var$ +"\", \""+ .@mes2_text$ +"\";";
-
- // set the localized text
- setd .@mes2_var$, .@mes2_text$;
- return;
-}
-
-//////////////////////////////////////////////////////////////
-/// Sets a localized text entry.
-/// Does not need a RID attached.
-/// @param name Message identifier
-/// @param langid Language identifier (0 for default)
-/// @return Text message
-function script getmes2 {
- .@mes2_name$ = getarg(0);
- .@mes2_langid = getarg(1);
- .@mes2_var$ = "$@__"+ .@mes2_name$ +"_"+ .@mes2_langid +"$";
- .@mes2_text$ = getd(.@mes2_var$);
-
- //debugmes "getmes2(\""+ .@mes2_var$ +"\")=\""+ .@mes2_text$ +"\"";
-
- return .@mes2_text$;
-}
-
-//////////////////////////////////////////////////////////////
-/// mes for localized text.
-/// index should be a unique string, made up only of characters
-/// that are valis as a variable name
-/// @param index Message identifier
-function script mes2 {
- .@mes2_index$ = getarg(0);
-
- if( getstrlen(.@mes2_index$) == 0 )
- return; // invalid index
-
- // print localized text
- .@mes2_text$ = callfunc("getmes2",.@mes2_index$,##_langid_);
- if( getstrlen(.@mes2_text$) == 0 ) {
- if( ##_langid_ != 0 ) {
- // revert to default language
- .@mes2_text$ = callfunc("getmes2",.@mes2_index$,0);
- if( getstrlen(.@mes2_text$) != 0 )
- mes .@mes2_text$; // default text
- }
- } else
- mes .@mes2_text$; // localized text
- return;
-}
-
-//////////////////////////////////////////////////////////////
-/// Sample localized NPC
-prontera,155,183,4 script LocalizedNPC 4_M_GEF_SOLDIER,{
- // Get text for specific languages
- .@menu1$ = callfunc("getmes2","LNPC_lang",0);
- .@menu2$ = callfunc("getmes2","LNPC_lang",1);
- do {
- // get text that fallbacks to language 0
- callfunc "mes2", "LNPC_name";
- // localized mes
- callfunc "mes2", "LNPC_lang";
- callfunc "mes2", "LNPC_text";
- next;
-
- switch(select(.@menu1$,.@menu2$,"Cancel"))
- {
- case 1:
- case 2:
- // Set player language
- callfunc "setlang",@menu-1;
- break;
- }
- } while( @menu != 3 );
- close;
- end;
-
-OnInterIfInitOnce:
- // Load the localized text.
- // This can be anywhere, as long as it's executed before the coresponding getmes2/mes2 calls
- // 0 - English (default)
- // 1 - Portuguese
- callfunc "setmes2", "LNPC_name", 0, "[LocalizedNPC]";
- callfunc "setmes2", "LNPC_lang", 0, "EN";
- callfunc "setmes2", "LNPC_lang", 1, "PT";
- callfunc "setmes2", "LNPC_text", 0, "Something in english";
- callfunc "setmes2", "LNPC_text", 1, "Algo em português";
- end;
-}