El Foro

Script EVE Online

Autor Respuestas
EoleO Monday 18 October 2010 at 18:32
EoleOAnonymous

#!/bin/bash
[ "$PLAYONLINUX" = "" ] && exit
source "$PLAYONLINUX/lib/sources"

#FETCHING PROGRAMFILES ENVIRONMENTAL VARIABLE
PROGRAMFILES="Program Files"
POL_LoadVar_PROGRAMFILES

#PREFIX, TITLE AND MESSAGES
PREFIX="EVEOnline"
TITLE="EVE Online"

LNG_POL="PlayOnLinux"
LNG_INSTALL_EXE="EVE_Premium_Setup_185699_m.exe"
LNG_LINK_DL="http://content.eveonline.com/$LNG_INSTALL_EXE"

#INIT INSTALL
POL_SetupWindow_Init
POL_SetupWindow_presentation "$TITLE" "CCP Games" "http://www.ccpgames.com/" "EoleO" "$PREFIX"

#SELECTING PREFIX
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"
POL_SetupWindow_prefixcreate

#SETTING WINE MODIFICATIONS
Set_OS "winxp"
Set_SoundDriver "alsa"
fonts_to_prefixe

#DOWNLOADING EVE ONLINE
cd "$REPERTOIRE/tmp"
if [ ! -e $REPERTOIRE/tmp/EVE_Premium_*_m.exe ]; then
POL_SetupWindow_download "Récupération du client en cours, merci de patienter" "Téléchargement du client de $TITLE" "$LNG_LINK_DL"
fi

#STARTING SETUP
POL_SetupWindow_wait_next_signal "Installation de $TITLE ..." "$TITLE installation"
wine "$REPERTOIRE/tmp/$LNG_INSTALL_EXE"
POL_SetupWindow_detect_exit

#CLEANING TEMP
clean_tmp

#FINISHING
POL_SetupWindow_message "$TITLE a été installé avec succes" "$TITLE"
POL_SetupWindow_Close
exit


Bon alors pour l'instant c'est qu'un brouillon, je compte faire une version comprenant l'anglais prochainement.
Apres un premier test dessus, ca s'installe bien et ca se lance bien.
Seul problème : crash du jeu si on le lance avec le son activé (j'ai testé avec ALSA, OSS de wine 1.2.1 et avec ALSA de wine 1.3.5).
Sinon le jeu est tout a fait jouable (wine 1.2.1), mais sans son.

Ha oui aussi j'oubliais le problème de cette version c'est que dés qu'il y aura une mise a jour du client sur le serveur de CCP il faudra changer la variable LNG_INSTALL_EXE. Est ce que quelqu'un aurait une solution à ce problème?
Salvatos Monday 18 October 2010 at 23:32
SalvatosAnonymous

Je ne connais pas le bash, mais y aurait-il moyen de faire une recherche dans le dossier, du genre « commence par "EVE_Premium_Setup_" et finit par ".exe" » ? Ou, dépendant des conventions d'appellation du fichier en fonction de la version, les trier en ordre alphabétique et prendre le dernier résultat (ayant le plus haut numéro de version) ?

Sinon je suppose qu'il doit être possible de demander à l'utilisateur de simplement sélectionner le fichier dans une fenêtre Parcourir.

Disclaimer: I'm a noob, not a dev; my advice is only a guess.
Attention : Je suis aussi noob que vous, prenez mes suggestions avec un grain de sel ;)
SuperPlumus Tuesday 19 October 2010 at 5:19
SuperPlumusAnonymous

J'ai fait ce bout de code qui permet de récupérer la dernière version d'après le lien affiché sur la page http://www.eveonline.com/download/.

le voici :
wget http://www.eveonline.com/download/ --output-document="page.html"
URL_DOWNLOAD=$(cat page.html | sed -n 's/.*EVE_Premium_Setup_\\([0-9]*\\).exe.*/http\\:\\/\\/content.eveonline.com\\/EVE_Premium_Setup_\\1_m.exe/p')

La variable $URL_DOWNLOAD contient l'url complète permettant de télécharger le programme.

Deuxièmement comment on fait pour lancer le programme, ton script ne crée aucun lanceur.
voir doc ici http://www.playonlinux.com/fr/dev-documentation-5.html


Je n'ai pas testé le programme donc je ne peut pas dire si il fonctionne.

Editado por: SuperPlumus

EoleO Wednesday 20 October 2010 at 4:27
EoleOAnonymous

#!/bin/bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

#FETCHING PROGRAMFILES ENVIRONMENTAL VARIABLE
PROGRAMFILES="Program Files"
POL_LoadVar_PROGRAMFILES

#PREFIX, TITLE AND MESSAGES
PREFIX="EVEOnline"
TITLE="EVE Online"
FILE_INSTALL="EVE_Premium_*_m.exe"

if [ "$POL_LANG" == "fr" ]; then
LNG_MESSAGE_DL_CLIENT="Récupération du client en cours, merci de patienter..."
LNG_TITLE_DL_CLIENT="Téléchargement du client de $TITLE"
LNG_MESSAGE_INSTALL_CLIENT="Installation de $TITLE..."
LNG_TITLE_INSTALL_CLIENT="$TITLE installation"
LNG_MESSAGE_END="$TITLE a été installé avec succes"
LNG_TITLE_END="Fin de l'installation de $TITLE"
else
LNG_MESSAGE_DL_CLIENT="Récupération du client en cours, merci de patienter..."
LNG_TITLE_DL_CLIENT="Téléchargement du client de $TITLE"
LNG_MESSAGE_INSTALL_CLIENT="Installation de $TITLE..."
LNG_TITLE_INSTALL_CLIENT="$TITLE installation"
LNG_MESSAGE_END="$TITLE a été installé avec succes"
LNG_TITLE_END="Fin de l'installation de $TITLE"
fi

#INIT INSTALL
POL_SetupWindow_Init
POL_SetupWindow_presentation "$TITLE" "CCP Games" "http://www.ccpgames.com/" "EoleO" "$PREFIX"

#SELECTING PREFIX
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"

#SETTING WINE MODIFICATIONS
Set_OS "winxp"
Set_SoundDriver "alsa"
fonts_to_prefixe

POL_SetupWindow_prefixcreate

#INSTALLING MANDATORY DEPENDENCIES
POL_Call POL_Install_d3dx9
POL_Call POL_Install_wmp9

#DOWNLOADING EVE ONLINE
cd "$REPERTOIRE/tmp"
if [ ! -e $FILE_INSTALL ]; then
URL_DOWNLOAD=$(cat page.html | sed -n 's/.*EVE_Premium_Setup_\\([0-9]*\\)_m.exe.*/http\\:\\/\\/content.eveonline.com\\/EVE_Premium_Setup_\\1_m.exe/p')
POL_SetupWindow_download "$LNG_MESSAGE_DL_CLIENT" "$LNG_TITLE_DL_CLIENT" "$URL_DOWNLOAD"
fi

#STARTING SETUP
POL_SetupWindow_wait_next_signal "$LNG_MESSAGE_INSTALL_CLIENT" "$LNG_TITLE_INSTALL_CLIENT"
wine "$FILE_INSTALL"
POL_SetupWindow_detect_exit

#CLEANING TEMP
clean_tmp

POL_SetupWindow_make_shortcut "$PREFIX" "$PROGRAMFILES/CCP/EVE" "eve.exe" "" "$TITLE"

#FINISHING
POL_SetupWindow_message "$LNG_MESSAGE_END" "$LNG_TITLE_END"
POL_SetupWindow_Close
exit


Version Modifié, je fais la traduction demain.
Merci a SuperPlumus pour sa super commande sed ^^
Je dois avouer que ca fait longtemps que j'ai pas touché au bash, peux tu m'expliquer ce que ta commande fait exactement :D
Bon par contre j'ai tjs des crashs avec le son, je suis en train de faire des tests ainsi que pas mal de recherches sur internet pour résoudre le probleme. Si quelqu'un a la solution, qu'il se manifeste sous peine de torture au fer rouge :P
SuperPlumus Wednesday 20 October 2010 at 5:10
SuperPlumusAnonymous

Juste une chose, dans le code que je t'ai donné il y a une commande wget (première ligne de mon code), il est nécessaire de la mettre dans ton script car cette commande ne télécharge pas le programme, mais uniquement une page contenant le lien vers la dernière version du programme.
sans cette page la commande sed ne fonctionnera pas correctement.


En fait les commande font les actions suivantes dans l'ordre :

1) Télécharger la page http://www.eveonline.com/download/ avec wget (équivalent en console de POL_SetupWindow_download qui est propre à PlayOnLinux) qui contient le lien pointant vers la dernière version.

2) La commande cat page.html | sed permet d'envoyer le contenu de la page précédemment téléchargée à la commande sed.

3) Ensuite on utilise la syntaxe de la commande sed.

Pour plus de renseignements concernant la commande sed voir les liens suivants :
http://www.commentcamarche.net/faq/9536-sed-introduction-a-sed-part-i
http://www.commentcamarche.net/faq/9559-sed-introduction-a-sed-part-ii
http://www.commentcamarche.net/faq/9558-sed-introduction-a-sed-part-iii

Editado por: SuperPlumus

Salvatos Wednesday 20 October 2010 at 21:00
SalvatosAnonymous

if [ "$POL_LANG" == "fr" ]; then
LNG_MESSAGE_DL_CLIENT="Récupération du client en cours, merci de patienter..."
LNG_TITLE_DL_CLIENT="Téléchargement du client de $TITLE"
LNG_MESSAGE_INSTALL_CLIENT="Installation de $TITLE..."
LNG_TITLE_INSTALL_CLIENT="$TITLE installation"
LNG_MESSAGE_END="$TITLE a été installé avec succès"
LNG_TITLE_END="Fin de l'installation de $TITLE"
else
LNG_MESSAGE_DL_CLIENT="Fetching client, please wait..."
LNG_TITLE_DL_CLIENT="Downloading $TITLE client"
LNG_MESSAGE_INSTALL_CLIENT="Installing $TITLE..."
LNG_TITLE_INSTALL_CLIENT="$TITLE installation"
LNG_MESSAGE_END="$TITLE was successfully installed"
LNG_TITLE_END="$TITLE installation complete"
fi

Tiens, vu que la traduction est ma principale fonction ici je t'ai coupé l'herbe sous le pied (et j'ai corrigé une faute en français au passage) ;)
"$TITLE installation" me paraît bizarre par contre en français, c'est dans quel contexte ?

Disclaimer: I'm a noob, not a dev; my advice is only a guess.
Attention : Je suis aussi noob que vous, prenez mes suggestions avec un grain de sel ;)
EoleO Thursday 21 October 2010 at 0:09
EoleOAnonymous

#!/bin/bash
[ "$PLAYONLINUX" = "" ] && exit 0
source "$PLAYONLINUX/lib/sources"

#FETCHING PROGRAMFILES ENVIRONMENTAL VARIABLE
PROGRAMFILES="Program Files"
POL_LoadVar_PROGRAMFILES

#PREFIX, TITLE AND MESSAGES
PREFIX="EVEOnline"
TITLE="EVE Online"
FILE_INSTALL="EVE_Premium_*_m.exe"

if [ "$POL_LANG" == "fr" ]; then
LNG_MESSAGE_DL_CLIENT="Récupération du client en cours, merci de patienter..."
LNG_TITLE_DL_CLIENT="Téléchargement du client de $TITLE"
LNG_MESSAGE_INSTALL_CLIENT="Installation de $TITLE, merci de patienter..."
LNG_TITLE_INSTALL_CLIENT="Installation de $TITLE"
LNG_MESSAGE_END="$TITLE a été installé avec succès"
LNG_TITLE_END="Fin de l'installation de $TITLE"
else
LNG_MESSAGE_DL_CLIENT="Fetching client, please wait..."
LNG_TITLE_DL_CLIENT="Downloading $TITLE client"
LNG_MESSAGE_INSTALL_CLIENT="Installing $TITLE, please wait..."
LNG_TITLE_INSTALL_CLIENT="$TITLE installation"
LNG_MESSAGE_END="$TITLE was successfully installed"
LNG_TITLE_END="$TITLE installation complete"
fi

#INIT INSTALL
POL_SetupWindow_Init
POL_SetupWindow_presentation "$TITLE" "CCP Games" "http://www.ccpgames.com/" "EoleO" "$PREFIX"

#SELECTING PREFIX
select_prefix "$REPERTOIRE/wineprefix/$PREFIX"

#SETTING WINE MODIFICATIONS
Set_OS "winxp"
Set_SoundDriver "alsa"
fonts_to_prefixe

POL_SetupWindow_prefixcreate

#INSTALLING MANDATORY DEPENDENCIES
POL_Call POL_Install_d3dx9
POL_Call POL_Install_wmp9

#DOWNLOADING EVE ONLINE
cd "$REPERTOIRE/tmp"
if [ ! -e $FILE_INSTALL ]; then
wget http://www.eveonline.com/download/ --output-document="page.html"
URL_DOWNLOAD=$(cat page.html | sed -n 's/.*EVE_Premium_Setup_\\([0-9]*\\)_m.exe.*/http\\:\\/\\/content.eveonline.com\\/EVE_Premium_Setup_\\1_m.exe/p')
POL_SetupWindow_download "$LNG_MESSAGE_DL_CLIENT" "$LNG_TITLE_DL_CLIENT" "$URL_DOWNLOAD"
fi

#STARTING SETUP
POL_SetupWindow_wait_next_signal "$LNG_MESSAGE_INSTALL_CLIENT" "$LNG_TITLE_INSTALL_CLIENT"
wine "$FILE_INSTALL"
POL_SetupWindow_detect_exit

#CLEANING TEMP
clean_tmp

POL_SetupWindow_make_shortcut "$PREFIX" "$PROGRAMFILES/CCP/EVE" "eve.exe" "" "$TITLE"

#FINISHING
POL_SetupWindow_message "$LNG_MESSAGE_END" "$LNG_TITLE_END"
POL_SetupWindow_Close
exit


V3 de mon code.
Merci Salvatos pour la trad. Je venais d'en faire une qui d'ailleurs était presque identique à la tienne, du coup j'ai fait un fusion entre nos deux trad :D.
Sinon tjs pas réussi a faire marcher ce pu*** de son, je cherche encore...
Ha aussi, SuperPlumus par rapport a ta commande wget, dsl de l'avoir retiré mais vu que le téléchargement marchait sans je me disais que peut etre etait elle facultatif ^^

Editado por: EoleO

Salvatos Thursday 21 October 2010 at 7:26
SalvatosAnonymous

Ça fait plaisir. Il reste l'accent à ajouter à « succès » (MESSAGE_END) ;-)

Editado por: Salvatos


Disclaimer: I'm a noob, not a dev; my advice is only a guess.
Attention : Je suis aussi noob que vous, prenez mes suggestions avec un grain de sel ;)