Results 1 to 2 of 2

Thread: Exception bei Energie-Ausgleichs-Script

  1. #1

    Exception bei Energie-Ausgleichs-Script

    Folgender Fehler tritt auf, wenn ich versuche meine Energie auszugleichen. Als Workaround habe ich versucht das ganze mit Math.Round(zahl, 2) zu runden aber der Fehler tritt weiterhin auf.

    Code:
    [Exception: Value 0,200000000000045 is higher than possible amount '0,2']
       bei stne.TBaseShipActions.HauptenergieErzeugen(Double Erzeugen, Boolean IgnoreLimit, EShipEnergieSituation Situation, TShipRessources RessourceOffset) in D:\source\jack\dev1\projects\stne\game\Core\ShipAction.cs:Zeile 2333.
       bei stne.TBeam.startTransaktion() in D:\source\jack\dev1\projects\stne\game\Core\Beam.cs:Zeile 638.
       bei stne.TBeam._Execute() in D:\source\jack\dev1\projects\stne\game\Core\Beam.cs:Zeile 262.
       bei stne.TBeam.Execute() in D:\source\jack\dev1\projects\stne\game\Core\Beam.cs:Zeile 163.
       bei stne.TBaseShipActions.Beamen(IShipPlanet Obj2, EBeamMode Mode, TLagerHashTableEx Waren) in D:\source\jack\dev1\projects\stne\game\Core\ShipAction.cs:Zeile 4634.
       bei stne.TUserShipAction.Beame(IShipPlanet Obj2, EBeamMode Mode, TLagerHashTableEx Waren) in D:\source\jack\dev1\projects\stne\game\Core\ShipMultiAction.cs:Zeile 1039.
       bei stne.Scripting.Types.CBaseShipManager.TransferiereZuSchiff(Int32 ToShipID, Double Anzahl, EBeamRessource Ressource) in D:\source\jack\dev1\projects\stne\game\Scripting\Objects.cs:Zeile 2747.
    
    [TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.]
       bei System.RuntimeMethodHandle._InvokeMethodFast(IRuntimeMethodInfo method, Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeType typeOwner)
       bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
       bei System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
       bei System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
       bei larne.scripting.TScriptObjectMemberNative.GetValueInternal(TScriptContext Context, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 2667.
       bei larne.scripting.TScriptObjectMemberNative.GetValue(TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 2656.
       bei larne.scripting.Expressions.TCodeExpressionObjectMember.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 376.
       bei larne.scripting.Commands.TCodeCommandExpressionCall.Process(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptCommands.cs:Zeile 80.
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1194.
    
    [Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 874, Spalte: 15, Token: 'Schiff', Script: 'Bib_Staffel']
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1209.
       bei larne.scripting.TScriptContext.CallMethod(TScriptObjectMemberCustom mem, TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1015.
       bei larne.scripting.TScriptContext.CallMethod(TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 973.
       bei larne.scripting.TScriptObjectMemberCustom.GetValue(TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1852.
       bei larne.scripting.Expressions.TCodeExpressionObjectMember.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 376.
       bei larne.scripting.Commands.TCodeCommandExpressionCall.Process(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptCommands.cs:Zeile 80.
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1194.
    
    [Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 874, Spalte: 15, Token: 'Schiff', Script: 'Bib_Staffel']
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1209.
       bei larne.scripting.TScriptContext.CallMethod(TScriptObjectMemberCustom mem, TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1015.
       bei larne.scripting.TScriptContext.CallMethod(TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 973.
       bei larne.scripting.TScriptObjectClassCustom.CallConstructor(TScriptContext Context, CObject obj, TCodeExpressionCreateScriptObject Caller, Object[] Args) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1674.
       bei larne.scripting.Expressions.TCodeExpressionCreateScriptObject.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 190.
       bei larne.scripting.Commands.TCodeCommandDim.Process(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptCommands.cs:Zeile 150.
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1194.
    
    [Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 874, Spalte: 15, Token: 'Schiff', Script: 'Bib_Staffel']
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1209.
       bei larne.scripting.TScriptContext.CallMethod(TScriptObjectMemberCustom mem, TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1015.
       bei larne.scripting.TScriptContext.CallMethod(TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 973.
       bei larne.scripting.TScriptObjectMemberCustom.GetValue(TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1852.
       bei larne.scripting.Expressions.TCodeExpressionObjectMember.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 376.
       bei larne.scripting.Expressions.TCodeExpressionObjectMember.GetParameters(TScriptContext Context, TScriptParameterInfo[] ParamInfo) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 312.
       bei larne.scripting.Expressions.TCodeExpressionObjectMember.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 374.
       bei larne.scripting.Commands.TCodeCommandExpressionCall.Process(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptCommands.cs:Zeile 80.
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1194.
    
    [Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 874, Spalte: 15, Token: 'Schiff', Script: 'Bib_Staffel']
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1209.
       bei larne.scripting.TScriptContext.CallMethod(TScriptObjectMemberCustom mem, TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1015.
       bei larne.scripting.TScriptContext.CallMethod(TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 973.
       bei larne.scripting.TScriptObjectMemberCustom.GetValue(TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1852.
       bei larne.scripting.Expressions.TCodeExpressionObjectMember.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptExpressions.cs:Zeile 376.
       bei larne.scripting.Commands.TCodeCommandExpressionCall.Process(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scripting\ScriptCommands.cs:Zeile 80.
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1194.
    
    [Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 874, Spalte: 15, Token: 'Schiff', Script: 'Bib_Staffel']
       bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1209.
       bei larne.scripting.TScriptContext.Execute(Int32 StartLine) in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1246.
       bei larne.scripting.TScriptContext.Execute() in D:\source\jack\dev1\projects\shared\larne.scripting\Script.cs:Zeile 1281.
       bei stne.TScript.ExecuteInternal() in D:\source\jack\dev1\projects\stne\game\Core\Temp3.cs:Zeile 1088.
       bei stne.TScript.ExecuteDirect() in D:\source\jack\dev1\projects\stne\game\Core\Temp3.cs:Zeile 999.
       bei stne.TScript.EnsureExecuted() in D:\source\jack\dev1\projects\stne\game\Core\Temp3.cs:Zeile 1144.
       bei stne.wf_ScriptEdit.pg_ep_Website(THtmlControl Container) in D:\source\jack\dev1\projects\stne\game\WebForms\ScriptEdit.cs:Zeile 1009.
       bei stne.wf_ScriptEdit.pg_TabControl() in D:\source\jack\dev1\projects\stne\game\WebForms\ScriptEdit.cs:Zeile 609.
       bei stne.wf_ScriptEdit.pg_Edit() in D:\source\jack\dev1\projects\stne\game\WebForms\ScriptEdit.cs:Zeile 535.
       bei stne.wf_ScriptEdit.CreatePage() in D:\source\jack\dev1\projects\stne\game\WebForms\ScriptEdit.cs:Zeile 209.
       bei stne.TstneBasePage.CallCreatePage() in D:\source\jack\dev1\projects\stne\game\Core\WebControls.cs:Zeile 191.
       bei stne.TstneGamePage.CallCreatePage() in D:\source\jack\dev1\projects\stne\game\Core\WebControls.cs:Zeile 980.
       bei stne.wf_ScriptEdit.Run() in D:\source\jack\dev1\projects\stne\game\WebForms\ScriptEdit.cs:Zeile 99.
       bei stne.wf_Game.Page_Load(Object sender, EventArgs e) in D:\source\jack\dev1\projects\stne\game\Game.aspx.cs:Zeile 140.
       bei System.Web.UI.Control.LoadRecursive()
       bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
    
    Assembly: larne.scripting.dll
    Time: 11.05.2012 15:11:50
    Server: DE1
    User-ID: 62789
    STNE-Version: 1.0.74.487
    Compiled at: 09.05.2012 22:41:05
    Compiled from: Jack
    Hier der Entsprechende Code. Der Fehler tritt in der Zeile mit TransferToShip auf.

    Code:
    function EnergyEqualize() As Double {
    		Var j As Integer;
    		Var transfer As Integer;
    		Var sum As Integer;
    		Var durchschnitt As Integer;
    		Var Schiff As CMyShip;
    		Var ZielSchiff As CMyShip;
    
    		For (Each Schiff In Fleet.Ships)
    		{
    			sum = (sum + Schiff.Energy);
    		}
    
    		durchschnitt = Math.Floor(sum / Fleet.Ships.Count);
    
    		For (Each Schiff In Fleet.Ships){
    			If(Schiff.Energy > durchschnitt) {
    				j = 0;
    				While((Schiff.Energy > durchschnitt) AND (j < Fleet.Ships.Count))
    				{
    					ZielSchiff = Fleet.Ships.Item(j);
    					If((ZielSchiff.Energy < durchschnitt) AND (Schiff.ShipID <> ZielSchiff.ShipID))
    					{
    						transfer = (durchschnitt - ZielSchiff.Energy);
    						If(transfer > (durchschnitt - ZielSchiff.Energy))
    						{
    							transfer = durchschnitt - ZielSchiff.Energy;
    						}
    						If(transfer > 0)
    						{
    							Schiff.Action.TransferToShip(ZielSchiff.ShipID, Math.Round(transfer,2), EBeamResource.Energy);
    						}
    					}
    					j = j + 1;
    				}
    			}
    		}
    	}

  2. #2
    Senior Member
    Join Date
    Nov 2011
    Posts
    150

    Re: Exception bei Energie-Ausgleichs-Script

    Ich würde mal sagen, STNE ist schlampig geproggt (WAAAAAAAAS? )
    Irgendeine Kontrollfunktion ist nicht richtig an C# angepasst und scheint nicht zu funktionieren
    leider nichts zu machen.

    lg
    Elchi
    Gelb und grau - Proximo ist schlau,
    Proxi ist ein Held, gebt ihm euer Geld,
    Ihr seid alle dumm und meckert doch nur rum,
    seid nicht so unfair, sonst bekommt ihr keine Updates mehr

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •