Portal-Zone Gothic-Zone Gothic II-Zone Gothic 3-Zone Gothic 4-Zone Modifikationen-Zone Download-Zone Foren-Zone RPG-Zone Almanach-Zone Spirit of Gothic

 

Seite 1 von 21 12345812 ... Letzte »
Ergebnis 1 bis 20 von 410
  1. Beiträge anzeigen #1
    Ehrengarde Avatar von Gottfried
    Registriert seit
    Mar 2006
    Beiträge
    2.512
     
    Gottfried ist offline

    [Skriptpaket] LeGo

    $$\.................$$$$$$\..............$$$$$$\..
    $$.|...............$$..__$$\............$$..__$$\.
    $$.|......$$$$$$\..$$./..\__|.$$$$$$\...\__/..$$.|
    $$.|.....$$..__$$\.$$.|$$$$\.$$..__$$\...$$$$$$..|
    $$.|.....$$$$$$$$.|$$.|\_$$.|$$./..$$.|.$$..____/.
    $$.|.....$$...____|$$.|..$$.|$$.|..$$.|.$$.|......
    $$$$$$$$\\$$$$$$$\.\$$$$$$..|\$$$$$$..|.$$$$$$$$\.
    \________|\_______|.\______/..\______/..\________|


    »Es gibt Lego, es gibt Minecraft, aber nichts ist so toll wie LeGo \o/«
    -Lehona

    Aktuelle Threads
    [Skriptpaket] LeGo #2


    LeGo [LehonaGottfried] ist, wie aus dem Titel ersichtlich, ein Skriptpaket das auf Ikarus aufbaut. Während Ikarus grundlegende Möglichkeiten bereitstellt, wird hier der Fokus auf die praktische Anwendung gelegt. Alle enthaltenen Funktionen sind sehr einfach gehalten und müssen nicht in ein tolles Script eingeflochten werden um Sinn zu ergeben, sondern sind auch alleinstehend mächtig. Über pixelgenaues Erzeugen von Texten und Texturen auf dem Bildschirm und einem schönen Interface für Trialoge (eigentlich "Polyloge"), bis hin zu "Triggerlosen Triggerschleifen" die mit nur einer Zeile aktiviert werden können beinhaltet LeGo sicher für jeden Scripter eine interressante Erweiterung die ihm von Nutzen sein kann.
    Sicher sind manche Pakete sehr speziell oder einfach nur nutzloser als andere, das liegt daran dass LeGo nicht aus einer Idee "Lass uns ein Scriptpaket machen!" entstanden ist. Ursprünglich war alles was hier zu finden ist als Grundlage für unseren Beitrag zum Modding-Contest gedacht, da Lehona und ich aber leider nicht fertig geworden sind (aus eigener Faulheit, zugegebenermaßen) lag dieser Featurehaufen noch ungeordnet und ohne Nutzen auf unseren Platten. Nun, da wir beide nette Menschen sind haben wir uns überlegt den ganzen Kram zu sortieren, kommentieren und zu erklären (was bei unserer Arbeitweise beim besten Willen nicht einfach war) und hier zur Verfügung zu stellen.
    Sektenspinners zweifellos vorhandene Unterstützung sei natürlich auch noch erwähnt. Ohne ihn hätte sich der Release entweder noch um ein paar Jahren hingezogen oder es gäbe gar keinen

    13.11.2011
    Es ist vollbracht. Nun ist die neue Version 2.0 fertig und veröffentlicht.
    Die Unterstützung von Sektenspinner (und diesmal auch ein wenig von Ingenieur) und unser Dank dafür sind ja beinahe Routine.
    Obwohl es sehr lange gedauert hat waren wir nicht faul. (Gut, die ersten zwei Monate vielleicht. Oder drei. Mehr nicht!)
    Dank PermMem konnten einige Pakete maßgeblich optimiert und verbessert werden. FF_ApplyExt mit beliebigem Zeitintervall (Trigger adieu!), Anim8 mit dem man beinahe vollwertige Mover zusammenschrauben kann, Views die auch nach einem Neustart noch existieren, Bloodsplats die keine Abstürze mehr erzeugen, und.. Also gut. Viel Spaß damit!

    20.11.2011
    LeGo 2.1 ist seit wenigen Minuten zum Download verfügbar und wir haben weder Kosten noch Mühen gescheut, um es noch ein wenig mehr auf Pepp zu bringen. Neben einem nun wirklich funktionierendem Cursor, der hervorragend zu einer Maussteuerung geeignet ist, und simplen Funktionen um lang ersehnte Exp-Bars zu erstellen, haben wir unsere mehr oder weniger eigene Website!

    Unschwer zu erkennen gibt es dort 4 Sachen zu sehen:

    Downloads: Hier wird die jeweils neueste LeGo-Version zu downloaden sein, vernünftige Releases wird's aber auch weiterhin im WoG geben. Da wir aus diversen Gründen euch leider keinen Zugang zum SVN bieten können (Außer ihr fragt ganz lieb), werden wir eventuell auch hin und wieder Beta-Versionen hier hochladen, die eigentlich nur ein SVN-Dump unserer momentan Fortschritte sind und eher zum Anschauen als zum Verwenden gedacht sind.

    Doc:
    Falls ihr euch ärgert, dass sich der Release so lange hinausgezögert habt, findet ihr hier euren Schuldigen - wir haben Herzblut investiert (Und mit Herzblut meine ich Langeweile), um die LeGo-Dokumentation vernünftig zu formatieren und hier einzufügen! Sie ist immer auf dem neuesten Stand und ersetzt die Dokumentation innerhalb der Scripte komplett. Falls ihr dort etwas ändern wollt, wäre es ganz nett, wenn ihr hinzufügt, was denn geändert worden ist - dafür gibt es eine extra Zeile
    Wenn irgendwas doof oder missverständlich formuliert ist, könnt ihr uns auch gerne im Forum oder sonstwie benachrichtigen, dann ändern wir das selber.
    Einen aktuellen Changelog findet man dort auch.

    Blog:
    Dort werden Neuigkeiten, die LeGo oder einen von uns beiden betreffen veröffentlicht, aber es wird auch den ein oder anderen Post geben, in dem einfach nur ein paar Sachen zur zEngine stehen, die uns während unserer Scriptarbeiten auffallen - einerseits, weil sowas immer praktisch und wissenswert ist, andererseits, weil es einfach sehr viel zu lachen gibt, so toll Gothic auch sein mag. Und auch wenn es mir Leid tut, unsere etwaigen Groupies zu enttäuschen: Nacktbilder werden dort nicht vorzufinden sein

    Issues:
    Das ist einfach ein Bugtracker - wenn ihr dort einen Bug meldet, wird dem zu 100% nachgegangen, bis wir den Fehler gefunden haben oder sicher sind, dass es nicht an uns liegt.


    Eventuell werden wir auch ein Forum hinzufügen - wirklich sicher sind wir uns da aber noch nicht - ein paar Rückmeldungen dazu sind immer willkommen.



    Das war's quasi auch schon - wir freuen uns über jegliches Feedback sowohl bezüglich LeGo als auch bezüglich unserer Seite

    Aber um es jetzt nicht unnötig hinauszuzögern:

    Inhalt
    1. Werkzeuge
      • PermMem
        Sehr mächtiges Paket um mit Klassen/Pointern vollständig arbeiten zu können. (Normalerweise verfliegen diese spätestens nach einem Neustart)
      • HookEngine
        Scriptfunktionen an beliebigen Punkten von Enginefunktionen aufrufen
      • AI_Function
        Scriptfunktionen in die AI-Queue von Npcs einreihen
      • FrameFunctions
        Scriptschleifen ohne Trigger
      • Interface
        Pixelgenaues Printen von Texten oder Texturen mit einstellbarer Textfarbe (+ einem weich scrollenden Print wie er aus Risen/Gothic 3 bekannt ist)
      • View
        Arbeiten mit Texturen auf dem Bildschirm
      • Random
        Eine verbesserte Zufallsfunktion
      • BinaryMachines
        Lesen und schreiben von Dateien
      • Locals
        Erlaubt Variablen temporär auf einem Pseudo-Stack zu sichern
      • List
        Vereinfachter Umgang mit zCList und zCListSort
      • Int64
        Grundlegende Arithmetik für 64bit Integer
    2. Anwendungen
      • Anim8
        "Animieren" von Werten (Mover ohne Scripte zB.)
      • Names
        Den Namen eines Npcs erst anzeigen wenn er bekannt ist
      • Dialoggestures
        Emotionen in Dialogen
      • Cursor
        Ingame mit der Maus arbeiten
      • Bloodsplats
        Blutspritzer auf den Bildschirm
      • Trialoge
        Dialoge mit beliebig vielen Npcs und Kamerafahrten
      • Saves
        Eigene Speicherdateien um zB. Strings zu sichern
      • Shields
        Scriptseitige Methode um Schilde zu verwenden
      • Focusnames
        Farbige Fokusnamen nach Attitüde des Npcs
      • Bars
        Eigene Balken auf dem Bildschirm anzeigen



    LeGo wird (wenn interresse besteht) laufend erweitert, nicht zuletzt wenn DU gute Vorschläge für weitere Funktionen hast, daher eröffnen wir hier mal ganz konservativ mit der Version 1.0
    Zur Version 1.0 sei noch folgendes gesagt: Da LeGo mit momentan 15 Päckchen ziemlich umfangreich geworden ist können wir beide keine Fehlerfreiheit garantieren. Jedes Paket wurde bereits genutzt und sollte im Normalfall funktionieren, allerdings wurde in den letzten Tagen noch sehr viel modifiziert um es möglichst Nutzerfreundlich zu gestalten. Wenn du einen Fehler entdecken solltest (oder ein grundlosen Absturz bekommst, was auch immer ) dann schreib doch ein paar Zeilen in diesen Thread in denen du kurz erläuterst was genau du getan hast und welche der Pakete aktiv waren.

    Changelog
    • 1.0 10.07.2011
      • Release
    • 1.0.1 12.07.2011
      • Bloodsplat_Tex korrigiert
      • Print_CloseView gefixt
      • Levelchange-Absturz beseitigt
    • 2.0 13.11.2011
      • Header.src hinzugefügt, damit nicht mehr alles einzeln inkludiert werden muss (Siehe ReadMe)
      • Paket PermMem hinzugefügt
      • Paket Locals hinzugefügt
      • Paket List hinzugefügt
      • Paket Anim8 hinzugefügt
      • Paket View hinzugefügt
      • Paket Int64 hinzugefügt
      • FrameFunctions
        • FF_Apply(string) zu FF_Apply(func)
        • FF_Remove(string) zu FF_Remove(func)
        • FF_ApplyExt hinzugefügt
        • FF_Active hinzugefügt
      • AI_Function_*(C_Npc, string, ...) zu AI_Function_*(C_Npc, func, ...)
      • Views sind nun im Paket View und nicht mehr in Interface
      • View
        • Print_CreateView zu View_Create
        • Print_CreateViewPxl zu View_CreatePxl
        • Print_SetViewTexture zu View_SetTexture
        • Print_OpenView zu View_Open
        • Print_CloseView zu View_Close
        • View_Delete hinzugefügt
        • View_Get hinzugefügt
        • Views arbeiten nun mit PermMem und sind Fehlerfrei
        • Views sind nun keine Pointer mehr sondern Handles
      • Interface
        • Print_ToVirtual hinzugefügt, um Pixel in virtuelle Koordinaten umzuwandeln
        • Print_ToPixel hinzugefügt, um virtuelle Koordinaten in Pixel umzuwandeln
        • Print_Extended zu Print_ExtPxl (Pixelgenaue Koordinaten)
        • Print_Ext hinzugefügt (Virtuelle Koordinaten)
        • Print_CreateText, Print_Ext und Print_ExtPxl geben nun Handles zurück
        • Print_DeleteText nimmt nun Handles an
        • Print_GetText hinzugefügt, um mit den Handles arbeiten zu können
        • Mit Print_* erstellte Texte überleben nun das Laden (Dank PermMem)
        • PrintS komplett überarbeitet und mit Anim8 versehen
      • Trialoge funktionieren nun auch mit unterschiedlich großen/dicken Npcs
      • Kleines Problem in AI_Function behoben
      • Bloodsplats komplett gefixt und mit neuen View-Funktionen versehen
      • Dialoggestures in richtige Reihenfolge gebracht
      • Problem mit Cursor_Show behoben
      • Schwerwiegendes Problem in Saves behoben
      • Fehler in BR_ReadBytes behoben
      • Die Schilde sind noch sehr fehleranfällig und unfertig. Seit dem Release wurde daran nichts geändert
      • Gottfried wollte diese Version 1.1 nennen, Lehona wollte 2.0. Gottfried hat irgendwann zugestimmt.
    • 2.0.1 14.11.2011
      • Zwei kleinere Fehler in den Beispielen behoben
      • Absturz bei Levelchange beseitigt
      • Objekte von PermMem bleiben nun auch nach einem Levelchange erhalten
      • PrintS finalisiert
    • 2.1 20.11.2011
      • Bars hinzugefügt (mit Beispielen)
      • Fehler in Saves behoben der keine Quicksaves zugelassen hat
      • Feinschliff an PrintS vorgenommen und Konstanten nach oben verschoben
      • Cursor
        • Cursor_Wheel hinzugefügt
        • Cursor_NoEngine hinzugefügt
        • Cursor_Left hinzugefügt
        • Cursor_Right hinzugefügt
        • Cursor_Mid hinzugefügt
        • Cursor_X() zu Cursor_X
        • Cursor_Y() zu Cursor_Y
        • Funktioniert ab jetzt nur wenn in Gothic die Maus aktiviert ist
        • Beispiele aktualisiert
      • View
        • View_Move hinzugefügt
        • View_Resize hinzugefügt
        • View_MovePxl hinzugefügt
        • View_ResizePxl hinzugefügt


    Download
    LeGo_2_1.7z

    LeGo_2_0_1.7z
    LeGo_2_0.7z
    LeGo_1.0.1.7z

    Viel Spaß mit diesem Paket wünschen euch
    Gottfried und Lehona
    Geändert von Gottfried (22.03.2012 um 14:32 Uhr) Grund: Thema geschlossen

  2. Beiträge anzeigen #2
    Deus Avatar von Milgo
    Registriert seit
    Jul 2002
    Beiträge
    15.259
     
    Milgo ist offline
    Wunderbar. Richtig großes Kino, ich hoffe, dass das viel genutzt wird. Großes Lob an euch beide.

    Ich würd mich natürlich auch weiterhin über ne Funktion freuen um quasi in Echtzeit den Helden zu wechseln.
    milgo.de | Knovelty | Selbstbefreit auf dem Weg zum Meer ...

  3. Homepage besuchen Beiträge anzeigen #3
    Teutonic Team Avatar von Bonne6
    Registriert seit
    Jun 2004
    Ort
    Erlangen
    Beiträge
    10.978
     
    Bonne6 ist offline
    Sieht sehr interessant aus und hab schon einige nützliche Dinge gefunden, muss ich mir demnächst mal genau anschauen.

  4. Beiträge anzeigen #4
    now also in your universe  Avatar von Milky-Way
    Registriert seit
    Jun 2007
    Beiträge
    12.004
     
    Milky-Way ist offline
    Da sind sie ja endlich, du hattest mir ja schon ein paar davon in Aussicht gestellt. Jetzt muss ich da nur erstmal noch die Versionen, die du mir so zugespielt hast, entwirren.

    Zitat Zitat von Milgo Beitrag anzeigen
    Ich würd mich natürlich auch weiterhin über ne Funktion freuen um quasi in Echtzeit den Helden zu wechseln.
    Wenn ich mich richtig erinnere, sind die Trialoge hier auf eine Art und Weise implementiert, die sich vielleicht auch dafür nutzen lässt.


    EDIT: "Die Datei [...] kann nicht als Archiv geöffnet werden." 7zip ist installiert. Kann das einer bestätigen (und / oder beheben) ?

    EDIT 2: Scheint an Opera zu liegen, mit Firefox funktioniert es. Mal schauen, was passiert, wenn ich die Datei selbst mit Opera anhänge...

    EDIT 3: Mittlerweile funktioniert es auch mit deinem Link.
    Angehängte Dateien
    Geändert von Milky-Way (10.07.2011 um 16:04 Uhr)

  5. Beiträge anzeigen #5
    Veteran Avatar von JTD
    Registriert seit
    Jun 2009
    Ort
    Germany
    Beiträge
    574
     
    JTD ist offline
    gefällt mir. hoffentlich wirds genutzt.

  6. Beiträge anzeigen #6
    Ehrengarde Avatar von Gottfried
    Registriert seit
    Mar 2006
    Beiträge
    2.512
     
    Gottfried ist offline
    Zitat Zitat von Milgo Beitrag anzeigen
    Großes Lob an euch beide.
    Vielen Dank
    Zitat Zitat von Milgo Beitrag anzeigen
    Ich würd mich natürlich auch weiterhin über ne Funktion freuen um quasi in Echtzeit den Helden zu wechseln.
    Ja, da könnte man was machen.
    Zitat Zitat von Milky-Way Beitrag anzeigen
    Wenn ich mich richtig erinnere, sind die Trialoge hier auf eine Art und Weise implementiert, die sich vielleicht auch dafür nutzen lässt.
    Korrekt. Sehr viel muss man da nicht mehr ändern um es für einen kompletten Tausch zu verwenden.
    Zitat Zitat von Milky-Way Beitrag anzeigen
    Da sind sie ja endlich, du hattest mir ja schon ein paar davon in Aussicht gestellt. Jetzt muss ich da nur erstmal noch die Versionen, die du mir so zugespielt hast, entwirren.
    Na dann viel Spaß dabei
    Zitat Zitat von Milky-Way Beitrag anzeigen
    EDIT: "Die Datei [...] kann nicht als Archiv geöffnet werden." 7zip ist installiert. Kann das einer bestätigen (und / oder beheben) ?
    Ich habe mir eben die Datei nochmal runtergeladen und konnte sie Problemlos öffnen.. Hast du es vielleicht versucht während sie noch heruntergeladen wurde?
    Okay, hat sich ja erledigt.

    MfG Gottfried

  7. Homepage besuchen Beiträge anzeigen #7
    Teutonic Team Avatar von Bonne6
    Registriert seit
    Jun 2004
    Ort
    Erlangen
    Beiträge
    10.978
     
    Bonne6 ist offline
    Mir hat sich grad beim Durchgucken eine Frage gestellt: Bei den Bloodsplats, hookst du da die PERC_AssessDamage? Wenn man nämlich eine alternative Schadensberechnung hat und daher nur den Minimalschaden macht, dann funktioniert das ja nicht, oder? Müsste ich dann manuell bei meiner Schadensverteilung aufrufen mit dem Schaden.

    EDIT:
    Scheint so zu sein, wenn ich das richtig sehe, hab's mal etwas getestet.

    Was mir als Fehler aufgefallen ist: Bei den Blutspritzern kommt hin und wieder die Default-Textur, fehlt vllt. eine Textur? Im Archiv sind ja 7 und als Maximum ist auch 7 angegeben
    Geändert von Bonne6 (10.07.2011 um 17:28 Uhr)

  8. Homepage besuchen Beiträge anzeigen #8
    Exodus Avatar von Sektenspinner
    Registriert seit
    Jul 2004
    Ort
    Karlsruhe
    Beiträge
    7.827
     
    Sektenspinner ist offline
    Ein sehr nützliches Paket. Insbesondere die Trialoge und Dialoggesten sind gleichzeitig wahnsinnig nützlich und einfach zu benutzen.

    HookEngine ist so nützlich und elementar, dass es eigentlich in Ikarus rein müsste.

    Was man noch tun könnte:
    • Savegames: In der jetzigen Form muss eine zentrale Stelle, nämlich BW_Savegame genau wissen welche Daten es gibt. Und das Beispiel mit dem Point hinkt schon, weil nicht klar ist, wer den Punkt beim Beenden der Session frei gibt. Was man eigentlich will ist automatisch verwalteter Speicher. Das System sollte fähig sein, Objekte einer bestimmten Klasse zu konstruieren zu speichern, zu laden und zu destruieren, evtl. mithilfe nutzerdefinierter Funktionen aber nicht an zentraler Stelle. Evtl. so:

      Code:
      /* Paket stellt zur Verfügung:
          handle   new(string className)
          void     delete(handle h)
          instance get(handle h)
          void*    get_ptr(handle h)
          
          Dabei ist in Wirklichkeit handle = int und void* = int
          
          Automatisch erkannt werden methoden:
          [classname]_new:
              wird, falls vorhanden, von new aufgerufen.
              wird außerdem vor dem Laden des Objekts aus dem savegame aufgerufen.
              Standardimplementierung lässt alles auf 0.
          [classname]_cleanup
              wird, falls vorhanden von delete aufgerufen
              und beim zerstören der Session (mit HookEngine erkannt)
              Standardimplementierung tut nichts. In dem Fall wird
              nur das Objekt freigegeben, aber nicht evtl. im Objekt enthaltene Pointer
          [classname]_archive
              wird, falls vorhanden, beim Speichern aufgerufen.
              Standardimplementierung speichert die enthaltenen Strings und integer
              einfach so ab (das zum Beispiel beim zCArray nicht sinnvoll, weil dann
              nur ein Pointer auf die Daten gespeichert wird, nicht aber die Daten)
          [classname]_unarchive
              wird, falls vorhanden, aufgerufen, wenn ein Objekt aus dem Savegame
              geladen wird, nachdem dieses Objekt konstruiert wurde (mit new oder
              default implementierung).
              Standardimplementierung kompatibel mit Standardimplementierung von _archive
          
          Um das Paket so zu bauen ist es nötig die Existenz von Parsersymbolen zu prüfen
          sowie die Struktur einer Klasse in Erfahrung zu bringen von der man nur
          den Namen (als String) kennt. Beides ist aber möglich.
          
          Beispiel:
      */
      
      //************************************************
      //   zCArray:
      //************************************************
      
      /* new nicht nötig, da Standardimplementierung genügt.
         Drei Nuller entsprechen einem leeren Array */
      
      /* archive speichert alle Daten, aber z.B. nicht arr.array */
      func void zCArray_archive(var zCArray arr) {
          BW_Int(arr.numInArray);
          
          /* pseudo code: */
          for (int i = 0; i < arr.numInArray; ++i) {
              BW_Int(MEM_ReadIntArray(arr.array, i));
          };
      };
      
      func void zCArray_unarchive(var zCArray arr) {
          arr.numInArray = BR_Int();
          
          arr.array = MEM_Alloc(arr.numInArray * 4);
          arr.numAlloc   = arr.numInArray;
          
          /* pseudo code: */
          for (int i = 0; i < arr.numInArray; ++i) {
              MEM_WriteIntArray(arr.array, i, BR_Int());
          };
      };
      
      /* wichtig: Daten müssen freigegeben werden */
      func void zCArray_cleanup(var zCArray arr) {
          MEM_Free(arr.array);
      };
      
      //************************************************
      //   Point
      //************************************************
      
      class Point {
          var int x;
          var int y;
      };
      
      func void Point_new(var Point p) {
          //Standardkonstruktor erzeugt meinen Lieblingspunkt
          p.x = 42;
          p.y = 23;
      };
      
      /* archive und unarchive nicht nötig, da Standardimplementierung
         die Datenmember x und y speichert, genau das, was wir wollen. */
      
      /* cleanup nicht nötig, da der Punkt nur primitive Datentypen beinhaltet */
      
      //************************************************
      //   Anwendung:
      //************************************************
      
      var int Mein_PunktArray; /* handle */
      
      func void MerkePunkt(var int x, var int y) { 
          var int neuerPunkt; /* handle */
          neuerPunkt = NEW("Point"); //gibt Handle zurück mit dem der Punkt identifiziert wird.
          
          var Point p; p = GET(neuerPunkt);
          p.x = x; p.y = y;
          
          if (!Mein_PunktArray) {
              Mein_PunktArray = NEW("zCArray");
          };
          
          var int arr_ptr;
          arr_ptr = GET_PTR(Mein_PunktArray);
          
          MEM_ArrayInsert(arr_ptr, neuerPunkt);
      };
      
      func void HolePunkt(var int result, var int index) {
          if (!Mein_PunktArray) {
              MEM_Error("Du hast dir noch keinen Punkt gemerkt");
              return;
          };
          
          var zCArray arr;
          arr = GET(Mein_PunktArray);
          
          var int punkt;
          punkt = MEM_ReadIntArray(arr.array, index);
          
          MEM_AssignInst(result, GET_PTR(punkt));
      };
      
      {
          MerkePunkt(3, 4);
          MerkePunkt(5, 6);
          MerkePunkt(22, 23);
          
          /*... speichern laden etc ... */
          
          var Point p;
          HolePunkt(p, 1);
          
          //es gilt:
          p.x == 5 && p.y == 6;
      }
      
      /* optional: 
          eine BIND Funktion könnte eine instanz an ein bestimmtes Handle binden:
          
          var Point myImportantPoint;
          BIND(myImportantPoint, NEW("Point"));
          
          Ab jetzt wird in myImportantPoint immer eine Referenz auf den neuen
          Punkt stehen, auch nach Speichern und laden.
      */
    • Bei den Texten wäre es natürlich nett, wenn das Scrollen und Ausblenden nicht selbst implementiert werden muss. Noch dazu muss man sich ja von allen Texten, die zum Beispiel scrollen sollen eine Referenz merken. Das ist sehr unpraktisch.
    Für Spieler:
    Velaya # Velaya in English # Exodus Demo # Irrwichtel
    Tools für Modder:
    DiaDepp # DOPA-PARTER # zSlang
    Scripte für Modder:
    Ikarus Skriptpaket # Floats # Broadcasts

  9. Homepage besuchen Beiträge anzeigen #9
    Apprentice Avatar von edeksumo
    Registriert seit
    Apr 2011
    Ort
    Poland
    Beiträge
    35
     
    edeksumo ist offline
    There is an error. In Inteface.d. writes that there is no function "mkf". BTW I've got the newest ikarus

  10. Beiträge anzeigen #10
    Schwertmeister
    Registriert seit
    May 2009
    Ort
    Österreich/Graz
    Beiträge
    883
     
    Umfi ist offline
    Echt cool das Paket.

    Aber ich habe ein Problem, nähmlich bei jedem (!) Levelchange stürzt G2 ab. Egal von welchen Level ich wechsel, es stürzt immer ab.

    Hier mal der Acces Violent:

    Code:
    ======================================= UNHANDLED EXCEPTION OCCURED ======================================================
    ======================================= CRASH INFOS: =====================================================================
    Gothic II - 2.6 (fix), Parser Version: 50
    User:  Michael Umfahrer,  CPUType: 586,  Mem: 1024 MB total, 979 MB free
    Startup Options:-game:secretofjumanga.ini -zreparse -zlog:5,s -zmaxframerate:40
    =============================================== CALLSTACK : ==============================================================
    0023:007A4C23 (0x12DF0DCC 0x00AB4118 0x00AB40C0 0x0082E6F0) Gothic2.exe, zCPar_Stack::PopByte()+3 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser_Symbol.cpp, line 1389+3 byte(s)
    0023:00791AA2 (0x000041FD 0x083D73F4 0x00000000 0x0135FCA8) Gothic2.exe, zCParser::DoStack()+322 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1348+10 byte(s)
    0023:00792CBF (0x00400000 0x002730D2 0x0135FECC 0x7EFDE000) Gothic2.exe, zCParser::CallFunc()+719 byte(s), P:\dev\g2addon\release\ZenGin\_ulf\zParser.cpp, line 1551
    0023:00425E6E (0x00000000 0x00503270 0x0000002C 0x0005408E) Gothic2.exe, CGameManager::Run()+1598 byte(s), P:\dev\g2addon\release\Gothic\_bert\oGameManager.cpp, line 767+47 byte(s)
    0023:0082933B (0x00000000 0x00000000 0x00000000 0x00000000) Gothic2.exe, SetFileAttributesA()+284535 byte(s)
    Und wo genau sollte man LeGo_Init(LeGo_All); aufrufen. Ist glaub ich egal, oder...

    Ich habs in jeder INIT_LEVELNAME aufgerufen....
    z.B.:

    Code:
    func void INIT_Modifikation ()
    {
        B_InitMonsterAttitudes();
        B_InitGuildAttitudes();
        B_InitNpcGlobals();
        Wld_SendTrigger("TAGEBUCH");
    
    
        LeGo_Init(LeGo_All);
    };
    
    func void INIT_Prolog ()
    {
        B_InitMonsterAttitudes();
        B_InitGuildAttitudes();
        B_InitNpcGlobals();
        Wld_SendTrigger("TAGEBUCH_PROLOG");
    
    
        LeGo_Init(LeGo_All);
    };

  11. Homepage besuchen Beiträge anzeigen #11
    Exodus Avatar von Sektenspinner
    Registriert seit
    Jul 2004
    Ort
    Karlsruhe
    Beiträge
    7.827
     
    Sektenspinner ist offline
    Zitat Zitat von edeksumo Beitrag anzeigen
    There is an error. In Inteface.d. writes that there is no function "mkf". BTW I've got the newest ikarus
    You also need Floats.
    Für Spieler:
    Velaya # Velaya in English # Exodus Demo # Irrwichtel
    Tools für Modder:
    DiaDepp # DOPA-PARTER # zSlang
    Scripte für Modder:
    Ikarus Skriptpaket # Floats # Broadcasts

  12. Homepage besuchen Beiträge anzeigen #12
    Team K Avatar von Kurzer
    Registriert seit
    Jul 2005
    Ort
    Sachs, Dresden
    Beiträge
    6.546
     
    Kurzer ist offline
    Hammergeil!

    Da lässt sich sicher einiges einbauen. Super Arbeit und einen großen Dank an euch beiden!

  13. Beiträge anzeigen #13
    Demigoddess
    Registriert seit
    Jul 2007
    Beiträge
    9.833
     
    Lehona ist offline
    @Umfi: Initialisiere LeGo bitte nur in INIT_GlobalI().

  14. Beiträge anzeigen #14
    Ehrengarde Avatar von Gottfried
    Registriert seit
    Mar 2006
    Beiträge
    2.512
     
    Gottfried ist offline
    Zitat Zitat von Bonne6 Beitrag anzeigen
    Mir hat sich grad beim Durchgucken eine Frage gestellt: Bei den Bloodsplats, hookst du da die PERC_AssessDamage? Wenn man nämlich eine alternative Schadensberechnung hat und daher nur den Minimalschaden macht, dann funktioniert das ja nicht, oder? Müsste ich dann manuell bei meiner Schadensverteilung aufrufen mit dem Schaden.
    Nein, die Perc_AssessDamage wird nicht gehookt, nur dem Helden wird _B_HeroDamage als genau diese Perception zugewiesen:
    Code:
    Npc_PercEnable(pc_hero, PERC_ASSESSDAMAGE, _B_HeroDamage);
    Zitat Zitat von Bonne6 Beitrag anzeigen
    Was mir als Fehler aufgefallen ist: Bei den Blutspritzern kommt hin und wieder die Default-Textur, fehlt vllt. eine Textur? Im Archiv sind ja 7 und als Maximum ist auch 7 angegeben
    Du hast Recht. Die Bloodsplats.d wurde letztens auf LeGo-Random umgebaut. r_Max(7) gibt alle Zahlen von 0 bis einschließlich 7 zurück. Bloodsplat_Tex muss also 6 sein.
    Zitat Zitat von Sektenspinner Beitrag anzeigen
    [...] Savegames [...]
    Stimmt, die Saves.d ist momentan noch ziemlich primitiv. Lehona arbeitet momentan an einer Methode ähnlich der die du hier erklärt hast, aber diesen Vorschlag könnte man direkt 1:1 übernehmen. Mal sehen was wird
    Zitat Zitat von Sektenspinner Beitrag anzeigen
    Bei den Texten wäre es natürlich nett, wenn das Scrollen und Ausblenden nicht selbst implementiert werden muss. Noch dazu muss man sich ja von allen Texten, die zum Beispiel scrollen sollen eine Referenz merken. Das ist sehr unpraktisch.
    Dafür gibt es ja PrintS, aber ich glaube ich verstehe was du meinst. Es sollte erweiterte Methoden geben mit dem Text umzugehen. (Wird dank den FrameFunctions auch kein großes Problem darstellen.)
    Zitat Zitat von Umfi Beitrag anzeigen
    Aber ich habe ein Problem, nähmlich bei jedem (!) Levelchange stürzt G2 ab. Egal von welchen Level ich wechsel, es stürzt immer ab.
    Genau dieses Problem hatte ich letztens auch, konnte aber den Fehler noch nicht identifizieren. Wir arbeiten daran

    MfG Gottfried

  15. Homepage besuchen Beiträge anzeigen #15
    Apprentice Avatar von edeksumo
    Registriert seit
    Apr 2011
    Ort
    Poland
    Beiträge
    35
     
    edeksumo ist offline
    You also need Floats.
    Thanks

  16. Homepage besuchen Beiträge anzeigen #16
    Teutonic Team Avatar von Bonne6
    Registriert seit
    Jun 2004
    Ort
    Erlangen
    Beiträge
    10.978
     
    Bonne6 ist offline
    Zitat Zitat von Gottfried Beitrag anzeigen
    Nein, die Perc_AssessDamage wird nicht gehookt, nur dem Helden wird _B_HeroDamage als genau diese Perception zugewiesen:
    Code:
    Npc_PercEnable(pc_hero, PERC_ASSESSDAMAGE, _B_HeroDamage);
    Hab's grad gemerkt, hatte mich schon gewundert, warum immer nur Minimalschaden kam, aber kein Wunder, wenn meine B_AssessDamage_Hero nimmer aufgerufen wird Aber mit manuell Bloodsplats aufrufen scheint es ja auch zu klappen.

    Zitat Zitat von Gottfried
    Du hast Recht. Die Bloodsplats.d wurde letztens auf LeGo-Random umgebaut. r_Max(7) gibt alle Zahlen von 0 bis einschließlich 7 zurück. Bloodsplat_Tex muss also 6 sein.
    Läuft jetzt auch, wie es soll.

  17. Homepage besuchen Beiträge anzeigen #17
    Apprentice Avatar von edeksumo
    Registriert seit
    Apr 2011
    Ort
    Poland
    Beiträge
    35
     
    edeksumo ist offline
    Is it possible to do to shield was not been drawn in the distance fight?

  18. Beiträge anzeigen #18
    Schwertmeister
    Registriert seit
    May 2009
    Ort
    Österreich/Graz
    Beiträge
    883
     
    Umfi ist offline
    Zitat Zitat von Lehona Beitrag anzeigen
    @Umfi: Initialisiere LeGo bitte nur in INIT_GlobalI().
    Okay. Das erspart Tipparbeit.

    Zitat Zitat von Gottfried Beitrag anzeigen
    Genau dieses Problem hatte ich letztens auch, konnte aber den Fehler noch nicht identifizieren. Wir arbeiten daran

    MfG Gottfried
    Gut zu wissen, dass das Problem nicht nur bei mir auftritt, ich hoffe ihr könnt das Problem lösen.

  19. Beiträge anzeigen #19
    an exciting experience  Avatar von OldCoin
    Registriert seit
    Jun 2010
    Ort
    bei Bremen und auf Sythera
    Beiträge
    4.135
     
    OldCoin ist offline
    Ich warte noch bis das Problem gefixt ist.

    Sieht aber seehr interessant aus, euer Tool.

    Das Sythera-Mod-Team sucht derzeit nur noch einen weiteren netten Kollegen / Kollegin zur Erstellung von Gebäude-Meshs. Weitere Infos in der Jobbörse.

  20. Beiträge anzeigen #20
    General Avatar von Lemon
    Registriert seit
    Nov 2009
    Ort
    Haus der Gelehrten, Jharkendar
    Beiträge
    3.635
     
    Lemon ist offline
    sieht gut aus! Wenn mein PC wieder heil ist() werd ichs mir anschauen

    Wo ich grad dabei bin und weil ich den Ikarus-Thread nicht rausholen will: wie macht man sowas eig.? also Sachen wie an Klassen kommen wie bei Ikarus oder solche Sachen aben würde mich mal interessieren
    gruß Lemon
    Odyssee - Im Auftrag des Königs

    "Ich will die Welt verändern, aber Gott gibt mir den Quellcode nicht!"


Seite 1 von 21 12345812 ... Letzte »

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
Impressum | Link Us | intern
World of Gothic © by World of Gothic Team
Gothic, Gothic 2 & Gothic 3 are © by Piranha Bytes & Egmont Interactive & JoWooD Productions AG, all rights reserved worldwide