Simple NPC language simplified even further! (English)

Everything about Illarion that fits nowhere else. / Alles über Illarion was inhaltlich in kein anderes Board passt.

Moderator: Gamemasters

martin
Posts: 7382
Joined: Sun Feb 25, 2001 7:12 am
Location: vienna

Re: Simple NPC language simplified even further! (English)

Post by martin »

Celdea wrote:What means hair "6" by the lizardian type? There is no describtion *is confused*
These are different types of combs on their heads which are difficult to describe in words.

If you really need specific information on that, you can ask.

Martin
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Simple NPC language simplified even further! (English)

Post by Estralis Seborian »

IDs 0-5 are even shown on the picture I composed.

Btw, good to know that there are used IDs>5, this information is new to me ;-). But in the end: The question whether your NPC has a goatee beard or not and what beard ID 7 means should not stop anyone to write a NPC. The important aspects are others, like how to implement a small quest or a proper selection of triggers that enable a conversation with the NPC.
martin
Posts: 7382
Joined: Sun Feb 25, 2001 7:12 am
Location: vienna

Re: Simple NPC language simplified even further! (English)

Post by martin »

To be honest, I found your screenshots so complicated and clumsy to use (and to make!!!!) that I compiled that list. ;)

Martin
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Simple NPC language simplified even further! (English)

Post by Estralis Seborian »

There was a tiny update to the template. This version is not mandatory, you can go with the old template as well. The only change is with the quest triggers (some more added) and many blocks were marked as "optional". So, if your NPC has nothing to say about Salkamar, that's fine.

Code: Select all

------------------------------------------------------------------------------AC
-- NPC Name: John Doe                                                    None --
-- NPC Job:  Insert profession here                                           --
--                                                                            --
-- NPC Race: human                      NPC Position:  0, 0, 0                --
-- NPC Sex:  male                       NPC Direction: south                  --
--                                                                            --
-- Author:   Insert your name here                                            --
--                                                                            --
-- Last parsing: July 12, 2011                           easyNPC Parser v1.02 --
--------------------------------------------------------------------------------

name = "John Doe"
race = human
sex = male
position = 0, 0, 0
direction = south
affiliation = "None"
job = "Insert profession here"

language = common
language = human
defaultLanguage = common
autointroduce = on

author = "Insert your name here"

lookatDE = "Dieser NPC ist <Name> der <Beruf/Funktion>."
lookatUS = "This NPC is <Name> the <profession/function>."
useMsgDE = "Fasst mich nicht an!"
useMsgUS = "Do not touch me!"
wrongLangDE = "#me schaut verwirrt."
wrongLangUS = "#me looks around confused."
radius = 0
hairID = 2
beardID = 5
colorHair = 123, 62, 9
colorSkin = 245, 180, 137
itemHead = 0
itemChest = 181
itemCoat = 0
itemMainHand = 0
itemSecondHand = 0
itemHands = 48
itemTrousers = 34
itemShoes = 53

-- Template Version 1.04, 07/12/2011 by Estralis Seborian
-- Instructions: Replace all talk consequences with strings ending with a full stop, maximum length is 250 characters. Try to provide more than one answer, one is chosen at random.
-- Valid races: human, elf, dwarf, lizardman, orc, halfling
-- Valid directions: north, northeast, east, southeast, south, southwest, west, northwest
-- Appearance: If you don't change it your NPC will wear a blue shirt, black trousers, leather glowes and leather boots at least. S/he will also have fair skin and brown hairs. Please use red-green-blue values as indicator. Ex.: colorHair = 123 (red), 62 (green), 9 (blue) = brown hair.
-- Keep radius=0 and the NPC won't walk around, a value greater than 0 will make the NPC run around his position randomly.
-- When you are done, please hit the "Rebuild Script" button.

-- MANDATORY TRIGGERS

-- Mandatory: Help
"Help" -> inform("[Game Help] This NPC is <Name> the <profession/function>. Keyphrases: TRIGGER1, TRIGGER2, TRIGGER3, TRIGGER4, TRIGGER5.")
"Hilfe" -> inform("[Spielhilfe] Dieser NPC ist <Name> der <Beruf/Funktion>. Schlüsselwörter: TRIGGER1, TRIGGER2, TRIGGER3, TRIGGER4, TRIGGER5.")

-- Mandatory: General speech
"Hello", "Greet", "Hail", "Good day", "Good morning", "Good evening" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Grüß", "Gruß", "Guten Tag", "Guten Abend", "Mahlzeit", "Tach", "Moin" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Hiho", "Hallo", "Hey", "Greeb", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Hiho", "Hallo", "Hey", "Greeb" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Farewell", "Bye", "Fare well", "See you" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Tschüß", "Tschüss", "Wiedersehen", "Gehab wohl" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Ciao", "Adieu", "Au revoir", "Farebba", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Ciao", "Adieu", "Au revoir", "Farebba" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"How are you", "How feel", "How do you do" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Wie geht", "Wie fühlst", "Wie ist es ergangen", "Wie Befind" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"your name", "who are you", "who art thou" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"dein name", "wer bist du", "wer seid ihr", "wie heißt" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- OPTIONAL TRIGGERS

-- Optional: Catching quest triggers. Modify if the NPC does quests
"quest", "mission", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"quest", "mission" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"task", "adventure", "order" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Auftrag", "Aufgabe", "Abenteuer", "Befehl" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Small talk - The talk here should focus on possible questions. Feel free to add more!
"profession" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"beruf" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"job", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"job" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: More small talk - add at least five triggers, e.g. about the profession of the NPC or his enviroment
"YOURTRIGGER1" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"YOURTRIGGER2" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"YOURTRIGGER3" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"YOURTRIGGER4" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"YOURTRIGGER5" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"DEINTRIGGER1" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"DEINTRIGGER2" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"DEINTRIGGER3" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"DEINTRIGGER4" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"DEINTRIGGER5" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Catching typical NPC phrases
"what sell", "what buy", "list wares", "price of" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"was verkauf", "was kauf", "warenliste", "preis von" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"tell something" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"erzähl was", "erzähl etwas" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Gods - use the triggers of the god the NPC worships or fights
"god" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Gott", "Götter" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Adron", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Adron" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Bragon", "Brágon", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Bragon", "Brágon" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Cherga", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Cherga" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Elara", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Elara" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Eldan", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Eldan" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Findari", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Findari" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Irmorom", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Irmorom" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Malachin", "Malachín", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Malachin", "Malachín" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Moshran", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Moshran" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Nargun", "Nargún", "Nargùn", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Nargun", "Nargún", "Nargùn" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Oldra", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Oldra" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Ronagan", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Ronagan" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Sirani", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Sirani" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Tanora", "Zelphia", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Tanora", "Zelphia" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Ushara", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Ushara" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Zhambra", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Zhambra" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Main land factions
"albar", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"albar" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"gynk", "gync", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"gync", "gynk" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"salkama", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"salkama" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Gobaith
"Gobaith", "Gobiath", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Gobaith", "Gobiath" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Last catch - Think about keyphrases the player might say and that are not caught until here
"my name" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"mein Name" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"<NPC first name>", "<NPC last name>", english -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"<NPC-Vorname>", "<NPC-Nachname>" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"Yes" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Ja" -> "GERMAN1.", "GERMAN2.", "GERMAN3."
"No" -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
"Nein" -> "GERMAN1.", "GERMAN2.", "GERMAN3."

-- Optional: Everything a player says and is not caught earlier. Response is only given 1/5 of the time
".*", english, chance(20) -> "ENGLISH1.", "ENGLISH2.", "ENGLISH3."
".*", german, chance(20) -> "GERMAN1.", "GERMAN2.", "GERMAN3."

------------------------------------------------------------------------------AC
-- Cycle Texts - Messages spoken automatically in random intervals.
-- Every NPC should contain at least 10 of those messages.
-- Emotes are possible also starting with "#me ....".

cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
cycletext "GERMAN.", "ENGLISH."
Lendal
Posts: 2
Joined: Mon Aug 15, 2011 2:54 am

Re: Simple NPC language simplified even further! (English)

Post by Lendal »

Is it possible to reuse triggers if 'queststatus' is added to the same line? For example:
"Hello", queststatus(123) = 0 -> "Hello to you too.", queststatus(123) = 1
"Hello", queststatus(123) = 1 -> "You already said hello."
Does this allow the user to say "Hello" twice, letting them get different replies?
User avatar
Estralis Seborian
Posts: 12308
Joined: Wed Nov 10, 2004 9:14 pm
Location: Sir Postalot
Contact:

Re: Simple NPC language simplified even further! (English)

Post by Estralis Seborian »

Yes.
Lendal
Posts: 2
Joined: Mon Aug 15, 2011 2:54 am

Re: Simple NPC language simplified even further! (English)

Post by Lendal »

Cool, thanks!
Post Reply