This Cloud

MyTechZone 2


0
Online

2.6k
Users

1.2k
Topics

9.4k
Posts

Recent Posts

  • Ihr sucht eine einfache Möglichkeit, eine bestimmte Aktion in einem Spiel zu automatisieren ? Dann scheut euch diesen Code an!

    Funktionsweise
    Diese Klasse funktioniert nur auf Windows da hierfür die user32.dll import werden muss, welche auf Linux nicht exisitert. Einfach erklärt benutzt die Klasse die von Windows implementierten Funktionen, welche Interaktionen auf Programme, wie zum Beispiel Mausklicks, zulassen bzw simulieren.

    Ihr könnt die aktuellste Version auf Github finden.

    Quellcode
    Eine funktionierende Version der Klasse:

    class Simulator { [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern int SendMessage(IntPtr hWnd, int Msg, int wParam, int lParam); public const int MOUSE_LEFT_BUTTON = 0x0001; public const int MOUSE_LEFT_DOWN = 0x0201; public const int MOUSE_LEFT_UP = 0x0202; public const int MOUSE_RIGHT_BUTTON = 0x0002; public const int MOUSE_RIGHT_DOWN = 0x0204; public const int MOUSE_RIGHT_UP = 0x0205; public const int MOUSE_MOVE = 0x0200; public static bool SendMouseHold(string WindowName, bool useLeft, int x, int y) { IntPtr hwnd = GetHWND(WindowName); int mouse = MOUSE_RIGHT_BUTTON, mouseDown = MOUSE_RIGHT_DOWN; if (useLeft) { mouse = MOUSE_LEFT_BUTTON; mouseDown = MOUSE_LEFT_DOWN; } SendMessage(hwnd, MOUSE_MOVE, 0, MakeCordinate(x, y)); SendMessage(hwnd, mouseDown, mouse, MakeCordinate(x, y)); return false; } public static bool SendMouseClick(string WindowName, bool useLeft, int x, int y, int clickCount) { IntPtr hwnd = GetHWND(WindowName); int mouse = MOUSE_RIGHT_BUTTON, mouseDown = MOUSE_RIGHT_DOWN, mouseUp = MOUSE_RIGHT_UP; if (useLeft) { mouse = MOUSE_LEFT_BUTTON; mouseDown = MOUSE_LEFT_DOWN; mouseUp = MOUSE_LEFT_UP; } for(int i = 0; i < clickCount; i++) { SendMessage(hwnd, MOUSE_MOVE, 0, MakeCordinate(x, y)); SendMessage(hwnd, mouseDown, mouse, MakeCordinate(x, y)); SendMessage(hwnd, mouseUp, mouse, MakeCordinate(x, y)); } return false; } public static int MakeCordinate(int LoWord, int HiWord) { return (HiWord * 0x10000 | LoWord & 0xFFFF); } public static IntPtr GetHWND(string WindowName) { IntPtr hWnd = IntPtr.Zero; foreach (Process pList in Process.GetProcesses()) { if (pList.MainWindowTitle.Contains(WindowName)) { hWnd = pList.MainWindowHandle; } } return hWnd; } }

    Nachdem ihr die Klasse eingebunden habt könnt ihr nun z.b. folgendes aufrufen:

    Simulator.SendMouseClick("Test", true, 0, 0, 10);

    Damit wird 10 mal ein Linksklick auf dem Fenster Test auf den Koordinaten (0,0) simultiert.

    Fals ihr Verbesserungsvorschläge habt, lasst es mich wissen!

    Todo

    Weitere Tasten einfügen Neue Funktionen hinzufügen (z.b. gedrückt halten und von Position A nach B wandern) Linux-Kompatiblität

    read more
  • Ihr wolltest schon immer mal eine responsive Timeline, ohne dabei viel Zeit zu investieren? Dann seid ihr hier genau richtig!
    Unbenannt.png

    HTML:

    <ol class="list-unstyled ml-5 timeline"> <li> <h5>test</h5> <p> </p> </li> <li> <h5>test</h5> <p> </p> </li> <li> <h5>test</h5> <p> </p> <p> </p> </li> <li> <h5>test</h5> <p> </p> </li> </ol>

    CSS:

    .timeline:before, .timeline:after { content: ""; background: #ffc107; width: 5px; height: 60px; position: absolute; z-index: 2; margin: 0 0 0 -1px; } .timeline:after { height: 90px; margin: -80px 0 0 -1px; } .timeline>li { border: 2px solid; border-color: black !important; margin: 0 0 -2px 0; padding: 30px; counter-increment: li; position: relative; width: 42rem; } .timeline:nth-child(odd):before, .timeline:nth-child(even):before { content: counter(li); display: flex; -ms-flex-pack: center!important; justify-content: center!important; -ms-flex-align: center!important; align-items: center!important; position: absolute; border-radius: 50%; height: 50px; width: 50px; background-color: black; color: white; font-weight: bold; z-index: 3; } .timeline:nth-child(odd):before { right: 100%; margin-right: -25px; } .timeline:nth-child(even):before { left: 100%; margin-left: -25px; } .timeline:nth-child(odd) { border-right: none; border-left: 2px solid; border-top-left-radius: 10px; border-bottom-left-radius: 10px; margin-right: 30px; padding-right: 0; } .timeline:nth-child(even) { border-left: none; border-right: 2px solid; border-top-right-radius: 10px; border-bottom-right-radius: 10px; margin-left: 30px; padding-left: 0; text-align: right; } .timeline:first-child { border-top: none; border-top-right-radius: 0; border-top-left-radius: 0; } .timeline:last-child { border-bottom: none; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }

    Die Funktionsweise, ist dabei recht simpel. Es wird eine sorted List hierfür verwendet, welche gezielt die Zahlen formatiert und die Border-Eigenschaften an richtiger Stelle eingeblendet und gerundet.

    Falls ihr Fragen, oder Verbesserungen habt, dann schreibt es mir!

    Livecode kommt noch!

    read more
  • Cave Survivors ist ein weiteres Spielkonzept von mir. Vom Spielkonzept her soll es wie Fallout Shelter her sein. Mit dem Unterschied, dass es mehr Gebäude geben soll und weitere Mechaniken geplant sind.

    Genre
    Das Genre des Spiel gehört zu Konstruktions- und Managementsimulation

    Story
    Nachdem ein Raumschiff auf einem Planeten mit schädlicher Oberfläche abstürzt, versuchen die Überlebenden im Untergrund zu überleben. Es gibt viele Gefahren, welche beseitigt werden müssen.

    So gibt es Löcher, welche bis zur Oberfläche reichen und abgedichtet werden müssen. Seltsame Kreaturen, welche am Anfang recht freundliche erscheinen.

    Auch muss man sich um die Bedürfnisse der Bewohner kümmern. Am Anfang sind diese nur auf Überleben aus, aber entwickeln mit der Zeit immer weitere Bedürfnisse.

    Steuerung
    Das Spiel wird in einer zweidimensionalen Ansicht dargestellt und orientiert sich hierbei an die Steuerung von Fallout Shelter.

    Ziel
    Ziel des Spieles ist es, auf dem Planeten zu überleben, möglicherweise die Oberfläche benutzbar zu machen, oder das Raumschiff zu reparieren um vom Planeten wieder zu entkommen.

    Vielleicht habt ihr ja Vorschläge oder konkrete Ideen, dann postet sie doch hier!

    read more
  • Wolltet ihr euch schon immer mal mit Solarzellen auseinander setzen und besser kennenzuleren? Hattet aber zu wenig Platz oder Geld für eine teure Anlage ?

    Dann seid ihr hier genau richtig!
    Ich möchte euch mein Konzept für eine solche Anlage zeigen. Preis einer solchen Anlage belaufen sich mit einer einzelnen Solarzelle, einem billigen Akku und ohne Wechselrichter auf ca. 150€.

    Da ich nicht Werbung für ein einzelnes Produkt/Händler machen möchte, würde ich nur die einzelnen Spezifikationen nennen!

    Preise der einzelnen Bauteile:

    1x Solarzelle ca. 100€, 1x Ladekontroller (hierfür einfach nach "mobiler Solarzellen Ladekontroller" suchen), je nach Qualität und maximaler Ampere-zahl von 15€-55€ 3x Sicherungen 5€ (ggf müsste man hierfür Löten oder die Kabel auf geeignete weiße mit der Sicherung verbinden) 1x Bleiakku 30€ (12Ah) oder 1x Lithium-Akku ab 50€ Kabel für Verbindungen (diese müssen für Strom und Spannung geeignet sein!)

    Solange die Solarzellen die selbe Spannung liefern, wäre es auch möglich Zellen mit verschiedenen größen zu kombinieren. Die Sicherungen müssen aber dementsprechend angepasst werden! Die Solarzellen müssen hierbei in Reihenschaltung an den Ladekontroller angeschlossen werden, da die Spannung gleich bleibt, aber die Stromstärke steigt. Hierbei sollte auch darauf geachtet werden, dass die Solarzellen mit einer Diode in Stromrichtung versehen sind (wegen der Solarzellen verschattung)!

    Bei den Lithium-Akku kann man auch kleiner Akkus zu einem großen zusammenschalten, hierfür ist aber technisches Wissen gefragt!

    Konzept der Anlage:
    circuit.png

    Bauteile:

    Solarzelle (entweder 12v oder 24v nicht mischen!) Ladekontroller für Solarzellen (meist für Bote, Wohnmobile oder sonstiges) mit 5V-USB slots Akku (12V Blei oder 12V Lithium) Stromkabel (vom Typ IP 67), welche für 24v und max 25A ausgelegt sind Sicherungen für Solarzelle (dort max-Wert der Ampere) und Sicherungen für den Akku Ladekontroller für einzelne Lithium-Akkus (fals dieser keine 12V liefert und zum Schutz vor dem Ladestrom)

    Nachdem erfolgreichen Zusammenbauen kann man an den Akku auch einen Wechsetrom-Wander anbringen. Mit diesem 220V Wandler können dann (wenn der Akku genug Strom zur verfügung stellen kann), handelsübliche Geräte benutzt werden.

    Achtung! Man sollte sich mit der Materie auskennen, falls man keinen Blei-Akku benutzt, da hier die Gefahr bestehen kann, dass die Lithium-Akkus (oder andere Akku-Typen) feuer fangen können wenn sie nicht ordnungsgemäß Geladen und Entladen werden!

    Viel spaß beim Experimentieren, aber bitte macht es Vorsichtig!

    read more
  • Ich möchte euch Planet Prospectors vorstellen, ein Spiel an dem ich seit langer Zeit arbeite.

    Genre

    Es handelt sich um ein RTS (Echtzeit Strategie) Spiel in dem es darum geht in Höhlen Ressource zu sammeln und seine Basis weiter auszubauen.

    Story

    Ihr seid der Besitzer und Kapitän eines Raumschiffes, dass auf Handelsrouten durch den Weltraum fliegt. Ein unvorhergesehenes Ereignis änderte den Kurs des Raumschiffs jedoch, sodass es direkt in ein Wurmloch manövriert.

    Alle an Board sind bewusstlos, als sie das Wurmloch betraten. Nachdem die Crew wieder aufwacht war, bemerkten sie, dass sie in einer völlig unbekannten Position des Universums gelandet sind (wenn es noch das selbe Universum ist).

    Zu diesem Zeitpunkt wurde ihnen auch klar, dass das Schiff beschädigt ist, weder Antrieb noch Schild waren funktionsfähig. Lediglich die Notbeleuchtung und Kurzraum-Teleporter funktionieren noch. Zum Glück befinden sie sich in der Umlaufbahn eines Planeten, sodass sofort ein Team zur Erkundung zusammengelegt wird.

    Hier beginnt das Spiel.

    Steuerung

    Das Spiel soll so ähnlich von der Steuerung wie Anno oder Suprime Commander sein. Also sowohl von der Bewegung wie auch der Blickrichtung.

    Ziel

    Ziel des Spieles ist es, das Raumschiff wieder zu reparieren und einsatzfähig für einen Weiterflug zu machen. Dafür werden die Ressource des Planeten benötigt.

    Roadmap
    Schaut euch die Roadmap des Projektes an. Dort könnt ihr momentane Aufgaben und zukünftige Features betrachten.

    Release 0.1
    Die erste Spielbare Version hatte ich für November-Dezember 2020 geplant. Hierbei soll die Steuerung vollständig funktionieren, sowie die Grundfunktionen wie das Sammeln von Ressourcen, das Bauen von Gebäuden und das Bewegen der Einheiten.

    read more
Impressum - Datenschutz - MyTechZone © 2018

Looks like your connection to MyTechZone 2 was lost, please wait while we try to reconnect.