Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Créer son launcher Pokémon de A à Z
Goto page: <  1, 2, 3  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Tutoriels
Previous topic :: Next topic   

Avez vous aimez ce tuto ?
Oui
100%
 100%  [ 3 ]
Non
0%
 0%  [ 0 ]
Total Votes : 3

Author Message
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Tue 15 May - 18:32 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Curieux de voir l'updater.. C'est vraiment intéressant en tout cas, merci
Back to top
Publicité






PostPosted: Tue 15 May - 18:32 (2012)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Eternalis
Membre


Joined: 25 Apr 2012
Posts: 81
Masculin

PostPosted: Tue 15 May - 18:37 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Pour l'updater j'y bosse Clin d'œil foireux
Back to top
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Tue 15 May - 18:47 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Je me demande comment faire un updater simple en fait.. hâte de voir de quelle façon tu vas nous pondre une meule.
Back to top
Silver
Ex-staff


Joined: 03 Jan 2012
Posts: 730
Désaturé
Localisation: Archipel des Sabaody

PostPosted: Wed 16 May - 19:17 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Vous pouvez déjà vous référer à RUpdate de Zellyunie, disponible ici : http://pokemonscriptproject.xooit.fr/t9981-RUpdate.htm
C'est un très bon updater.
Back to top
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Wed 16 May - 20:55 (2012)    Post subject: Créer son launcher Pokémon de A à Z

J'ai déjà codé mon launcher et fait un prototype de système màj en VB depuis un moment, et mettre a jour le rgssad je sais faire. Le souci vient des autres fichiers ajoutés, fichiers audio notamment..
Back to top
Eternalis
Membre


Joined: 25 Apr 2012
Posts: 81
Masculin

PostPosted: Thu 17 May - 12:42 (2012)    Post subject: Créer son launcher Pokémon de A à Z

MAJ - 17 mai 2012
Ajout du tuto pour l'updater.

@PantoufleZehef
Si tu as d'autre fichier à ajouter, tu n'a pas le choix tu dois faire ceci:
My.Computer.Network.DownloadFile("http://www.tonsite.fr/jeu/music/musique_exemple.mp3", "./music/musique_exemple.mp3")
Et ca pour toutes tes musiques ! Tu le comprendras c'est bien ch*ant a faire Clin d'œil foireux VB ne gére pas le téléchargement de dossier complet pour le moment.
Une autre solution consiste à faire télécharger une archive "music.zip" et ordonner au launcher de la décompresser ( Zlib est très bien pour ca mais compliqué )

@Silver
Le RUpdate de Zellyunie est très bien, le seul problème c'est qu'il s'agit d'un script incorporé au jeu et que cela augmente énormément le temps pour télécharger un malheureux .rgssad
Un rupdate vas prendre 30 minutes
VB.net vas prendre au maximum 10 secondes.
Back to top
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Thu 17 May - 12:56 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Oui, donc ma méthode est bien plus développée.. J'ai de mon coté une détection si y a une mise a jour qui active/désactive le bouton en conséquent, etc. Sinon pour les .zip, ça m'intéresse.
Back to top
Eternalis
Membre


Joined: 25 Apr 2012
Posts: 81
Masculin

PostPosted: Thu 17 May - 13:30 (2012)    Post subject: Créer son launcher Pokémon de A à Z

PantoufleZehef wrote:

Oui, donc ma méthode est bien plus développée.. J'ai de mon coté une détection si y a une mise a jour qui active/désactive le bouton en conséquent, etc. Sinon pour les .zip, ça m'intéresse.

Tu as fais un système avec des .txt contenant des infos de version pour cela je suppose ?
J'avais penser à faire ca, mais j'ai juger trop compliqué pour une simple archive et je préférais lier avec les news via tweeter
Par contre tu devrais partager ca avec les autres et faire un tuto sa en intéressera plus d'un je pense Clin d'œil foireux
Back to top
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Sun 20 May - 14:10 (2012)    Post subject: Créer son launcher Pokémon de A à Z

En gros j'ai un système de changement de dll, un updater qui télécharge un .zip de mise à jour, détecte s'il y en a une avec un version.txt.... Mais impossible d'en faire un tuto, c'est trop compliqué, j'ai même pas tout compris à ce que j'ai fais.
Je partage tout de même le code de l'updater, si ça peut aider:

Code:

Private Sub Button3_Click(sender As System.Object, e As System.EventArgs) Handles Button3.Click
        Button3.Enabled = False
        Button1.Enabled = False



        Me.lblStats.Text = "Status: Recherche d'une mise à jour..."
        'Gets bernard and latest versions for comparison

        If System.IO.File.Exists("Data\Version.txt") = False Then
            My.Computer.Network.DownloadFile("http://dl.dropbox.com/u/37262071/Version.txt", "Data\Version.txt")
        End If
        If System.IO.File.Exists("Data\Update.txt") = True Then
            Kill("Data\Update.txt")
        End If
        My.Computer.Network.DownloadFile("http://dl.dropbox.com/u/37262071/Version.txt", "Data\Update.txt")


        'fichier 1

        Dim olol1 As New System.IO.StreamReader("Data\Version.txt", System.Text.Encoding.Default)
        Dim local As String

        local = olol1.ReadLine
        olol1.Close()

        'fichier 2

        Dim olol2 As New System.IO.StreamReader("Data\Update.txt", System.Text.Encoding.Default)
        Dim distance As String

        distance = olol2.ReadLine
        olol2.Close()


        If local >= distance Then
            Kill("Data\Update.txt")
            MsgBox("Aucune mise à jour n'est disponible", vbOKOnly + vbInformation, "Mise à Jour.")
            Me.Close()
        Else
            'MsgBox("Une nouvelle Mise à jour est diponible.", vbOKOnly + vbInformation, "Mise à Jour.")
            Kill("Data\Update.txt")
            AutoUpdate()
            Button3.Enabled = False
            Kill("Data\Version.txt")
            My.Computer.Network.DownloadFile("http://dl.dropbox.com/u/37262071/Version.txt", "Data\Version.txt")
            Button1.Enabled = True
        End If

        'MsgBox("Moui je fais la mise à jour", vbOKOnly + vbInformation, "Mise à Jour")

        'LE CODE EOH
        

        
        

    End Sub

    Private Sub Form4_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load
        If Button3.Enabled = False Then
            Button3.Enabled = True

        End If
        If System.IO.File.Exists("Data\maj.zip") = True Then
            Kill("Data\maj.zip")
        End If
    End Sub

    Private Sub ProgressBar1_Click(sender As System.Object, e As System.EventArgs) Handles ProgressBar1.Click

    End Sub


    Public Shared Sub AutoUpdate()
        httpclient = New WebClient
        Form4.lblStats.Text = "Status: Préparation du téléchargement des fichiers..."

        'ET ON FAIS TOURNER LES SERVIETTES
        Dim directory As String = Application.StartupPath & "\Data\maj.zip"
        Dim link As String = "http://dl.dropbox.com/u/37262071/maj.zip"
        'Start downloading the cul setup
        Try
            Form4.lblStats.Text = "Status: Téléchargement..."
            httpclient.DownloadFileAsync(New Uri(link), directory)
            Do While httpclient.IsBusy
                Application.DoEvents()
            Loop
            InstallPatch()
        Catch ex As Exception
            Form4.lblStats.Text = "Status: Le téléchargement à échoué. Veuillez vérifier votre connexion internet."
        End Try
    End Sub

    Public Shared Sub InstallPatch()
        Try
            Dim lp As Integer = 0
            Form4.lblStats.Text = "Status: Installation..."
            archiver = New ZipForge()
            ' The name of the ZIP file to unzip
            archiver.FileName = Application.StartupPath & "\Data\maj.zip"
            ' Open an existing archive
            archiver.OpenArchive(System.IO.FileMode.Open)
            ' Default path for all operations                
            archiver.BaseDir = Application.StartupPath & "\Data"
            ' Extract all files from the archive to program root folder
            Do Until lp = 1
                lp = lp + 1
            Loop
            archiver.ExtractFiles("*.*")
            ' Close archive
            archiver.CloseArchive()
            Form4.lblStats.Text = "Status: Installation Réussie! Mise à jour achevée avec succès"
            Kill("Data\maj.zip")


        Catch ex As Exception
            Form4.lblStats.Text = "Status: Échec de l'installation! Merci de signaler ce problème."
        End Try
    End Sub


    Private Shared Sub httpclient_DownloadProgressChanged(sender As Object, e As System.Net.DownloadProgressChangedEventArgs) Handles httpclient.DownloadProgressChanged
        Form4.ProgressBar1.Maximum = e.TotalBytesToReceive
        Form4.ProgressBar1.Value = e.BytesReceived

        Form4.Label2.Text = e.ProgressPercentage & "%"

        Dim MB As Single
        Dim MB2 As Single
        Dim KB As Single
        Dim KB2 As Single

        MB = ((e.BytesReceived / 1024) / 1024)
        MB2 = ((e.TotalBytesToReceive / 1024) / 1024)

        KB = (e.BytesReceived / 1024)
        KB2 = (e.TotalBytesToReceive / 1024)

        If KB And KB2 <= 1024 Then
            Form4.Label5.Text = "Téléchargé @ " & e.ProgressPercentage & "% / " & KB.ToString("N2") & " Ko de " & KB2.ToString("N2") & " Ko"
        ElseIf KB <= 1024 And KB2 >= 1024 Then
            Form4.Label5.Text = "Téléchargé @ " & e.ProgressPercentage & "% / " & KB.ToString("N2") & " Ko de " & MB2.ToString("N2") & " Mo"
        ElseIf KB And KB2 >= 1024 Then
            Form4.Label5.Text = "Téléchargé @ " & e.ProgressPercentage & "% / " & MB.ToString("N2") & " Mo de " & MB2.ToString("N2") & " Mo"
        End If

        If Form4.Label2.Text = "100%" Then
            Form4.lblStats.Text = "Status: Téléchargement Réussi"
        End If
    End Sub


    Private Shared Sub archiver_OnOverallProgress(sender As Object, progress As Integer, timeElapsed As System.TimeSpan, timeLeft As System.TimeSpan, operation As ComponentAce.Compression.Archiver.ProcessOperation, progressPhase As ComponentAce.Compression.Archiver.ProgressPhase, ByRef cancel As Boolean) Handles archiver.OnOverallProgress
        Form4.ProgressBar1.Maximum = 100
        Form4.ProgressBar1.Value = progress
    End Sub



    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
        Me.Close()

    End Sub

Back to top
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Sun 20 May - 20:59 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Eternalis wrote:
@Silver
Le RUpdate de Zellyunie est très bien, le seul problème c'est qu'il s'agit d'un script incorporé au jeu et que cela augmente énormément le temps pour télécharger un malheureux .rgssad
Un rupdate vas prendre 30 minutes
VB.net vas prendre au maximum 10 secondes.

Je suis totalement opposé à cet avis pour quelques raisons :
VB.net ne mettra pas 10 secondes à DL le fichier qui ferait 43MB alors que RUpdate en mettrait 30 minutes, ton estimation est fausse, mes navigateurs eux-même ne peuvent pas DL un fichier aussi vite car les serveurs Apache ne délivre jamais la pleine puissance de la ligne aux utilisateurs et les FAI comme Orange ont le dont de brider toute connexion internet pointant vers un site français ou américain. VB.net mettra 29 minutes alors que RUpdate en mettra 30 (la faute aux Graphics.update). Les deux systèmes utilisent quasiment les même bibliothèques et de toute façons ça va retomber sur Winsock alors pourquoi l'un serait plus lent que l'autre ? Simplement parce que les utilisations des bibliothèques est pas faite de la même façon, mais donner un tel gouffre aux lecteurs du sujet est du mensonge.

Ceci m'a donné envie de recoder WebFile pour télécharger un fichier quelconque sur internet et voir ce que ça donne. Voici les résultats des tests sur 'http://ns223506.ovh.net/manga-anime/127b119c676950bbadbe138258a19bd0/wallpaper-1933829.jpg' :
Test 1
Opéra : 789ms / Chrome : 817ms / RGSS : 721ms
Test 2
Opéra : 724ms / Chrome : 710ms / RGSS : 750ms

Biensur ces résultats sont totalement variables et dépendants de la charge du serveur web les 721 ms était un gros coup de chance comme les 710 de Chrome.

Le fait que ce soit incorporé au jeu n'augmente pas énormément comme tu le dis le temps de téléchargement, au pire, on peut coder ça dans une DLL et balancer un vrai thread comme ça ça ira aussi vite que ton programme et en plus ou pourra jouer en même temps


Tous ces paramètres dépendent uniquement de l'utilisation de TCP/IP (globalement) et des la bande passante de l'utilisateur et du serveur. En tout cas faire un launcher en RGSS peut être bien plus beau et bien plus rapide pour ceux qui savent déjà coder en ruby que bouffer du VB.net avec des choses qu'on ne connait pas...

Après mon point de vue sur les launchers c'est juste pour faire beau quand c'est intégré au jeu et c'est juste casse couilles quand c'est hors du jeu, les launchers de certains MMO vérifient tous les fichiers ce qui prend du temps et c'est assez frustrant de pas pouvoir jouer tout de suite alors qu'il n'y pas de MAJ.
Following members like this message:
๖ۣۜ Zelly (21/05/12), Laito' (21/05/12)
Back to top
Facebook Twitter
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Sun 20 May - 22:05 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Et est-ce que le RUpdate prend en compte les éventuels fichiers audio ajoutés?
Back to top
Nuri Yuri
Team SDK


Joined: 15 Oct 2008
Posts: 6,383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

PostPosted: Sun 20 May - 22:38 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Je sais pas vraiment, je pense qu'il se charge pour le moment de ne mettre à jour que le RGSSAD mais ceci peut être ajouté.
Sinon, pour l'utilisation de fichiers TXT pourquoi ne pas utiliser une vraie page dynamique (vu que vous passez par un serveur WEB) qui contiendrait les informations nécessaires selon les versions et dans un format de fichier approprié aux données dynamiques comme le XML. Par l'utilisation de ceci vous pourrez télécharger que les fichiers utiles à la nouvelle version et probablement les fichiers perdus et/ou corrompus.
Back to top
Facebook Twitter
Dark_Ray
Membre


Joined: 08 Jul 2011
Posts: 191
Localisation: Dans le continuum espace-temps
Masculin

PostPosted: Mon 21 May - 11:47 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Moi j'ai trouvé bien plus simple et je m'en contenterais

Pour l'Updater j'ai un lien qui redirige directement vers le dernier installateur .exe de mon jeu !
Ainsi que des infos concernant celle-ci (screen ci-dessous).


Avec en plus le widget twitter, la MàJ est toujours bien annoncée ^^


Ecran principal :







Ecran d'Update :











Tout passe par des fichier .html que j'ai mis sur un serveur de 1Go qui est amplement suffisant pour un projet RPG Maker XP (surtout ci celui-ci est compressé dans un fichier .exe)
Back to top
Visit poster’s website Skype Twitter
๖ۣۜ Zelly
Membre


Joined: 19 Jan 2008
Posts: 306
Prince du Making
ID Steam: Zellyunie

PostPosted: Mon 21 May - 13:21 (2012)    Post subject: Créer son launcher Pokémon de A à Z

PantoufleZehef wrote:
Et est-ce que le RUpdate prend en compte les éventuels fichiers audio ajoutés?



Actuellement, le dossier "Audio" est le seul qui ne soit pas inclus dans l'encryptage donc par conséquent il n'est pas mis à jour automatiquement.
Mais comme l'a dit Nagato Yuki (qui m'a beaucoup aidé pour le script) ce n'est pas définitif. Il suffirait d'un petit bout de code pour pouvoir télécharger le dossier audio à la racine du projet automatiquement sans que cela soit affiché sur l'interface de RUpdate.
Encore une fois le système est encore en bêta, malgré tout il reste le seul système de mise à jour par interface graphique existant pour RMXP. Sachez cependant que j'ai songé à me tourner vers VBnet dans l'optique de compléter le projet qu'est RUpdate.
Following members like this message:
Laito' (21/05/12)
Back to top
Visit poster’s website
PantoufleZehef
Membre


Joined: 05 May 2012
Posts: 8

PostPosted: Mon 21 May - 15:50 (2012)    Post subject: Créer son launcher Pokémon de A à Z

Petit aperçu de mon launcher si ça peut intéresser:



Et la petite fenêtre au cas où le rgss100j.dll foire:



J'ai voulu faire simple et épuré.
Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Tutoriels All times are GMT + 1 Hour
Goto page: <  1, 2, 3  >
Page 2 of 3

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Cookies | Charte | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)