Im Gegensatz zu deiner Lösung muss man sich mit dem Humble-Widget allerdings nicht erst auf eine Klick-Marathon begeben, sondern gibt seine E-Mail-Adresse ein und klickt auf "Kaufen". Die Account-Erstellung kann ja immer noch im Anschluss kommen. So macht das etwa Factorio.
So nach 6 stunden herumeiern damit man das spielekonto dannach auch noch optional mit dem forum account verknüpfen kann, gibts nun auch ein Humble Widget
https://www.vintagestory.at/humblepay.html
Ok, hat gut geklappt. Ist nur ein Tippfehler auf der Seite mit dem Key.
Edit: Und es crasht, wenn ich versuche, mein Passwort einzufügen (mit Strg+V):<br/>10/17/2016 4:55:21 PM: Critical error occurred<br/>System.IndexOutOfRangeException: Index was outside the bounds of the array.<br/>  at System.Windows.Forms.XplatUIWin32.ClipboardAvailableFormats (IntPtr handle) <0x84ddf50 + 0x00088> in <filename unknown>:0<br/>  at System.Windows.Forms.XplatUI.ClipboardAvailableFormats (IntPtr handle) <0x84ddf30 + 0x0001d> in <filename unknown>:0<br/>  at System.Windows.Forms.Clipboard.GetDataObject (Boolean primary_selection) <0x84dc368 + 0x0005b> in <filename unknown>:0<br/>  at System.Windows.Forms.Clipboard.GetDataObject () <0x84dc338 + 0x00013> in <filename unknown>:0<br/>  at System.Windows.Forms.Clipboard.GetText (TextDataFormat format) <0x84dbb38 + 0x00043> in <filename unknown>:0<br/>  at System.Windows.Forms.Clipboard.GetText () <0x84dba00 + 0x00013> in <filename unknown>:0<br/>  at _H4dnsHDM621eaxAxAmA1VXlOg2H.????????????????????????????????????????? () <0x84db9e0 + 0x0000b> in <filename unknown>:0<br/>  at _H4dnsHDM621eaxAxAmA1VXlOg2H._DGVRtPGWhU1VAAIbAFL7nIlmwMp (_1PuWXRgrXJJDubmXlTQLEftvHcc , _5dXygOHBNRDSQfoW322Fg3wnePM ) <0x84d6810 + 0x00807> in <filename unknown>:0<br/>  at _7uMl0npF00mBBq0Nns11evFYMas._DGVRtPGWhU1VAAIbAFL7nIlmwMp (_1PuWXRgrXJJDubmXlTQLEftvHcc , _5dXygOHBNRDSQfoW322Fg3wnePM ) <0x84d66c0 + 0x00103> in <filename unknown>:0<br/>  at _tBKBEgNcJVwG9DaUCzeF8SYl5CJA._DGVRtPGWhU1VAAIbAFL7nIlmwMp (_1PuWXRgrXJJDubmXlTQLEftvHcc , _5dXygOHBNRDSQfoW322Fg3wnePM ) <0x84d6558 + 0x000a3> in <filename unknown>:0<br/>  at _m0eBMC0DUPWvaKkk0lDKIziWY29._DGVRtPGWhU1VAAIbAFL7nIlmwMp (_5dXygOHBNRDSQfoW322Fg3wnePM ) <0x84d6370 + 0x0014f> in <filename unknown>:0<br/>  at _v2SIEpYrCcpfk1bg92Qfz1aIaey._DGVRtPGWhU1VAAIbAFL7nIlmwMp (_5dXygOHBNRDSQfoW322Fg3wnePM ) <0x84d62a8 + 0x0001b> in <filename unknown>:0<br/>  at _t4THl4gb0reVXbXDMuquxga7FQB._DGVRtPGWhU1VAAIbAFL7nIlmwMp (_5dXygOHBNRDSQfoW322Fg3wnePM ) <0x84d5608 + 0x0050f> in <filename unknown>:0<br/>  at _RM34ZmzywvNuZhBIFOJPQX6XAQE._vMJp2XbCDbUZWBp3OLdlJbIF5oA (System.Object , OpenTK.Input.KeyboardKeyEventArgs ) <0x84d5220 + 0x0011e> in <filename unknown>:0<br/>  at (wrapper delegate-invoke) System.EventHandler`1[OpenTK.Input.KeyboardKeyEventArgs]:invoke_void_object_TEventArgs (object,OpenTK.Input.KeyboardKeyEventArgs)<br/>  at OpenTK.NativeWindow.OnKeyDown (OpenTK.Input.KeyboardKeyEventArgs e) <0x84d51f0 + 0x0001f> in <filename unknown>:0<br/>  at OpenTK.NativeWindow.OnKeyDownInternal (System.Object sender, OpenTK.Input.KeyboardKeyEventArgs e) <0x84d51d0 + 0x0001a> in <filename unknown>:0<br/>  at (wrapper delegate-invoke) System.EventHandler`1[OpenTK.Input.KeyboardKeyEventArgs]:invoke_void_object_TEventArgs (object,OpenTK.Input.KeyboardKeyEventArgs)<br/>  at OpenTK.Platform.NativeWindowBase.OnKeyDown (Key key, Boolean repeat) <0x84d4f70 + 0x000b2> in <filename unknown>:0<br/>  at OpenTK.Platform.Windows.WinGLNative.HandleKeyboard (IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) <0x84d41e8 + 0x00113> in <filename unknown>:0<br/>  at OpenTK.Platform.Windows.WinGLNative.WindowProcedure (IntPtr handle, WindowMessage message, IntPtr wParam, IntPtr lParam) <0x1dc9910 + 0x0043f> in <filename unknown>:0<br/>  at (wrapper native-to-managed) OpenTK.Platform.Windows.WinGLNative:WindowProcedure (intptr,OpenTK.Platform.Windows.WindowMessage,intptr,intptr)<br/>  at (wrapper managed-to-native) OpenTK.Platform.Windows.Functions:DispatchMessage (OpenTK.Platform.Windows.MSG&)<br/>  at OpenTK.Platform.Windows.WinGLNative.ProcessEvents () <0x8451f80 + 0x00047> in <filename unknown>:0<br/>  at OpenTK.NativeWindow.ProcessEvents (Boolean retainEvents) <0x1def858 + 0x00067> in <filename unknown>:0<br/>  at OpenTK.NativeWindow.ProcessEvents () <0x1def828 + 0x0001b> in <filename unknown>:0<br/>  at OpenTK.GameWindow.Run (Double updates_per_second, Double frames_per_second) <0x1ded9b8 + 0x0023b> in <filename unknown>:0<br/>  at OpenTK.GameWindow.Run () <0x1ded978 + 0x0001f> in <filename unknown>:0<br/>  at _kT8HV1aWSlpSWfdcAHtR4eSXREA.????????????????????????????????????????? (OpenTK.GameWindow ) <0x1ded950 + 0x00013> in <filename unknown>:0<br/>  at _kT8HV1aWSlpSWfdcAHtR4eSXREA._zj52bZlAEbczkfPcMrtEvQIDCtJ (System.String[] ) <0x1d1e198 + 0x0066b> in <filename unknown>:0<br/>  at _kT8HV1aWSlpSWfdcAHtR4eSXREA+_CIF76MFN5bwjgTil4W63mCvTy5C._FrMUiLGXLdaBD9TByGy2xuOsyAn () <0x1d1c128 + 0x0001b> in <filename unknown>:0<br/>  at _g7TDAtYtW9WfkIZaS93e69wvtky._zj52bZlAEbczkfPcMrtEvQIDCtJ (System.Threading.ThreadStart ) <0x1d1c088 + 0x00025> in <filename unknown>:0<br/>-------------------------------<br/>[Client Fatal] 10/17/2016 4:55:21 PM> Critical Error: Index was outside the bounds of the array.<br/>
(Bin unter Linux/Wine - das Clipboard funktioniert aber korrekt in anderen Windows-Programmen.)
Danke für den Kauf!
Ich würde den tippfehler sehr gerne korrigieren wenn das Humble Dashboard mich nur lässt
Hab mal einen Vorschlag von Stackoverflow eingbaut bezüglich Copy&Paste, vielleicht hilft das in der nächsten Version.
Funktioniert das spiel bei dir ansonsten unter Wine? :o
>Funktioniert das spiel bei dir ansonsten unter Wine?
Ich hatte erst mal keine Lust, das Passwort abzutippen. Das Login-Menü inklusive Musik hat aber zumindest funktioniert ;)
Werde es aber demnächst dann mal versuchen.
>Funktioniert das spiel bei dir ansonsten unter Wine? :o
Hm, das Ergebnis soweit ist "eher nicht". Mit Wine/Mono kommt man nur bis zum Login-Menü, der Internetzugriff schlägt fehl. Mit Wine/.NET 4.0 kommt man rein, aber beim Serverstart wird irgendeine Thread-Funktion verwendet, die es erst seit .NET 4.5 gibt. Mit Wine/.NET 4.5 crasht es beim Start wegen ungültigen Speicherzugriffen. .NET 4.6 hab ich leider nicht installiert bekommen.
Ich hoffe dann einfach mal, dass du irgendwann dazu kommst, es mit Mono lauffähig zu machen ;)
Mit .NET 4.5 crashte es bei mir auch…
Aber mit 4.5.2 (und gemoddeten Shadern weil eben meine Graka mit den freien Treibern das benötigte OpenGL nicht unterstützt) ging bei mir alles bis auf Mauseingaben unter Wine ^^
Und ja, es gibt sowohl 4.5 (dotnet45) als auch 4.5.2 (dotnet452) zur Auswahl bei winetricks.
Fiel mir dann auf als ich zum 2. oder 3. mal 4.5 installiert bekommen hatte (natürlich jedesmal das ganze wineprefix löschen weil es sonst nicht installieren wollte) :<
Ja Mono unterstützung ist in arbeit. Der Server läuft schon unter mono. Danke fürs testen!
Tatsächlich, mit 4.5.2 funktioniert's. Nur den Kopf kann man eben nicht drehen. Die Maus funktioniert aber ansonsten schon in Menüs.
Mein Fehler…
Menü funktioniert.
Aber Ingame macht die Maus halt nix mehr.
Scheint so als wäre die notwendige Funktion in Wine nicht implementiert.
Das hab ich damals bei meinen Versuchen etwas genauer beschrieben…
Es geht doch auch ohne Wine und nur mit Mono, man muss dafür einfach die /usr/lib/libcairo.so.2 zu libcairo-2.so linken.
Hilft bei mir leider nicht
$ mono Vintagestory.exe
Unhandled Exception:
System.EntryPointNotFoundException: LoadLibrary
at (wrapper managed-to-native) _4oOcY35eMKcWOnJnd0fcqrgqGJg:_PmrvhSDOtFVyq5cZyADu4nqUvtF (string)
at _4oOcY35eMKcWOnJnd0fcqrgqGJg._DR7Jidkk3L2a7Mf3E1lm0hU3Rgo (System.String[] ) [0x00083] in <46221be800be4334b21fea91b046119a>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.EntryPointNotFoundException: LoadLibrary
at (wrapper managed-to-native) _4oOcY35eMKcWOnJnd0fcqrgqGJg:_PmrvhSDOtFVyq5cZyADu4nqUvtF (string)
at _4oOcY35eMKcWOnJnd0fcqrgqGJg._DR7Jidkk3L2a7Mf3E1lm0hU3Rgo (System.String[] ) [0x00083] in <46221be800be4334b21fea91b046119a>:0
Dann fehlt bei dir wohl noch irgendeine andere Bibliothek. Mit strace kann man ganz gut sehen, welche Sachen alle versucht werden zu laden (z.B. nach .so greppen).
Hmm, da bekomm ich jetzt keine offensichtlich fehlende Library…
Hast du ein 32 oder ein 64 Bit System?
64 bit, Arch Linux. Wenn cairo fehlt, bekomme ich vor der Exception viele Versuche, die Library an verschiedenen Stellen zu laden (etwa in Lib, ., /usr/lib) und mit verschiedenen Dateinamen-Variationen.
Komisch, hab eigentlich auch 64 Bit Arch.
Aber der Fehler mit cairo kommt auch nicht wenn ich den symlink weglasse.
Es kommen zwar diverse "Fehler" von .dll.so und .exe.so und .dll.config und .exe.config usw,
aber ich denke mal das ist egal weil die eigentliche Datei erfolgreich geöffnet wird.
Direkt vor der Exception öffnet es VintageStoryAPI.dll, danach kommt dieselbe DLL mit den ganzen Suffixes welche nicht existieren.
Dann kommt die Exception.
VintageStoryAPI.dll hat als referenz cairo-sharp.dll, welche wiederum auf libcairo2 refenziert. Hast du die neuste Version von VintageStory? In der neuesten Version gibts besseren Linux support.
Wenn du dir einen Account auf vintgestory.at anlegst kann ich dir auch Zugriff auf das members only board geben - ein user mit dem namen skol baut uns mit etwas glück einen installer. Anscheinend kann man das dll mapping auch mit einer cairo-sharp.dll.config datei machen, weitere details in dem post auf das ich dir zugriff geben kann.
Neuste Version klingt nach nem heißen Tipp :s
Verwirrend, dass Account Manager und vintagestory.at getrennt sind.
Bin jetzt als maxmitti registriert.
Edit: Jetzt hat es sogar gesagt, dass libcairo fehlt (und openal musste ich auch symlinken).
Dann noch die üblichen shader-Anpassungen und es funzt!
Allerdings überlappen sich manche Texte im Menü.
Oh supi! Welche Shader Anpassungen?
Musst noch den Font installieren: assets/fonts/DaelaBol.otf
Dein account hat jetzt zugriff.
Stimmt. Der Font hats gefixt.
Shaderanpassungen wie hier: https://clonkspot.org/forum/topic_show.pl?pid=14958#pid14958
Allerdings musste ich jetzt #version 330 core durch #version 130 ersetzen