I made (2010) a PlayOnLinux script for Roblox.
It took a lot longer than I thought to make it, but now it works!
Since both the Gecko browser and the IE6 browser mess up in Roblox, the app asks you for a usrename, password, and place id as a work around. It does not use the POL_SetupWindow_make_shortcut function.
For direct link: http://github.com/paradoq/playonlinux/blob/master/roblox.pol
#!/bin/bash
# Date : (2010-04-24 20-47)
# Last revision : (2010-04-24 20-47)
# Wine version used : 1.1.43
# Distribution used to test : Arch Linux
# Author : Matthew Bauer
# License : GPLv3
# Depend :
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"
scriptauthor="Matthew Bauer"
_appname="roblox"
appname="Roblox"
basesite="roblox.com"
#appversion="ff6321df121e4477"
appversion="$(curl -s "http://setup.$basesite/version.txt" | cut -f2 -d '-')" # this gets Roblox version as if it was the real thing
appcreator="the Roblox Corporation"
setup="Roblox.exe"
POL_SetupWindow_Init
POL_SetupWindow_presentation "$appname" "$appcreator" "http://www.$basesite/" "$scriptauthor" "$appname"
select_prefix "$REPERTOIRE/wineprefix/$appname/"
POL_SetupWindow_prefixcreate
Set_OS "winxp"
Set_Managed "On"
#Set_Iexplore
#Set_GLSL "On"
Set_DXGrab "On"
POL_SetupWindow_pulsebar "Installing applications with winetricks" "Installing"
cd "$REPERTOIRE/ressources/"
#downloading winetricks
if [ "`sha1sum < winetricks | sed 's/ .*//'`" != "244c9a9fa501c61d99c2ab90c3434dfe9ec7ce74" ]; then
wget http://winezeug.googlecode.com/svn/trunk/winetricks --output-document=winetricks
fi
# A lot of this probably isn't needed but I'll clean it up once we get this working
POL_SetupWindow_pulse "1"
bash winetricks -q pdh
POL_SetupWindow_pulse "10"
bash winetricks -q wininet
POL_SetupWindow_pulse "20"
bash winetricks -q d3dx9
POL_SetupWindow_pulse "30"
bash winetricks -q gecko
#bash winetricks -q ie6
POL_SetupWindow_pulse "40"
bash winetricks -q msxml3
POL_SetupWindow_pulse "50"
bash winetricks -q gdiplus
POL_SetupWindow_pulse "60"
bash winetricks -q wsh56
POL_SetupWindow_pulse "80"
bash winetricks -q urlmon
POL_SetupWindow_pulse "100"
cd "$REPERTOIRE/tmp"
POL_SetupWindow_download "Roblox.exe (the installer)" "$appname" "http://setup.$basesite/$setup"
POL_SetupWindow_pulsebar "Running $appname setup file. Feel free to close the browser that comes up." "Installing..."
#wine $setup -q
wine $setup
status=$?
case $status in
0|194);;
*) POL_SetupWindow_message "The error: $status has occured during installing." "Error installing...";;
esac
POL_SetupWindow_pulse "100"
cp $REPERTOIRE/wineprefix/$appname/drive_c/windows/system32.\\
{mscoree,ddraw,shfolder,mlang,rsaehn,imagehlp,wined3d,localspl,spoolss,uxtheme,imm32,pdh,comdlg32,WINHTTP,winspool,OPENGL32}.dll winex11.drv "$REPERTOIRE/wineprefix/$appname/drive_c/Program Files/${appname}Versions/version-$appversion"
POL_SetupWindow_download "GlobalSettings_4.xml (patched version of settings)" "GlobalSettings_4.xml" "http://pastebin.com/download.php?i=KkUzGMUB"
POL_SetupWindow_pulsebar "Changing Roblox settings for users..." "Changing..."
for robloxdir in $REPERTOIRE/wineprefix/$appname/drive_c/users/*
do
cp "download.php" "$robloxdir/Local Settings/Application Data/Roblox/GlobalSettings_4.xml"
done
POL_SetupWindow_pulse "100"
#POL_SetupWindow_textbox "What is your username at roblox.com?" "Roblox username" "guest"
#username="$APP_ANSWER"
#POL_SetupWindow_textbox "What is your password at roblox.com?" "Roblox password" ""
#password="$APP_ANSWER"
#Generate Cookies with Curl?
POL_SetupWindow_pulsebar "Generating Cookie files..." "Cookies"
POL_SetupWindow_pulse "1"
[ ! -x $REPERTOIRE/wineprefix/Roblox/cookies ] && \\
curl -s -c $REPERTOIRE/wineprefix/Roblox/cookies -d username="`zenity --title='Roblox' --text='Username:' --entry`" -d password="`zenity --title='Roblox' --text='Password:' --hide-text --entry`" "https://www.roblox.com/login/dologin.aspx" > /dev/null
POL_SetupWindow_pulse "100"
#Generate joinScriptUrl?
#joinScriptUrl="$(curl -s -b /tmp/roblox -H "Content-Type: text/xml; charset=utf-8" -d '<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><RequestGame xmlns="http://roblox.com/"><placeId>'$3'</placeId></RequestGame></soap:Body></soap:Envelope>' http://www.roblox.com/Game/PlaceLauncher.asmx | sed -n 's|.*<joinScriptUrl>\\([^<]*\\)</joinScriptUrl>.*|\\1|p')"
#POL_SetupWindow_make_shortcut "$appname" "Program Files/${appname}Versions/version-$appversion" "$setup" "" "$appname" "" "-browser -q"
#POL_SetupWindow_make_shortcut "$appname" "Program Files/${appname}Versions/version-$appversion" "$setup" "" "$appname" "" ""
#-play "$joinScriptUrl"
wget -O $REPERTOIRE/configurations/installed/Roblox 'http://pastebin.com/download.php?i=vNkQnytY'
sed -i 's/\\r//g' $REPERTOIRE/configurations/installed/Roblox
chmod +x $REPERTOIRE/configurations/installed/Roblox
POL_SetupWindow_Close
Edité par Dadu042