Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Entwickler>Zu doof für AppleScript...

Zu doof für AppleScript...

Hugoderwolf02.07.0419:24
Vielleicht kann mir jemand helfen, ich probiere mir hier schon eine Weile 'nen Wolf.

Ich habe von meiner Warcraft3-CD ein Image gezogen um die CD nicht immer dabei haben zu müssen wenn ich zocken will (iBook). Jetzt will ich folgendes Script haben:

Image mounten
Warcraft starten
warten bis Warcraft beendet ist
Image auswerfen

Kann eigentlich nicht so schwer sein. Die Aufnehmen-Funktion vom Skripteditor nimmt allerdings nur den Focus auf das Finderfenster auf und sonst nix. Und mit den Skript-Dokus komme ich auch mal so gar nicht klar...

Habe bisher sowas probiert:

tell application "Finder"
open "/users/christian/Warcraft III.dmg"
open "/Applications/Spiele/WARCRAFT III - Ordner/Warcraft III"
eject "Warcraft III"
end tell

Fehlermeldung: "/users/christian..." kann nicht gelesen werden... Aber so wie das aussieht, wird das Image ohnehin direkt nach dem Start von Warcraft ausgeworfen und nicht erst nach dem Beenden. Wenn ich nur so weit kommen würde.

Hilfe!
0

Kommentare

Rantanplan
Rantanplan02.07.0419:44
Bei AppleScript scheitere ich auch ständig

Aber so gehts:

do shell script ("hdiutil mount \"/Users/christian/Warcraft III.dmg\"")
„Wenn ich nicht hier bin, bin ich auf dem Sonnendeck“
0
Jörg
Jörg02.07.0419:45
so geht es wahrscheinlich sowieso so nicht.

das image muss doch meistens von toast gemountet werden, so dass es als richtige (physikalische) cd erkannt wird.

mit dem apple disk image mounter gibt es oft probleme, weil das spiel erkennt, dass es ein image (und keine physikalische CD !!) ist.

wenn es aber auch so geht, hast du in diesem Fall Glück gehabt !
0
Hugoderwolf02.07.0422:07
@Rantanplan: Wird gleich getestet, danke!

@Jörg: Bei Warcraft III geht das auf jeden Fall und bei Diablo II auch. Ich mach das seit jeher so, nur jetzt bin ich endlich auf die Idee mit dem Script gekommen.

Und wie frage ich ab, ob Warcraft beendet ist?
0
Hugoderwolf02.07.0423:07
So, es scheint jetzt zu klappen.

do shell script ("hdiutil mount -noverify \"/Users/christian/Warcraft III.dmg\"")
tell application "Warcraft III"
open
end tell
tell application "Finder"
eject "Warcraft III"
end tell

Kann mir noch jemand sagen, wie ich dem Skript jetzt ein schickes Icon gebe oder ist das nicht möglich?
0
kester02.07.0423:18
Hugoderwolf
Und wie frage ich ab, ob Warcraft beendet ist?

Tja, das geht schon, aber dann müsstes du in regelmäßigen Abständen abfragen, ob das Programm noch läuft.

Icon? Kopier doch einfach das Warcraft Icon aus dem Info-Fenster und setz' es beim Script wieder ein.
0
Hugoderwolf03.07.0402:19
Also scheinbar funktioniert es auch so mit meinem Script. Warcraft startet und spielen kann ich auch.

Mit dem Icon kopieren habe ich versucht. Aber das klappt nicht. Weder per Drag&Drop noch per Apfel-C...
0
kester03.07.0411:48
Copy&Paste sollte aber funktionieren. Du öffnest die Info-Box von Warcraft, klickst auf das Icon und kopierst es mit -C. Anschließend öffnest du die Info-Box des Skripts, klickst auf das Icon und setzt das kopierte mit -V ein.
0
Hugoderwolf03.07.0414:08
Oh Jungs, ich bin doof! Hab das Icon in der "Übersicht" markieren wollen, ging aber natürlich nicht. Habs jetzt hingekriegt.
Mein Image wird auch brav geschlossen, aber ich muss gleich mal erforschen, ob das nach Spielende geschieht oder schon kurz nachdem die CD abgefragt wird. Möglicherweise wird die CD während des Spiels gar nicht gelesen?
0
kester03.07.0414:15
Hugoderwolf
Oh Jungs, ich bin doof!

So lautete doch schon die Überschrift, oder? Nix für ungut, kann jedem mal passieren.
0
Hugoderwolf03.07.0414:19
Habe auch gerade mal per Messagebox getestet, wann das Image wieder ausgeworfen wird. Das passiert direkt nach dem Start von Warcraft. Doof. Aber laufen tut's...
Zur Vorsicht nehme ich den eject wieder raus und werfe das Ding per Hand raus.
0
Pinguin03.07.0414:36
warum nimmst dus raus?
ist doch egal...
hauotsache es klappt!
0
darkzida03.07.0420:51
Tja, mit Warcraft 3 TFT scheint das Ganze nicht zu gehen... Erstens geht es nicht, mit dem Festplatten-Dienstprogramm ein .dmg zu erstellen, und zweitens, wenn ich es mit dd if=/dev/disk2s1s2 of=image.img auf die Festplatte kopiere und dann mounte, will WC3 trotzdem die richtige CD haben. Toast habe ich leider nicht. Weiß jemand eine andere Lösung?
0
TimSK
TimSK03.07.0421:45
Lad dir das Demo runter und probier damit...


Dann machst du mit dem Festplattendienstprog. aus dem .toast ein .dmg
(unter image)
0
TimSK
TimSK03.07.0421:46
Oh MIST! müll-Link... sorry!
0
TimSK
TimSK03.07.0421:52
Schon mal im Festplattendienstprog.:
Images - neu - Image von (Gerät ausw.) versucht?
0
darkzida03.07.0422:06
@TimSK: Das mit dem Festplattendienstprog habe ich schon versucht... geht leider nicht Er sagt immer "Ungültiges Argument"...
0
TimSK
TimSK03.07.0422:11
ich kann die leider nicht genau sagen, was du da tust! aber nach eingabe diese terminal-befehls, konnte ich ein image für mein simcity machen...

defaults write com.apple.diskcopy expert-mode 1

(Stammt von MSJ)
0
darkzida03.07.0422:22
Geht leider immer noch nicht...
0
TimSK
TimSK03.07.0422:32
hast du das programm neu gestartet? - ich suche neben bei ein sharewaretool zum image machen...
0
TimSK
TimSK03.07.0422:36
Ich glaub ich habs:
du musst die session nicht nicht wie bei mir zB simcity ausgewählt haben!(Siehe links)
Wenn ich simcity ausgewählt hab, kommt der selbe fehler wie bei dir...
0
darkzida03.07.0422:37
Programm neu starten bringt gar nichts... nur CD unmounten, mit dem Erfolg dass das Disk-Utility hängen bleibt...
0
darkzida03.07.0422:44
Juhu! Juhu! Juhu!

Es funktioniert! Danke, Danke, Danke!
0
TimSK
TimSK03.07.0422:45
Wie schön!
0
Agrajag03.07.0413:12
Hugoderwolf<br>
Also scheinbar funktioniert es auch so mit meinem Script. Warcraft startet und spielen kann ich auch.
<br>Wird das Image denn auch wieder geschlossen, wenn du das Spiel beendet hast? Ich würde sonst vermuten, dass er zwar versucht das Image zu schliessen, was aber nicht geht, weil eine Datei geöffnet ist. Danach dürfte er es doch nicht mehr erneut versuchen -- das Image müsste offen bleiben. Oder nicht?
0
Agrajag03.07.0413:35
Ach, und falls du doch mal ein Image mit Toast mounten musst, dann schau dir mal ToastMount an. Das Teil funktioniert wie DiskImageMounter (was normalerweise Images mountet), benutzt aber Toast (ohne es zu starten), um das Image zu mounten. Geht fix.
0
Geoman
Geoman17.07.0400:27
do shell script ("hdiutil mount -noverify \"/Users/christian/Warcraft III.dmg\"")
<br>delay 0.5
<br>
<br>tell application "Warcraft III"
<br>open
<br>end tell
<br>
<br>tell application "Finder"
<br>eject "Warcraft III"
<br>end tell
<br>
<br>Hier deine Ergänzung
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.