Page 2 of 3

Re: Unhardcoding Custom Messages

Posted: Mon Jan 24, 2011 11:23 pm
by UnAfraid
Good idea actualy ^^
You can found easly hardcoded msgs via eclipse ctrl + h .sendMessage(" filter *.java and u'll get em all ^^
also i suggest u to use the way of SystemMessageId instead of using only an some primitive int ^^

Re: Unhardcoding Custom Messages

Posted: Tue Jan 25, 2011 6:53 am
by tukune
I'm sad. Are you trying to kill us Asian ppl? :cry:

Re: Unhardcoding Custom Messages

Posted: Tue Jan 25, 2011 10:07 am
by macdonald12
tukune wrote:I'm sad. Are you trying to kill us Asian ppl? :cry:
Seriously, none of your posts in this thread make any bloody sense. So please stop posting :roll:

Re: Unhardcoding Custom Messages

Posted: Tue Jan 25, 2011 3:22 pm
by LaraCroft
Very nice idea...
I'll try to translate to pt-br
:mrgreen:

Anyone can share this??
:)

Re: Unhardcoding Custom Messages

Posted: Tue Jan 25, 2011 4:43 pm
by UnAfraid
This is my idea but not tested and not fully completed..
Cuz i got lazy to do Enums and i did it like Zoey76 began with ids xD

Core:
[diff]Index: java/com/l2jserver/gameserver/instancemanager/CustomMessages.java===================================================================--- java/com/l2jserver/gameserver/instancemanager/CustomMessages.java   (revision 0)+++ java/com/l2jserver/gameserver/instancemanager/CustomMessages.java   (revision 0)@@ -0,0 +1,121 @@+/*+ * This program is free software: you can redistribute it and/or modify it under+ * the terms of the GNU General Public License as published by the Free Software+ * Foundation, either version 3 of the License, or (at your option) any later+ * version.+ * + * This program is distributed in the hope that it will be useful, but WITHOUT+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more+ * details.+ * + * You should have received a copy of the GNU General Public License along with+ * this program. If not, see <http://www.gnu.org/licenses/>.+ */+package com.l2jserver.gameserver.instancemanager;++import java.io.File;+import java.util.List;+import java.util.Map;+import java.util.logging.Level;+import java.util.logging.Logger;++import javolution.util.FastList;+import javolution.util.FastMap;++import com.l2jserver.Config;+import com.l2jserver.gameserver.model.CustomLanguage;+++/**+ * @author UnAfraid+ *+ */+public class CustomMessages+{+   private final Logger _log = Logger.getLogger(getClass().getName());+   private Map<String, CustomLanguage> _languages;+   +   public CustomMessages()+   {+       _languages = new FastMap<String, CustomLanguage>();+       load();+   }+   +   public void load()+   {+       List<File> files = new FastList<File>();+       hashFiles("lang", files);+       for (File file : files)+       {+           try+           {+               String name = file.getName().replaceAll(".xml", "");+               _languages.put(name, new CustomLanguage(file));+               _log.log(Level.INFO, getClass().getSimpleName() + ": Loading Custom language file: " + name);+           }+           catch (Exception e)+           {+               _log.log(Level.SEVERE, "Error loading file " + file, e);+               continue;+           }+       }+       +       _log.log(Level.SEVERE, getClass().getSimpleName() + ": Loaded " + _languages.size() + " Custom languages");+   }+   +   public String getMessage(int id, String language)+   {+       String msg = null;+       if (_languages.containsKey(language))+       {+           CustomLanguage lang = _languages.get(language);+           msg = lang.getMessage(id);+           if (msg == null)+           {+               _log.log(Level.SEVERE, getClass().getSimpleName() + ": Missing custom language id: " + id + " for language: " + language);+               if (Config.DEBUG)+                   new Throwable().printStackTrace();+               +               if (_languages.containsKey(Config.L2JMOD_MULTILANG_DEFAULT))+                   msg = _languages.get(Config.L2JMOD_MULTILANG_DEFAULT).getMessage(id);+           }+       }+       else+       {+           _log.log(Level.SEVERE, getClass().getSimpleName() + ": Missing custom language: " + language);+           if (Config.DEBUG)+               new Throwable().printStackTrace();+           msg = "";+       }+       return msg;+   }+   +   private final void hashFiles(String dirname, List<File> hash)+   {+       File dir = new File(Config.DATAPACK_ROOT, "data/" + dirname);+       if (!dir.exists())+       {+           _log.config("Dir " + dir.getAbsolutePath() + " not exists");+           return;+       }+       +       File[] files = dir.listFiles();+       for (File f : files)+       {+           if (f.getName().endsWith(".xml"))+               hash.add(f);+       }+   }+   +   public static CustomMessages getInstance()+   {+       return SingletonHolder._instance;+   }+   +   @SuppressWarnings("synthetic-access")+   private static class SingletonHolder+   {+       protected static final CustomMessages _instance = new CustomMessages();+   }+}Index: java/com/l2jserver/gameserver/GameServer.java===================================================================--- java/com/l2jserver/gameserver/GameServer.java   (revision 4488)+++ java/com/l2jserver/gameserver/GameServer.java   (working copy)@@ -92,6 +92,7 @@ import com.l2jserver.gameserver.instancemanager.ClanHallManager; import com.l2jserver.gameserver.instancemanager.CoupleManager; import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;+import com.l2jserver.gameserver.instancemanager.CustomMessages; import com.l2jserver.gameserver.instancemanager.DayNightSpawnManager; import com.l2jserver.gameserver.instancemanager.DimensionalRiftManager; import com.l2jserver.gameserver.instancemanager.FortManager;@@ -307,6 +308,7 @@        HelperBuffTable.getInstance();        AugmentationData.getInstance();        CursedWeaponsManager.getInstance();+       CustomMessages.getInstance();                printSection("Scripts");        QuestManager.getInstance();Index: java/com/l2jserver/gameserver/model/CustomLanguage.java===================================================================--- java/com/l2jserver/gameserver/model/CustomLanguage.java (revision 0)+++ java/com/l2jserver/gameserver/model/CustomLanguage.java (revision 0)@@ -0,0 +1,108 @@+/*+ * This program is free software: you can redistribute it and/or modify it under+ * the terms of the GNU General Public License as published by the Free Software+ * Foundation, either version 3 of the License, or (at your option) any later+ * version.+ * + * This program is distributed in the hope that it will be useful, but WITHOUT+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more+ * details.+ * + * You should have received a copy of the GNU General Public License along with+ * this program. If not, see <http://www.gnu.org/licenses/>.+ */+package com.l2jserver.gameserver.model;++import java.io.File;+import java.util.Map;+import java.util.logging.Level;+import java.util.logging.Logger;++import javax.xml.parsers.DocumentBuilderFactory;++import javolution.util.FastMap;++import org.w3c.dom.Document;+import org.w3c.dom.NamedNodeMap;+import org.w3c.dom.Node;++/**+ * @author UnAfraid+ *+ */+public class CustomLanguage+{+   private final Logger _log = Logger.getLogger(getClass().getName());+   Map<Integer, String> _messages;+   +   public CustomLanguage(File file)+   {+       _messages = new FastMap<Integer, String>();+       load(file);+   }+   +   public String getMessage(int id)+   {+       if (_messages.containsKey(id))+           return _messages.get(id);+       else+           return null;+   }+   +   public void load(File file)+   {+       _messages.clear();+       DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();+       factory.setValidating(false);+       factory.setIgnoringComments(true);+       Document doc = null;+       if (file.exists())+       {+           try+           {+               doc = factory.newDocumentBuilder().parse(file);+           }+           catch (Exception e)+           {+               _log.log(Level.WARNING, "Could not parse " + file.getName() + " file: " + e.getMessage(), e);+           }+           +           for (Node n = doc.getFirstChild(); n != null; n = n.getNextSibling())+           {+               if ("list".equalsIgnoreCase(n.getNodeName()))+               {+                   for (Node d = n.getFirstChild(); d != null; d = d.getNextSibling())+                   {+                       if ("msg".equalsIgnoreCase(d.getNodeName()))+                       {+                           NamedNodeMap attrs = d.getAttributes();+                           Node att;+                           int id = 0;+                           String text = null;+                           +                           att = attrs.getNamedItem("id");+                           if (att == null)+                           {+                               _log.severe(getClass().getSimpleName() + " Missing id, skipping");+                               continue;+                           }+                           id = Integer.parseInt(att.getNodeValue());+                           +                           att = attrs.getNamedItem("text");+                           if (att == null)+                           {+                               _log.severe(getClass().getSimpleName() + " Missing text, skipping");+                               continue;+                           }+                           text = att.getNodeValue();+                           +                           _messages.put(id, text);+                       }+                   }+               }+           }+       }+       _log.log(Level.SEVERE, getClass().getSimpleName() + ": Loaded: [" + file.getName().replaceAll(".xml", "") + "] " + _messages.size() + " Custom Messages");+   }+}Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java===================================================================--- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java    (revision 4488)+++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java    (working copy)@@ -79,6 +79,7 @@ import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.CoupleManager; import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager;+import com.l2jserver.gameserver.instancemanager.CustomMessages; import com.l2jserver.gameserver.instancemanager.DimensionalRiftManager; import com.l2jserver.gameserver.instancemanager.DuelManager; import com.l2jserver.gameserver.instancemanager.FortManager;@@ -5263,10 +5264,10 @@                if (answer == 1)                {                    CoupleManager.getInstance().createCouple(ptarget, L2PcInstance.this);-                   ptarget.sendMessage("Request to Engage has been >ACCEPTED<");+                   ptarget.sendMessage(CustomMessages.getInstance().getMessage(5, ptarget.getHtmlPrefix())); // Request to Engage has been >ACCEPTED<                }                else-                   ptarget.sendMessage("Request to Engage has been >DENIED<!");+                   ptarget.sendMessage(CustomMessages.getInstance().getMessage(6, ptarget.getHtmlPrefix())); // Request to Engage has been >DENIED<!            }        }    }Index: java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java===================================================================--- java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java    (revision 4488)+++ java/com/l2jserver/gameserver/communitybbs/Manager/RegionBBSManager.java    (working copy)@@ -26,6 +26,7 @@  import com.l2jserver.Config; import com.l2jserver.gameserver.GameServer;+import com.l2jserver.gameserver.instancemanager.CustomMessages; import com.l2jserver.gameserver.model.BlockList; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;@@ -192,7 +193,7 @@                        try            {-               +               CustomMessages msgs = CustomMessages.getInstance();                L2PcInstance receiver = L2World.getInstance().getPlayer(ar2);                if (receiver == null)                {@@ -203,7 +204,7 @@                }                if (Config.JAIL_DISABLE_CHAT && receiver.isInJail())                {-                   activeChar.sendMessage("Player is in jail.");+                   activeChar.sendMessage(msgs.getMessage(1, activeChar.getHtmlPrefix())); // Player is in jail.                    return;                }                if (receiver.isChatBanned())@@ -208,7 +209,7 @@                }                if (receiver.isChatBanned())                {-                   activeChar.sendMessage("Player is chat banned.");+                   activeChar.sendMessage(msgs.getMessage(2, activeChar.getHtmlPrefix())); // Player is chat banned.                    return;                }                if (activeChar.isInJail() && Config.JAIL_DISABLE_CHAT)@@ -213,7 +214,7 @@                }                if (activeChar.isInJail() && Config.JAIL_DISABLE_CHAT)                {-                   activeChar.sendMessage("You can not chat while in jail.");+                   activeChar.sendMessage(msgs.getMessage(3, activeChar.getHtmlPrefix())); // You can not chat while in jail.                    return;                }                if (activeChar.isChatBanned())@@ -218,7 +219,7 @@                }                if (activeChar.isChatBanned())                {-                   activeChar.sendMessage("You are banned from using chat");+                   activeChar.sendMessage(msgs.getMessage(4, activeChar.getHtmlPrefix())); // You are banned from using chat                    return;                }                 [/diff]
DP:
[diff]Index: data/lang/en.xml===================================================================--- data/lang/en.xml    (revision 0)+++ data/lang/en.xml    (revision 0)@@ -0,0 +1,7 @@+<?xml version="1.0" encoding="UTF-8"?>+<list>+   <msg id="1" text="Player is in jail." />+   <msg id="2" text="Player is chat banned." />+   <msg id="3" text="You can not chat while in jail." />+   <msg id="4" text="You are banned from using chat." />+</list>\ No newline at end of fileIndex: data/lang/ru.xml===================================================================--- data/lang/ru.xml    (revision 0)+++ data/lang/ru.xml    (revision 0)@@ -0,0 +1,9 @@+<?xml version="1.0" encoding="UTF-8"?>+<list>+   <msg id="1" text="Игрок находится в тюрьме." />+   <msg id="2" text="Чат игрока заблокирован." />+   <msg id="3" text="Вы не можете общаться, когда находитесь в тюрьме." />+   <msg id="4" text="Использование чата запрещено." />+   <msg id="5" text="Запрос на помолвку принят!" />+   <msg id="6" text="Запрос на помолвку отклонен!" />+</list>\ No newline at end of file [/diff]

Re: Unhardcoding Custom Messages

Posted: Thu Jan 27, 2011 10:09 pm
by SolidSnake
First 300 system messages translated from english to italian.

Code: Select all

<?xml version="1.0" encoding="UTF-8"?><list>    <msg id="0" text="Sei stato disconnesso dal server." />    <msg id="1" text="Il server andrà down in $1 secondi. Per favore trovate un posto sicuro per disconnettersi." />    <msg id="2" text="$s1 non esiste." />    <msg id="3" text="$s1 attualmente non è connesso." />    <msg id="4" text="Non puoi chiedere a te stesso di aggiungerti a un clan." />    <msg id="5" text="$s1 già esiste." />    <msg id="6" text="$s1 non esiste." />    <msg id="7" text="Sei già un membro di $s1." />    <msg id="8" text="Stai lavorando con un altro clan." />    <msg id="9" text="$s1 non è un capo clan." />    <msg id="10" text="$s1 sta lavorando con un altro clan." />    <msg id="11" text="Non ci sono richiedenti per questo clan." />    <msg id="12" text="L'informazione relativa al richiedente non è corretta." />    <msg id="13" text="Impossibile da disperdere: il tuo clan ha richiesto di partecipare all'assedio di un castello." />    <msg id="14" text="Impossibile da disperdere: il tuo clan possiede uno o più castelli o nascondigli." />    <msg id="15" text="Sei in un assedio." />    <msg id="16" text="Non sei in un assedio." />    <msg id="17" text="L'assedio del castello è iniziato." />    <msg id="18" text="L'assedio del castello è finito." />    <msg id="19" text="C'è un nuovo Signore del castello!" />    <msg id="20" text="Il cancello è stato aperto." />    <msg id="21" text="Il cancello è stato distrutto." />    <msg id="22" text="Il tuo bersaglio è fuori portata." />    <msg id="23" text="Non hai abbastanza HP." />    <msg id="24" text="Non hai abbastanza MP." />    <msg id="25" text="Ringiovanimento HP." />    <msg id="26" text="Ringiovanimento MP." />    <msg id="27" text="Il tuo casting è stato interrotto." />    <msg id="28" text="Hai ottenuto $s1 adena." />    <msg id="29" text="Hai ottenuto $s2 $s1." />    <msg id="30" text="Hai ottenuto $s1.    <msg id="31" text="Non puoi muoverti da seduto." />    <msg id="32" text="Sei impossibilitato ad impegnarti in un combattimento. Per favore vai al più vicino punto di riavvio." />    <msg id="33" text="Non puoi muoverti durante il casting." />    <msg id="34" text="Benvenuto nel Mondo di Lineage II." />    <msg id="35" text="Hai colpito per $s1 danno(i)." />    <msg id="36" text="$c1 ti ha colpito per $s2 danno(i)." />    <msg id="37" text="$c1 ti ha colpito per $s2 danno(i)." />    <msg id="41" text="Hai scoccato una freccia con attenzione." />    <msg id="42" text="Hai evitato l'attacco di $c1." />    <msg id="43" text="Lo hai mancato." />    <msg id="44" text="Colpo critico!" />    <msg id="45" text="Hai acquisito $s1 esperienza." />    <msg id="46" text="Hai usato $s1." />    <msg id="47" text="Hai iniziato ad usare un(a) $s1." />    <msg id="48" text="$s1 non è disponibile ora: in fase di preparazione per il riutilizzo." />    <msg id="49" text="Hai indossato il tuo $s1." />    <msg id="50" text="Il tuo bersaglio non può essere trovato." />    <msg id="51" text="Non puoi usare questo su te stesso." />    <msg id="52" text="Hai trovato $s1 adena." />    <msg id="53" text="Hai trovato $s2 $s1(s)." />    <msg id="54" text="Hai trovato $s1." />    <msg id="55" text="Non sei riuscito a raccogliere $s1 adena." />    <msg id="56" text="Non sei riuscito a raccogliere $s1." />    <msg id="57" text="Non sei riuscito a raccogliere $s2 $s1(s)." />    <msg id="58" text="Non sei riuscito a trovare $s1 adena." />    <msg id="59" text="Non sei riuscito a trovare $s1." />    <msg id="60" text="Non sei riuscito a trovare $s2 $s1(s)." />    <msg id="61" text="Non è successo niente." />    <msg id="62" text="Il tuo $s1 è stato incantato con successo." />    <msg id="63" text="Il tuo +$S1 $S2 è stato incantato con successo." />    <msg id="64" text="L'incantamento è fallito! Il tuo $s1 è stato cristallizzato." />    <msg id="65" text="L'incantamento è fallito! Il tuo +$s1 $s2 è stato cristallizato." />    <msg id="66" text="$c1 ti sta invitando ad unirti in un party. Accetti?" />    <msg id="67" text="$s1 ti ha invitato ad unirti nel clan, $s2. Desideri unirti?" />    <msg id="68" text="Ti piacerebbe uscire dal clan $s1? Se esci, dovrai aspettare almeno un giorno prima di unirti ad un altro clan." />    <msg id="69" text="Ti piacerebbe dimettere $s1 dal clan? Se lo fai, dovrai aspettare almeno un giorno prima di accettare un nuovo membro." />    <msg id="70" text="Desideri disperdere il clan, $s1?" />    <msg id="71" text="Quanti dei tuoi $s1(s) desideri scartare?" />    <msg id="72" text="Quanti dei tuoi $s1(s) desideri spostare?" />    <msg id="73" text="Quanti dei tuoi $s1(s) desideri distruggere?" />    <msg id="74" text="Desideri distruggere il tuo $s1?" />    <msg id="75" text="ID non esistente." />    <msg id="76" text="Password scorretta." />    <msg id="77" text="Non puoi creare un altro personaggio. Per favore cancella il personaggio esistente e prova di nuovo." />    <msg id="78" text="Quando cancelli un personaggio, ogni oggetto in suo possesso sarà anch'esso cancellato. Davvero desideri cancellare $s1%?" />    <msg id="79" text="Questo nome esiste già." />    <msg id="80" text="I nomi devono essere tra 1-16 caratteri, escludendo spazi o caratteri speciali." />    <msg id="81" text="Per favore seleziona la tua razza." />    <msg id="82" text="Per favore seleziona la tua occupazione." />    <msg id="83" text="Per favore seleziona il tuo sesso." />    <msg id="84" text="Non puoi attaccare in una zona pacifica." />    <msg id="85" text="Non puoi attaccare questo bersaglio in una zona pacifica." />    <msg id="86" text="Per favore inserisci il tuo ID." />    <msg id="87" text="Per favore inserisci la tua password." />    <msg id="88" text="La tua versione protocollo è differente, per favore riavvia il tuo client e fai una verifica completa." />    <msg id="89" text="La tua versione protocollo è differente, per favore prosegui." />    <msg id="90" text="Sei impossibilitato a connetterti al server." />    <msg id="91" text="Per favore seleziona la tua acconciatura." />    <msg id="92" text="$s1 si è esaurito." />    <msg id="93" text="Non hai abbastanza SP per questo." />    <msg id="94" text="2004-2009 (c) Copyright NCZ0ft Corporation. Tutti i Diritti Riservati." />    <msg id="95" text="Hai acquisito $s1 esperienza e $s2 SP." />    <msg id="96" text="Il tuo livello è aumentato!" />    <msg id="97" text="Questo oggetto non può essere spostato." />    <msg id="98" text="Questo oggetto non può essere scartato." />    <msg id="99" text="Questo oggetto non può essere scambiato o venduto." />    <msg id="100" text="$c1 sta chiedendo di commerciare. Desideri proseguire?" />    <msg id="101" text="Non puoi uscire durante un combattimento." />    <msg id="102" text="Non puoi riavviare durante un combattimento." />    <msg id="103" text="Questo ID è attualmente connesso." />    <msg id="104" text="Non puoi indossare oggetti durante il casting o l'esecuzione di una skill." />    <msg id="105" text="$c1 è stato invitato al party." />    <msg id="106" text="Ti sei unito al party di $s1." />    <msg id="107" text="$c1 si è unito al party." />    <msg id="108" text="$c1 è uscito dal party." />    <msg id="109" text="Bersaglio non valido." />    <msg id="110" text="L'effetto di $s1 $s2 può essere sentito." />    <msg id="111" text="La difesa del tuo scudo è riuscita." />    <msg id="112" text="Non puoi più sistemare oggetti nello scambio poichè il commercio è stato confermato." />    <msg id="113" text="$s1 non può essere usato a causa di termini non idonei." />    <msg id="114" text="Sei entrato nell'ombra del Mother Tree." />    <msg id="115" text="Hai lasciato l'ombra del Mother Tree." />    <msg id="116" text="Sei entrato in una zona pacifica." />    <msg id="117" text="Sei uscito dalla zona pacifica." />    <msg id="118" text="Hai richiesto uno scambio con $c1." />    <msg id="119" text="$c1 ha declinato la tua richiesta di commercio." />    <msg id="120" text="Hai iniziato uno scambio con $c1." />    <msg id="121" text="$c1 ha confermato lo scambio." />    <msg id="122" text="Non puoi più sistemare oggetti nello scambio poichè il commercio è stato confermato." />    <msg id="123" text="Il tuo scambio è riuscito." />    <msg id="124" text="$c1 ha annullato lo scambio." />    <msg id="125" text="Desideri uscire dal gioco?" />    <msg id="126" text="Desideri tornare alla schermata di selezione del personaggio?" />    <msg id="127" text="Sei stato disconnesso dal server. Per favore connettiti di nuovo." />    <msg id="128" text="La creazione del tuo personaggio è fallita." />    <msg id="129" text="Il tuo inventario è pieno." />    <msg id="130" text="Il tuo deposito è pieno." />    <msg id="131" text="$s1 si è connesso." />    <msg id="132" text="$s1 è stato aggiunto alla tua lista di amici." />    <msg id="133" text="$s1 è stato rimosso dalla tua lista di amici." />    <msg id="134" text="Per favore controlla la tua lista di amici di nuovo." />    <msg id="135" text="$c1 non ha risposto al tuo invito. Il tuo invito è stato annullato." />    <msg id="136" text="Non hai risposto all'invito di $c1. L'offerta è stata annullata." />    <msg id="137" text="Non ci sono più oggetti nella barra di scelta rapida." />    <msg id="138" text="Designare la barra di scelta rapida." />    <msg id="139" text="$c1 ha resistito il tuo $s2." />    <msg id="140" text="La tua skill è stata rimossa a causa della mancanza di MP." />    <msg id="141" text="Una volta che lo scambio è confermato, l'oggetto non può essere spostato di nuovo." />    <msg id="142" text="Stai già commerciando con qualcuno." />    <msg id="143" text="$c1 sta già commerciando con un'altra persona. Per favore riprova più tardi." />    <msg id="144" text="Questo è un bersaglio scorretto." />    <msg id="145" text="Questo giocatore non è online." />    <msg id="146" text="Parlare è ora permesso." />    <msg id="147" text="Parlare è attualmente proibito." />    <msg id="148" text="Non puoi usare oggetti di quest." />    <msg id="149" text="Non puoi raccogliere o usare oggetti mentre commerci." />    <msg id="150" text="Non puoi scartare o distruggere un oggetto mentre commerci in un negozio privato." />    <msg id="151" text="Questo punto è troppo lontano da te per scartare." />    <msg id="152" text="Hai invitato un bersaglio errato." />    <msg id="153" text="$c1 è già impegnato. Per favore prova più tardi." />    <msg id="154" text="Solo il leader può mandare inviti." />    <msg id="155" text="Il party è al completo." />    <msg id="156" text="Il drain è riuscito solo al 50 percento." />    <msg id="157" text="Hai resistito al drain di $c1." />    <msg id="158" text="Il tuo attacco è fallito." />    <msg id="159" text="Hai resistito alla magia di $c1." />    <msg id="160" text="$c1 è un membro di un altro party e non può essere invitato." />    <msg id="161" text="Il giocatore non è attualmente online." />    <msg id="162" text="Il deposito è troppo lontano." />    <msg id="163" text="Non puoi distruggerlo poichè il numero è scorretto." />    <msg id="164" text="In attesa di un'altra risposta." />    <msg id="165" text="Non puoi aggiungere te stesso alla tua lista di amici." />    <msg id="166" text="La lista di amici non è ancora pronta. Per favore registrati di nuovo più tardi." />    <msg id="167" text="$c1 è già nella tua lista di amici." />    <msg id="168" text="$c1 ha mandato una richiesta di amicizia." />    <msg id="169" text="Accetta l'amicizia 0/1 (1 per accettare, 0 per rifiutare)." />    <msg id="170" text="L'utente che ha richiesto di diventare amici non si trova nel gioco." />    <msg id="171" text="$c1 non è sulla tua lista di amici." />    <msg id="172" text="Non hai i fondi necessari per pagare questa transazione." />    <msg id="173" text="Non hai i fondi necessari per pagare questa transazione." />    <msg id="174" text="L'inventario di questa persona è pieno." />    <msg id="175" text="Questa skill è stata disattivata poichè gli HP erano stati completamente recuperati." />    <msg id="176" text="Questa persona è in modalità negazione messaggi." />    <msg id="177" text="Modalità negazione messaggi." />    <msg id="178" text="Modalità accettazione messaggi." />    <msg id="179" text="Non puoi scartare quegli oggetti qui." />    <msg id="180" text="Hai $s1 giorno(i) rimanente(i) fino alla cancellazione. Desideri rimuovere questa azione?" />    <msg id="181" text="Non puoi vedere il bersaglio." />    <msg id="182" text="Vuoi interrompere la quest attuale?" />    <msg id="183" text="Ci sono troppi utenti sul server. Per favore riprova di nuovo più tardi." />    <msg id="184" text="Per favore riprova di nuovo più tardi." />    <msg id="185" text="Devi prima selezionare un utente per invitarlo nel tuo party." />    <msg id="186" text="Devi prima selezionare un utente per invitarlo nel tuo clan." />    <msg id="187" text="Seleziona un utente per espellerlo." />    <msg id="188" text="Per favore crea il tuo nome clan." />    <msg id="189" text="Il tuo clan è stato creato." />    <msg id="190" text="Non sei riuscito a creare un clan." />    <msg id="191" text="Il membro del clan $s1 è stato espulso." />    <msg id="192" text="Non sei riuscito ad espellere $s1 dal clan." />    <msg id="193" text="Il clan è stato disperso." />    <msg id="194" text="Non sei riuscito a disperdere il clan." />    <msg id="195" text="Sei entrato nel clan." />    <msg id="196" text="$s1 ha rifiutato il tuo invito di clan." />    <msg id="197" text="Ti sei rimosso dal clan." />    <msg id="198" text="Non sei riuscito a rimuoverti dal clan $s1." />    <msg id="199" text="Sei stato recentemente dimesso da un clan. Non ti è concesso entrare in un altro clan per 24-ore." />    <msg id="200" text="Ti sei rimosso dal party." />    <msg id="201" text="$c1 è stato espulso dal party." />    <msg id="202" text="Sei stato espulso dal party." />    <msg id="203" text="Il party è stato disperso." />    <msg id="204" text="Nome scorretto. Per favore prova di nuovo." />    <msg id="205" text="Nome scorretto del personaggio. Per favore prova di nuovo." />    <msg id="206" text="Per favore inserisci il nome del clan al quale desideri dichiarare guerra." />    <msg id="207" text="$s2 del clan $s1 richiede una dichiarazione di guerra. Accetti?" />    <msg id="212" text="Non sei un membro di un clan e non puoi eseguire questa azione." />    <msg id="213" text="Non funziona. Per favore prova di nuovo più tardi." />    <msg id="214" text="Il tuo titolo è stato cambiato." />    <msg id="215" text="La guerra con il clan $s1 è iniziata." />    <msg id="216" text="La guerra con il clan $s1 è finita." />    <msg id="217" text="Hai vinto la guerra contro il clan $s1!" />    <msg id="218" text="Ti sei arreso al clan $s1." />    <msg id="219" text="Il tuo capo clan è morto. Sei stato sconfitto dal clan $s1." />    <msg id="220" text="Hai $s1 minuti rimanenti prima che la guerra tra clan finisca." />    <msg id="221" text="Il tempo massimo per la guerra tra clan è stato raggiunto. La guerra con il clan $s1 è finita." />    <msg id="222" text="$s1 è entrato nel clan." />    <msg id="223" text="$s1 è uscito dal clan." />    <msg id="224" text="$s1 non ha risposto: L'invito di clan è stato annullato." />    <msg id="225" text="Non hai risposto all'invito di $s1: l'adesione è stata annullata." />    <msg id="226" text="Il clan $s1 non ti ha risposto: la proclamazione di guerra è stata rifiutata." />    <msg id="227" text="La guerra tra clan è stata rifiutata poichè non hai risposto alla proclamazione di guerra del clan $s1." />    <msg id="228" text="La richiesta di termine alla guerra è sta respinta." />    <msg id="229" text="Non soddisfi i criteri necessari per creare un clan." />    <msg id="230" text="Devi aspettare 10 giorni prima di creare un nuovo clan." />    <msg id="231" text="Dopo che un membro del clan è stato dimesso dal clan, il clan deve aspettare almeno un giorno prima di accettare un nuovo membro." />    <msg id="232" text="Dopo aver lasciato o esser stato dimesso da un clan, devi aspettare almeno un giorno prima di entrare in un altro clan." />    <msg id="233" text="" />    <msg id="234" text="Il bersaglio deve essere membro di un clan." />    <msg id="235" text="Non sei autorizzato a concedere questi diritti." />    <msg id="236" text="Solo il capo clan è attivato." />    <msg id="237" text="Il capo clan potrebbe non essere trovato." />    <msg id="238" text="Non iscritto in nessun clan." />    <msg id="239" text="Il capo clan non può dimettersi." />    <msg id="240" text="Attualmente impegnato in una guerra tra clan." />    <msg id="241" text="Il capo del Clan $s1 non è connesso." />    <msg id="242" text="Seleziona un bersaglio." />    <msg id="243" text="Non puoi dichiarare guerra a un clan alleato." />    <msg id="244" text="Non ti è concesso iniziare questa sfida." />    <msg id="245" text="Non sono passati 5 giorni da quando è stata rifiutata la guerra. Desideri continuare?" />    <msg id="246" text="Questo clan è attualmente in guerra." />    <msg id="247" text="Sei stato già in guerra con il clan $s1: devono passare 5 giorni prima di poter sfidare questo clan di nuovo." />    <msg id="248" text="Non puoi proclamare guerra: il clan $s1 non ha abbastanza membri." />    <msg id="249" text="Desideri arrenderti al clan $s1?" />    <msg id="250" text="Ti sei personalmente arreso al clan $s1. Non stai più partecipando a questa guerra tra clan." />    <msg id="251" text="Non puoi proclamare guerra: sei in guerra con un altro clan." />    <msg id="252" text="Inserisci il nome del clan alla quale ti arrendi." />    <msg id="253" text="Inserisci il nome del clan con il quale desideri terminare la guerra." />    <msg id="254" text="Un capo clan non può arrendersi personalmente." />    <msg id="255" text="Il clan $s1 ha chiesto di terminare la guerra. Accetti?" />    <msg id="256" text="Inserisci il titolo." />    <msg id="257" text="Offri al clan $s1 una proposta di fine guerra?" />    <msg id="258" text="Non sei coinvolto in una guerra tra clan." />    <msg id="259" text="Seleziona i membri del clan dalla lista." />    <msg id="260" text="Il livello di fama è stato diminuito: non sono passati 5 giorni da quando è stata rifiutata la guerra." />    <msg id="261" text="Il nome del clan non è valido." />    <msg id="262" text="La lunghezza del nome del clan non è valida." />    <msg id="263" text="Hai già richiesto lo scioglimento del tuo clan." />    <msg id="264" text="Non puoi sciogliere un clan mentre è impegnato in una guerra." />    <msg id="265" text="Non puoi sciogliere un clan durante un assalto o mentre sta proteggendo un castello." />    <msg id="266" text="Non puoi sciogliere un clan mentre sta possedendo una clan hall o un castello." />    <msg id="267" text="Non ci sono richieste di dispersione." />    <msg id="268" text="Questo giocatore già appartiene a un altro clan." />    <msg id="269" text="Non puoi dimetterti da solo." />    <msg id="270" text="Ti sei già arreso." />    <msg id="271" text="Ad un giocatore può essere concesso un titolo solo se il clan è livello 3 o maggiore." />    <msg id="272" text="Una crest di clan può essere registrata solo quando il livello skill del clan è 3 o maggiore." />    <msg id="273" text="Una guerra tra clan può essere dichiarata solo quando il livello skill del clan è 3 o maggiore." />    <msg id="274" text="Il tuo livello skill di clan è aumentato." />    <msg id="275" text="Il clan non è riuscito ad aumentare il livello skill." />    <msg id="276" text="Non hai i materiali necessari o i prerequisiti per imparare questa skill." />    <msg id="277" text="Hai ottenuto $s1." />    <msg id="278" text="Non hai abbastanza SP per imparare questa skill." />    <msg id="279" text="Non hai abbastanza adena." />    <msg id="280" text="Non hai nessun oggetto da vendere." />    <msg id="281" text="Non hai abbastanza adena per pagare la tassa." />    <msg id="282" text="Non hai depositato nessun oggetto nel tuo magazzino." />    <msg id="283" text="Sei entrato in una zona di combattimento." />    <msg id="284" text="Sei uscito da una zona di combattimento." />    <msg id="285" text="Il clan %s1 è riuscito ad incidere il dominatore!" />    <msg id="286" text="La tua base viene attaccata." />    <msg id="287" text="Il clan nemico ha iniziato ad incidere il monumento!" />    <msg id="288" text="Il cancello del castello è stato distrutto." />    <msg id="289" text="Non può essere costruito un avamposto o una sede poichè ne esiste già almeno uno/a." />    <msg id="290" text="Non puoi creare una base qui." />    <msg id="291" text="Il clan $s1 è il vincitore dell'assalto del castello di $s2!" />    <msg id="292" text="$s1 ha annunciato il tempo dell'assalto del castello." />    <msg id="293" text="Il termine di registrazione per $s1 è finito." />    <msg id="294" text="Poichè il tuo clan non è attualmente sull'offensiva in una guerra d'assalto di una Clan Hall, non può creare il suo campo base." />    <msg id="295" text="Il siege di $s1 è stato cancellato poichè non c'erano clans che partecipavano." />    <msg id="296" text="Hai ricevuto $s1 danno(i) da una caduta alta." />    <msg id="297" text="Hai preso $s1 danno(i) poichè eri impossibilitato a respirare." />    <msg id="298" text="Hai scartato $s1." />    <msg id="299" text="$c1 ha ottenuto $s3 $s2." />    <msg id="300" text="$c1 ha ottenuto $s2." /></list>

Re: Unhardcoding Custom Messages

Posted: Fri Jan 28, 2011 2:44 pm
by jurchiks
umm... this topic is about custom messages, not the retail systemmessage-e.dat content. You know, the kind that goes in your custom scripts/handlers.

Re: Unhardcoding Custom Messages

Posted: Fri Jan 28, 2011 3:25 pm
by SolidSnake
:shock: This happens when I don't read good the topics :V

Re: Unhardcoding Custom Messages

Posted: Fri Jan 28, 2011 3:34 pm
by jurchiks
you should still be able to use them as the original systemmessages, but remember to put slashes before apostrophes (notepad++ replace all> ' with \'), cuz it breaks the xml syntax.

Re: Unhardcoding Custom Messages

Posted: Fri Jan 28, 2011 3:52 pm
by LaraCroft
Hi guys...

Here all english messages
:wink:

Re: Unhardcoding Custom Messages

Posted: Fri Jan 28, 2011 11:20 pm
by LaraCroft
Here pt-br translation...
But... Needs some correction... couse im using google translate...
:mrgreen:

Re: Unhardcoding Custom Messages

Posted: Mon Jan 31, 2011 1:34 pm
by Zoey76
First post updated.

Thanks ThE_PuNiSheR I already have that done in a different way (even when most code match :P )

Thanks SolidSnake & LaraCroft that is going to be useful for the second part of my little project 8)

Re: Unhardcoding Custom Messages

Posted: Mon Jan 31, 2011 5:27 pm
by LaraCroft
Zoey76... please share your diff/patch file for eclipse... I want to test this...
:mrgreen:

Re: Unhardcoding Custom Messages

Posted: Tue Feb 08, 2011 2:35 pm
by Zoey76
I finished it and I'll test in live next days.

There are some things to fix, but soon I'll share this :twisted:

Re: Unhardcoding Custom Messages

Posted: Tue Feb 08, 2011 5:26 pm
by LaraCroft
Zoey76 wrote:I finished it and I'll test in live next days.

There are some things to fix, but soon I'll share this :twisted:
:mrgreen: