Und man könnte sich dann auch Scripte schreiben, die Vollautomatisch den Account verwalten, ohne dass man sie überhaupt anstoßen muss. Man hätte dann bei jedem Seitenaufruf schließlich die Gelegenheit, Dinge zu prüfen und ggf. zu ändern.
Printable View
Und man könnte sich dann auch Scripte schreiben, die Vollautomatisch den Account verwalten, ohne dass man sie überhaupt anstoßen muss. Man hätte dann bei jedem Seitenaufruf schließlich die Gelegenheit, Dinge zu prüfen und ggf. zu ändern.
Tja, nur leider gehen mir dann so langsam die Ideen für Anwendungen der Extensions aus, wenn man damit nur Sachen anzeigen darf aber nichts damit machen kann.
Ich bin vor knapp einer Stunde auf die Idee gestoßen automatisch Koloniedaten in der Schiffsübersicht aufzunehmen, weil mich die Koordinatenverwaltung mit der mühseligen Eingabe und den 25 Zeichen Maximaltext ziemlich abnervt.
@Sargraner: hast du schon irgendwelche Fortschritte auf diesem Gebiet gemacht?
@alle:
gibt es irgendeine alternative Möglichkeit mit den Koords an die CColony zu kommen? Wenn man die SektorID nimmt und daraus eine Kolonie machen will bekommt man bei fremden Kolonien(berechtigterweise) keinen Zugriff:
Das macht CColony aber völlig unnütz, da man damit nur auf eigene Kolonien zugreifen kann, für die ja schon CMyColony da ist.Quote:
[Exception: Zugriff verweigert]
bei stne.funcs.CheckUserException(Int32 UserID1, Int32 UserID2) in D:\source\jack\dev1\projects\stne\game\Lib.vb:Zeil e 1771.
bei stne.funcs.CheckUserException(TUser User1, TUser User2) in D:\source\jack\dev1\projects\stne\game\Lib.vb:Zeil e 1775.
bei stne.Scripting.Types.CAccount.CheckPermission(TPla net Planet) in D:\source\jack\dev1\projects\stne\game\Scripting\O bjects.vb:Zeile 557.
bei stne.Scripting.Types.CKolonie..ctor(Int32 KolonieID) in D:\source\jack\dev1\projects\stne\game\Scripting\O bjects.vb:Zeile 1825.
[TargetInvocationException: Ein Aufrufziel hat einen Ausnahmefehler verursacht.]
bei System.RuntimeMethodHandle._InvokeConstructor(IRun timeMethodInfo method, Object[] args, SignatureStruct& signature, RuntimeType declaringType)
bei System.Reflection.RuntimeConstructorInfo.Invoke(Bi ndingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
bei System.Reflection.ConstructorInfo.Invoke(Object[] parameters)
bei larne.scripting.TScriptObjectMemberNative.GetValue Internal(TScriptContext Context, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 2608.
bei larne.scripting.TScriptObjectMemberNative.GetValue (TScriptContext Context, TCodeExpressionObjectMember CallExp, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 2595.
bei larne.scripting.Expressions.TCodeExpressionObjectM ember.Get(TScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scriptin g\ScriptExpressions.vb:Zeile 342.
bei larne.scripting.Commands.TCodeCommandDim.Process(T ScriptContext Context) in D:\source\jack\dev1\projects\shared\larne.scriptin g\ScriptCommands.vb:Zeile 145.
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 1271.
[Exception: Das Script hat einen Laufzeitfehler verursacht. Zeile: 7, Spalte: 7, Token: 'kolo', Script: '[Extension] Planetenscan']
bei larne.scripting.TScriptContext.ExecuteInternal() in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 1281.
bei larne.scripting.TScriptContext.CallMethod(TScriptO bjectMemberCustom mem, TCodeExpressionObjectMember Caller, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 1097.
bei larne.scripting.TScriptContext.CallMethod(TScriptO bjectMemberCustom Mem, Object[] Args, CObject Instance) in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 1054.
bei larne.scripting.TScriptObjectMemberCustom.GetValue Internal(TScriptContext Context, Object obj, Object[] Index) in D:\source\jack\dev1\projects\shared\larne.scriptin g\Script.vb:Zeile 1879.
bei larne.scripting.Types.CDelegate.Invoke(Object[] args) in D:\source\jack\dev1\projects\shared\larne.scriptin g\ScriptMethods.vb:Zeile 140.
bei stne.TScriptExtensionItem.CallEvent(CGuiEvent e) in D:\source\jack\dev1\projects\stne\game\Scripting\E xtensions.vb:Zeile 182.
[Exception: Es ist ein Fehler in einer Extension aufgetreten.]
bei stne.TScriptExtensionItem.CallEvent(CGuiEvent e) in D:\source\jack\dev1\projects\stne\game\Scripting\E xtensions.vb:Zeile 193.
bei stne.TScriptExtensionManagerUserItem.CallEvent(CGu iEvent e) in D:\source\jack\dev1\projects\stne\game\Scripting\E xtensions.vb:Zeile 121.
bei stne.TUserSession.CallScriptEvent(CGuiEvent e) in D:\source\jack\dev1\projects\stne\game\UserLib.vb: Zeile 6246.
bei stne.TstneGamePage.CallExecuteAction() in D:\source\jack\dev1\projects\stne\game\WebControls .vb:Zeile 892.
bei stne.wf_Ship.Run() in D:\source\jack\dev1\projects\stne\game\ShipPage.vb :Zeile 57.
bei stne.wf_Game.Page_Load(Object sender, EventArgs e) in D:\source\jack\dev1\projects\stne\game\Game.aspx.v b:Zeile 102.
bei System.Web.UI.Control.LoadRecursive()
bei System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint)
Assembly: stne.dll
Time: 30.01.2012 15:13:50
STNE-Version: 1.0.73.683
Server: DE3
User-ID: 25442
Bei CMyShip sehe ich nämlich auch keine Property, die auf CColony hinweist.
Könnte man deshalb bei CMyship eine Property Colony as CColony einbauen, die falls existierend die Kolonie im Sektor angibt?
lg
Elchi
Da CColony von CSector erbt hätte ich jetzt gedacht man könnte über Ship.Sector nach CColony casten, aber da meckert die Engine dann leider... Da man den Konstruktor von CColony nicht ausführen kann stimme ich dir zu, dass dies weitgehend unnütz ist...
Das einzige, was mir einfiele wäre das "Spieler (ID)"-Objekt zu einem Formular zu adden, das man dann irgendwie mit dem Request-Objekt abrufen kann (der Nutzer muss natürlich noch bestätigen). Beim Rendering werden nämlich auch Kopien des Objekts ausgefüllt. Man KÖNNTE natürlich auch JavaScript benutzen um das Objekt im Browser wieder zurückzuübergeben, aber da kenne ich mich nicht aus.
lg
Elchi