Warning: ob_start(): function 'compress_handler' not found or invalid function name in /www/htdocs/xfmantis/core.php on line 18
0001652: Lager verliert Gegenstände bei Transporterankunft - Mantis
Mantis Bugtracker
  

Viewing Issue Advanced Details Jump to Notes ] View Simple ] Issue History ] Print ]
ID Category Severity Reproducibility Date Submitted Last Update
0001652 [X-Force] Allgemein major always 06.08.07 23:24 08.09.07 03:07
Reporter DirkF View Status public  
Assigned To Jim_Raynor
Priority normal Resolution fixed Platform
Status closed   OS
Projection none   OS Version
ETA none Fixed in Version V0.910 - Final Product Version
  Product Build
Summary 0001652: Lager verliert Gegenstände bei Transporterankunft
Description Wenn ein Transporter von einer Mission zurückkommt, dann wird die gefundene Ausrüstung nicht nur nicht immer addiert, sondern manchmal wird im Gegenteil sogar bereits vorhandene Ausrüstung gelöscht.
Dies kann auch keine "Aufmunitionierung" sein, da es in den vorliegenden Beispielen z.B. um eine Differenz von 11 noch nicht erforschten Artefakten (Sensoren) geht.
Steps To Reproduce Auf dem FTP liegen im Verzeichnis "Fehler" eine Speicherdatei sowie zwei Spielsätze (ich weiß nicht welche Version davon die Sav benötigt.

Die Spiele sind jeweils kurz vor Ankunft des Transporter gespeichert, einfach vorher und nachher den Lagerbestand an Alien-Artefakten (sowie die Bestände im Tranporter) vergleichen.
Additional Information
Attached Files

- Relationships

- Notes
(0002639)
Natter
07.08.07 00:37

Fehler gefunden. In GameFigureManager Zeile 2560 steht:
if lager_api_PutMunition(HomeBase.ID,fRucksack[Dummy2].ID,fRucksack[Dummy2].Schuesse) then

Da Der Sensor aber als Schussanzahl -1 hat, wird hier für jeden Sensor im Rucksack einer in der Basis gelöscht. Hab das testweise mal so abgefangen:

function lager_api_PutMunition(BaseID: Cardinal; ItemID: Cardinal; Schuss: Integer): boolean;
begin
  if Schuss<0 then
  begin
  result:=true;
  exit;
  end;
  result:=g_LagerList.AddMunition(ItemID,BaseID,Schuss);
end;

Ich hab aber nicht so den Überblick über die Verwendung von lager_api_PutMunition - daher bin ich mir nicht sicher, ob das nicht andere Probleme hervorruft. Sollte sich Jim mal ansehen.

Es scheint aber noch ein anderes Problem zu geben (vermutlich am Ende eines Bodeneinsatzes). Angeblich sind im Transporter nur 8 Sensoren - die Soldaten haben aber 11 im Rucksack + 1 Sensor im Transporter - und die verschwinden auch alle. Trotzdem werden im Lager nur 8 hinzugefügt.
 
(0002640)
Natter
07.08.07 00:46

PS: Test-Spielstand + Spielsatz liegen auf dem Inteam-FTP
 
(0002641)
Jim_Raynor
07.08.07 07:40

Na da werd ich wohl mal schauen müssen. Ich habe selbst nicht mehr so den Überblick was da alles passiert ;)
 
(0002642)
Jim_Raynor
07.08.07 18:11

So, ich habe jetzt lager_api_PutMunition geändert.

function lager_api_PutMunition(BaseID: Cardinal; ItemID: Cardinal; Schuss: Integer): boolean;
var
  Item: PLagerItem;
begin
  Item:=lager_api_GetItem(ItemID);

  if Item.TypeID in MunitionTypes then
    result:=g_LagerList.AddMunition(ItemID,BaseID,Schuss)
  else
    Result:=g_LagerList.AddItem(ItemID,BaseID,1)=1;
end;


Wobei MunitionTypes als [ptMunition,ptRMunition] in XForce_Types neu definiert ist. Jetzt sollte es so klappen wie erwartet.

Zu dem hab ich noch TGameFigureManager.AddToRucksack geändert. Dort wird jetzt Schuesse auf 0 gesetzt, wenn es sich nicht um eine Munition handelt.
 

- Issue History
Date Modified Username Field Change
06.08.07 23:24 DirkF New Issue
07.08.07 00:37 Natter Note Added: 0002639
07.08.07 00:38 Natter Status new => confirmed
07.08.07 00:46 Natter Note Added: 0002640
07.08.07 07:40 Jim_Raynor Note Added: 0002641
07.08.07 18:11 Jim_Raynor Note Added: 0002642
07.08.07 18:12 Jim_Raynor Status confirmed => resolved
07.08.07 18:12 Jim_Raynor Fixed in Version  => V0.910 - Final
07.08.07 18:12 Jim_Raynor Resolution open => fixed
07.08.07 18:12 Jim_Raynor Assigned To  => Jim_Raynor
08.09.07 03:07 Gast Status resolved => closed


Mantis 1.0.7[^]
Copyright © 2000 - 2007 Mantis Group
Powered by Mantis Bugtracker