NPCs for Newbie Island

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

Moderator: Gamemasters

User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

NPCs for Newbie Island

Post by pharse »

Hello you simple NPC scripters out there!

Image

... to script NPCs for the newbie island coming soon. Those NPCs will explain the basics of a craft of your choice. If you are interested, send me a PM for additional information. Any help is appreciated!

See http://illarion.org/community/forums/vi ... hp?t=25604
Last edited by pharse on Mon Dec 03, 2007 3:26 pm, edited 9 times in total.
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

Farming?
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

a bit boring for newbies to wait for the crops to grow.

I have chosen only the end-product-producing crafts.
User avatar
Noradur
Posts: 695
Joined: Sun Sep 16, 2007 4:21 pm
Location: Keep it Real!

Post by Noradur »

I could do the mining and melting stuff..

sadly i am not familiar to most craftingsystems .. except for mining and melting
Werner von Mintraching
Posts: 479
Joined: Mon Dec 11, 2006 1:31 pm

Post by Werner von Mintraching »

Ich will nix versprechen aber ich werd mal drüber nachdenken, an der Stelle meinen Beitrag zum Spiel zu leisten.
User avatar
Julius
Posts: 1961
Joined: Sat May 12, 2007 2:41 am
Location: My religion is better then the one Alex taunts you to join! Update: Alex secretly worships me.
Contact:

Post by Julius »

Fighting/basic powergaming skillz?
martin
Posts: 7382
Joined: Sun Feb 25, 2001 7:12 am
Location: vienna

Post by martin »

Would using the Wiki as a development-platform for these scripts be an option?

Martin
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

Would using the Wiki as a development-platform for these scripts be an option?
i don't think so.
a place, where everybody can change everything - what would become of scripts there?
martin
Posts: 7382
Joined: Sun Feb 25, 2001 7:12 am
Location: vienna

Post by martin »

No idea, I guess there's only one way to find out, right?

Martin
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

you would need a passworded restricted area for this
martin
Posts: 7382
Joined: Sun Feb 25, 2001 7:12 am
Location: vienna

Post by martin »

Why is that?
For designing a newbie-NPC?

I don't see a reason for this.

Martin
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

well, may be, i am overcautious.
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

Well, do whatever craft you want, I removed the default ones in my first post.

Please choose the craft you know how it works. I can send you all additional information you need. So actually no wiki is needed.
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

*push*

Oh scripters, where are you?
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

Please, we could really need your support. The faster we finish the newbie island the earlier we can start working on other things.

Here is an example script for a lumberjack lady. It is not perfect or complex at all, but it serves its purpose. (you also don't have to explain the standard key commands like use/with). It also hasn't been proof read by a native English.
But I think all of you could have written something similar, so don't be shy! Check out the first post which craft is already in work.

Code: Select all

-- greetings, farewells, small talk
english, "n[o]b", "n[0]b", "1337", "newb", "pwn", "kill", "lol", "rofl", "kewl", k3wl", "shit", "smile", "dunno", "[:;][()]", "[:;][-][()]", "[:;][dp]", "[:;][-][dp]", "xd" -> "I won't talk to you if you don't choose a proper language."
german, "n[o]b", "n[0]b", "1337", "newb", "pwn", "kill", "lol", "rofl", "kewl", k3wl", "shit", "smile", "dunno", "[:;][()]", "[:;][-][()]", "[:;][dp]", "[:;][-][dp]", "xd", "töte", "schei[ßs]" -> "Ich werde nicht mit Euch reden, wenn Ihr nicht eine angemessene Sprache wählt."

"Hello", "Greetings", state=0 -> "Hello, my name is %NPCNAME. I am a lumberjack and I will gladly help you if you wish.", state=1
"Hallo", "Gr[üu][ßs]", state=0 -> "Hallo, mein Name ist %NPCNAME. Ich bin eine Holzfällerin und werde Euch gerne helfen, wenn Ihr es wünscht.", state=1

"Hello", "Greetings", state>0 -> "Hello again. I hope you are still interested in lumberjacking."
"Hallo", "Gr[üu][ßs]", state>0 -> "Nochmals hallo. Ich hoffe, Ihr seid immernoch interessiert an der Holzfällerei."

"Who you", "What you" -> "I am %NPCNAME, a lumberjack. I help all people who are willing to learn."
"Wer du", "Wer Ihr", "Was du", "Was Ihr" -> "Ich bin %NPCNAME, eine Holzfällerin. Ich helfe allen Leuten, die bereit sind zu lernen."

"how are you" -> "Oh, I am fine. I hope you too."
"wie geht dir", "wie geht euch", "wohlbefinden" -> "Oh, mir geht es gut. Ich hoffe Euch auch."

"bye", "farewell", "be well" -> "Be well.", "Farewell.", "Good bye."
"auf bald", "bis bald", "leb.+wohl", "tsch[üu][ßs]", "mach.+gut" -> "Auf bald.", "Bis bald.", "Lebt wohl."

"wildfire", "wild fire" -> "A campfire can become a wildfire. Then you need a bucket of water to extinguish it."
"lauffeuer", "lauf feuer" -> "Ein Lagerfeuer kann zu einem Lauffeuer werden. Dann braucht Ihr einen Eimer mit Wasser um es zu löschen."

"bucket", item(51,all)=0, item(52,all)=0 -> "Here you have an empty bucket. Go to the water, hold the bucket in your hands and use it with the water to fill it, so hold [shift], first click on the bucket then on the water field and finally release [shift]. Do the same with a full bucket and a fire to extinguish it.", item(51,1,333,0)
"eimer", item(51,all)=0, item(52,all)=0 -> "Hier habt Ihr einen leeren Eimer. Geht zum Wasser, haltet den Eimer in der Hand und benutzt ihn mit dem Wasser, um ihn zu füllen, also haltet [shift], erst auf den Eimer und dann auf das Wasserfeld klicken und schließlich [shift] loslassen. Macht dasselbe mit einem vollen Eimer und Feuer um es zu löschen.", item(51,1,333,0)

"bucket", "extinguish fire" -> "Go to the water, hold the bucket in your hands and use it with the water to fill it, so hold [shift], first click on the bucket then on the water field and finally release [shift]. Do the same with a full bucket and a fire to extinguish it."
"eimer", "feuer l[öo]schen" -> "Geht zum Wasser, haltet den Eimer in der Hand und benutzt ihn mit dem Wasser, um ihn zu füllen, also haltet [shift], erst auf den Eimer und dann auf das Wasserfeld klicken und schließlich [shift] loslassen. Macht dasselbe mit einem vollen Eimer und Feuer um es zu löschen."

"cold", "disease", "illness" -> "Well if you have caught a cold, you will sneeze and cough all the time. Then just sit by a campfire until you feel better."
"erk[äa]ltung", "krank" -> "Nun, wenn Ihr Euch eine Erkältung eingefangen habt, werdet Ihr die ganze Zeit Niesen und husten müssen. Dann setzt Euch einfach an ein Lagerfeuer, bis es Euch besser geht."

-- state=0/1; start lesson, put hatchet in hands
"lumberjack", "cut.+down", "help", "learn", "teach", "hatchet", state<2, item(74,all)=0 -> "I can teach you some things, if you want. First you need to take a hatchet into your hands. Here you have one. Are you ready?", state=2, item(74,1,333,0)
"holzf[äa]ll", "f[äa]llen", "hilf", "helf", "lern", "lehr", "beil", state<2, item(74,all)=0 -> "Ich kann Euch ein paar Dinge lehren. Als erstes müsst Ihr ein Beil in die Hand nehmen. Hier, ich gebe Euch eines. Seid Ihr bereit?", state=2, item(74,1,333,0)

"lumberjack", "cut.+down", "help", "learn", "teach", item(74,all)>0, state<2 -> "I can teach you some things, if you want. First you need to take a hatchet into your hands. As I see you have one with you. Are you ready?", state=2
"holzf[äa]ll", "f[äa]llen", "hilf", "helf", "lern", "lehr", item(74,all)>0, state<2 -> "Ich kann Euch ein paar Dinge lehren. Als erstes müsst Ihr ein Beil in die Hand nehmen. Wie ich sehe habt Ihr eines dabei. Seid Ihr bereit?", state=2

-- check if newbie still needs hatchet
"hatchet", "help", "tool", "axe", item(74,all)=0 -> "What? Where is the hatchet I have given you? Well, doesn't matter. Here you have another one. Take it into your hands. Are you ready?", state=2, item(74,1,333,0)
"beil", "hilf", "helf", "werkzeug", "axt", item(74,all)=0 -> "Was? Wo ist das Beil, das ich Euch gegeben habe? Naja, macht nichts. Hier, ich gebe Euch noch eines. Nehmt es in die Hand. Seid Ihr bereit?", state=2, item(74,1,333,0)

-- state=2; start lesson, cut down an apple tree, get deciduous wood.
"yes", state=2, item(74,body)>0 -> "Good. Now stand in front of an apple tree and 'use' the hatchet once. Cut down trees only when you are facing them, otherwise they could fall on you! When you have cut it down, redo this procedure on the whole length of the log until you get some deciduous wood. Bring me that wood!", state=3
"ja", state=2, item(74,body)>0 -> "Gut. Jetzt stellt Euch vor einen Apfelbaum und 'benutzt' das Beil einmal. Fällt nur Bäume, wenn Ihr ihnen zugewandt seid, ansonsten könnten sie auf Euch fallen! Wenn Ihr ihn gefällt habt, wiederholt diesen Vorgang an der gesamten Länge des Baumstammes, bis ihr etwas Laubholz erhaltet. Bringt mir dieses Holz!", state=3

"no", state=2 -> "Well, come back if you really want to learn tha basics of lumberjacking.", state=1
"nein", state=2 -> "Naja, kommt wieder, wenn Ihr die Grundlagen des Holzfällens wirklich lernen wollt.", state=1

".+", state=2, english, item(74,all)=0 -> "If I shall teach you some things, you need to take a hatchet into your hands. Here you have one. Are you ready?", item(74,1,333,0)
".+", state=2, german, item(74,all)=0 -> "Wenn ich Euch ein paar Dinge lehren soll, dann müsst Ihr ein Beil in die Hand nehmen. Hier, ich gebe Euch eine. Seid Ihr bereit?", item(74,1,333,0)
".+", state=2, english, item(74,all)>0 -> "If I shall teach you some things, you need to take a hatchet into your hands. As I see you have one with you. Are you ready?"
".+", state=2, german, item(74,all)>0 -> "Wenn ich Euch ein paar Dinge lehren soll, dann müsst Ihr ein Beil in die Hand nehmen. Wie ich sehe habt Ihr eines dabei. Seid Ihr bereit?"

-- state=3; start fire
"wood", "help", "i have", item(2560,all)>0, state=3 -> "Well done. Now lay the wood on the ground in front of you and 'use' it twice, still holding the hatchet in your hands, to get kindling wood and to start a campfire. Always keep an eye on your campfire, it could become a wildfire and burn down towns and forests. Now try it.", state=4
"holz", "hilf", "helf", "ich hab", item(2560,all)>0, state=3 -> "Gut gemacht. Nun legt das holz vor Euch auf den Boden und 'benutzt' es zweimal, während Ihr immernoch das Beil in Händen haltet. So macht Ihr erst Brennholz und dann ein Lagerfeuer. Habt immer ein Auge auf Euer Lagerfeuer, es könnte zu einem Lauffeuer werden und Städte und Wälder niederbrennen. Jetzt versucht es.", state=4

".+", state=3, english, item(2560,all)=0 -> "Didn't you want to get wood? Stand in front of an apple tree and 'use' the hatchet once. Cut down trees only when you are facing them, otherwise they could fall on you! When you have cut it down, redo this procedure on the whole length of the log until you get some deciduous wood. Bring me that wood!"
".+", state=3, german, item(2560,all)=0 -> "Wolltet Ihr nicht Holz bringen? Stellt Euch vor einen Apfelbaum und 'benutzt' das Beil einmal. Fällt nur Bäume, wenn Ihr ihnen zugewandt seid, ansonsten könnten sie auf Euch fallen! Wenn Ihr ihn gefällt habt, wiederholt diesen Vorgang an der gesamten Länge des Baumstammes, bis ihr etwas Laubholz erhaltet. Bringt mir dieses Holz!"

-- state=4; no campfire started (checkFire)
".+", state=4, english -> "Please start a campfire near me. Lay the wood on the ground in front of you and 'use' it twice, still holding the hatchet in your hands, to get kindling wood and to start a campfire. Always keep an eye on your campfire, it could become a wildfire and burn down towns and forests. Now try it."
".+", state=4, german -> "Bitte entzündet ein Lagerfeuer in meiner Nähe. Legt das holz vor Euch auf den Boden und 'benutzt' es zweimal, während Ihr immernoch das Beil in Händen haltet. So macht Ihr erst Brennholz und dann ein Lagerfeuer. Habt immer ein Auge auf Euer Lagerfeuer, es könnte zu einem Lauffeuer werden und Städte und Wälder niederbrennen. Jetzt versucht es."

-- state=5; campfire started (checkFire)
".+", state=5, english -> "Good. If you have a cold you should sit by a campfire to warm and recover. So, that is all you shall know what to do with a hatchet. Have fun with it!", state=1
".+", state=5, german -> "Gut. Wenn Ihr eine Erkältung habt, solltet Ihr an einem Lagerfeuer sitzen, um Euch zu wärmen und zu erholen. Tja, das ist alles, was Ihr wissen sollt, was man mit einem Beil machen kann. Habt Spaß damit!", state=1
some explanations:

.+ means anything spoken by a player.
checkFire is a function I have written to check if there is a campfire near. Such things are also possible, just ask, if you need something!
Last edited by pharse on Mon Nov 19, 2007 4:18 pm, edited 1 time in total.
User avatar
Miklorius
Posts: 963
Joined: Thu Feb 09, 2006 3:10 pm
Location: Germany

Post by Miklorius »

How much and which NPCs are already made?

Is there a general masterplan for the newbie island (what kind of NPCs are needed, how/in which order should the newbies visit them etc.)?
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

You can script craftmasters of any craft you like, check out the first post. I noted there who scripts which NPC. If your wanted craft isn't listed there, go for it!

The newbies can decide to which craftmaster they go. So we need as many crafts as possible.

If you send me a PM with your desired craft I can support you with more information.
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

if you want farming, you can note me down.

but, please explain:

Code: Select all

"Hello", "Greetings", state=0 -> "Hello, my name is %NPCNAME. I am a lumberjack and I will gladly help you if you wish.", state=1 
"Hallo", "Gr[üu][ßs]", state=0 -> "Hallo, mein Name ist %NPCNAME. Ich bin eine Holzfällerin und werde Euch gerne helfen, wenn Ihr es wünscht.", state=1 

"Hello", "Greetings", state>0 -> "Hello again. I hope you are still interested in lumberjacking." 
"Hallo", "Gr[üu][ßs]", state>0 -> "Nochmals hallo. Ich hoffe, Ihr seid immernoch interessiert an der Holzfällerei." 
why "hello again", if the status has not changed?

.
User avatar
abcfantasy
Posts: 1799
Joined: Thu Dec 14, 2006 10:44 pm
Location: Yes.
Contact:

Post by abcfantasy »

It has changed.

At first, state = 0, so the NPC says "Hello, my name is %NPCNAME.." and changes state to 1.

So when talked again, state is greater than zero (state>0) so it says "Hello again..."

Did that answer your question?
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

yes, it did. and i should have looked better, instead of asking.

edit:

(hoping, that it is not another stupid question)

Code: Select all

"bye", "farewell", "be well" -> "Be well.", "Farewell.", "Good bye." 
well, on the left side are possibilities, what the player char may say.
but the different speeches on the right:
is one of them randomly selected?
or are they selected by the left ones?
User avatar
Nitram
Developer
Posts: 7638
Joined: Fri Oct 31, 2003 9:51 am
Contact:

Post by Nitram »

randomly
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

thanks
User avatar
Miklorius
Posts: 963
Joined: Thu Feb 09, 2006 3:10 pm
Location: Germany

Post by Miklorius »

Because we can't answer to the thread in the Development Progress forum, I will do it here:
pharse wrote:All main NPCs are finished. The map is in work. Now we only need the remaining craftmaster NPCs. (...)
Although I don't know the finished work - nice job.

Is it possible to make the map now, put the main NPCs in it and publish the newbie island without NPCs for every craft?
Because quite all crafts work now the same way, so newbies need to know how it work in general. They can explore more on Gobaith then.

Otherwise it surely will take a lot of time until every crafting NPC is made which will delay the island even more.
User avatar
Magdha Tiefenerz
Posts: 618
Joined: Thu Apr 19, 2007 5:11 pm
Location: Kupferberge - Copper Mountains

Post by Magdha Tiefenerz »

Hello!

Is there a deadline when the scripts for the NPCs have to be delivered? And how can one test his own scripts?

With kind regards
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

Well, one can do such a craftmaster in one sitting ;) (of course corrections etc will take another sitting)

They don't have to be complex at all. The problem is that if the same persons script all the NPCs there is a lack of ideas. Therefore I asked the community for help.

But I don't want to release such an unfinished work. Anyway, the idea is to let the newbies choose ONE craftmaster (in order not to delay their stay on noobia), because all crafts work more or less the same. But if there are only 4 options to choose...well this is not really a good impression.

The island could wait several months, so another two don't matter. ;)


// deadline: not really....as fast as possible.
// testing: on the homepage at the left, under the section "development" there is the Link "Scripts" which leads you there: http://illarion.org/development/de_scripts.php
I'll check the scripts and will test them on the testserver.
Last edited by pharse on Mon Dec 03, 2007 5:28 pm, edited 1 time in total.
User avatar
Nitram
Developer
Posts: 7638
Joined: Fri Oct 31, 2003 9:51 am
Contact:

Post by Nitram »

You can "test" the scripts you wrote for syntax errors only with the script parser that is on the homepage. ( Development --> Scripts )

All further tests, have to be done by a scripter. But in general it helps alot if someone else reads the simple NPC Script. This way, many logical misstakes are found.

Nitram
User avatar
Magdha Tiefenerz
Posts: 618
Joined: Thu Apr 19, 2007 5:11 pm
Location: Kupferberge - Copper Mountains

Post by Magdha Tiefenerz »

Hello!

Well, if it hasn't to be finished by the end of this year I think I can spare some hours to write a script. Since I'm writing two IG-books about glass and glassblowing at the moment this craft would fit in nicely, if Jupiter doesn't mind. Otherwise I would try tailoring as Magdha is a tailor.

With kind regards
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

Jupiter just sent me a PM that he will start scripting by the end of the week....

So I gladly note you down for the tailoring part.
User avatar
Korm Kormsen
Posts: 2414
Joined: Tue Jun 27, 2006 5:46 pm
Location: Illarion nordpol, wenns den gibt...

Post by Korm Kormsen »

well, i am still writing and rewriting.... in my best turtle-speed.

(i think i got an idea about the long waiting times in farming. but for that i have to get a better grip of the "quest-status" system.)
User avatar
pharse
Posts: 1787
Joined: Wed Oct 04, 2006 9:33 pm

Post by pharse »

just ask per PM or write it here or we can meet at IRC or MSN or ICQ (if you send me your contact data)
Post Reply