P_TERRAIN & P_ENVIRONMENT

Bild: Berge

Jeder Raum im Efferdland muss bestimmte Elemente enthalten, damit er in das Konzept passt. Wichtige Elemente im Efferdland sind z.B. P_ENVIRONMENT und P_TERRAIN, die (fast) immer gesetzt werden müssen.

P_TERRAIN:

P_TERRAIN beschreibt den Landschaftstypen und ist definiert in /sys/room/terrain.h. Das Setzen dieser Property ist natürlich nur ausserhalb von Gebäuden sinnvoll.

Folgende Terrain Typen gibt es im Efferdland

T_AIRin der Luftz.B. in einem Ballon
T_UNDER_WATERunter Wasserbeim Tauchen
T_AT_WATERam Wasserz.B. Flussufer
T_IN_WATERim Wasserschwimmend
T_HILLauf einem Hügel
T_MOUNTAINim Gebirge
T_PLAINin einer Ebene
T_SWAMPim Sumpf
T_DESERTin einer Wüste
T_FORESTWaldgebiet
T_URBANStadtgebiet
T_FLOODPLAINim Auenegebieteines Flusses…
T_GARDENim Gartenauch Parks u.ä.
T_MOORim Moor
T_UNDERGROUNDim UntergrundHöhlen, Gänge, Tunnel…
T_JUNGLEim Dschungelauch Urwälder
T_COPSEim Unterholz
T_ICEEislandschaft
T_MEADOWWeisen / Wiesen
T_VELDin einer Steppe
T_VILLAGEin einem Dorf
T_POISENDgiftige Umgebungz.B. im Vulkankrater
T_PATHauf einem Pfad
T_TRACKauf einem Weg
T_ROADauf einer Strasse

Es können auch mehrere Terrains gleichzeitig gesetzt werden. Dies ist nötig, wenn man sich z.B. auf einen Weg in einem Dorf befindet. Die Syntax hierfür ist: SetProp(P_TERRAIN, T_TRACK | T_VILLAGE);

Wie gesagt ist P_TERRAIN zwingend zu setzen! Diese Property sollte ernst genommen werden und es ist untersagt, hier irgendwelchen Mumpitz einzutragen!

P_ENVIRONMENT:

Ähnlich wichtig ist die Property P_ENVIRONMENT. Sie beschreibt die Eigenschaften einer Umgebung, z.B. Temperatur. Höhe über NN und Windgeschwindigkeiten. Auch diese Property muss in jedem Raum gesetzt werden. P_ENVIRONMENT ist definiert in /sys/environment.h

P_ENVIRONMENT ist ein Mapping und kann folgende Werte enthalten:

ENV_TEMPERATURETemperaturin Grad Celsius
ENV_ENVSPEEDUmgebungs Geschwindigkeit1 Beaufort (Wertebereich: 1-12), unter Wasser: Strömung
ENV_ALTITUDEHöheüber NN in Meter
ENV_WATERWassertiefein Meter
ENV_HUMIDITYLuftfeuchtigkeitIn %

Aus ENV_TEMPERATURE und ENV_SPEED wird die Property P_WINDCHILL
berechnet, die nur abfragbar ist und die gefühlte Temperatur enthält. Hier ein Beispiel, wie man P_ENVIRONMENT richtig setzt.

SetProp(P_ENVIRONMENT,
([
  ENV_ENVSPEED: 3,     // Windstärke 3
  ENV_TEMPERAURE: -5   // -5 Grad Celsius
  ENV_ALTITUDE: 300    // Meter Höhe 
]));

Schreibt man P_ENVIRONMENT in ein STD-File und möchte man z.B. nur die Temperatur ändern, weil man z.B. immer weiter in den kalten Norden geht, muss man nicht die komplette Property neu setzen, sondern nur den Wert, den man ändern möchte:

// So ändert man nur die Temperatur und lässt alle anderen Werte unberührt:
SetProp(P_ENVIRONMENT,
([
  ENV_TEMPERATURE: -10,
]));

P_ENVIRONMENT enthält von Haus aus STD-Werte:

ENV_ENVSPEEDWindgeschwindigkeitIm Raum: 0
Draußen: 1
ENV_HUMIDITYLuftfeuchtigkeitIm Raum: 50%
Draußen: 60%
ENV_TEMPERATURETemperatur.Im, Raum: 20
Draußen: 15
ENV_ALTITUDEHöhe3m über NN

LG, It@Efferdland

P_VALUE Obsolete

Bild: Münzen

Hallo,

P_VALUE war der Geldwert eines Objektes in Kreuzer. Dieser wurde in den Läden benutzt, um den Verkaufspreis zu berechen.

Statt P_VALUE gibt es jetzt P_BUY_VALUE. Diese neue Propertiy entspricht zu 100% dem alten P_VALUE.

Nur umbenennen macht natürlich keinen Sinn… deshalb gibt es jetzt eine zweite Property: P_SELL_VALUE. Sie kann den Preis in Kreuzer enthalten, die ein Laden als Verkaufspreis ansetzen soll.

Dabei muss P_SELL_VALUE ÜBER dem normalen Verkaufspreis im Laden liegen, ansonsten wird es ignoriert. Daraus folgt: mit P_SELL_VALUE kann man Objekte nur teurer, aber niemals billiger machen.

LG, It@Efferdland

Magier: Erweiterung Virtueller Compiler

Bild: Binär


Hallo,

hier zur Abwechslung eine Änderung für Magier. Eine wichtige Änderung am virtuellen Compiler.

Früher war es lediglich möglich, einen Virtuellen Compiler in einem Verzeichnis zu haben. Da das Efferdland aber über drei verschiedene verfügt (den normalen virtual_compiler.c, den it_compiler.c und den lvc_compiler.c) kann man nun auch 3 verschiedene Compiler in einem Verzeichnis haben.

Dazu einfach die Namensgebung der Compiler benutzen. D.h.

  1. Für den It-Compiler von It: it_compiler.c
  2. Für den LVC-Compiler von Leika: lvc_compiler.c
  3. Für den normalen Virtual-Compiler: virtual_compiler.c oder v_compiler.c

Natürlich kann man auch die alte Namensgebung weiter benutzen und alle Compiler einfach virtual_compiler.c nennen. Für alte Sachen ändert sich also nichts und es ist auch keine Anpassung nötig.

Gruß, It@Efferdland

Magier: Wie man als Magier versagt

Bild: Binär

Hallo,

Heute mal keine Ankündigung einer Änderung oder Weiterentwicklung sondern ein kleiner Artikel über erfolglose Magier.

Magier sind in Efferdland die Programmierer. Sie schreiben die Gegenden, Monster, Objekte wie Waffen und Rüstungen usw… Im Laufe der Jahre habe ich immer wieder erlebt, wie Magier aufgeben oder ihre Arbeit nie fertig wird. Hier ein paar Tipps, wie man als Magier so richtig versagt und die Mittel dagegen:

Lege 100 Räume an und versuche, sie danach zu beschreiben. Du wirst feststellen, wie schnell man die Lust verlieren kann.

Besser:

  • Konzentriere dich auf eine kleine Anzahl von Räumen, mache am Anfang nicht mehr als 10, erweitern kann man immer noch.

Nehme Dir gleich zu Anfang eine technisch anspruchsvolle Arbeit vor, obwohl du kaum bis gar nicht programmieren kannst.

Besser:

  • Mache einfache Sachen. Diese beschreibe aber schön, Stimmung und Inhalt sind fast immer spannender für Spieler als Technik.

Du schreibst erstmal wochenlang an dein tolles Magier Tool, du arbeitest an ein ausgefeiltes Logging-System für deine Gegend, du baust dir ein zentrales Steuersystem für deine Gegend, damit du dort jeden Furz einstellen und kontrollieren kannst.

Besser:

  • Bevor du dich an solche Dinge verausgabst und deine Zeit verschwendest, fange an, deine Gegend zu schreiben!

Du schreibst Code wirr, setzt die Klammern ungeschickt oder nur statistisch verteilt und Einrückungen kennst du gar nicht und wunderst dich, dass dir kein Mitmagier helfen will und du nach einer Woche deinen eigenen Code nicht mehr verstehst.

Besser:

  • Schreibe sauberen Code, setze Klammern, wo sie hin gehören, rücke anständig an, dann wird dir auch geholfen.

Mit diesen einfachen Tipps kann man als Magier wunderbar versagen, und glaubt mir, es gibt sehr viele davon, denen es so ergangen ist.

Gruß,

– It –

Magier: Farben für das Filesystem

Bild: Binär


Hallo,

bisher waren die Farben für das Filesystem nicht frei wählbar.

Daher wurde von Torin@Efferdland der Befehle ‘farben’ für Magier erweitert. Damit ist es jetzt möglich, individuelle Farben für geladene Dateien, Verzeichnisse, Headerdateien und den Rest festzulegen.

Damit dürfte jetzt das Lesbarkeitsproblem durch verschiedenfarbige Terminalhintergründe Geschichte sein.

Gruß, It@Efferdland