Page 3 sur 4
Re: Launcher Personnalisé
Posté : jeu. 19 mai 2016 23:56
par liberodark
Merci beaucoup orax en faite j'ai fait une faute de frappe et j'ai trouver le
C'est super un grand merci ^^
En faite j'ai trouvé une super solution avec une option de sauvegarde et de restauration ^^
Je vais donc publier la première version et j'attend les retours

Je reprendrais d'autres fonctionnalités ce week end
Donc pas la peine de clore le "Sujet" car y a encore beaucoup à faire.
Mais j'ai beaucoup appris c'est deux dernier jours grâce à vous
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 01:01
par liberodark
Bonsoir,
J'ai donc eux des retours et il est vrai que il y a une fonction que je ne c'est pas faire mais qui serait bien !
C'est que le launcher affiche le pseudo du joueur, car on ma dit que cela donne l'impression d'un reset !
Voici le code qui affiche un message à la place je souhaiterait que ce soit le pseudo (Mais je c'est pas si cela est possible de lire une ligne du XML) :
Code : Tout sélectionner
Local $hInput1 = GUICtrlCreateInput("your name here", 56, 35, 121, 21)
GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKLEFT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
Voici le code pour l’écriture :
J'ai essayer pas mal de truc mais rien n'a fonctionné
Cordialement
PS : j'ai fait un petit don pour le forum car vous m'avez tous beaucoup aidé et sans vous rien de tout ceci serait possible donc merci
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 11:54
par mikell
Au lancement, il faut sortir le nom qui est dans le xml pour pouvoir l'écrire dans l'input à sa création
(tu peux faire pareil avec la langue)
Code : Tout sélectionner
Local $sXMLPath = "config.xml"
Local $currentname = "your name here" ; nom par défaut
If FileExists($sXMLPath) Then
$currentname = StringRegExpReplace(FileRead($sXMLPath), '(?s).*<PersonaName>([^<]+).*', "$1")
EndIf
; Msgbox(0,"", $currentname)
; ....
Local $hInput1 = GUICtrlCreateInput($currentname, 56, 35, 121, 21)
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 14:51
par liberodark
Merci mikell cela fonctionne, mais petit problème il affiche une autre ligne plus bas qui porte le même nom :
Vu que on dirait que c'est pas ordre alphabétique ben il affiche celui ci plutôt que la ligne plus haut :
Si vous avez une idée j'ai essayé de lui spécifié mais cela ne fonctionne pas !
Cordialement
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 17:08
par mikell
Cette histoire de 2 lignes, on peut pas le deviner
Essaie ça
$currentname = StringRegExpReplace(FileRead($sXMLPath), '(?s).*?<PersonaName>([^<]+).*', "$1")
Tu devrais poster le xml complet ça éviterait les bugs de réponse
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 18:42
par liberodark
Excellent merci vraiment cela à corrigé le problème !
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 19:16
par liberodark
Donc j'ai pensé à pouvoir fournir une option en plus :
Code : Tout sélectionner
GUICtrlCreateLabel("Appid", 8, 250, 36, 17)
GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKLEFT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
Local $sXMLPath = "Game\config.xml"
Local $currentappid = "AppID 1" ; AppId
If FileExists($sXMLPath) Then
$currentappid = StringRegExpReplace(FileRead($sXMLPath), '(?s).*?<AppId>([^<]+).*', "$1")
EndIf
Local $hInput2 = GUICtrlCreateInput($currentappid, 56, 245, 75, 25)
Local $sXMLPath = "Game\config.xml"
Local $currentappid1 = "AppID 2" ; AppId
If FileExists($sXMLPath) Then
$currentappid1 = StringRegExpReplace(FileRead($sXMLPath), '(?s).*<AppId>([^<]+).*', "$1")
EndIf
Local $hInput3 = GUICtrlCreateInput($currentappid1, 150, 245, 75, 25)
Local $hButton17 = GUICtrlCreateButton("Save", 240, 245, 75, 25)
GUICtrlSetResizing(-1, $GUI_DOCKTOP + $GUI_DOCKLEFT + $GUI_DOCKWIDTH + $GUI_DOCKHEIGHT)
Elle fonctionne très bien mais je ne c'est pas comment faire pour que save bouton 17 enregistre les configurations dans le fichier xml.
Sachant que il y a deux entrés :
Cordialement
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 19:49
par liberodark
Une autre question plus facile et plus importante !
C'est comment transformer ce code :
Code : Tout sélectionner
Case $hButton4
Run("Game\app.exe -appid 394690", "Game\")
Exit
En ce code :
Code : Tout sélectionner
Case $hButton3
Run("Game\app.exe -appid ($currentappid), "Game\")
Exit
Pour que les bouton lise seulement l'appid plutôt que de le mettre !
Cordialement
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 21:28
par mikell
Donc j'ai pensé à pouvoir fournir une option en plus
Taaah...
Pour tes options c'est exactement à ça que je pensais en te demandant de poster le xml complet
Il y a trop de redondances dans ton code, pour plusieurs options on peut faire à la fois plus simple et plus efficace
Sinon peut-être ça
Run("Game\app.exe -appid " & $currentappid, "Game\")
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 21:44
par liberodark
Merci cela fonctionne très bien !
J'ai publié sur github le xml complet en template .
Par contre tu as raison je suis entrain justement d'améliorer le code. (Pour être moins lourd mais il me faudra du temps pour tout faire correctement)
Dernière question pour simplifier mon code comment faire pour que quel soit la valeur dans ?
Elle soit remplacé par :
J'ai essayé ça :
Code : Tout sélectionner
_ReplaceStringInFile("Game\config.xml", "<Offline>.*</Offline>", "<Offline>0</Offline>")
Mais mauvais résultat
Ma solution temporaire est :
Code : Tout sélectionner
_ReplaceStringInFile("Game\config.xml", "<Offline>-1</Offline>", "<Offline>0</Offline>") ; Steam Online
_ReplaceStringInFile("Game\config.xml", "<Offline>1</Offline>", "<Offline>0</Offline>")
Cordialement
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 22:25
par liberodark
Par contre je suis ouvert à tes propositions je souhaite vraiment qui soit efficace et performant donc si cela est possible n'hésite pas à me le dire ou si tu voit un truc que je peut corriger aussi.
Merci beaucoup à toi mikell pour ton aide précieuse vraiment cela est très gentil de ta part.
Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 23:18
par mikell
Ben a priori je dirais : ya du boulot
Idéalement, il faudrait que ton script lise au démarrage dans le xml les différentes infos/options mentionnées dans le script pour pouvoir les afficher
Le panneau "options" n'est pas clair du tout, il faudrait que les textes soient plus explicites, et séparer les attributions/modifications d'options de ce qui concerne la gestion du fichier (sauvegarde etc)
Enfin comme déjà dit, je mettrais des checkbox/radio plutôt que des boutons, avec un bouton "enregistrer les modifications" pour effectuer à la fin tous les changements en 1 seule fois
Mais bon ce n'est que mon avis personnel

Re: Launcher Personnalisé
Posté : sam. 21 mai 2016 23:25
par liberodark
C'est une très bonne idée mais il faut pensé aussi que je souhaite traduire en plusieurs langues donc encore du boulot ^^
Mais j'aime ton idée de checkbox/radio c'est beaucoup mieux ^^
Et aussi le truc final serait d'avoir une notification si une mise à jour est disponible avec github je crois que cela peut ce faire.
Ce que je te propose si tu veut bien c'est d'avancer step by step

Donc ben je t'écoute pour les modifications à effectués.
Je ne suis qu'un débutant mais je pense que cela est faisable tous ensemble.
Cordialement
Re: Launcher Personnalisé
Posté : dim. 22 mai 2016 19:07
par mikell
Pour le Simplified Chinese et le Lithuanien je crains de ne pas pouvoir t'aider

Re: Launcher Personnalisé
Posté : lun. 23 mai 2016 08:04
par liberodark
Merci encore mikell !
Et rassure toi je ne compte pas le traduire en 20 langues mais au moins en 3 français, anglais, espagnol !
Sincèrement ton code est si bien qu'il a ça version j'adore cette séparation du gui puis un code plus léger !
Par contre je suis tout perdu maintenant ^^
D'ici 1h le temps d'avoir pris au moins deux cafés et de relire 50 fois le code je devrait mis retrouver
Cordialement
Re: Launcher Personnalisé
Posté : lun. 23 mai 2016 08:47
par liberodark
Pour ce que j'ai vu il n'y a que trois trucs à corriger :
Le premier la double sauvegarde en fait il doit en avoir qu'une ".save" au démarrage utilisé via le reset.
Le ".bak" c'est les sauvegardes utilisateurs utilisé via restore.
Le deuxième est le lancement il fonctionne mais le 64bit à une erreur que si il y a que un seule appid.
Chose que j'ai corrigé pour la version 2.0.3 !
Le troisième c'est la modification d'appid on peut pas les modifier dans les paramètres cela n'est pas un pas bug car je ne savais pas comment faire dans la version 2.0.3 mais c'était prévu.
J'ai pas osé modifié c'est paramètres car il me semble encore obscure !
Puis ensuite les derniers truc serait, le multilingues et la notification de mise à jour mais la je sens que cela va être complexe
Cordialement
PS : J'ai mis toutes les modifications sur GitHub
Re: Launcher Personnalisé
Posté : lun. 23 mai 2016 12:21
par mikell
Pour les sauvegardes :
Au départ, comme il n'existe que le fichier "config.xml" on crée les 2 sauvegardes (une en .save pour le reset, une en .bak pour le restore). Avec les "if not fileExists" cette opération ne peut s'effectuer que 2 fois : au tout 1er lancement, ou si les fichiers de sauvegarde sont accidentellement détruits. Après, le .save ne change jamais, mais le .bak peut évoluer
S'il n'y a qu'une appid, il suffit de désactiver le 2ème bouton dans le panneau lancement
J'ai zappé la modif des appid - je vais jeter un coup d'oeil
Dans ton xml sur github il n'y a qu'un champ AppId ^^
Pour le multilangue, c'est pas compliqué mais c'est beaucoup de boulot : chaque élément de texte doit être remplacé par une variable dont la valeur est prise dans un fichier .ini
La vérif de mise à jour est simple : tu fais un petit fichier .txt sur github avec les infos de version, au lancement tu le lis et tu compares avec la version actuelle
Re: Launcher Personnalisé
Posté : lun. 23 mai 2016 12:47
par liberodark
Ok alors pour le multilingues je vais attendre par contre tu aurait un exemple de code à introduire pour les mis à jour ?
Pour l'appid j'aimerais faire ce que j'avais sur la version 2.0.3 si cela est possible en gros s'il y avait un seul appid alors le 64bit prenait cette appid !
Version 2.0.3
32bit
64bit
Code : Tout sélectionner
Run("Game\SSELauncher.exe -appid " & $currentappid1, "Game\")
Code : Tout sélectionner
$currentappid1 = StringRegExpReplace(FileRead($sXMLPath), '(?s).*<AppId>([^<]+).*', "$1")
Exemple Txt :
Cela peut suffire ?
Pour le code de mise à jour je ne c'est pas !
C'est la dernière étape une fois fini tout sera bon, je ferait alors le multilingues même si cela me prend une semaine

Question en plus le fichier .ini du le logiciel on peut pas lui intégrer ?
Re: Launcher Personnalisé
Posté : mar. 24 mai 2016 16:20
par liberodark
Tout ceci est maintenant pris en charge par la version 2.0.7 avec l'aide immense de mikell !
Actuellement je travail donc sur la dernière partie de l'update grâce à un exemple de Tlem qui fonctionne à merveille ^^
Donc ne reste plus que cela soit réadapté sur le code de mikell mais c'est en bonne voie.
Puis ensuite il y aura le travail de multilingues du launcher.
Mais sinon cela progresse vite et bien avec un bon nombres des objectifs réalisé grâce a vous tous.
Cordialement
Re: Launcher Personnalisé
Posté : mar. 24 mai 2016 17:45
par liberodark
Re bonjour a tous !
J'ai donc une erreur de mise à jour impossible de passer en 2.0.8 !
Ce qui est bizarre car j'ai essayé avec plusieurs anciens versions
Mais ce que je trouve pas normal c'est que si je met le fichier local version en 2.0.6 il ce met à jour étrange non ?
Cela viendrait de l’hébergement je vais corriger cela ^^
Donc vu que j'ai un système privé je vais passer sur owncloud voir si cela corrige le défaut !
Je vous tiens au courant.
Cordialement