Fehler bei Aufruf von Actions im CBaseShipManager
Hallo,
ich bekomme bei jedwedem Aufruf einer Action der Klasse "CBaseShipManager" eine exception. Beispiele:
Code:
Var vonSchiff as CMyShip;
Var zuSchiff as CMyShip;
... (u.a. erzeuge zuSchiff usw., mit zuSchiff kann ich definitiv arbeiten, die ShipID wird z.B. korrekt ausgegeben)
vonSchiff.Action.Undock();
vonSchiff.Action.ActivateWarpCore(True);
vonSchiff.Action.TransferToShip(zuSchiff.ShipID,* 100.0,* EBeamResource.Warpcore);
Habe auch andere Actions probiert. Stets kommt beim Scriptablauf die Meldung:
[Exception: Not allowed in extensions]
bei stne.Scripting.Types.CBaseShipManager.InitShipActi on() in D:\source\proximo\dev1\projects\stne\game\Scriptin g\Objects.vb:Zeile 2555.
bei stne.Scripting.Types.CBaseShipManager.Transferiere ZuSchiff(Int32 ToShipID, Double Anzahl, EBeamRessource Ressource) in D:\source\proximo\dev1\projects\stne\game\Scriptin g\Objects.vb:Zeile 2632.
[TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.]
bei System.RuntimeMethodHandle._InvokeMethodFast(IRunt imeMethodInfo 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.GetValue Internal(TScriptContext Context, Object obj, Object[] Index) in D:\source\proximo\dev1\projects\shared\larne.scrip ting\Script.vb:Zeile 2606.
bei larne.scripting.TScriptObjectMemberNative.GetValue (TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\proximo\dev1\projects\shared\larne.scrip ting\Script.vb:Zeile 2595.
bei larne.scripting.Expressions.TCodeExpressionObjectM ember.Get(TScriptContext Context) in D:\source\proximo\dev1\projects\shared\larne.scrip ting\ScriptExpressions.vb:Zeile 342.
bei larne.scripting.Commands.TCodeCommandExpressionCal l.Process(TScriptContext Context) in D:\source\proximo\dev1\projects\shared\larne.scrip ting\ScriptCommands.vb:Zeile 60.
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\proximo\dev1\projects\shared\larne.scrip ting\Script.vb:Zeile 1271.
[Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 133, Spalte: 9, Token: 'vonSchiff', Script: 'WK-Augleichen in Flotte']
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\proximo\dev1\projects\shared\larne.scrip ting\Script.vb:Zeile 1281.
bei larne.scripting.TScriptContext.Execute(Int32 StartLine) in D:\source\proximo\dev1\projects\shared\larne.scrip ting\Script.vb:Zeile 1314.
bei larne.scripting.TScriptContext.Execute() in D:\source\proximo\dev1\projects\shared\larne.scrip ting\Script.vb:Zeile 1348.
bei stne.TScript.ExecuteInternal() in D:\source\proximo\dev1\projects\stne\game\Temp3.vb :Zeile 1066.
bei stne.TScript.ExecuteInQueue() in D:\source\proximo\dev1\projects\stne\game\Temp3.vb :Zeile 978.
bei stne.wf_ScriptEdit.act_Execute() in D:\source\proximo\dev1\projects\stne\game\ScriptEd it.vb:Zeile 492.
bei stne.wf_ScriptEdit.ExecuteAction() in D:\source\proximo\dev1\projects\stne\game\ScriptEd it.vb:Zeile 107.
bei stne.TstnePage.CallExecuteAction() in D:\source\proximo\dev1\projects\stne\game\WebContr ols.vb:Zeile 775.
bei stne.wf_ScriptEdit.Run() in D:\source\proximo\dev1\projects\stne\game\ScriptEd it.vb:Zeile 75.
bei stne.wf_Game.Page_Load(Object sender, EventArgs e) in D:\source\proximo\dev1\projects\stne\game\Game.asp x.vb:Zeile 98.
bei System.Web.UI.Control.LoadRecursive()
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Assembly: stne.dll
Time: 09.11.2011 21:23:58
STNE-Version: 1.0.73.545
Server: DE3
User-ID: 32245
Was ist das Problem? Was genau ist denn nicht erlaubt und was genau sind Extensions? Wie kann ich WK beamen (was offenbar das eigentliche Ziel ist, Undock usw. sind nur Tests ob andere Actions auch Fehler werfen, was sie tun).
Danke im Voraus!
Re: Fehler bei Aufruf von Actions im CBaseShipManager
[Exception: Not allowed in extensions] << Das müsste doch eigentlich alles sagen? Du versuchst wohl die Aktion in einer Extension auszuführen, und das scheint nicht erlaubt. .TransferiereZuSchiff ist laut Fehlermeldung die "verbotene" Aktion. Wundert mich zwar, dass die Vorgegangen Aktionen wohl ausgeführt werden, aber sonst... Irgendwo hier gab es auch schon eine Diskussion darüber meine ich mich zu erinnern (kam glaube ich von Sargi)
Re: Fehler bei Aufruf von Actions im CBaseShipManager
So ist es. In Extensions sollen keine Aktionen möglich sein, weil man sonst noch Änderungen verursachen könnte, während die Schiffsseite schon erstellt ist. Da hilft nur ein normales Script oder Portal draus machen.
Re: Fehler bei Aufruf von Actions im CBaseShipManager
Dann will ich mal deine Grundsatzfragen klären.
Script: alles was im Scripteditor erstellt wurde sind Scripte.
Webscript: sind Scripte die Html-Seiten erzeugen und auf Eingaben verarbeiten können, beginnen mit #UseInterface* Web
Portale: sind Scripte die man Schiffe oder Kolonien zuweisen kann. Jemand der diesem Schiff/Kolonie im Spiel begenet kann sie aufrufen. beginnen mit #UseInterface ShipPortal oder ColoniePortal
Extensions: sind Scripte die beim Anzeigen von STNE-Seiten ausgeführt werden, beginnen mit #UseInterface Gui
In deinem Fall würde ich einfach mal das Gui hinter #UseInterface löschen, das ist vielleicht garkein Script welches Extensions benutzt.
Re: Fehler bei Aufruf von Actions im CBaseShipManager
Volltreffer, Script läuft.
Habe die #UseInterface ... Zeile gelöscht, alles schick.
Besten Dank, Sargraner, auch für die Erklärungen Extensions/Portale usw. :)