Pokémon Script Project Index du Forum

S’enregistrer | Rechercher | Connexion
 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

Echanges en temps réel
Aller à la page: 1, 2  >
 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Scripts
Sujet précédent :: Sujet suivant   
Auteur Message
Sphinx
Scribe
Scribe


Inscrit le: 07 Jan 2008
Messages: 9 736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

MessagePosté le: Dim 14 Aoû - 14:55 (2011)    Sujet du message: Echanges en temps réel

Echanges en temps réel


    :? Arrête de flooder l'ami... C'est pas drôle comme blague !

Si seulement c'était une blague. Mais c'est tout à fait réel ! Enfin maintenant, ca l'est ^^ Mais je vais vous détailler tout ca, car c'est un topic on ne peut plus sérieux :p

    I) Principe général

Pour créer la version 1.0b présentée ici, j'ai repris le concept créé par Krosk - l'échange qui se base sur les codes échanges que les deux joueurs devront s'échanger avant, en gros comme ca se fait déjà avec le système disponible par défaut - à partir duquel j'ai basé le système d'échanges en temps réel.
Après avoir échangé au préalable leurs codes échanges respectifs, les deux joueurs n'ont plus qu'à accéder au centre d'échanges, puis à échanger leurs pokémons. Etant donné que l'échange se fait en temps réel, entre chaque décision, un temps d'attente peut être observé (l'échange ne se poursuit que lorsque les deux joueurs ont validé l'étape précédente). Afin de la faire passer plus agréablement, une petite animation a été dessinée tout spécialement par Disscat.
Si l'option SAVEBOUNDSLOT (option de PSP0.7 activée par défaut qui oblige le joueur à sauvegarder sa partie sur le même slot) est activée, la partie est automatiquement sauvegardée avant puis à la fin de l'échange.

    II) Installation :

Cette partie est la plus complexe de ce tutorial. Je vais donc faire au mieux pour ne pas m'attarder sur les détails - pour ceux que ca intéresse, j'y consacrerai la prochaine partie -, mais je vous conseille également de relire autant de fois que nécessaire.
L'installation se décompose en deux sous parties :
      A) Installation côté serveur :

    Derrière ce titre effrayant se cache quelque chose de très simple, finalement. Le seul prérequis indispensable, c'est un hébergement qui permette d'exécuter des pages PHP (il en existe énormément de gratuits sur internet, inutile de vous ruiner pour ce tutorial). Ceci dit, je n'ai testé qu'avec un serveur Free (inutile d'être chez eux pour vous ouvrir un espace perso gratuit chez eux Clin d'œil foireux) dont je me suis servi pour mettre au point ce système. Mais tout semble indiquer que ca marchera très bien également sur n'importe quel autre hébergeur, quoiqu'il vaudrait mieux éviter ceux qui ajoutent automatiquement des pubs.

    Pour faire simple, créez simplement un dossier (que vous pouvez appeler echanges, placé à la racine de votre serveur par exemple) puis placez y ce fichier :

    (pensez à le dézipper avant de le placer sur votre serveur, bien sur ^^)

    Retenez l'endroit où est placé ce fichier, vous en aurez besoin tout à l'heure.

      B) Installation dans votre projet :

    Cette fois le titre est simple à comprendre, et ne fait pas peur. Toutefois, vous verrez qu'il y a plusieurs scripts à installer, ce sera donc un peu plus long que pour le point précédent.
    Tout d'abord, vous devrez installer les scripts suivants :


    Ensuite, vous devez copier les scripts suivants au dessus de Main dans votre projet :
    Citation:
    Les poster ici provoquait un bug avec les balises Code & Spoiler, donc je les ai uploadés et je les ai compressés dans ce fichier :

    qui contient 3 fichiers texte, ce sont les 3 scripts à copier/coller dans votre projet.

    Au début du script Scene_Echanges, vous avez ca :
    Code:
        # L'adresse de votre site internet
        HOSTNAME = ""
        # Le chemin d'accès vers le script d'échange PHP
        # (exemple /dossier/fichier.php)
        DIRNAME = ""
        # Nombre de frames avant annulation de l'échange
        FRAME_TIME_OUT = 600

    Indiquez entre les guillemets de HOSTNAME l'adresse de votre serveur sans le précéder de http://.
    Entre les guillemets de DIRNAME, indiquez le chemin d'accès vers le fichier index.php que vous avez mis sur votre serveur tout à l'heure.
    Ensuite, la valeur du FRAME_TIME_OUT sert à déterminer le nombre de frames qui seront affichées en attendant l'autre partie.
    Enfin, téléchargez cette archive qui contient les ressources graphiques et audio utilisées par ce script, puis dézippez le dans le dossier de votre projet.
    Voici la liste des fichiers contenus dans l'archive ZIP :
    • Audio/
      • BGM/
        • PkmRS-Evolving.mid
            Musique de l'animation d'échange
        • PkmRS-MtChimney.mid
            Musique de fond de la scène
      • ME/
        • Caughtjingle.mid
            Son de fin de l'animation d'échange
      • SE/
        • Pokemove.WAV
            Son utilisé dans l'animation d'échange

    • Graphics/
      • Pictures/
        • echange_barre.png
            Barre de progression
        • echange_fond.png
            Fond de la scène
        • echange_interface1-1.png
        • echange_interface1-2.png
        • echange_interface1-3.png
        • echange_interface2.png
        • echange_interface3.png
        • echange_interface4.png
            Eléments de l'animation d'échange
        • messagedummy.png
            Fond de message
        • Persian_00.png
        • Persian_01.png
        • Persian_02.png
        • Persian_03.png
        • Persian_04.png
        • Persian_05.png
        • Persian_06.png
        • Persian_07.png
        • Persian_08.png
        • Persian_09.png
        • Persian_10.png
        • Persian_11.png
            Les 12 frames de l'animation d'attente

    Si certaines de vos ressources portent déjà ce nom là, à fortiori si vous les avez personnalisées, renommez les avant de décompresser l'archive, vous éviterez de les remplacer.


Et voilà, vous avez fini l'installation de ce système ! Vous pouvez souffler maintenant ! ^^

    III) Utilisation :

Après une installation assez longue, je suis au regret de vous annoncer que l'utilisation de ce système est on ne peut plus complexe... Il faut créer un évènement, et y glisser cette insertion de scripts :
Code:
echange_temps_reel

Si vous y êtes arrivé, je vous tire mon chapeau :p

Ensuite, réchauffez, servez, puis testez ^^

    IV) Vidéo du système :

La vidéo ci après représente 2 fenêtres du jeu ouvertes filmées au même moment sur 2 ordinateurs différents (j'ai assemblé les 2 vidéos en une seule), pour vous montrer que le système tourne bien en temps réel.


    V) LMDLF (Le mot de la fin) :

J'ai fait divers tests (j'ai testé un maximum de situations, une majorité lors de l'élaboration du système avec des bêtatesteurs qui ont bien volontiers accepté de sacrifier de leur temps, puis je l'ai fini ces jours ci en le testant seul sur deux ordinateurs) et le système est fonctionnel. N'hésitez pas à le tester et à me signaler d'éventuels effets de bord.

    V) Nombreux crédits - par ordre alphabétique - :

Tout d'abord, je remercie ceux qui ont contribué à la mise en place de ce système (y compris en perdant un peu de leur temps en testant ce système) :
  • Disscat, pour l'animation d'échange ainsi que l'animation d'attente ;
  • Samyh, pour le back de la scène d'échange ;
  • Yuri, pour les classes Socket et Web_File qui permettent de contacter le serveur PHP.


Je remercie également les testeurs qui ont également bien aidé à l'élaboration du système d'échanges en temps réel :
  • Angi-Mk ;
  • Emeraude ;
  • Spiky ;
Revenir en haut
Publicité






MessagePosté le: Dim 14 Aoû - 14:55 (2011)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Conan Edogawa
Membre


Inscrit le: 10 Oct 2010
Messages: 184
Détective privé

MessagePosté le: Jeu 18 Aoû - 18:22 (2011)    Sujet du message: Re: Echanges en temps réel

Sphinx a écrit:
 (il en existe énormément de gratuits sur internet, inutile de vous ruiner pour ce tutorial). 


comme par exemple?
Revenir en haut
Brendan75
Ex-staff


Inscrit le: 24 Mar 2008
Messages: 1 827
Localisation: Paris
Masculin

MessagePosté le: Jeu 18 Aoû - 18:29 (2011)    Sujet du message: Echanges en temps réel

Déjà bravo pour ce script magnifique ! Maintenant, j'ai quelques problèmes pour le faire fonctionner...
Déjà, à la ligne 172 de la scene, il y a une variable "e" qui n'est pas défini chez moi, c'est un oubli ? Ou une incompatibilité RGSS ?
Code:
EXC::error_handler(e)

Ensuite, lorsque je tente de me connecter à un serveur quelqu'il soit, j'ai un bug

---------- Erreur de script : Web_File ----------
----- Type
NoMethodError

----- Message
- ARGS - ["%", "%25"]
private method `gsub' called for nil:NilClass

----- Position dans Web_File
Ligne 82

----- Backtrace
Script : Web_File | Ligne : 82 | Méthode : in `post_to_httppost'
Script : Web_File | Ligne : 120 | Méthode : in `make_var'
Script : Web_File | Ligne : 114 | Méthode : in `each'
Script : Web_File | Ligne : 114 | Méthode : in `make_var'
Script : Web_File | Ligne : 36 | Méthode : in `read'
Script : Scene_Echanges | Ligne : 310 | Méthode : in `animation_attente'
Script : Scene_Echanges | Ligne : 60 | Méthode : in `main'
Script : Main | Ligne : 49


Voilà tout ^^
Revenir en haut
Sphinx
Scribe
Scribe


Inscrit le: 07 Jan 2008
Messages: 9 736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

MessagePosté le: Jeu 18 Aoû - 18:57 (2011)    Sujet du message: Echanges en temps réel

Imbécile heureux Le e, c'est effectivement un oubli de ma part, la variable à utiliser en théorie à cette ligne s'appelle nme.

=> Pour l'autre bug, à quel niveau se déclenche t il ?

pikachu5000 a écrit:
Sphinx a écrit:
 (il en existe énormément de gratuits sur internet, inutile de vous ruiner pour ce tutorial). 


comme par exemple?

http://www.infowebmaster.fr/hebergeur_gratuit_sans_pub.php
Voici une liste - que je suppose à jour - d'hébergeurs gratuits sans publicité Clin d'œil foireux Il est vrai que je n'ai pas abordé l'ouverture d'un espace perso (appelé serveur dans ce tutoriel) sur internet, j'aurais peut être du.
Revenir en haut
Brendan75
Ex-staff


Inscrit le: 24 Mar 2008
Messages: 1 827
Localisation: Paris
Masculin

MessagePosté le: Jeu 18 Aoû - 19:01 (2011)    Sujet du message: Echanges en temps réel

Sphinx a écrit:
Imbécile heureux Le e, c'est effectivement un oubli de ma part, la variable à utiliser en théorie à cette ligne s'appelle nme.

=> Pour l'autre bug, à quel niveau se déclenche t il ?


Dès le premier "animation_attente".
Revenir en haut
Legendaire45
Membre


Inscrit le: 08 Aoû 2011
Messages: 126

MessagePosté le: Ven 19 Aoû - 11:27 (2011)    Sujet du message: Echanges en temps réel

Sphinx,ton script est-il compatible avec PSP ds,quel modif faut-il faire pour le rendre compatible??
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Ven 19 Aoû - 11:28 (2011)    Sujet du message: Echanges en temps réel

Il faut modifier les classes d'affichage et utiliser la DLL non modifié (elle fais moins d'un Mo).
Revenir en haut
Facebook Twitter
Legendaire45
Membre


Inscrit le: 08 Aoû 2011
Messages: 126

MessagePosté le: Ven 19 Aoû - 12:05 (2011)    Sujet du message: Echanges en temps réel

QUel est la dll(elle est pas sur ce topic),sinon pour l'affichage j'ai trouvé mais j'ai des bug avec le script afficher_message de PSP DS qui prend en compte que 3 argument et non 5!!
Revenir en haut
Pαlвσlѕку
Administrateur
Administrateur


Inscrit le: 17 Aoû 2008
Messages: 5 982
Masculin

MessagePosté le: Ven 19 Aoû - 13:04 (2011)    Sujet du message: Echanges en temps réel

La dll est présente dans PSP 0.7 et PSP 4G+ et PSP DS v0.3.
Revenir en haut
Skype
Legendaire45
Membre


Inscrit le: 08 Aoû 2011
Messages: 126

MessagePosté le: Ven 19 Aoû - 19:05 (2011)    Sujet du message: Echanges en temps réel

Oui mais quel est cette dll,quel est son nom??
Revenir en haut
Brendan75
Ex-staff


Inscrit le: 24 Mar 2008
Messages: 1 827
Localisation: Paris
Masculin

MessagePosté le: Ven 19 Aoû - 19:31 (2011)    Sujet du message: Echanges en temps réel

RGSS 100J.dll, je crois.

EDIT : mon bug est résolu, je n'avaiss pas rentré de code dans "Son_code.txt"... Cela dit, il serait bon de rajouter qq lignes de codes pour les oublieux de mon genre. ^^'
EDIT2 : Serait-il possible de rendre les DLLs compatibles ?
Revenir en haut
Yorick
Membre


Inscrit le: 29 Avr 2011
Messages: 90
Localisation: France
ID Steam: /

MessagePosté le: Sam 20 Aoû - 14:21 (2011)    Sujet du message: Echanges en temps réel

Peut-être faudrait-il maintenant un Tuto' pour l'adapter à PSPDS 0.4 ? Imbécile heureux
Revenir en haut
Visiter le site web du posteur
Pαlвσlѕку
Administrateur
Administrateur


Inscrit le: 17 Aoû 2008
Messages: 5 982
Masculin

MessagePosté le: Sam 20 Aoû - 14:46 (2011)    Sujet du message: Echanges en temps réel

Yorick a écrit:
Peut-être faudrait-il maintenant un Tuto' pour l'adapter à PSPDS 0.4 ? Imbécile heureux

Le problème c'est que la dll actuelle ne permet pas de faire fonctionner le système, et je ne compte pas remettre l'ancienne dll.

Donc, pour le moment pas de tuto', le temps qu'on trouve une solution au problème.
Revenir en haut
Skype
Sphinx
Scribe
Scribe


Inscrit le: 07 Jan 2008
Messages: 9 736
Localisation: Quelque part, dans le monde... Ou peut être sur une autre planète...
ID Steam: FaQuinator

MessagePosté le: Sam 20 Aoû - 17:02 (2011)    Sujet du message: Echanges en temps réel

Clin d'œil foireux De toute facon je suis en train de refondre ce script pour passer outre les codes échange. Quand il sera fonctionnel à 100%, vous serez "connectés" au serveur, et vous choisirez votre ami dans une liste.

En outre, Yuri travaille sur une nouvelle DLL qui règlerait le soucis de l'incompatibilité de celle de PSPDS0.4
Restera encore à adapter l'animation à DS 42
Revenir en haut
Nuri Yuri
Administrateur
Administrateur


Inscrit le: 15 Oct 2008
Messages: 6 383
~Entity~
Localisation: Nancy
Non renseigné (Visible...)
ID Steam: Nuri_Yuri

MessagePosté le: Sam 20 Aoû - 17:09 (2011)    Sujet du message: Echanges en temps réel

Le souci d'incompatibilité n'est pas réglable :S, sinon, pour que ça fonctionne, utilisez la DLL fourni avec RMXP et ça marchera parfaitement, après faut faut modifier les script d'affichage.
Pour la résolution de l'écran, normalement PSP DS met automatiquement la bonne quand la DLL n'est pas celle qui est fourni avec PSP DS 0.4 alors ça ne devrai pas poser de problèmes.
Revenir en haut
Facebook Twitter
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 07:56 (2017)    Sujet du message: Echanges en temps réel

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Scripts Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2  >
Page 1 sur 2

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | 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)
Traduction par : phpBB-fr.com