[Thema] [batch][vb]Loader für Spiele(DT+YASU) programieren

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von 1bast4, 16. Januar 2007 .

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 16. Januar 2007
    [batch][vb]Loader für Spiele(DT+YASU) programieren

    Update

    Folgendes, im weiteren Verlauf des Threat haben wir folgende .bat zusammen bekommen:
    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    REM Den Daemontools-Prozess, solltest du möglichst nicht als start machen, falls er mal etwas länger braucht...
    "D:\Programme\DAEMON Tools\daemon.exe" -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    REM Hier sieht man eindeutig, dass das erste argument in "" der Titel ist
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Spiel wird gestartet
    REM Das Spiel nicht mit start "xy" starten! sonst werden alle Befehle danach direkt(noch während des Games) ausgeführt (unhide u. unmount)
    "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe" 
    
    ECHO Eingabe wird erwartet
    PAUSE
    
    ECHO Laufwerk wird unhided
    REM hier wieder mit start arbeiten
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Image wird unmountet
    REM hier ist ein "start" wieder überflüssig
    "D:\Programme\DAEMON Tools\daemon.exe" -unmount 0
    Damit starte ich Rainbow Six Vegas+Miniimage+YASU mit nur einem Doppelklick ohne das Miniimage manuell einlegen zu müssen und ohne vorher manuell YASU zu starten.

    Jetzt suche ich eine Möglichkeit eine .bat zu machen, die mich nach dem Start, nach dem Speicherort für deamon.exe, Miniimage, yasu.exe und game.exe fragt und mit diesen Angaben eine .bat wie oben im Code erstellt, damit das ganze einfach für alle Spiele nutzbar ist ohne das manuell immer in der .bat ändern zu müssen.

    Auf hochdeutsch, ich möchte mit Hilfe einer .bat eine .bat mit obigem Inhalt erstellen.

    Ich würde das wie gesagt als .bat begrüssen aber wer Lust hat darf sich da gern auch in VB oder was anderem darin versuchen.
     
  2. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    wo liegt die R6Vegas.exe?
    ansonsten dürfte das eigentlich alles realisierbar sein... YASU weiß ich grad nicht was das ist (ich vermute SafeDisc-Hider o.Ä.) werd mal grad gucken... ansonsten bin ich schon so weit:
    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    D:\Programme\DAEMON Tools\daemon.exe -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    start "D:\Programme\YASU_105\yasu.exe -s"
    ECHO Spiel wird gestartet
    "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe"
    ECHO Laufwerk wird unhided
    start "D:\Programme\YASU_105\yasu.exe -s"
    ECHO Image wird unmountet
    D:\Programme\DAEMON Tools\daemon.exe -unmount 0
    ECHO Eingabe wird erwartet
    PAUSE
    greetz shockwave
     
  3. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    schau mal hier, hab was schönes gefunden: Google ist dein Freund

    optional das hier, was deamon tools angeht: Link
     
  4. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Um das Spiel wie gewünscht zu starten habe ich nun folgendes versucht:
    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    "d:\Programme\DAEMON Tools\daemon.exe" -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    "D:\Programme\YASU_107\yasu.exe" -s 
    ECHO Spiel wird gestartet
    "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe"
    ECHO Eingabe wird erwartet
    PAUSE
    Das führt aber dazu das die Laufwerke nicht gehidet werden, sprich der Parameter -s funktioniert nicht.
    Sonst gehts, Image wird gemountet und Spiel gestartet.(Mit Fehlermeldung wegen fehlender Originaldisk)
    Wenn ich stattdessen
    Code:
    "D:\Programme\YASU_107\yasu.exe"
    eingebe, kommt das Fenster von YASU, wo mir gesagt wird das die Laufwerke versteckt werden und ich OK drücken muss. Danach rührt sich aber nichts mehr, sprich das Spiel wird nicht gestartet.

    Gibts ne andere Möglichkeit YASU zu starten ohne -s und ohne das ich das bestätigen muss?
    Und ohne das die Verarbeitung nach diesem Befehl stehen bleibt.
     
  5. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Weil Batch nunmal wartet bis die Anwendung beendet ist...
    Ich glaub du solltest es mal mit VB o.Ä. versuchen.

    mfg r90
     
  6. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Das ist mir bewusst, aber von VB habe ich gar keine Ahnung, bei batch is wenigsten noch ein wenig Verständnis da, das muss sich doch aber auch über batch realiesieren lassen oder nicht.
     
  7. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    nix da das geht auch so

    versuchs mal mit 'start' vor den pfaden, dann wartet er nicht bisses beendet wird

    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    start "d:\Programme\DAEMON Tools\daemon.exe" -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    start "D:\Programme\YASU_107\yasu.exe" -s 
    ECHO Spiel wird gestartet
    start "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe"
    ECHO Eingabe wird erwartet
    PAUSE
    
     
  8. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Dann bekomme ich fehlermeldungen, -s konnte nicht gefunden werde und -mount konnte nicht gefunden werden.
     
  9. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    lol wenn du "start "xy"" machst, ist xy der Fenstertitel. Eigentlich müsste es so gehen:
    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    REM Den Daemontools-Prozess, solltest du möglichst nicht als start machen, falls er mal etwas länger braucht...
    "D:\Programme\DAEMON Tools\daemon.exe" -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    REM Hier sieht man eindeutig, dass das erste argument in "" der Titel ist
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Spiel wird gestartet
    REM Das Spiel nicht mit start "xy" starten! sonst werden alle Befehle danach direkt(noch während des Games) ausgeführt (unhide u. unmount)
    "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe"
    ECHO Laufwerk wird unhided
    REM hier wieder mit start arbeiten
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Image wird unmountet
    REM hier ist ein "start" wieder überflüssig
    "D:\Programme\DAEMON Tools\daemon.exe" -unmount 0
    ECHO Eingabe wird erwartet
    PAUSE
    Das einzige Fenster was dann am Ende kommt, ist ob du wirklich YASU beenden und somit die laufwerke unhiden willst. Ich glaube das kann man aber auch nicht wegbekommen.

    greetz shockwave
     
  10. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Das funtioniert fast super, danke.
    Es kommt am Ende kein Fenster ob ich die Laufwerke unhiden will. Ein anschliessender Klick auf die yasu.exe bestätigt mir das, daß die automatisch wieder unhided wurden.
    Durch Deine .bat das Image gemountet, die LW gehidet und das Spiel gestartet.
    Allerdings wurde der unmount wie auch yasu.exe -s auch sofort wieder ausgeführt, was wiederum zur Fehlermeldung wegen keiner DVD im Laufwerk führt.
    Ich habe das nun noch etwas geändert damits funktioniert:
    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    REM Den Daemontools-Prozess, solltest du möglichst nicht als start machen, falls er mal etwas länger braucht...
    "D:\Programme\DAEMON Tools\daemon.exe" -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    REM Hier sieht man eindeutig, dass das erste argument in "" der Titel ist
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Spiel wird gestartet
    REM Das Spiel nicht mit start "xy" starten! sonst werden alle Befehle danach direkt(noch während des Games) ausgeführt (unhide u. unmount)
    "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe"
    [color=#FF0000]
    ECHO Eingabe wird erwartet
    PAUSE[/color]
    
    ECHO Laufwerk wird unhided
    REM hier wieder mit start arbeiten
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Image wird unmountet
    REM hier ist ein "start" wieder überflüssig
    "D:\Programme\DAEMON Tools\daemon.exe" -unmount 0
    Nun wartet die .bat nach dem Spielstart auf eine Eingabe und ich kann zocken.
    Nach Spielende drücke ich dann eine Taste und die .bat wird zu Ende abgearbeitet.

    Kann man die .bat irgendwie anweisen, das sie warten soll bis das Spiel beendet ist und erst dann diese Befehle:
    Code:
    ECHO Laufwerk wird unhided
    REM hier wieder mit start arbeiten
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Image wird unmountet
    REM hier ist ein "start" wieder überflüssig
    "D:\Programme\DAEMON Tools\daemon.exe" -unmount 0
    abarbeitet, ohne das ich was drücken muss?
    Ich hab was von einer wait.exe gelesen für so etwas, kann da aber nicht viel mit anfangen.
     
  11. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    hmm so wie es aussieht, ist die "r6vegas.exe" nur eine Art Link zum Game bzw. sie startet erst die Engine. Daher würde ich sagen nein. Du könntest (theoretisch) sicherlich irgentwie die aktuellen Tasks immer überprüfen lassen und sobald ein bestimmter Prozess (also in dem Fall der von der Engine) beendet ist, wird der Rest ausgeführt. Aber ich befürchte, dass das ganze etwas zu kompliziert ist und der Aufwand nicht umbedingt lohnt (ob man nun einmal am Ende 'ne Taste drückt, oder nicht, ist ja relative egal).
    Ansonsten musste dir von den VB-Leutz was nettes machen lassen...

    greetz shockwave
     
  12. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Dann lass ich das erstmal so stehen, vllt findet sich hier ja ein VB Begabter^^

    Kann man nicht auch eine .bat machen, wo man nach dem Start erst die Speicherorte für yasu.exe, deamon.exe, Miniimage und Spiel.exe eingeben muß, und die dann mit diesen Angaben eine .bat wie sie oben zu sehen ist erstellt?

    Also so das ich die .bat starte, dann eingeben muss wo alle diese Dateien liegen und diese .bat mir dann eine .bat nach diesem Muster erstellt?
    Code:
    ECHO OFF
    CLS
    ECHO Image wird gemountet
    REM Den Daemontools-Prozess, solltest du möglichst nicht als start machen, falls er mal etwas länger braucht...
    "D:\Programme\DAEMON Tools\daemon.exe" -mount 0, "F:\Miniimages\ns-R6VEGAS_mi\ns-R6VEGAS_maxi-poseden.mds"
    ECHO Laufwerk wird gehided
    REM Hier sieht man eindeutig, dass das erste argument in "" der Titel ist
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Spiel wird gestartet
    REM Das Spiel nicht mit start "xy" starten! sonst werden alle Befehle danach direkt(noch während des Games) ausgeführt (unhide u. unmount)
    "F:\Spiele\Tom Clancy's Rainbow Six Vegas\Binaries\r6vegas.exe" 
    
    ECHO Eingabe wird erwartet
    PAUSE
    
    ECHO Laufwerk wird unhided
    REM hier wieder mit start arbeiten
    start "Y.A.S.U.-Fenster" "D:\Programme\YASU_107\yasu.exe" -s
    ECHO Image wird unmountet
    REM hier ist ein "start" wieder überflüssig
    "D:\Programme\DAEMON Tools\daemon.exe" -unmount 0
    
     
  13. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Hmm hab da mal grad was geproggt, was sich an deinem letzten Post orientiert. Ist in c++ geschrieben und ist eigentlich relativ einfach zu verstehen. Du machst dir einmal ne Verknüpfung zu dem Programm, in der du dann noch die Pfade zu den Programmen (D-Tools und YUSA, also die die du immer brauchst) und den Device angibst. Dann einfach für jedes neue Game doppelklick auf die Verknüpfung, den anweisungen folgen und schon wird dir direkt eine .bat wie oben erstellt.
    Hier der download
    Und jetzt noch die Readme:
    Code:
     1. Einfach eine Verknuepfung zu dem Programm erstellen (Rechtsklick-->
     Verknuepfung erstellen)
     
     2. Eigenschaften der Verknüpfung aufrufen (Rechtsklick-->Eigenschaften)
    
     3. Im Eingabefeld "Ziel" hinter das bisherige noch "-YASU "<PfadZurYasu.exe>" 
     -DTDir "<PfadZurDTool.exe>" -Device <DeviceNr>" schreiben.
    
     Beispiel: D-T+YASU+Game=bat.exe -YASU "D:\Programme\YASU_107\yasu.exe" 
     -DTDir "D:\Programme\DAEMON Tools\daemon.exe" -Device 0
    
     4. Auf OK klicken
     5. Doppelklick auf die Verknuepfung
     6. Dem Programmverlauf folgen ^^
    
    Referenz: 
     - hinter -YASU muss der Pfad (in Anfuehrungszeichen) zur YASU.exe stehen
     - hinter -DTDir muss der Pfad (in Anfuehrungszeichen) zur daemon.exe stehen
     - hinter -Device muss die Nr. des anzusprechenden Devices (bei DaemonTools)
     stehen
    
    HF & GL wuenscht thecoolman4rr
    mfg thecoolman4rr
     
  14. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Das ist so ned schlecht, aber zu viel rumgefriemel. Also das mit der Extra Verknüpfung.
    Da kann ich ebensogut die .bat manuell ändern.
    Am besten wäre eine .exe die starte ich, dann geht ein Fenster auf in dem ich dann nacheinander die Speicherorte der Dateien angebe, dann drück ich ok und mit diesen Infos erstellt es mir dann die .bat wie oben beschrieben oder ne .exe mit dem selben Inhalt. An einem frei wählbaren Ort.

    Das währe dann ein Loader für Spiele die DT+YASU brauchen, der völlig unabhängig von Spiel, YASU Version und Deamon Tools Version sowie deren Speicherort ist. Solange er im Paket zusammen mit YASU und DT angeboten/genutzt wird.
     
  15. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    öhm ich glaub du hast das nicht verstanden ^^ du machst ein einziges mal die Verknüpfung... danach kannst du sie für jedes Game benutzen.
    Ich kann es natürlich auch so machen, dass du jedes mal auch noch die Speicherorte von D-Tools und YASU sowie den Device angeben musst... aber das ist doch bescheiden, jedes mal das selbe einzufügen, wenn man es auch einmal "fest" machen kann, oder?

    mfg thecoolman4rr
     
  16. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Er meint glaube ich einfach ein programm mit dem man die bat dateien erzeugen kann sprich nen programm wo man dann die ganzen pfade eingibt und der einem dann die fertige bat auspuckt!

    Knusperkeks
     
  17. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Hmm, dann nehm ich das mit der Batchdatei zurück, is zu umstädlich den Pfad per Hand einzutippen.
    Am besten halt mit Fenstern so das man jür jedes Spiel dann einmal alle Pfade über nen Fenster mit der Maus angibt und dann jeweils ne start.bat bekommt.
     
  18. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Aber dann ist wieder die frage ob du für jedes spiel das yasu tool brauchst usw .....

    weil wenn ja dann kann man sowas leicht programmieren!


    Knusperkeks
     
  19. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Da hast Du natürlich Recht, kann man nicht auch YASU optional einbauen?
    So das, wenn man beim YASU Pfad keine Angabe macht, das in der start.batch auch nicht berücksichtigt wird, dann könnte das jeder nutzen, der Spiele mit Miniimages spielt.
    Wenn Du das kannst, dann versuch dich mal dran, ich weiß zwar ned wie lang sowas dauert usw, würde mich aber drüber freuen.
     
  20. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    so ick habs jetzt noch darum erweitert, dass man beim ersten starten die "dauerhaften" Daten eingibt und bei belieben in einer .bat-datei speichern kann.
    hier gibt's das update =).
    Evt. werd ich gleich noch ne Version reineditieren, bei der man alles per Parameter eingeben kann, damit jeder vbler in 0,nix da grad ne API für machen kann (sowas mit klickibunti ) allerdings ist der Sinn dann fraglich, da er dann auch gleich die ganze .bat machen kann ^^

    mfg thecoolman4rr
     
  21. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Läuft aber auch wieder mit ner Extra Verknüpfung und noch komplizierter, ich vertrau mal auf Knusperkeks ich glaub der weiß was ich meine.
     
  22. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    du kannst es aber auch jedesmal wieder neu eingeben wenn du willst ^^ (zu mindest bei der letzten Version)
    aber ich glaub was du eigentlich willst, ist ein klickibunti-fenster (wie thecoolman4rr schon sagte) bei dem man dann auf "Durchsuchen" klickt, die exe auswählt, beim nächsten auf Durchsuchen klickt und auswählt, am Ende dann auf Generate klickt und ferdisch, oder?
    Das könnt man in C++ zwar auch machen aber wäre etwas zu umständlich und ich zumindest bräuchte Jahre , vorallem kann das ein vbler in wenigen Minuten (ich geb ihm 20 maximal=)) machen.

    greetz shockwave
     
  23. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Genau sowas meine ich, hat ja lang genug gedauert. Aber so ist das nunmal bei mir^^
    Das man das halt alles für jedes Spiel neu eingeben muss soll ja nicht stören, soll ja nicht nur mir dienen und so kanns dann jeder andere auch nutzen.
     
  24. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    lol
    ich muss shockwave voll und ganz rechtgeben was die Windows-API in C++ betrifft... hab grad mit darkraven usw. im irc palabert und die meinten nur, dass das in vb wirklich nur ne Sache von nen paar Minuten wäre (ich glaube weil man sich die Sachen "zusammenklicken" kann).
    Daher überlass ich das mal lieber 'nem vbler...
    Du kannst ja e'n Beitrag im "Der Ich-suche-Programmierer-Thread" aufmachen...

    mfg thecoolman4rr
     
  25. 16. Januar 2007
    AW: [batch]Kommandozeile für Deamon Tools möglich?

    Jo sitz gerade drann wenne nen bissl gedult hast dann kannste es haben!


    Knusperkeks
     
  26. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.