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 3 123 Letzte »
Ergebnis 1 bis 20 von 45
  1. Beiträge anzeigen #1 Zitieren
    Schwertmeister Avatar von Noraser
    Registriert seit
    Jun 2007
    Ort
    im Osten
    Beiträge
    937
     
    Noraser ist offline

    ITEM_MISSION nicht im Händlerinventar

    Hy,
    Ich geb das mit der Suchfunktion jetzt mal auf, auch wenn ich mich warscheinlich zimlich blamiere...

    Also noch meinen Verständnis ist der Sinn eines Missions Item ja, das es nicht verkauft werden kann.
    Bei mir tauchen aber alle ITEM_MISSION Gegenstände bei den Händlern auf.

    Wo wird nun definiert was man mit einem Missions Item machen oder halt nicht machen kann?

    Danke
    Noraser
    MOD: JURAN 1.4.6 Juran 1.5 Fertig: Sprachdateien 99%, Videos 50%, Weg der Magie (done), Weg des Geschicks (90%)

  2. Homepage besuchen Beiträge anzeigen #2 Zitieren
    Clockwork Origins Avatar von Bonne6
    Registriert seit
    Jun 2004
    Ort
    Erlangen
    Beiträge
    11.826
     
    Bonne6 ist offline
    Das Flag gibt nur an, dass Monster mit einem Item mit diesem Flag nicht entfernt werden, damit eben dieses Item nicht aus dem Spiel verschwindet.

    Ich hab mal ein System eingebaut, bei dem alle Questitems beim Handeln aus dem Inventar entfernt werden, damit man die nicht verkaufen kann. Hab dazu das ITEM_SHOW-Flag genutzt, das markiert bei mir Questitems.

    Werde das morgen/übermorgen mal hier posten, hab jetzt keine Lust mehr, das rauszusuchen.

  3. Beiträge anzeigen #3 Zitieren
    Drachentöter Avatar von Lonewulf
    Registriert seit
    Jan 2008
    Beiträge
    4.852
     
    Lonewulf ist offline
    Noch als kleine Ergänzung:

    Das MISSION-Flag sorgt nicht nur dafür, dass die Leiche des NPC der das Item besitzt nicht entfernt wird, es werden des Weiteren auch die Items bei denen dieses Flag gesetzt ist bei der Enginefunktion "Npc_ClearInventory()" ignoriert.
    Die Items können somit nicht verloren gehen, wenn man eine Händler niederschlägt/tötet.

  4. Beiträge anzeigen #4 Zitieren
    Schwertmeister Avatar von Noraser
    Registriert seit
    Jun 2007
    Ort
    im Osten
    Beiträge
    937
     
    Noraser ist offline
    Ok, danke erstmal, damit ist klar das ich nichts sinnfolles finden konnte...

    @Bonne6: Bitte such das mal raus, bei so grossen Mods wie Juran sammelt sich soviel im Inventar an. Ich hab da schon versucht gegenzusteuern, aber manches schleppt man ewig rum.

    Gibs eigentlich irgendwo eine Erklaerung der flags? Die Auflistung in den Scrips hab ich gefunden, aber wozu ist das einzelne gut ist, waere nett zu wissen.

    Was genau macht der Show-Flag? - eventuel kann ich den ja benutzen um Items komplet auszublenden.

    Wie koente man die Flags von Items Ingame veraendern? also zum Beispiel:
    Der Schmied gibt einen die Aufgabe 10 rostige Schwerter zu besorgen. Nun aendert man mit Aufgabeerteilung die rostigen Schwerter zu MissionsItems bis die Aufgabe erfuellt ist, dann wird das Missions flag entfernt.

    Ist ein simples Beispiel, der eigentliche Sinn ist eher sowas wie die entsprechenden Pflanzen aus dem Spieler- Handelsinventar auszublenden, wenn man das Traenkebrauen fuer diese Pflanze gelernt hat.

    Ich hatte schon mal ueberlegt sowas wie eine weltenuebergreifende Kiste zu nehmen, in dem alles was "gesichert" werden soll verschoben wird. Groestes Problem ist aber das bei Alchemitischen, Herd und co auf das Spielerinventar geschaut wird, und weltenuebergreifende Kisten gibs wohl auch noch nicht....

    Noraser
    MOD: JURAN 1.4.6 Juran 1.5 Fertig: Sprachdateien 99%, Videos 50%, Weg der Magie (done), Weg des Geschicks (90%)

  5. Beiträge anzeigen #5 Zitieren
    Legende der Amazonen Avatar von Bisasam
    Registriert seit
    Dec 2006
    Ort
    Meine Faust in Sinis Gesicht
    Beiträge
    9.639
     
    Bisasam ist offline
    was mir dazu noch einfällt ist der hammer von innos. der hatte doch ein "unverkäuflich" da stehen und verkaufen konnte man den soweit ich weiß auch nicht.

    weiß da jemand mehr zu? mir selbst hat das skript davon iwie nicht viel aufklärung gegeben.


    wie macht man es übrigens überhaupt, dass "unverkäuflich" dort unten rechts steht? strings werden automatisch nach links geschoben :/


    "Das erinnert doch sehr erfreulich an das, was man sich als Gothicfan wünscht!"
    -Korallenkette

  6. Beiträge anzeigen #6 Zitieren
    Drachentöter Avatar von Lonewulf
    Registriert seit
    Jan 2008
    Beiträge
    4.852
     
    Lonewulf ist offline
    Zitat Zitat von Assasine91 Beitrag anzeigen
    was mir dazu noch einfällt ist der hammer von innos. der hatte doch ein "unverkäuflich" da stehen und verkaufen konnte man den soweit ich weiß auch nicht.

    weiß da jemand mehr zu? mir selbst hat das skript davon iwie nicht viel aufklärung gegeben.


    wie macht man es übrigens überhaupt, dass "unverkäuflich" dort unten rechts steht? strings werden automatisch nach links geschoben :/
    Der hat kein "unverkäuflich" stehen sondern lediglich "Wert: nicht einschätzbar".
    Wenn du ihn verkaufst, bekommst dann den entsprechenden Prozentsatz des in der Instanz angegebenen Wertes bei "value".

    Übrigens steht da auch nichts rechts, sondern alles wie üblich linkssbündig.

    EDIT
    Hab mal schnell ein Foto gemacht.
    [Bild: attachment.php?s=7f06828ac94c032c84c7001f92e3edc4&attachmentid=37655&d=1331838353&thumb=1]
    Geändert von Lonewulf (15.03.2012 um 19:09 Uhr)

  7. Beiträge anzeigen #7 Zitieren
    Ritter Avatar von Der Ahnungslose
    Registriert seit
    Nov 2009
    Ort
    wo der Brunnen aus der Mitte entsprang
    Beiträge
    1.048
     
    Der Ahnungslose ist offline
    @Noraser:

    Dieser Fred sollte dir helfen:

    Klick

  8. Homepage besuchen Beiträge anzeigen #8 Zitieren
    Clockwork Origins Avatar von Bonne6
    Registriert seit
    Jun 2004
    Ort
    Erlangen
    Beiträge
    11.826
     
    Bonne6 ist offline
    Code:
    FUNC VOID Backup_Questitems()
    {
    	var int i;
    	i = 0;
    	var int j;
    	j = 0;
    	var int itemid;
    
    	var int ptr; ptr = MEM_StackPos.position;
    
    	if (Npc_GetInvItemBySlot (hero, i, j) > 0)
    	{
    		itemid = Hlp_GetInstanceID (item);
    
    		if (C_ItmHasFlag(item, ITEM_SHOW))
    		{
    			NPC_RemoveInvItems (hero, itemid, 1);
    
    			if (questitemliste == 0)
    			{
    				questitemliste = List_Create(itemid);
    			}
    			else
    			{
    				List_Add (questitemliste, itemid);
    			};
    		}
    		else
    		{
    			j += 1;
    		};
            
    		MEM_StackPos.position = ptr;
    	}
    	else
    	{
    		j = 0;
    
    		i += 1;
    
    		if (i < 9)
    		{
    			MEM_StackPos.position = ptr;
    		};
    	};
    };
    
    FUNC VOID Restore_Questitems()
    {
    	if (questitemliste > 0)
    	{
    		if (List_Length(questitemliste) > 0)
    		{
    			var int i;
    			i = 1;
    			var int ptr; ptr = MEM_StackPos.position;
    
    			if (i <= List_Length(questitemliste))
    			{
    				var int itemid;
    				itemid = List_Get(questitemliste, i);
    
    				CreateInvItems	(hero, itemid, 1);
    
    				i += 1;
            
    				MEM_StackPos.position = ptr;
    			};
    
    			List_Destroy(questitemliste);
    			questitemliste = 0;
    		};
    	};
    };
    Backup_Questitems(); ruf ich in den Handelsdialogen und Restore_Questitems(); in ZS_Talk_End() auf.

  9. Beiträge anzeigen #9 Zitieren
    Schwertmeister Avatar von Noraser
    Registriert seit
    Jun 2007
    Ort
    im Osten
    Beiträge
    937
     
    Noraser ist offline
    @ DerAhnungslose: Danke, die Suche hat den auch rausgeschmissen. Ist zimlich interessant. Edit: und nötig, die flag abfrage in Bones script, muss durch die flag vergleich aus diesem Fred ersetzt werden.

    @Bonne: Super! Danke.
    Ich hab zwar noch nicht mit Listen gearbeitet, aber das sieht verständlich aus.
    Wurde das in einer Mod schonmal getestet?
    Ist die Liste in ihrer Länge begrenzt?
    Brauch ich noch etwas spezielles? Edit: Man braucht die Listen scripte von Lehona und die brauchen wiederrum Ikarus
    Seh ich das richtig, das die Funktion pro Slot nur 1 Item entfernt? Muss ich da noch eine Schleife einbauen die die Anzahl abfragt, bevor es ein Slot weiter geht? Edit: Nein, er nimmt alle Items des Inventars.

    Hab grad festgestellt das G2 das Flag ITEM_show nicht kennt, war das für G1?
    Hab das jetzt mal auf ITEM_MISSION geändert, mal testen. Edit: erste tests sehen gut aus

    Edit: Probleme gibs noch mit angelegten Items wie Schwerter oder Guertel, die sollten nicht entfernt werden, da sie sonst nicht mehr angelegt sind. Ausserdem gibs hier einen exploid, nach dem beenden des Handelsdialog, sind von den angelegten gegenständen, einer mehr da.
    Womit kann ich überpruefen ob das Item angelegt ist? Flag = Active?
    Alternative, womit kann ich testen ob der Inventar slot ein Angelegtes Item enthält (rotfärbung)

    Edit: Momentan sind auch die Missionsitems auf Händlerseite weg. Man kann also keine Missionseitems kaufen. *gefixed, hatte nichts mit den Listen hier zu tun*

    Noraser
    MOD: JURAN 1.4.6 Juran 1.5 Fertig: Sprachdateien 99%, Videos 50%, Weg der Magie (done), Weg des Geschicks (90%)
    Geändert von Noraser (16.03.2012 um 12:24 Uhr)

  10. Beiträge anzeigen #10 Zitieren
    Ritter Avatar von Der Ahnungslose
    Registriert seit
    Nov 2009
    Ort
    wo der Brunnen aus der Mitte entsprang
    Beiträge
    1.048
     
    Der Ahnungslose ist offline
    Zitat Zitat von Noraser Beitrag anzeigen
    [...]Wie koente man die Flags von Items Ingame veraendern? also zum Beispiel:
    Der Schmied gibt einen die Aufgabe 10 rostige Schwerter zu besorgen. Nun aendert man mit Aufgabeerteilung die rostigen Schwerter zu MissionsItems bis die Aufgabe erfuellt ist, dann wird das Missions flag entfernt.

    [...]Noraser
    Das könnte im Übrigen noch sehr schwer realisierbar werden, da nach dem Spielstand laden, die Items wieder Ihre ursprünglichen flags aus der item instance (Itemskript) bekommen. Temporär, lässt sich dies jedoch ohne weiteres realisieren, da die flags an jeder einzelnen item instance gespeichert werden, allerdings wie gesagt nur innerhalb einer Spielsitzung. Wie sich das anhand einer Liste, wie z.B. von Bonne verwendet aushebeln lässt, kann ich nicht sagen. Müsste man sich ansehen.

  11. Homepage besuchen Beiträge anzeigen #11 Zitieren
    Exodus Avatar von Sektenspinner
    Registriert seit
    Jul 2004
    Ort
    Karlsruhe
    Beiträge
    7.827
     
    Sektenspinner ist offline
    Zitat Zitat von Der Ahnungslose Beitrag anzeigen
    Das könnte im Übrigen noch sehr schwer realisierbar werden, da nach dem Spielstand laden, die Items wieder Ihre ursprünglichen flags aus der item instance (Itemskript) bekommen.
    Nein. Tatsächlich ist es so, dass flags das einzige ist, was für ein Item tatsächlich gespeichert und wieder geladen wird (abgesehen von der Anzahl der Items im Itemstapel).
    Alles andere landet aber, wie du richtig sagst, nicht im Savegame.
    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. Beiträge anzeigen #12 Zitieren
    Schwertmeister Avatar von Noraser
    Registriert seit
    Jun 2007
    Ort
    im Osten
    Beiträge
    937
     
    Noraser ist offline
    So, hab es jetzt soweit hinbekommen, das es benutzbar ist.

    Es gibt aber noch zwei kleiner Unschönheiten:
    1) Items die man Anlegen kann (Nah-/Fernkampfwaffen,Ringe,Amulette,Rüstungen) dürfen im Inventar nur einmal existieren, wenn sie Missions Items sind. Wenn sie nur einmal existieren, spielt es keine Rolle ob sie angelegt oder nicht sind. Angelegt bleiben sie sichbar, unangelegt werden sie Unsichtbar. Ist das gleiche Item aber angelgt und unangelgt im Inventar vorhanden. Dann wird immer alles unsichtbar, d.h. die angelegten Sachen werden abgelgt. Und sind bei Gesprächsende nicht mehr equickt, was bei Bonussteigerungen zu weiteren unequicken von Bonusabhängigen Sachen führen kann. Im Falle von Waffen kommt es zusätzlich zum exploit, da sich die Anzahl um 1 erhöht. -> Missions Items die man anlegen kann müssen einmalig sein!

    2) Wenn man ein Missionsitem hat mit dem man eine Gesprächsoption (A) freischaltet und paarallel die Möglichkeit zum Handelsdialog (B) , dann wird die Gesprächsoption (A) nicht mehr angezeigt, wenn man aus dem Handelsdialog zurückkommt. Erst ein Beenden und wieder öffnen des Dialogs mit dem NPC zeigt den Dialog (A) wieder an.

    Problem 1 wird durch das verwenden des Aktive Flags verursacht, finden sich Aktive und nichtaktive Missionsitems im Inventar, entfernt die Funktion alle Items. Hier such ich noch nach einer besseren Möglichkeit um zu erkenne ob das Item grad angelegt ist oder nicht.

    Problem 2 wird dadurch verursacht, das die Restore_Questitems(); in ZS_Talk_End() steht. Hier müste man eine Funktion finden die aufgerufen wird, direkt nachdem das Handeln beendet wurde.

    Fals jemand dazu noch Ideen hat, wäre ich interessiert.
    Danke schon mal für das erreichte sieht schon viel übersichtlicher aus.
    Noraser
    MOD: JURAN 1.4.6 Juran 1.5 Fertig: Sprachdateien 99%, Videos 50%, Weg der Magie (done), Weg des Geschicks (90%)

  13. Beiträge anzeigen #13 Zitieren
    Ehrengarde Avatar von Gottfried
    Registriert seit
    Mar 2006
    Beiträge
    2.512
     
    Gottfried ist offline
    @Bonne: Kleiner Tipp am Rande. List_Length ist ziemlich langsam im Vergleich zu den anderen Hilfsfunktionen aus der List.d, einfach weil jedes mal die gesamte Liste durchgezählt werden muss.
    Eine Abfrage auf Length > 0 ist auch nicht nötig, da eine Liste mindestens die Länge 1 hat. (Auch wenn sie komplett leer ist, der Kopf zählt auch als Element.)

    Mit den neuen Schleifen von Sektenspinner (im neuen Ikarus enthalten) kann man zusätzlich noch einen schöneren Loop bauen:
    Code:
    func void Restore_Questitems() {
        if (!questitemliste) {
            return;
        };
        
        
        var int list; list = questItemListe;
        
        while(list);
            l = _^(questItemListe);
            
            CreateInvItems(hero, l.data, 1);
            
            list = l.next;
        end;
        
        List_Destroy(questItemListe);
        questItemListe = 0;
    };
    Hier wird einfach durch die Liste iteriert bis kein Element mehr folgt. Das ist wesentlich schneller als bei jedem Durchgang erneut die Liste durchzugehen.. (List_Get ist auch nicht besonders schnell)

    Edit: Alternativ könnte man natürlich noch List_For nutzen, sieht aber nicht ganz so schick aus.


    MfG Gottfried

  14. Beiträge anzeigen #14 Zitieren
    Schwertmeister Avatar von Noraser
    Registriert seit
    Jun 2007
    Ort
    im Osten
    Beiträge
    937
     
    Noraser ist offline
    Gottfried, wenn ich deine Version nehem bekomme ich einen
    Unknown Identifeier: while

    In ikarus finde ich auch keine while funktion.
    hab ikarus extra aus dem Ikarus#3 Threat nochmal geholt und erneuert. gibs noch was neueres?

    Frage zum anlegen der Liste, wieso geht J eigentlich von 0-9, die sichtbare Matrix ist 5 Spalten breit. Oder ist die dahinterliegende Software Matrix 10 breit?

    Norman
    PS: über eine zu langsame ausführung von Bonne6 Version, kann ich mich nicht beklagen, aber hat ja nicht jeder so einen schnellen Rechner ;-)
    MOD: JURAN 1.4.6 Juran 1.5 Fertig: Sprachdateien 99%, Videos 50%, Weg der Magie (done), Weg des Geschicks (90%)

  15. Homepage besuchen Beiträge anzeigen #15 Zitieren
    Exodus Avatar von Sektenspinner
    Registriert seit
    Jul 2004
    Ort
    Karlsruhe
    Beiträge
    7.827
     
    Sektenspinner ist offline
    Zitat Zitat von Noraser Beitrag anzeigen
    Gottfried, wenn ich deine Version nehem bekomme ich einen
    Unknown Identifeier: while

    In ikarus finde ich auch keine while funktion.
    hab ikarus extra aus dem Ikarus#3 Threat nochmal geholt und erneuert. gibs noch was neueres?
    Schau nochmal in den Thread.
    Ich sträubte mich etwas dagegen Version 1.2 freizugeben, weil ich ewig nicht mit der Doku fertig werde, daher war der Download etwas versteckt. Jetzt ist er leichter zu finden.

    Frage zum anlegen der Liste, wieso geht J eigentlich von 0-9, die sichtbare Matrix ist 5 Spalten breit. Oder ist die dahinterliegende Software Matrix 10 breit?
    i ist nicht die Breite des Feldes sondern ein Kategoriencode. Bei Gothic 1 gab es ja bekanntlich verschiedene Inventare nebeneinander. Bei Gothic 2 ist eigentlich nur i = 0 sinnvoll, denn es gibt nur noch die eine Kategorie.
    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

  16. Beiträge anzeigen #16 Zitieren
    Schwertmeister Avatar von Noraser
    Registriert seit
    Jun 2007
    Ort
    im Osten
    Beiträge
    937
     
    Noraser ist offline
    Danke,
    heist das jetzt
    fuer Ikarus 1.2 brauch ich die Listen von Lehona nicht mehr extra?
    fuer removequestitems() ich muss i nur auf 0 setzen, oder kann ich i ganz weglassen?


    Edit: wenn ich von 1.1.4 auf 1.2 update gehen die Liste von Lehona nicht mehr: Fehler : Unknown identifier MEMINT_STATARRS_REPLACEMENTFUNC

    Noraser
    MOD: JURAN 1.4.6 Juran 1.5 Fertig: Sprachdateien 99%, Videos 50%, Weg der Magie (done), Weg des Geschicks (90%)
    Geändert von Noraser (16.03.2012 um 18:00 Uhr)

  17. Beiträge anzeigen #17 Zitieren
    Ehrengarde Avatar von Gottfried
    Registriert seit
    Mar 2006
    Beiträge
    2.512
     
    Gottfried ist offline
    Ikarus hat mit den Listen nichts zu tun. Die Listen von Lehona, die hier lose im Forum rumfliegen sind schon sehr alt, die neueste Version davon findet sich in LeGo.

    Wenn du LeGo nicht installieren möchtest (der etwas umständlichere Weg), musst du dir die List.d extra herunterladen. Die List.d benötigt zusätzlich die StringBuilder.d, die wirst du also auch herunterladen müssen. Ansonsten gibt es glaube ich keine Abhängigkeiten. Einfach ausprobieren

    Alle Daten finden sich wie immer auf dem SVN.

    MfG Gottfried

  18. Homepage besuchen Beiträge anzeigen #18 Zitieren
    Exodus Avatar von Sektenspinner
    Registriert seit
    Jul 2004
    Ort
    Karlsruhe
    Beiträge
    7.827
     
    Sektenspinner ist offline
    Alternativ kannst du Arrays verwenden, denn eigentlich gibt es bei der Anwendung keinen Grund Listen zu verwenden (sie sind unnötig kompliziert).

    Die für deine Anwendung relevanten Ikarus Funktionen sind:
    • int MEM_ArrayCreate(); //Array erzeugen
    • int MEM_ArrayRead(int array, int index); //Zugriff auf Wert
    • void MEM_ArrayPush(int array, int value); //Wert ans Ende anfügen
    • int MEM_ArraySize(int array); //Größe zurückgeben
    • int MEM_ArrayFree(int array); //Array zerstören


    Über ein Array iterieren kannst du dann zum Beispiel mit:
    Code:
    var int i;
    repeat(i, MEM_ArraySize(array));
        MachWasMit(MEM_ArrayRead(array, i));
    end;
    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

  19. Beiträge anzeigen #19 Zitieren
    Ritter Avatar von Der Ahnungslose
    Registriert seit
    Nov 2009
    Ort
    wo der Brunnen aus der Mitte entsprang
    Beiträge
    1.048
     
    Der Ahnungslose ist offline
    Zitat Zitat von Sektenspinner Beitrag anzeigen
    Nein. Tatsächlich ist es so, dass flags das einzige ist, was für ein Item tatsächlich gespeichert und wieder geladen wird (abgesehen von der Anzahl der Items im Itemstapel).
    Alles andere landet aber, wie du richtig sagst, nicht im Savegame.
    Also, ich möchte nicht so weit gehen und dir widersprechen. Aber durch meine exzessive Auseinandersetzung mit allerhand Item-Eigenheiten im Zusammenhang mit unserem Lastenscavenger und der Inventarbegrenzung habe ich zumindest ein Fall, wo das mainflag nicht persistent gespeichert wird.

    Um auch Rüstungen beim Lastenscavenger bevorraten zu können, hatte ich angedacht einfach den Armor flag zu entfernen und diesen durch ITEM_KAT_NONE zu ersetzen. Das funktioniert soweit auch ganz gut. Bis zu dem Zeitpunkt, wo ich ein Spiel speichere. Dann sind die Rüstungen trotzdem nicht mehr im Inventar des Scavengers, obwohl diese nicht mehr das Armor flag haben. Wen es interessiert, wie meineFunktion aussieht:

    Code:
    //***************************************************
    // Diese Funktion setzt das None-Flag der Rüstungen	*
    // um diese schließlich im Inventar des übergebenen *
    // NPC bevorraten zu können							*
    //***************************************************
    func int Npc_SetArmorToInventory(var c_npc slf) {
        var zCListSort inv;
        var int itmid; 
        var int proofitmid; 					
        inv = MEM_PtrToInst(Npc_GetInventoryArmorPtr(slf));	    
        var oCItem itm; itm = MEM_PtrToInst(inv.data);	        
        itmid = Hlp_GetInstanceID(itm);
        
    	if(itm.flags & ITEM_KAT_ARMOR)
    							{
    							 itm.flags = itm.flags & ~ITEM_KAT_ARMOR;
    							 itm.flags = itm.flags | ITEM_KAT_NONE;
    							};
        var int p; p = MEM_StackPos.position;
        if(inv.next) {                     					   
            inv = MEM_PtrToInst(inv.next); 					    
            itm = MEM_PtrToInst(inv.data); 					   
            itmid = Hlp_GetInstanceID(itm);
    
    		if (itm.flags & ITEM_KAT_ARMOR)
    							{
    							  itm.flags = itm.flags & ~ITEM_KAT_ARMOR;
    							  itm.flags = itm.flags | ITEM_KAT_NONE;
    							};
            MEM_StackPos.position = p;          				
        };
    	return 1;
    };
    Ich komme zu folgenden möglichen Schlüssen:

    1) Intern identifizieren die Piranhas die Rüstungen nicht über das mainflag und deshalb werden diese wieder entfernt. Dann stellt sich jedoch die Frage, warum Sie nur nach dem Speichern bzw. Laden eines Spiels entfernt werden und ansonsten im Inv des Scavengers verbleiben.
    2) Ich habe einen Denkfehler und mache irgendetwas falsch
    3) Deine Aussage ist nicht ganz richtig und die flags werden doch nicht gespeichert (Gothic I?) Wie gesagt, ich wage es kaum Deine Aussage in Frage zu stellen

    Welcher von den drei Punkten nun die Ursache ist, kann ich zumindest nicht sagen.

  20. Beiträge anzeigen #20 Zitieren
    Dea
    Registriert seit
    Jul 2007
    Beiträge
    10.447
     
    Lehona ist offline
    Natürlich wird das Mainflag nicht gespeichert, hat Sektenspinner ja auch nie behauptet. Genau genommen werden (neben den Vob-Eigenschaften, die gespeichert werden) nur Iteminstance, oCItem.amount und oCItem.flag gespeichert.

    Warum es funktioniert, eine mainflag-bitmaske auf die flags anzuwenden weiß ich nicht, ist aber definitiv falsch so -> Du wirst das nach dem Laden erneuern müssen.

Seite 1 von 3 123 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