Ergebnis 1 bis 20 von 30

Thema: Fantasy Textadventure-RPG

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #13
    Wenn dich die Thematik im allgemeinen Interessiert, koenntest du dir auch mal Legend of the Green Dragon ansehen. Das ist ein Spiel, dass auf ganz aehnliche Weise wie dein Spiel funktioniert, jedoch fuer das Spielen im Browser ausgelegt ist.

    Eine andere interessante Zugangsquelle waere wohl noch http://www.mud.de. Dort findest du sogenannte Multi User Dungeons, Textadventures, die man ueber das Internet spielt. Von den meisten kann man sich die Engine und die sogenannte MudLib herunterladen. Das sind recht komplizierte Systeme, die dafuer aber auch alle Schikanen und Freiheiten haben, um eigene Multiuser Textadventures zu erstellen. Das ganze wird innerhalb des MUDs in der Regel mit einer eigenen Prohrammiersprache LPC (Long Play C) die auf C/C++ basiert, programmiert. Die Sprache ist nicht schwerer zu lernen als C (im Grunde stellt sie nur einen eigenen Dialekt und Libs dar), allerdings sind fuer viele Dinge dank objektorientierter Programmierung keine umfassenden Programmierkenntnisse noetig, da man in der Regel vorgefertigte Dateien verwenden kann, und nur die Werte und den Text anzupassen hat.

    Ein kleines Beispiel in LPC, wie man z.B. ein Schwert programmiert, dass einem beim Zuschlagen einen Teil der vom Gegner geraubten Lebenspunkte gutschreibt. (Das ist noch aus meiner Zeit, wo ich sowas aktiv programmiert habe .. so etwa 1996 ^^)

    Code:
    #include <properties.h>
    #include <combat.h>
    inherit "std/weapon";
    
    
    create()
    {
      if (!is_clone(this_object()))
         return;
      ::create(); 
      SetProp(P_SHORT, "Ein blutiges Schwert");
      SetProp(P_LONG,break_string(
        "Diese Waffe ist magisch. Denn egal, wie oft man ueber "
        "die Klinge wischt, sie bleibt blutig, selbst unter "
        "Wasser. Vielleicht liegt auch Magie in der Waffe selbst?",78));
      SetProp(P_NAME, "Schwert");
      SetProp(P_NAME_ADJ,"blutig");
      AddAdjective(({"blutiges","blutige","blutigen","blutigem"}));
      SetProp(P_GENDER, NEUTER);
      SetProp(P_WC, 160);
      SetProp(P_VALUE,3000);
      SetProp(P_NOBUY,1);
      SetProp(P_WEIGHT, 2500);
      SetProp(P_WEAPON_TYPE, WT_SWORD);
      SetProp(P_DAM_TYPE, DT_SLASH);
      SetProp(P_NR_HANDS, 2);
      AddId(({"schwert","blutiges schwert"}));
      SetProp(P_INFO,break_string("Das blutige Schwert benutzt die "
       "Faehigkeiten von Vampiren: Es saugt von Deinem Gegner "
       "Lebensessenz und uebertraegt 1/20 davon Dir. Den Rest "
       "schluerft es in sich selbst hinein.",78));
    }
    
    int QueryDamage(object enemy)
    {
      int damage,healing;
      object player;
      damage = ::QueryDamage(enemy);
      if (objectp(enemy)) {
        healing = (int) damage/20;
        player=environment(this_object());
        if (player->QueryProp(P_HP)+healing < player->QueryProp(P_MAX_HP)) 
          player->SetProp(P_HP,player->QueryProp(P_HP)+healing);
        return (damage);  
      }
      else {
        return 0;
      }
    }

    Geändert von Ineluki (16.06.2006 um 01:08 Uhr)

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •