Neue Cloud für das AnderLand

Hallo,

Seit einige Tagen haben wir einen neuen Rechner, der nur noch für das
Mud benutzt werden soll. Die Leistung ist für uns mehr als ausreichend:

  • Intel(R) Xeon(R) Gold 6140 CPU @ 2.30GHz
  • 20 Gig Ram
  • SSD mit Schreibraten von mehr als 1 GByte / Sekunde.

Als erste Phase der Umstellung wird das Nextcloud auf al.mud.de von uns
nicht mehr benutzt.

Anstelle davon gibt es unter cloud.efferdland.de eine neues. Benutzer müssen allerdings neu angelegt werden, die alten Files von al.mud.de auf das neue Nextcloud übertragen werden.

Wie auch bei der alten Nextcloud auf al.mud.de, können gerne auch
ambitionierte Spieler einen Account haben, um mit uns Ideen, Kritik usw.
auszutauschen.

Unser Nextcloud bietet hierfür Talbellenkalkulation, Textverarbeitung,
Mindmaps, Notizen, teilen von Files mit Gruppen oder Personen und vieles
mehr.

Bitte meldet Euch bei mir, wenn ihr einen Account benötigt.

Gruß,

  • It –

Unser Mud soll schöner werden…

Hallo zusammen,

im Zuge der Umbauarbeiten (ja, wir sind noch dran! 🙂 ), würden It und ich gerne wissen, was ihr gerne verbessert haben würdet, frei nach dem Motto:


‘Unser Mud soll schöner werden.’

Dabei kann es um konkrete Gebiete oder aber auch um andere Wünsche (‘das wollte ich schon immer haben’) gehen.
Bitte bleibt realistisch, den ‘ich-werde-in-drei-Sekunden-Seher-Button’ wird
es in Zukunft ebenfalls nicht geben. 😉

Eure Wünsche, Anregungen und Ideen bitte per Mail an It und mich.

Weiterhin viel Spaß beim Spielen wünscht
Torin

Codefreeze

Bild: Globus
Moin moin,

wir stellen das AnderLand gerade auf den Driver 3.5 um. Da dies parallel in einem Testmud passiert, herrscht ab jetzt hier ein Codefreeze.

Alle Änderungen an Files aus dem System aber auch in /d/ /p/weapon/ und /p/armour/ werden verloren gehen, da wir nach den Anpassungen alle Files vom 6.7.2018 zurück spielen werden!

Gruß,

– It –

Cloud für das AnderLand

Wolke
Hiho,

um sich über Ideen, Projekte etc. besser austauschen zu können, habe ich auf dem AL-Server ein Nextcloud installiert.

Geboten werden Funktionen für Notizen, Mindmaps, Aufgaben etc. Natürlich kann man diese Dinge auch mit den anderen Teilen.

Dazu benötigt man natürlich einen Usernamen und ein Passwort. Gedacht ist dies für Magier, aber ambitionierte Spieler, die am Mud mitwirken möchten, dürfen natürlich auch gerne teilhaben. Wer Interesse hat, dem kann ich gerne einen Account anlegen.

Gruß,

– It –

Objekt Tests bei call_out()


Hallo,

Bei der Durchsicht von fremden Code ist mir aufgefallen, dass oftmals vergessen wird abzufragen, ob ein Objekt überhaupt noch existiert oder es sich noch im Raum befindet, bevor damit irgend etwas angestellt wird. Besonders wenn Zeit vergangen ist (z.B. durch call_out()), kann dies zu Bugs führen. Das scheint ein beliebter Anfängerfehler zu sein.

Hier ein Beispiel, wie man es nicht machen sollte:


#pragma strong_types

#include <properties.h>
#include <language.h>

inherit "/std/room";

protected void create()
{
  ::create();

  SetProp(P_INT_SHORT, "Ein Raum");
  SetProp(P_INT_LONG,  "Ein Raum.");
  SerProp(P_INT_LONG_EXT,"Ein Baum.\n");
  SetProp(P_LIGHT,1);

  AddCmd(({"lach","lache"}),"lachen_act")
}

static void message(object pl)
{
  // Medlung an Spieler
  tell_object(pl,"Der Baum schaut Dich verwundert an.\n");
}

static int lachen_act(string str)
{
  if(find_call_out("message") == -1)     // call_out() läuft noch nicht
    call_out("message",2,this_player()); // Meldung per call_out() starten

  return 0;
}

In der Funktion message(), die per call_out() aufgerufen wird, wird hier dem Spieler eine Nachricht per tell_object() gesendet. Das Problem hierbei ist aber, dass bis zum Aufruf von message() Zeit vergeht. In dieser Zeit kann der Spieler das Mud (der Objekt-Pointer ist dann weg) oder den Raum verlassen haben. Im ersten Fall gibt es einen Fehler, im zweiten Fall bekommt der Spieler die Nachricht, obwohl er gar nicht mehr im diesem Raum steht.

Hier mal eine bessere Funktion fuer message()

static void message(object pl)
{
  if(objectp(pl)) // existiert das Spielerobjekt überhaupt noch...
    if(present(pl,this_object())) // steht der Spieler noch in diesem Raum
      // Medlung an Spieler
      tell_object(pl,"Der Baum schaut Dich verwundert an.\n");
}

Das gilt natürlich nicht nur für Spieler und Räume, sondern immer dann, wenn mit Objekten über call_out() etwas angestellt werden soll.

Gruß,

– It –