Bienvenue sur le Wiki Necrosis !
Speech.lua : ¡ Personaliza tus mensajes de invocación !
Why is this a file instead of a game option ?
The first time I created such a function in Necrosis, I had a little UI to change my sentences. After a game crash (error 132), I lsot the whole bunch of sentences I took several hours to write. Entonces he decidido hacerlas de sólo lectura para WoW :)
Default File
Para los que no les importa o que no quieren cambiar este fichero (¡pero os prometo que es realmente facil!), Necrosis comes with few default sentences you can look at to have inspiration creating yours. Those sentences are quite old (1.4 for the oldest) ; do not hesitate to correct them (spelling / grammar / vocabulary); To add new sentences or definitly delete / modify some, feel free to expose your point of vue on the forum. You can too put your whole file here as examples if somebody wants to take inspiration.
Modding the file
Estructura del archivo
Hay 4 partes en el archivo:
- Una parte para los mensajes cuando invocas a un jugador, que empieza con:
NECROSIS_INVOCATION_MESSAGES = {
- Una parte cuando utilizas la piedra de alma, que empieza con:
NECROSIS_SOULSTONE_ALERT_MESSAGE = {
- La parte de los demonios, empieza con:
NECROSIS_PET_MESSAGE = {
- La parte que se utiliza para los Mensajes Cortos:
NECROSIS_SHORT_MESSAGES = {
Ahora entremos en detalles…
Summon player
Aquí un ejemplo de esta parte del código:
NECROSIS_INVOCATION_MESSAGES = {
[1] = {
"Taxi Arcanum! Estoy invocando a <target>, por favor haz click sobre el portal.",
},
[2] = {
"Bienvenido a bordo, <target>, estas volando con Succubus Air Lines à <player>...",
"Air Hostesses and their lashes are at your service during your trip !",
},
[3] = {
"If you click on the portal, someone named <target> will appear and do your job for you !",
},
};
\195\160 ? What is this ?
Let us talk about those strange numbers now. They allow to represent special characters like ¿, á, ñ and so one, in WoW, because those letters do not exist on an English keyboard. There is different ways in encoding a file, and the usual one cannot display those characters the way WoW do, and that’s why we cheat like this.
You will find a table to convert your text here.
Meaning of the code
The “spaces” in the beginning of lines are not spaces, but Tabulations. IT helps the code to be clear and understandable, but it is not mandatory. You would notice that every time I open a {, I add a Tab to the following lines until I reach the } which comes with.
See thoses braces as a big table. Each brace of {} would be a cell. You can see that a cell can contains cells too.
So, we have got a big cell called NECROSIS_INVOCATION_MESSAGES, and within we have got 3 cells called 1, 2 et 3. Those are three different summoning message Necrosis will be able to choose during your next TP. They are separated by commas.
The cell 2 is a little different from the others: it has two lines where every others around have only one. Thoses two sentences are also separated by a comma. Back in game, it allows to make two lines of chat instead of one, for example if your sentence is too long or not enough clear.
Adding a message
To add a message, you must keep all those explanation in mind. Now, let us imagine that you want to write a summoning message which says back in WoW:
You says: Eh, have you seen this funny guy with its axe and shield ?
You says: Uh ? We do not go any further since I have not summoned him ?
You says: Ok, ok, click on the portal !
There is already 3 summoning speeches; This one will be the forth. It has several lines, so we will have to seperate them with commas.
So we will code :
[4] = {
"Eh, have you seen this funny guy with its axe and shield ?",
"Uh ? We do not go any further since I have not summoned him ?",
"Ok, ok, click on the portal !"
},
And well, our complete fonction will look like that :
NECROSIS_INVOCATION_MESSAGES = {
[1] = {
"Arcanum Taxi Cab ! I am summoning <target>, please click on the portal.",
},
[2] = {
"Welcome aboard, <target>, you are flying on the ~Succubus Air Lines~ to <player>...",
"Air Hostesses and their lashes are at your service during your trip !",
},
[3] = {
"If you click on the portal, someone named <target> will appear and do your job for you !",
},
[4] = {
"Eh, have you seen this funny guy with its axe and shield ?",
"Uh ? We do not go any further since I have not summoned him ?",
"Ok, ok, click on the portal !"
},
};
Easy and crystal clear !
If you want to delete a message that you do not like, you just have to delete it from its number to its closing brace, and then renumber the next ones.
Soulstones
Soulstoning messages works the very same way as to summon a player. Easy !
Demon Stuff
Assumption
That was not that difficult, huh ? Now, it may seems to you a little harder, but you will see that if you succeeded in understand how to write your own TP speeches, you will understand how to write your demons' ones.
Well, just before we had something like that :
| Summoning Speeches | |
|---|---|
| Speech 1 | |
| Speech 2 (part 1) | Speech 2 (part 2) |
| Speech 3 | |
Now, we simply want the same thing for each demon.
For example the Imp wants a table with several speeches to pick up, and each ones can be made of several lines. And so do your Voidwalker, your Succubus, your Felhunter and your Felguard.
And as your demons are…. demons, we will sort these tables in a bigger one called NECROSIS_PET_MESSAGE.
Let us assume there is only the three first demons. For each demons, we want to choose between two things to tell:
You says: Come to me, demon type !
ou
You says: I'll take my demon type…
You says: Be aware of the demon !
Now we just have to do as for the summoning speeches. The only thing to know is that I used number instead of demon names or types, because it is easier for Necrosis to work with.
[1] = {
[1] = {
"Come to me, Imp !"
},
[2] = {
"I'll take my Imp",
"Be aware of the demon !,
},
};
[2] = {
[1] = {
"Come to me, Voidwalker !"
},
[2] = {
"I'll take my Voidwalker...",
"Be aware of the demon !,
},
};
[3] = {
[1] = {
"Come to me, Succubus !"
},
[2] = {
"I'll take my Succubus...",
"Be aware of the demon !,
},
};
You can see it is quite exactly the same thing as TP / Soulstoning speeches. We jsut need to put that in the general demon summoning sppech table :
NECROSIS_PET_MESSAGES = {
[1] = {
[1] = {
"Come to me, Imp !"
},
[2] = {
"I'll take my Imp",
"Be aware of the demon !,
},
};
[2] = {
[1] = {
"Come to me, Voidwalker !"
},
[2] = {
"I'll take my Voidwalker...",
"Be aware of the demon !,
},
};
[3] = {
[1] = {
"Come to me, Succubus !"
},
[2] = {
"I'll take my Succubus...",
"Be aware of the demon !,
},
};
};
That is all ! Here is the meaning of the first table numbers :
- Imp
- Voidwalker
- Succubus
- Felhunter
- Felguard
- Demon we do not know the name or the type
- Steed
And if I do not want any speech for the Voidwalker ?
Just let it a blank table. For example, in this case:
NECROSIS_PET_MESSAGES = {
[1] = {
[1] = {
"Come to me, Imp !"
},
[2] = {
"I'll take my Imp",
"Be aware of the demon !,
},
};
[2] = {
};
[3] = {
[1] = {
"Come to me, Succubus !"
},
[2] = {
"I'll take my Succubus...",
"Be aware of the demon !,
},
};
};
Short Messaging
The short messaging is a little different. It has only two sentences: One for summoning players, the other for soulstoning them. When the Short Messaging is active, Necrosis does not pick up randomly its speeches in their tables anymore, it uses this table. It allows punctually to avoid the chat flooding with Necrosis if your raid leader is… fastidious :P
Normally, you do not have to change those sentence because they are perfect for their goal: Being compact and precise.
Tags
Tags allow your messages to fit the game a little more. You put them into your sentences, and they are automatically replaced with some game element by Necrosis.
- <player> : Put your name in the sentence
"Thank you for choosing <player> as your personal summoner !"
JohnDoe says: Thank you for choosing JohnDoe as your personal summoner !
- <target> : Put the name of your target in the sentence
"I am summoning <target>, please click on the portal !"
JohnDoe says: I am summoning TheMan, please click on the portal !
- <pet> : Put the name of the demon you are summoning in the sentence
"I will really need some help...", "<pet>, take your lash and come !"
Marzhin says: I will really need some help…
Marzhin says : Betriana, take your lash and come !
There is also special tags which do not show anything but change the sentence they are put in.
- <emote> : Change the sentence into a /e
"<emote>is reading an ancient book...", "Let's see, I think I can summon a demon to help us !"
JohnDoe is reading an ancient book…
JohnDoe says: Let's see, I think I can summon a demon to help us !
- <after> : Summoning speeches are fired when you launch your demon summon. With this tag in your sentence, it will be fired after your demon is successfuly summoned
- <sacrifice> : This sentence will appear when you use Demoniac Sacrifice on the demon you summoned.
And now you know how to customize your speeches :)