Page 1 of 1

About changes/Wegen der Aenderungen

Posted: Thu Jul 01, 2004 9:21 am
by martin
On general desire, here you get a short (a little technical) list of things that Cassandra Fjurin, I (and here and there Shivoc, however always due to the support of Shivoc) implemented lately. My grateful thanks go to Cassandra Fjurin because she programed the majority of these new achievements and to Falk vom Wald, who supported us with a lot of ideas and suggestions with a sense for technical development.

* Advancement and flexibility of the scripting language to be able to realize more complex effects in the game

That means that we implemented new commands which enable our script writers to access specific body parts of a character (e.g. check what someone wears on his legs and so on), create and erase items somewhere on the map, full access to the attributes of each character, warp around characters, gaining life and mana over a time. Furthermore there is a new system for books, enabling us to enlarge the quantity of books easily.
More technical things are new variables to be used (until now, they just had 2 numerical variables to be used in a script) and a random number generator.

* New task scheduler

Now, this is a more technical thing which enables us to implement everything that is time dependent. For example one can write into that list that the lifepoints of some character X should be decreased or increased every 10 seconds etc. This scheduler can be used for all effects with time dependency you can imagine.

* Improvement of NPC's

NPC's used to be defined within the source code (position, their names and so on), which is very impractical because to change something you need to recompile the whole server. Now, NPC's are defined by a MySQL-database, so we only need to change that database to change the NPC's. Furthermore, they now can say texts defined in this database as well and walk around.
Additionally, the properties of NPC's all depended on the race, which was changed now.

* Improvement of monsters

This is a change which is active for quite some time already: What I told you about the NPC's is also valid for monster: They are read from the database, which makes simpler and more flexible to define them (e.g. their spawn points etc.)

* Minor changes on the (new) fighting system

Mainly they concern the dodge-skill and the ability to learn it at the beginning.

* Extension of in-game-commands

As you probably noticed, there are some new commands for players (such as !gm or !name), but also for GMs.

Posted: Thu Jul 01, 2004 9:22 am
by martin
Auf allgemeinen Wunsch hin, hier eine kleine (etwas technische) Liste mit Dingen, die Cassandra Fjurin, ich (und stellenweise Shivoc, jedenfalls aber immer dank der Unterstuetzung Shivocs) eingebaut haben. Mein ganz besonderer Dank dafuer geht sowieso an Cassandra Fjurin, da von ihr ziemlich ein Grossteil der Neuerungen programmiert wurden, und an Falk vom Wald, der sehr viele gute Anregungen mit einem guten technischen Sachverstand gibt.

* Erweiterung und Flexibilisierung der Skriptsprache, um komplexere Vorgaenge im Spiel zu ermoeglichen.

Dh. es wurden neue Befehle eingefuehrt, die es den Skriptschreibern ermoeglichen, zB. gezielt auf die Position am Koerper eines Charakters zugreifen zu koennen (zB. auf die Hut-Position), die gezielter Items auf der Karte erscheinen (und verschwinden) lassen koennen, die Zugriff auf alle Attribute eines Charakters zulassen, die einen Charakter "teleportieren" koennen, und dann noch welche, die Lebensenergie und Mana langsam steigern (wie ihr gemerkt habt). Weiters wurde das System fuer Buecher in der Skriptsprache wesentlich erweitert, sodass nun sehr einfach eine wesentlich groessere Anzahl an Buechern eingebaut werden koennen.
Eher von technischer Bedeutung sind die neuen Variablen (bisher standen den Skriptern 2 zur Verfuegung, jetzt einige mehr) und ein verbesserter Zufallszahlengenerator.

* Einbau eines "Schedulers"

Dieses Ding ermoeglicht, dass man von der Zeit abhaengige Ereignisse einbauen kann. Man traegt zB. in diese Liste ein, dass alle 10 Sekunden die Lebenspunkte des Charakters X gehoben werden sollen oder dass alle 25 Sekunden der Staerke-Wert von Charakter Y einen Zufallswert bekommen soll und dergleichen mehr. Er kann fuer alle Vorgaenge, die eine Zeitabhaengigkeit benoetigen, herangezogen werden.

* Erweiterung der NPCs

NPCs waren frueher im sourcecode selbst definiert (dh. wo sie stehen, wie sie heissen, was sie sagen etc.). Das wurde geaendert, um sie flexibler zu machen, indem sie aus der MySQL-Datenbank ausgelesen werden. Man muss also, um eine Aenderung an ihnen vorzunehmen, nur mehr eine einfache Datenbankeintragung aendern.
Ausserdem koennen NPCs jetzt (ebenfalls aus dieser Datenbank ausgelesene) Texte aufsagen und ein wenig umherlaufen (wird ebenfalls aus der Datenbank ausgelesen, wie ihr euch sicher schon gedacht habt).
Ausserdem war es frueher so, dass alle NPCs der Rasse "Mensch" (oder andere Rassen) dasselbe Verhalten an den Tag legten. Das wurde geaendert: Die Rasse ist nun vom Verhaltenstypus unabhaengig.

* Verbesserung der Monster

Das ist eine Aenderung, die schon laenger aktiv ist: Was fuer NPCs gilt, gilt auch fuer Monster: Sie werden jetzt aus der Datenbank ausgelesen, was es einfacher macht, Spawnpunkte zu aendern oder zu setzen, die Werte der Monster zu aendern etc.

* Kleine Aenderungen am Kampfsystem

Hauptsaechlich dienen die momentan dazu, den Dodge-skill am Anfang leichter erlernen zu koennen.

* Erweiterung der in-game-Befehle

Es wurden, wie ihr bemerkt habt, neue Befehle (wie !gm oder !name) sowohl fuer die Spielerschaft, als auch fuer uns Gamemasterlein eingebaut.

Posted: Thu Jul 01, 2004 10:39 am
by Moskher Heszche
Wow! You guys got some work done and it sounds good. If I worked less hours, I'd check it out.

Here's a question, would the changes allow for spawn points changing by time? For example, if you defined what time of day would be day and what would be night, you could have it so monsters would appear in a place they normally aren't during the day at night?

That would be neat and definately add an element of suprise.

You could have the spawn points change enough times during the day that people wouldn't be able to figure out the pattern, and there would always be an element of danger.

Posted: Thu Jul 01, 2004 10:47 am
by Damien
Always an element of danger would not be that good, but the idea is great for atmospherical use, indeed. For example, zombies spawning at haunted cemeteries at night, and disappearing in the morning *g*

Posted: Thu Jul 01, 2004 10:45 pm
by martin
As I already thought, I forgot to mention quite some things.
One, for example, was to find and remove some (minor) bugs which did not directly affect the gameplay (but could have been a problem in future). There is also a new system to temporarily avoid an overflow of Character-IDs (which would have been a problem soon -- IDs are unsigned short int, which means that at 65535 we run out of IDs, today we have about 63500 or something...).

Currently we are working on a new skill system, minor changes on the fighting system, balancing monsters, preparing to be able implement new items in the future and some other "surprises". I don't want to spoil you, but there will probably be another (minor) update within the next week or so.

Martin

Posted: Fri Jul 02, 2004 3:59 am
by Kasume
Does anyone mind explaining how the entire !name command thing work?

Posted: Fri Jul 02, 2004 4:01 am
by Grunith Shuth
Go here and read this post to find out about it.

http://forum.illarion.org/viewtopic.php?t=10736

Posted: Fri Jul 02, 2004 6:56 pm
by Bloodhearte
Neat updates. Regarding the combat system, the minor changes may already be in mind and be implemented as you said. If you're want, I'd be interested in helping you guys out in that field (though it's probably not significant to the point where you need help).