|
|
|
 |

January 8th, 2007, 08:08 PM
|
 |
Sergeant
|
|
Join Date: Apr 2004
Location: Tampa Bay, Florida, USA
Posts: 327
Thanks: 5
Thanked 33 Times in 11 Posts
|
|
Applescript PBEM support
For us Mac users who host PBEM games - I kludged an applescript to create a drag-and-drop utility that the host (on an OSX Mac) can use to automatically send a PBEM file out to all of her/his players. Since I didn't add much, I leave the original author's credits intact:
Quote:
(* Send Attachment Droplet 1.2 by Joel Swenson, Copyright � 2006
Free for personal use
Modified and expanded version of Apple sample code "Create New Message", Copyright � 2002 Apple Computer
Version History:
1.2 More efficient script, identical functionality.
1.1 Available as a script, instead of application, so that it is more easily editable by other users. Must be saved as an application for droplet function to work.
Added "on run" functionality, prompting user to choose a file to attach.
1.0 Original release
*)
global theSender, theBody, theSubject, theAttachment
on open theFiles
repeat with oneFile in theFiles
tell application "Finder"
set filePath to POSIX path of oneFile
set theAttachment to filePath
end tell
makeMessage()
end repeat
end open
on run
set oneFile to choose file
tell application "Finder"
set filePath to POSIX path of oneFile
set theAttachment to filePath
set theSubject to name of oneFile
end tell
makeMessage()
end run
on makeMessage()
set theBody to "File Attached:"
set theSender to "[email protected]" -- edit this line to match the email address of the host.
-- this must be a valid account in your mail.app program!
set theSubject to "Dominions 3 PBEM Game File" -- change this as desired
tell application "Mail"
set newMessage to make new outgoing message with properties {subject:theSubject, content:theBody & return & return}
tell newMessage
set visible to true
set sender to theSender
make new to recipient with properties ("[email protected]") -- change this to one of your players' valid email address
-- make new cc recipient with properties ("[email protected]") -- add as many of these as you have players!
tell content
make new attachment with properties {file name:theAttachment} at after the last paragraph
end tell
end tell
send newMessage
end tell
end makeMessage
|
save the script as a run-only app, and put it where it's convenient to access for drag-and-dropping your game file after you have finished hosting a turn. It will automatically open Mail.app, create an email with all appropriate addressees, and send it...saving you a few steps at least.
My test file works, but let me know if you run into errors. I'll probably be working on an applescript to reside inside Mail.app for saving and filing the return gamefiles from the players.
good luck!
|

January 11th, 2007, 10:16 AM
|
 |
General
|
|
Join Date: Jul 2004
Location: Portland, ME (USA)
Posts: 3,241
Thanks: 31
Thanked 65 Times in 18 Posts
|
|
Re: Applescript PBEM support
Thanks for the script! I know Ygorl also has some apple scripts that he created.
I have a simple OSX "Tiger" workflow using Automator that backs up the current turn, creates emails to all players and attaches the appropriate .trn file to each player. I'd be happy to share it. It's nothing fancy but it makes hosting a lot quicker.
Keeping track of player turns is easy by using smart folders in Mail.
|

January 11th, 2007, 11:48 PM
|
 |
Sergeant
|
|
Join Date: Apr 2004
Location: Tampa Bay, Florida, USA
Posts: 327
Thanks: 5
Thanked 33 Times in 11 Posts
|
|
Re: Applescript PBEM support
Hey, that sounds like an even slicker way to manage it than my idea. I'd appreciate it if you posted your automator script!
|

January 12th, 2007, 01:47 AM
|
 |
General
|
|
Join Date: Jul 2004
Location: Portland, ME (USA)
Posts: 3,241
Thanks: 31
Thanked 65 Times in 18 Posts
|
|
Re: Applescript PBEM support
Ok! I will do it over the weekend. I will need to create a "blank" version because I tailor it for each PBEM game in question (e.g., by creating the template for each player's email, specifying where to save back ups for the particular game, etc.)
|

January 14th, 2007, 04:29 PM
|
 |
General
|
|
Join Date: Jul 2004
Location: Portland, ME (USA)
Posts: 3,241
Thanks: 31
Thanked 65 Times in 18 Posts
|
|
Mac OSX Automator Workflow for PBEM
Here is a template using Mac OSX Automator to streamline PBEM hosting a bit. After the turn is hosted, I run this workflow. It will back up the current turn and create the emails with proper attachments for the various players.
Obviously, a specific workflow must be first tailored to the needs of each game but that is easily done.
|

January 14th, 2007, 08:00 PM
|
 |
Sergeant
|
|
Join Date: Apr 2004
Location: Tampa Bay, Florida, USA
Posts: 327
Thanks: 5
Thanked 33 Times in 11 Posts
|
|
Re: Mac OSX Automator Workflow for PBEM
I've been playing around with that, and your script like a great start. I wanted to add an automated turncounter, so I came up with this kludge that built upon your ideas.
Start with a file selection Automator action which specifies a text file which records the turn number, and feed that into the following applescript, you can read the turn number into a variable in Automator and increment it:
Quote:
property theAttachmentPath : (path to "desk") as string
on run {input, parameters}
set mailrecipient to "[email protected]"
set gameattachmentpath to "/Users/youraccount/dominions/savedgames/gamename/early_vanheim.trn"
set mailsubject to "Dominions 3 Game: Turn #" -- turn number will be appended automatically here
set mailcontent to "Here is your most recent game turn. Please save this to your dominions3>test2 directory." & return & return
set theAttachmentPath of me to (item 1 of input as string)
set p to POSIX path of theAttachmentPath
set theFile to POSIX file p
set turnnumber to do shell script "cat " & p
set turnnumber to (turnnumber + 1)
do shell script "echo '" & turnnumber & "' > " & p
set fileAttachThis to POSIX path of gameattachmentpath
set mailsubject to mailsubject & " " & turnnumber
tell application "Mail"
activate
set this_message to make new outgoing message at end of outgoing messages with properties {visible:false}
tell this_message
make new to recipient at end of to recipients with properties {address:mailrecipient}
set the subject to mailsubject
set the content to mailcontent
make new attachment with properties {file name eattachmentpath} at after the last word of the last paragraph
end tell
send this_message
end tell
HideMe()
end run
on HideMe()
tell application "System Events"
set visible of process "Mail" to false
end tell
end HideMe
|
As far as I know, Automator will not allow multiple inputs into an action (I'm an Automator noob, I could be wrong), so unfortunately the filename for the turn incrementer file and other variables have to be set inside the applescript as opposed to feeding nicely into a Send Mail action.
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is On
|
|
|
|
|