.com.unity Forums
  The Official e-Store of Shrapnel Games

This Month's Specials

BCT Commander- Save $7.00
winSPWW2- Save $5.00

   







Go Back   .com.unity Forums > Illwinter Game Design > Dominions 3: The Awakening > Scenarios, Maps and Mods

Reply
 
Thread Tools Display Modes
  #1  
Old January 8th, 2007, 08:08 PM
Psientist's Avatar

Psientist Psientist is offline
Sergeant
 
Join Date: Apr 2004
Location: Tampa Bay, Florida, USA
Posts: 327
Thanks: 5
Thanked 33 Times in 11 Posts
Psientist is on a distinguished road
Default 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!
Reply With Quote
  #2  
Old January 11th, 2007, 10:16 AM
PashaDawg's Avatar

PashaDawg PashaDawg is offline
General
 
Join Date: Jul 2004
Location: Portland, ME (USA)
Posts: 3,241
Thanks: 31
Thanked 65 Times in 18 Posts
PashaDawg is on a distinguished road
Default 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.
Reply With Quote
  #3  
Old January 11th, 2007, 11:48 PM
Psientist's Avatar

Psientist Psientist is offline
Sergeant
 
Join Date: Apr 2004
Location: Tampa Bay, Florida, USA
Posts: 327
Thanks: 5
Thanked 33 Times in 11 Posts
Psientist is on a distinguished road
Default 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!
Reply With Quote
  #4  
Old January 12th, 2007, 01:47 AM
PashaDawg's Avatar

PashaDawg PashaDawg is offline
General
 
Join Date: Jul 2004
Location: Portland, ME (USA)
Posts: 3,241
Thanks: 31
Thanked 65 Times in 18 Posts
PashaDawg is on a distinguished road
Default 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.)
Reply With Quote
  #5  
Old January 14th, 2007, 04:29 PM
PashaDawg's Avatar

PashaDawg PashaDawg is offline
General
 
Join Date: Jul 2004
Location: Portland, ME (USA)
Posts: 3,241
Thanks: 31
Thanked 65 Times in 18 Posts
PashaDawg is on a distinguished road
Default 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.
Attached Files
File Type: zip 487453-Template-Dominions-PBEM-Backup.workflow.zip (3.6 KB, 114 views)
Reply With Quote
  #6  
Old January 14th, 2007, 08:00 PM
Psientist's Avatar

Psientist Psientist is offline
Sergeant
 
Join Date: Apr 2004
Location: Tampa Bay, Florida, USA
Posts: 327
Thanks: 5
Thanked 33 Times in 11 Posts
Psientist is on a distinguished road
Default 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 nameeattachmentpath} 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.
Reply With Quote
Reply

Bookmarks


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is On

Forum Jump


All times are GMT -4. The time now is 11:56 AM.


Powered by vBulletin® Version 3.8.1
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©1999 - 2025, Shrapnel Games, Inc. - All Rights Reserved.