Anonymous | Login | Signup for a new account | 19.12.2024 10:10 CET |
Main | My View | View Issues | Change Log | Docs |
Viewing Issue Simple Details [ Jump to Notes ] | [ View Advanced ] [ Issue History ] [ Print ] | ||||||||
ID | Category | Severity | Reproducibility | Date Submitted | Last Update | ||||
0002101 | [X-Force] Forschung | crash | have not tried | 18.05.09 13:37 | 24.06.09 03:00 | ||||
Reporter | LennStar | View Status | public | ||||||
Assigned To | Natter | ||||||||
Priority | normal | Resolution | fixed | ||||||
Status | closed | Product Version | V0.915a05 | ||||||
Summary | 0002101: Autospie-Zeit 0 -> keine Autopsie (Übergangslösung) | ||||||||
Description |
Hab den wilden Bären im Galwar erforschen wollen (Autopsie). Absturz. Ich denke mal wegen den 0 Forschungsstunden. |
||||||||
Additional Information |
Fehlermeldung: Index des laufenden Projektes konnte nicht ermittelt werden 24377300 (C:\XFQuellcode\v0915\game\source\components\ForschList.pas, Zeile 1516) procedure TForschList.NextRound(Minuten: Integer); var Dummy : Integer; DummyFortschrittStatus1 : Single; DummyFortschrittStatus2 : Single; DummyFortschrittIndex1 : Integer; DummyFortschrittIndex2 : Integer; DummyProjektIndex : Integer; function ForschrittIndex(Rest: Single): Integer; begin if Trunc(Rest)>20 then //Wenn noch nicht über 80%, dann 0% Chance Result := -1 else if Rest<=0 then //Wenn über 100% -> Maximale Chance Result := 10 else begin Result := ((20-Trunc(Rest)) div 2); end; end; begin // Forschungsprojekte for Dummy:=0 to ForscherCount-1 do begin DummyProjektIndex := GetIndexOfRunningProjectId(fForscher[Dummy].ID); // Forschung if DummyProjektIndex >= 0 then begin //Dies stimmt nicht ganz, da die Runde länger dauern kann, als Projektrestzeit Inc(fForscher[Dummy].ForschTime, Minuten); //Wie viel Prozent blieb übrig? // division durch Null möglich DummyFortschrittStatus1 := Projekte[DummyProjektIndex].Hour/Projekte[DummyProjektIndex].Gesamt*100; // Ein Forscher schafft mit Faehigkeit 80 eine Forscher Stunde Projekte[DummyProjektIndex].Hour:=Projekte[DummyProjektIndex].Hour-((fForscher[Dummy].Sience/80)*(Minuten/60)); //Wie viel Prozent bleiben jetzt übrig? DummyFortschrittStatus2 := Projekte[DummyProjektIndex].Hour/Projekte[DummyProjektIndex].Gesamt*100; //80 Prozent schon erreicht? if DummyFortschrittStatus2<=20 then begin DummyFortschrittIndex1 := ForschrittIndex(DummyFortschrittStatus1); DummyFortschrittIndex2 := ForschrittIndex(DummyFortschrittStatus2); //Bei überschritten von 80%, bei allen 2% mal würfeln und gucken, ob Durchbruch kommt while ((DummyFortschrittIndex1<10) and (DummyFortschrittIndex1<>DummyFortschrittIndex2)) or (DummyFortschrittIndex1=10) do begin Inc(DummyFortschrittIndex1); if (Random(100)+1)<=5+(DummyFortschrittIndex1*8.5) then //1..100 < als 5 + (8,5 * Index) (also 5..90) begin ProjektEnd(DummyProjektIndex); // if ProjektCount=0 then exit; //Jim: Ist dies noch richtig? z.B. wegen Patente da unten if ProjektCount=0 then break; // break ist besser DummyFortschrittIndex1 := DummyFortschrittIndex2; end; end; end; end |
||||||||
Attached Files | error-18-05-2009-13-30.txt [^] (7,544 bytes) 18.05.09 13:37 | ||||||||
|
Relationships | ||||||
|
Mantis 1.0.7[^] Copyright © 2000 - 2007 Mantis Group |