Jump to content
×
×
  • Create New...

Search the Community

Showing results for tags 'tutoriel'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • inshare
    • Forum Announcements
    • inshare coffee
    • Suggestions
  • Jeux Vidéos
    • Discussions
    • Minecraft
    • Grand Theft Auto
    • Call of Duty
    • Rocket League
    • Fortnite
    • Apex Legends
    • Jeux de simulation
    • MMORPG
    • Autres jeux
  • Développement
    • Discussions
    • Tutorials
    • Release
    • Discord
    • Team Building
    • Services
    • Development support
  • Graphisme
    • Discussions
    • Tutoriels
    • Services
  • Plateforme
    • Informatique
    • Consoles
    • Smartphone
  • Génération Développement's Template - Cms
  • Génération Développement's Information
  • Génération Développement's Demande de Aide
  • Génération Développement's Script Habbo & Hors Habbo
  • Génération Développement's Cours de Développement
  • Génération Développement's Graphisme & Graphiste
  • La famille inshare's Sujets

Calendars

There are no results to display.

There are no results to display.


Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Localisé:


Interêts


How did you hear about the forum?


Phrase perso


Je suis


Facebook


Twitter


Instagram


Snapchat


Skype


Youtube


Discord


Site web


Playstation


Xbox


Steam


Origin

  1. Bien le bonjour moussaillon, j'espère que tu vas bien... Moi ça va, en tout cas pour le moment, car je me suis décidé... Je me suis décidé à te donner l'opportunité de faire comme tous les plus grands rétros, en proposant à ta communauté, une app MacOS et Windows, compatible Flash et te permettant de faire perdurer ton rétro. Bien que cette solution ne soit pas la meilleure, et qu'il soit toujours mieux de partir sur de l'HTML5, je peux comprendre la détresse que tu ressens lorsque l'on te parle d'HTML5, car ce n'est pas évident pour tout le monde de pouvoir créer, et utiliser de l'HTML5. Du coup, l'alternative que je te propose aujourd'hui, c'est celle de bénéficier de ces avantages sans avoir forcément un développeur à payer. Avant de lancer ce sujet, j'ai effectivement fait les modifications de mon côté et les tests nécessaires afin de ne pas te donner quelque chose d'instable voir de non fonctionnel. Dans ce tutoriel, il va falloir se sortir les doigts du cul, et te débrouiller tel un bon moussaillon, car niveau difficulté, même un bébé sait le faire, alors si toi tu ne t'en sens pas capable, je te propose passer par quelqu'un pour te le faire, même si je trouve ça incongru et totalement inutile. Avant de commencer, il faut avoir de quoi travailler, car ce n'est pas avec un bloc-notes que tu vas pouvoir développer ce petit système sympa et bien utile pour tes projets futurs... Maintenant que tu as toute ton armure, tu peux t'aventurer dans la jungle du développement... Si tu souhaites obtenir quelques explications au sujet des choses que je te fais télécharger afin de te rassurer, tu peux lire ce qui va suivre : [hide] [/hide] Bonus modification des images : [hide] [/hide] Bonus pour tester l'app avant de la mettre au format executable : [hide] [/hide] Eh bien nous voici dans la section des flemmards... Si tu as la flemme de faire la commande : npm install Et si tu souhaites avoir les indications "NOMRETRO" "LIENRETRO" dans le code pour t'y retrouver, tu peux télécharger l'archive qui fait 141.42MB : [hide] [/hide] Je préfère être transparent avec toi... Cette configuration simple, ce n'est pas comme si que je te demandais de recréer l'application de zéro moussaillon... Tout l'environnement est à ta disposition, et ce tutoriel, complet, donc je n'offrirais aucun support... Si tu tiens à ton projet, et que tu veux tout de même user de ma gentillesse et de mon temps, je te demanderai une contribution tarifaire (ce que je trouve normal et loyal), d'une valeur de 5 à 10 Euros (au choix). Tu peux aussi passer par @ notaryzqui est une personne de confiance, et qui est dans la capacité de te le faire, GRATUITEMENT ou SOUS RÉSERVE DE PAIEMENT (c'est selon son humeur). Si j'ai décidé de partager ce tutoriel à ce jour, c'est parce que je trouve ça injuste que des personnes proposent des systèmes intéressants, sans tutoriel, et donc accessibles seulement par des personnes ayant les compétences nécessaires. Tout le monde devrait s'entraider, et c'est donc pour ça que j'ai pris une petite heure pour rédiger ce sujet. Bien que cette méthode soit loin d'être la meilleure, elle permettra aux personnes n'ayant pas les compétences, de proposer une suite à leur communauté. Si tu souhaites aller plus loin avec ce genre de système, @ notaryza fait un petit sujet intéressant, avec le même principe, mais 100% "Natif", contrairement à ce sujet ou ce n'est que du "WebView". Si tu souhaites aller encore plus loin, et intégrer Nitro sur ton rétro afin de proposer une version HTML5, @ Stown a fait un petit sujet bien sympa ici. Tu trouveras le sujet de @ notaryz ici. Bon, eh bien, nos chemins s'arrêtent ici moussaillon, mais ne t'inquiète dont pas, nous nous divisions pour mieux nous retrouver sur un autre sujet palpitant ! Et que la mer soit avec toi !
  2. Moussaillon, les océans m'ont ramené jusqu'à toi afin de te présenter un coffre longtemps bafoué et pourtant, si intéressant... Marius, mon matelot a réussi à retrouver la clé de ce coffre... Dans sa bouteille d'hydromel, la raison ? Je ne la connais pas, mais en tout cas, il avait l'air naturel, contrairement à d'habitude... Chocolatey : C'est un navire rempli de cartes au trésor. Celui-ci te permettra de créer ta propre chaloupe, rapidement, efficacement et tout en reprenant les fondamentaux du navire "Habbo" qui sombre avec ses moussaillons depuis très longtemps à cause de la chaloupe "HabboCity" qui serait, selon Lambert, insurmontable et invincible. Le navire Chocolatey appartenait au marin d'eau douce sant0ro, celui-ci le fît concevoir complètement avec les frameworks Laravel et Composer, une petite prouesse dans un monde de chaloupes, utilisant quasiment tous les mêmes technologies. Arcturus : Aïe, ça me fend la gueule de parler d'Arcturus, mais c'est pourtant bien le cas, et c'est, selon nos matelots anglais, l'une des seules proues compatibles avec le navire Chocolatey. Arcturus, regroupe tout un tas de trucs sympas à gratter, malgré son créateur, le loup de mer "TheGeneral". Ce vieux loup de mer en veut pour sa poche... Il est accro aux coffres, et il a raison. En créant Arcturus, il a réfléchi à l'avant mais aussi à l'après, et vicieux comme il est, il s'est donné à fond pour vendre du rêve à ses moussaillons, afin de les faire entrer dans une spirale monétisée qu'est l'abonnement à son système de caméra, ce qui signifie que pour pouvoir prendre des photos de tes voyages, il faudra lui laisser de l'argent, chose que je ne te conseille surtout pas au vu des alternatives présentes sur la chaloupe "RaGEZONE"... Chocolatey : Nombreux sont les avantages de ce navire. Commençons tout d'abord par : Son système entièrement en JS permettant une navigation sans encombre Son système multi-avatars permettant aux utilisateurs d'avoir plusieurs avatars avec un simple compte entièrement modulable Son système d'inscription complet, regroupant le choix du look, et le choix des apparts sur le client lors de la première utilisation Son design inspiré entièrement du navire "Habbo" Son système multilangue modifiable manuellement dans une de ses cartes au trésor Arcturus : Malgré son capitaine, il y a pas mal de choses sympa : Wireds (Triggers, Effects, Conditions, Custom Wireds) Animaux (Advanced AI) Groupes Echanges Rares Limités Devise saisonnière Gardiens Mod Tool Bots Jeux (Battle Banzai & Freeze) Editeur Floorplan. Paquets Pack Appart et bien plus encore à découvrir ! Chocolatey : Malheureusement, ce navire n'est pas tout beau et tout rose, certaines choses sont manquantes, et ces choses peuvent être importantes selon l'utilisation des matelots : Il ne contient pas d'administration à proprement parler Il est très compliqué à modifier Des fonctionnalités comme la boutique sont présentes, mais il n'existe à ce jour, aucun moyen de la configurer C'est un navire très compliqué à assembler, il faut être patient Il requiert certaines API qui ne peuvent être laissées de côté Selon les matelots Anglais, ce navire comporterait des failles (mais ça reste à vérifier) Le système de choix d'appart à l'inscription est bien présent, mais je n'ai à ce jour, pas encore trouvé un moyen de le modifier, ce qui signifie qu'il faut avoir une base de données regroupant exactement les mêmes ids que les meubles insérés lors du choix d'appart, sinon, tu te retrouveras avec l'appart, mais sans les meubles... La communauté est très fermée, et ce navire a été laissé de côté car personne à ce jour n'a trouvé comment le faire fonctionner avec Arcturus, du coup, aucune aide concrète, malgré le fait que tu vas apprendre à les faire fonctionner grâce à ce tutoriel ! Arcturus : Je vais pouvoir me faire un plaisir de cracher sur la gueule de ce vieux loup de mer... La communauté "d'entraide" n'est accessible que via Discord, et seulement si tu as payé un abonnement à TheGeneral Cette communauté est composée pour la plupart, de marins d'eau douce à l'ouest, incompétents, ridicules, et insultants Le code source de l'émulateur est inaccessible, sauf en l'échange d'argent... L'émulateur a été conçu de sortes à ce que les badges du groupe se basent sur du local, les coordonnées vers le coffre "c_images" ne sont pas acceptées, il faut que Chocolatey ET Arcturus soient hébergés sur le même serveur pour que les badges de groupe puissent fonctionner correctement.... L'émulateur ne fonctionne que par plugins, ce qui signifie qu'il est dépendant de tes connaissances, ou de celles de certains matelots qui en partagent Avant de commencer, il te faudra ton équipement matelot, sinon, tu risques de pas faire long feu face aux têtes-grises. Arcturus-Community-master.zip Chocolatey 3000K Un compte reCaptcha Composer PHP7 pour Chocolatey Des SWF et un Catalogue Complet et MàJ Habbo.swf par Eudes et pour HabboDev Pas besoin de te dessiner une carte pour savoir que tu auras besoin d'une base de données, d'un nom de domaine, d'un client FTP, d'un VPS et de ton cerveau. Si tu n'as pas encore tout ça, alors je vais te donner des idées intéressant matelot que voici : [hide] [/hide] [hide] [/hide] Sources utilisées : Pour les SWFS et le Catalogue : RageZone Pour le CMS : RageZone Auteurs des sources : Prérequis techniques : - PHP 7.X+ Matelot, nous voici maintenant sur les vagues de l'océan pacifique, si tu suis bien ce que je vais écrire, tu es sûr de ne pas te noyer... Nous allons procéder étape par étape. I : Installer la base de données Matelot, pas besoin de te faire une carte au trésor, si tu veux te lancer sur un rétro avec ce genre de ressources tu dois savoir, au moins, importer une base de données et obtenir ses informations. Il te faudra importer le fichier morningstar-base-2-3-0.sql dans ta base de données et pas les "TO....", je tiens à te préciser ça car des utilisateurs n'ont pas compris quel fichier était à importer, puis importer les tables du catalogue que je t'ai mis en téléchargement plus haut : II : Créer un compte recaptcha Une fois ton compte créé, il va falloir te rendre ici. Ensuite, pour obtenir ton propre code recaptcha tu dois procéder comme suit : Une fois la clé du site copiée, mets là de côté car tu en auras besoin pour configurer Chocolatey. III : Installer PHP7 Une fois téléchargé, tu vas décompresser le dossier contenu dans l'archive, que tu vas envoyer à un endroit de ton PC IV : Installer Composer Après avoir extrait PHP7, tu vas devoir installer Composer À un moment de l'installation, tu vas tomber sur cette page de l'installateur, tu devras alors définir la localisation de ton dossier PHP7 précédemment décompressé (1) puis continuer l'installation (2) : Pour ma part, j'ai décidé de placer le dossier PHP7 dans "Musiques", parce que je ne savais pas vraiment ou le mettre matelot. Après avoir défini la localisation de ton dossier, il ne te manquera plus qu'à finaliser l'installation de Composer. V : Configurer et Installer Chocolatey Une fois Chocolatey téléchargé, tu vas le décompresser à un endroit sur ton PC Ensuite, tu vas te rendre dans son dossier, lancer une cmd en procédant comme suit : Une fois "composer install" lancée et terminée, tu vas te rendre dans le fichier ".env" contenu à la racine de Chocolatey, puis, tu vas configurer les accès base de données comme suit : Une fois configuré, tu vas sauvegarder ton fichier .env, et retourner sur la cmd en procédant comme suit : Si tu as bien mis les bonnes informations de connexion, tu devrais obtenir le résultat ci-dessus. Une fois ce résultat obtenu, je te conseil LARGEMENT d'utiliser cette commande dans ta cmd : composer install --no-dev Maintenant, il va falloir te rendre dans le dossier "config" de Chocolatey et aller dans le fichier "chocolatey.php". Les lignes "26" et "27" te permettront de modifier le nom et le nom court de ton rétro. La ligne "39" te permettra de modifier le lien de ton rétro (OBLIGATOIRE) La ligne "58" te permettra d'indiquer le pseudo avec lequel tu t'es abonné sur Arcturus (FACULTATIF) La ligne "76" te permettra d'activer reCaptcha en indiquant la clé que tu as créée sur l'étape II de ce tutoriel (OBLIGATOIRE) Pour mettre le site en Français, il faudra te rendre en ligne "165" et remplacer "en" par "fr" (IMPORTANT) Pour modifier le pays d'origine du rétro, il faudra te rendre en ligne "177" ET "178" et modifier la ligne 177 en mettant 'fr' puis la ligne 178 en mettant 'eu' Une fois ces configurations apportées, tu devras sauvegarder, puis envoyer la totalité du CMS à la racine de ton nom de domaine. Il faudra que ton site pointe sur le dossier "public", ces modifications peuvent être apportées si tu demandes à ton hébergeur de le faire pour toi Une fois la totalité des fichiers envoyés, tu devras te rendre sur ton FTP et attribuer les droits "777" au dossier "storage" et à ses sous-dossiers comme suit : Si toutes les étapes ont été respectées, en te rendant sur ton rétro, tu devras obtenir ce résultat : VI : Configurer et Installer les SWF Avant de te lancer, il faudra importer les swf sur ton nom de domaine. [hide] Voici un conseil : Il est toujours mieux d'héberger ses SWF sur un sous-domaine sécurisé, comme ça, on ne mélange pas le côté BACK et FRONT et on évite de s'emmêler les épées ! [/hide] Une fois les SWF envoyées, il faudra te rendre dans le dossier "gamedata", puis dans le fichier "external_variables.txt" afin de remplacer la valeur "http://localhost" par "http://leliendetonretro.com" N'oublie pas d'envoyer le fichier SWF 60FPS que je t'ai mis en téléchargement, ce sera le SWF principal qui te permettra de te connecter au client ! Une fois le fichier "external_variables.txt" modifié, il faudra le sauvegarder, puis, te rendre dans le dossier "gamedata" puis "override" puis dans le fichier "external_override_variables.txt" et remplacer "http://localhost" par "http://leliendetesswfs.com" Maintenant, il faudra retourner sur Chocolatey, et dans le dossier "config" puis le fichier "chocolatey.php" afin de modifier les valeurs contenues de la ligne "259" à "271" par les liens de tes SWFS. Matelot, tu dois tout de même savoir comment configurer des SWFS non ? [hide] [/hide] VII : Configurer Arcturus Et nous voici à l'étape finale ! Encore un peu de concentration matelot et les vagues du pacifique seront à ta merci ! Il faudra décompresser Arcturus sur ton VPS Bien sûr, en tant que matelot tu dois connaître quelles sont les manipulations à effectuer sur ton vps avant de lancer un rétro (pare-feu, symbole numérique etc.) Une fois décompressé, il faudra configurer Arcturus en te rendant dans le fichier "config" contenu à sa racine. Voici les configurations bénéfiques à Arcturus qui ne sont pas forcément connues, alors, j'ai décidé de t'éclairer sur celles-ci : Pour le reste, je suppose que tu sais configurer un émulateur quand même matelot... Une fois Arcturus configuré correctement, il faudra te rendre sur Chocolatey, dans le dossier "config" puis le fichier "chocolatey.php" afin de modifier les valeurs contenues de la ligne "242" à "245" par celles de ton VPS. Maintenant que tout est configuré, tu vas retourner sur ton VPS et télécharger Java Une fois Java téléchargé, tu vas retourner dans le dossier d'Arcturus et double cliquer sur "start.bat" Ton rétro est allumé, bon jeu matelot ! VIII : Support Si tu ne te sens pas de le faire, ou que tu n'y arrives pas, plutôt que de polluer l'espace commentaire de ce sujet, je te propose de passer par la communauté pour obtenir des réponses. Je ne répondrais à aucune demande d'aide, sinon, je ne m'en sors plus, le cas par cas c'est ce qu'il y a de plus horrible Avant de juger, il est important pour toi de regarder à quoi ressemblent le catalogue et les swfs fournis ici ! De plus, télécharger un CMS sans savoir à quoi il ressemble c'est toujours inintéressant, alors, je t'invite à cliquer ! Que la mer soit avec toi matelot !
  3. Comment utiliser ou activer l'appareil photo ? Pour pouvoir utiliser l'appareil photo, vous devez d'abord installer le plugin Apollyon. Vous devez également remplacer votre Habbo.swf Plugin Apollyon : [HIDE] Apollyon-2.jar [/HIDE] Habbo.swf : [HIDE] Habbo.swf [/HIDE] I] Remplacez le Habbo.swf que vous utilisez actuellement sur votre hôtel par le nouveau swf, assurez-vous qu'il n'est pas en cache. S'il est en cache, les utilisateurs doivent d'abord vider leur cache avant d'entrer dans l'hôtel. II] Ajoutez le plugin Apollyon dans le répertoire des plugins de votre émulateur et redémarrez votre émulateur, une nouvelle configuration sera créée dans la table emulator_config. III] Dans votre swfs, vous devez créer un dossier nommé "camera" et "camera/thumbnails", si le chemin d'accès à votre swf est /var/www/swfs/c_images, vous devez créer le dossier dans /var/www/swfs (exemple : /var/www/swfs/camera). IV] Dans votre base de données, naviguez jusqu'à la table emulator_config et modifiez les valeurs suivantes. Je définirais imager.location.output.camera en /var/www/swfs/camera Assurez-vous que camera_enabled est défini sur 1 et que camera.item_id est défini sur l'élément correct dans items_base. V] Ajoutez ou modifiez vos textes flash externes afin qu'ils contiennent les variables suivantes: navigator.thumbnail.url_base=http://localhost/swfs/camera/thumbnails/ stories.image_url_base=http://localhost/swfs/camera/ L'appareil photo ne peut être utilisé que s'ils disposent de l'autorisation acc_camera. Crédit : Harmony
  4. Bonjour , il y a quelques mois j'ai retranscrit toutes les questions fréquentes ainsi que les solutions pour arcturus morningstar sur leur forum, je met donc ça ici même si peu de personne utilise cette émulateur j'ai l'impression Question : J'ai trouvé un bug dans Arcturus Morningstar. Où dois-je le signaler ? Solution : [HIDE] Tous les bugs doivent être publiés dans le Git Arcturus Morningstar : https://git.krews.org/morningstar/Arcturus-Community/issues/new [/hide] Question : Je veux voir une nouvelle fonctionnalité Solution : [HIDE] Si Habbo l'a : demandez-le sur le lien indiqué ci-dessus. Ajoutez suffisamment de détails, de captures d'écran, etc. et vous le verrez très probablement dans la prochaine mise à jour (utilisez d'abord la fonction de recherche pour voir si elle a déjà été demandée). Si Habbo ne l'a pas, créez un plugin ou demandez un plugin - les plugins sont un moyen facile d'ajouter de nouvelles fonctionnalités à Arcturus Morningstar. Vous trouverez de plus amples informations sur la manière de créer un plugin à l'adresse suivante : https://docs.arcturus.dev/ [/hide] Question : Où puis-je télécharger la dernière version de Morningstar Solution : [HIDE] Vous pouvez télécharger la dernière version stable sur https://arcturus.dev/, vous avez également le choix de télécharger la version de développement dont la stabilité n'est pas garantie. [/hide] Question : Je veux contribuer à Arcturus Morningstar Solution : [HIDE] C'est vraiment super à entendre. Tout le monde peut contribuer par l'intermédiaire de: https://git.krews.org/morningstar/Arcturus-Community, il suffit de le cloner, d'y apporter des modifications et de demander sa fusion. Cependant, il y a des directives spécifiques à suivre pour que votre demande de fusion soit acceptée. [/hide] Question : Où puis-je trouver les plugins ? Solution : [HIDE] Les plugins sont distribués par les développeurs du plugin, mais il existe un pack officiel de plugins nommé "Arcturus Extended" qui contient des plugins vérifiés que vous pouvez utiliser, consultez https://git.krews.org/morningstar/arcturus-extended [/hide] Question : Quelle est la différence entre Arcturus et Arcturus Morningstar ? Solution : [HIDE] Arcturus est un émulateur maintenu par une personne qui le revendique comme son propre émulateur et ne permet pas à la communauté de contribuer à quoi que ce soit. Cependant, Arcturus Morningstar est un projet open source, ce qui signifie que vous pouvez contribuer au projet, signaler des problèmes, demander des fonctionnalités, etc. parce que c'est un projet communautaire, il sera toujours maintenu et mis à jour. [/hide] Question : Qui sont les contributeurs actuels ? Solution : [HIDE] Les principaux contributeurs et responsables de la maintenance d'Arcturus Morningstar sont HarmonicRain Harmony et Alejandro, mais ils ne sont pas les seuls à contribuer à ce projet, il y a beaucoup trop de contributeurs pour les lister ici. Mais ce sont eux qui maintiennent le projet. [/hide] Question : Comment puis-je installer Arcturus Morningstar ? Solution : [HIDE] Des informations sur la façon d'installer Arcturus Morningstar sont disponibles sur https://hackerman.tech/doc/arcturus/install/1/ [/hide] Question : Comment faire fonctionner l'appareil photo ? Solution : [HIDE] https://inshare.fr/topic/9599-comment-utiliser-la-caméra-darcturus-morningstar/ [/hide] Question : Arcturus Morningstar coûte-t-il de l'argent ? Solution : [HIDE] Non, l'utilisation d'Arcturus Morningstar est gratuite, les fonctionnalités officielles et les plugins officiels sont gratuits. Cependant, certaines personnes peuvent vous faire payer pour créer un plugin pour vous, nous ne pouvons pas garantir qu'elles ne vous escroqueront pas. Veuillez contacter un modérateur ou un administrateur de Krews si vous n'êtes pas sûr que quelqu'un est digne de confiance. (Veuillez vous adresser à une personne ayant un rôle de développeur pour les demandes de plugins, ils sont plus dignes de confiance). -> Nous ne sommes pas responsables des "mauvaises foi" ici. [/hide] Question : J'ai cette erreur quand je démarre l'émulateur : Solution : [HIDE] Exécutez ce SQL : ALTER TABLE `emulator_errors` MODIFY COLUMN `version` varchar(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `timestamp`; ALTER TABLE `emulator_errors` MODIFY COLUMN `build_hash` varchar(64) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL AFTER `version`; [/hide] Question: Wireds n'enregistrant pas correctement. Solution : [HIDE] Exécutez ce SQL : ALTER TABLE `items` MODIFY COLUMN `wired_data` varchar(4096) CHARACTER SET latin1 COLLATE latin1_swedish_ci default ''; [/hide] Question : IIS & PNGCamera/Appolyon Solution : [HIDE] Si vous ne voyez pas les images ou si leur chargement est long, vous devez désactiver le cache dans ce répertoire web. -> Pour IIS, créez un web.config dans le répertoire camera et remplissez-le avec ceci : <configuration> <system.webServer> <httpProtocol> <customHeaders> <add name="Cache-Control" value="no-cache" /> </customHeaders> </httpProtocol> </system.webServer> </configuration> -> Pour Apache, créez un .htaccess et désactivez le cache [/hide] Question : Comment puis-je corriger "com.mysql.jdbc.exceptions.jdbc4.MySQLDataException : 'XX1E9' dans la colonne '1' est en dehors de la plage valide pour le type de données INTEGER". Solution : [HIDE] Exécutez la requête suivante et supprimez toutes les lignes qui correspondent. N'oubliez pas de supprimer également tous les catalog_items liés. Si vous ne souhaitez pas supprimer le ou les articles, modifiez l'ID (n'oubliez pas de modifier catalog_items et les articles également ! SELECT * FROM items_base WHERE id > 2147483647 [/hide] Question : Pourquoi le wired classement ne fonctionne pas ? Solution : [HIDE] wf_highscore EST L'INTERACTION. [/hide] Question : POURQUOI LES DÉS NE TOURNENT PAS ? Solution : [HIDE] les dés n'ont jamais pu tourner, ce n'est pas codé dans le swf, essayez ce SWF https://cdn.discordapp.com/attachments/572404816509403136/607588232091402242/draaidice.swf [/hide] Question : Il me manque cette configuration. MSG : [CONFIG] Clé non trouvée : allowed.username.characters Solution : [HIDE] Exécutez ceci : INSERT INTO `emulator_settings`(`key`, `value`) VALUES ('allowed.username.characters', 'abcd[email protected]:,.'); [/hide] Question : Je reçois un article au hasard lors de l'achat d'un cadeau / Le cadeau ne fonctionne pas Solution : [HIDE] C'est un problème dans la configuration de votre emballage cadeau. Exécutez cette requête SQL pour corriger les emballages cadeaux : TRUNCATE TABLE gift_wrappers ; INSERT INTO gift_wrappers (sprite_id, item_id) SELECT sprite_id, id FROM items_base WHERE item_name LIKE 'present_gen%' ; UPDATE gift_wrappers SET type = 'gift' ; INSERT INTO gift_wrappers (sprite_id, item_id) SELECT sprite_id, id FROM items_base WHERE item_name LIKE 'present_wrap%' ; [/hide] Question : Je ne vois pas le widget/bubble d'informations sur l'événement dans la barre latérale ! Solution : [HIDE] Suivez ces étapes jusqu'à ce que vous le fassiez fonctionner 1. Vérifiez que eventinfo.enabled=true se trouve dans vos variables. 2. Vérifiez que vous n'écrasez pas la propriété eventinfo.enabled dans vos variables d'annulation. 3. Vérifiez si vous définissez new.identity=1 quelque part, et si c'est le cas, supprimez-le. REMARQUE : ce paramètre se trouve très probablement dans votre fichier client (client.php, etc.), alors vérifiez là aussi ! 4. En dernier recours, vous pouvez ajouter new.identity.hide.ui=false pour supprimer les bizarreries liées à la nouvelle identité. Habbo ne montre pas certains éléments de l'interface utilisateur aux nouveaux utilisateurs, probablement pour éviter toute confusion avec les nouveaux utilisateurs. Vous ne devriez pas ajouter la propriété new.identity si vous ne l'utilisez pas correctement car elle cache certains éléments de l'interface utilisateur. Même si la fonctionnalité n'est pas codée, la version réduite suivante du widget sera affichée. Si vous ne pouvez pas le voir, c'est un problème dans vos variables, pas dans Morningstar. [/hide] Question : La commande de regroupement ne fonctionne pas Solution : [HIDE] Exécutez : UPDATE `catalog_pages` SET `includes` = '' WHERE `includes` IS NULL; ALTER TABLE `catalog_pages` MODIFY COLUMN `includes` varchar(32) CHARACTER SET latin1 COLLATE latin1_swedish_ci NOT NULL DEFAULT '' COMMENT 'Example usage: 1;2;3\n This will include page 1, 2 and 3 in the current page.\n Note that permissions are only used for the current entry.'; [/hide] Question La commande Mute n'a pas été corrigée Solution : [HIDE] recherche de la commande ":mmute" "fix" open emulator_texts in DB recherche de la chaîne de caractères "commands.keys.cmd_mute" remplace la valeur par "mmute;shutup" Cela devrait activer la commande puisque ":mute" est une commande côté client et ne fonctionne pas comme prévu. l'utilisation telle qu'indiquée par John est déjà ":mmute %username% %time%" note : %time% en secondes. [/hide] Question : Quelle production Habbo.swf utilise Arcturus Morningstar ? Solution : [HIDE] Le seul Habbo.swf compatible est : PRODUCTION-201611291003-338511768 [/hide] Question : mes crédits/points fkn ne sont pas déduits lorsque j'achète quelque chose ? Solution : [HIDE] votre rang a la permission de crédits infinis acc_infinite_credits acc_infinite_pixels acc_infinite_point [/hide] Question : Je vois des nombres aléatoires dans mon catalogue Solution : [HIDE] Ce sont des pages d'identification. Elles sont destinées à l'entretien ménager de l'ancienne école afin de faciliter l'édition de ces pages. Seuls les administrateurs les voient. Si elles vous dérangent, vous pouvez exécuter ce SQL : Mettez à jour les permissions SET `acc_catalog_ids` = '0'. [/hide] Question : On ne peut pas acheter de chien Solution : [HIDE] C'est parce que le chien est pet_id = '0'. La base de données de base a comme clé primaire le pet_id dans pet_actions, que MySQL met automatiquement à jour avec le dernier ID. Le chien se casse simplement à chaque redémarrage, parce que votre serveur ne permet pas qu'il soit à 0. Voici donc un correctif. Il suffit de le lancer et de le redémarrer - tous les animaux sont réparés. NOTE ! Ce SQL ne contient pas d'animaux de compagnie personnalisés, donc au cas où vous en auriez, réinsérez-les. https://cdn.discordapp.com/attachments/579394099753254922/711276369753014312/pet_actions.sql [/hide] Je tiens à rappeler que ce sujet à pour but de répondre aux questions/problèmes fréquemment rencontré sur arcturus émulateur et en aucun cas un sujet pour demander de l'aide. Crédits à Hackerman, Olivier, Jhon, Laynester, Bill, Alejandro, Harmony, Narzo.
  5. Pré-requis : Installer node et angular sur votre ordinateur Télécharger nitro en zip -> https://git.krews.org/nitro/nitro-client Télécharger la dernière version d'Arcturus -> https://git.krews.org/morningstar/Arcturus-Community/uploads/29c7d2b04fc5ac2a7ba14bb7acbd785e/3-0-0-beta-1.zip Télécharger le plugin websocket -> https://mega.nz/file/wJtk0CRT#FAKzL74P00sINRHX_glOdyoi5TFzJ1Q55wqNulRj6aw Les assets ( pack contient les assets et les swf) -> https://github.com/Wulles/Nitro Flash Ui nitro compiled version -> https://mega.nz/file/xQsiFKhB#ECpscHvWJw-EW6ldgwApdYdD4Ff6TEoZp7m1Hq6ztps Avoir un de ses serveurs installé sur votre ordinateur : Xampp/Wampp/Laragon etc Pour Windows : https://nodejs.org/en/download/ Après avoir installer node, installer Angular Cli en exécutant la commande: npm install -g @angular/cli Pour MacOS : brew update brew install node npm install -g @angular/cli Installer/configurer Nitro & Arcturus Après avoir télécharger le fichier zip, décompresser le sur votre ordinateur. Configuration de nitro : Allez dans le répertoire nitro, puis le dossier src et renommer les fichiers : -> index.html.example en index.html -> configuration.json.example en configuration.json Ensuite éditer le fichier configuration.json et modifier les trois premiers lignes En "socket.url": "ws://127.0.0.1:2096", "asset.url": "http://localhost/swf/assets", "c.images.url": "http://localhost/swf/c_images", Concernant les assets, si vous possedez les serveurs (xampp,wampp etc) de-ziper le swf.zip et mettez le dans le répertoire htdocs Ouvrir CMD (Windows) ou le terminal (MacOs) et exécuter les commandes : cd dossiernitro npm install ng serve (vous permettra d'accéder à nitro) Accéder à nitro -> http://localhost:8080/ Arcturus Configurer Arcturus et mettre le plugin websocket dans le dossier plugin Démarrer l’émulateur puis l’éteindre Allez dans la db -> Aller sur la table emulator_settings et configurer les lignes ws.nitro et ws.nitro comme suit Redémarrer l’émulateur. Allez dans la table users, mettre un sso sur l’user dans la colonne auth_ticket (choisissez n'importe quoi) Ensuite accéder à nitro comme suit http://localhost:8080/?sso=lessoquevousavezchoisi Et voilà le résultat
  6. Bienvenue à vous, si ce titre vous a interpeller j'espère que vous trouverez ici votre bonheur, étant un utilisateur courant de Linux je me suis intéresser et motiver à vouloir contribuer à l'utilisation de Nitro pour donner un coup de mains à la communauté curieuse et passionné de tout débutant, novice ou professionnel. J'ai entièrement suivis les étapes à suivre du tutoriel pour m'assurez qu'il ne manque aucune étapes afin que même les débutants s'y retrouve, rien n'est parfait, si vous avez repérer des erreurs ou si vous ne parvenez pas à franchir une étape n'hésiter surtout pas à me le faire savoir, ! Ici j'aborderais quelques étape à suivre pour administrer et installer un client Nitro localement sur le système d'exploitation linux (Debian 10 & GNU/Linux) : Vous apprendrez à : _ Installer des dépendances Linux pour menez à bien votre projet web. _ Vous familiarisez avec le terminal Linux. _ Installer et configurer un site sur le serveur web Apache2. _ Vous familiarisez en ligne de commande avec la base de donnée Mysql. _ Mettre en place et configurer un CMS simple comme Cosmic. _ Créer un nom de domaine localement sur votre machine. _ Quelques commandes linux utiles. /!\ Vous n’apprendrez pas à : _ Utiliser un système Linux. _ Comprendre et utiliser tout les outils installer. _ Gérer les éventuels erreurs rencontrer aux étapes de ce tutoriel. Si vous êtes un débutant Linux, je vous conseille d'essayer ce tutoriel sur une machine virtuel ! /!\ Personnellement je vous conseille d'apprendre à vous documenter sur Internet pour apprendre les étapes à suivre, ne copie/coller pas bêtement une commande sans savoir à quoi elle sert, cela ne vous serviras pas du tout et vous pourrez rencontrer des problèmes qui pourront sans doute déranger votre machine avec des bugs ! Vous avez des questions, des erreurs ? N'hésiter pas à me contacter en message privée ou sur l'article. Mon discord : CH41N#8029 //////// / CRÉDITS / / Un grand merci à Bill et son équipe de développeur et aux tiers qui on été présent pour m'aider à mener à bien ce tutoriel / Liens du serveur discord du projet de Bill - Nitro : >>> NITRO <<< / / //////// /!\ Premièrement vous aurez quelques ressources et outils utiles à télécharger sur linux avant de commencer ! /!\ PRÉREQUIS : Installation de NodeJS : _Au vue des quelques soucis d'installation que j'ai pus rencontrer sur Nitro avec la version (14) - LTS de NodeJS j'utiliserais la version 16 sur ce tutoriel, (si vous avez un quelconques problèmes d'installation avec la version, essayer plusieurs version pour les tester sur votre machine est la première étapes à faire.) Pour changer de version avec le Github NodeJS : >>> NodeJS Github <<< N'OUBLIEZ PAS : $ sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y autoremove Installer 16v.NodeJS avec les commandes : # À utiliser sous Ubuntu $ curl -fsSL https://deb.nodesource.com/setup_current.x | sudo -E bash - $ sudo apt-get install -y nodejs # À utiliser sur Debian, en root $ curl -fsSL https://deb.nodesource.com/setup_current.x | bash - $ apt-get install -y nodejs # Installer PHP et ses modules utiles : $ apt-get -y install php-json $ apt-get -y install php-curl $ apt-get -y install php-mbstring # Installation de composer : $ sudo apt-get composer # Installation de npm : $ sudo apt-get -y install npm # Installation de Git : $ sudo apt-get -y install git # Installation de apache2 : $ sudo apt-get -y install apache2 # Installation de mysql et phpmyadmin : mysql [CONFIGURATION DE MYSQL DANS UN AUTRE ARTICLE BIENTÔT DISPONIBLE] : $ sudo apt-get -y install default-mysql-server phpmyadmin : $ sudo apt-get -y install phpmyadmin DÉBUT DE L'INSTALLATION ! Nous allons devoir installer l'émulateur Arcturus Morningstar et sa base de données : Télécharger le fichier 3-0-0-stable.rar depuis ce liens : >>> Morningstar <<< Extraire le fichier et accéder au dossier SQL de l'émulateur : $ cd 3-0-0-stable/sqlupdates/ Démarrer le serveur mysql et apache2 : mysql : $ sudo service mysql start apache2 : $ sudo service apache2 start On se connecte à Mysql pour créer la base de données qui vas importer le fichier .sql : # Connexion à la base de données : $ mysql -u root -p Enter password: [MOT_DE_PASSE] # Création de la base de données : > create database nitro; # Vérifier que votre base de donnée a bien été créer : MariaDB [(none)]> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | nitro | | performance_schema | | phpmyadmin | +--------------------+ 5 rows in set (0.001 sec) Nitro a bien été créer, maintenant nous pouvons quitté mysql : > exit Toujours dans le dossier /3-0-0-stable/sqlupdates/ nous allons importer le fichier .sql de l'émulateur : $ mysql -u root -p nitro < arcturus_3.0.0-stable_base_database.sql Enter password: [MOT_DE_PASSE] Voilà, vous êtes maintenant prêt à installer le CMS Cosmic ! Nous allons installer le CMS Cosmic dans apache, importer sa base de donnée et mettre à jour ses composants PHP : $ git clone https://git.krews.org/Raizer/Cosmic.git ./var/www/CMS/ # Accéder au dossier du CMS et lancer la commande composer : $ cd /var/www/CMS/ $ sudo composer install # Configurer le fichier .env pour connecter votre CMS à la base de donnée : $ sudo mousepad /var/www/CMS/Cosmic/.env # Vous devez avoir cette configuration : DB_DRIVER=mysql DB_HOST=localhost DB_NAME=nitro DB_USER=root DB_PASS=[MOT_DE_PASSE] DB_CHARSET=utf8 DB_COLLATION=collation # Une fois finis, accéder au dossier du fichier SQL du CMS et importer le fichier .sql : $ cd /var/www/CMS/Database/ # Avant d'importer le fichier .sql nous devons réparer quelques problèmes que rencontre le CMS avec l'émulateur : # Connecter vous à http://localhost/phpmyadmin/ et cliquer sur la base de donnée nitro que vous avez créer : # Cliquer sur SQL et copier coller la commande suivante pour l'exécuter : SQL : ALTER TABLE users ADD template enum('light','dark') NULL DEFAULT 'dark'; ALTER TABLE bans MODIFY COLUMN machine_id varchar(255)NOT NULL DEFAULT ''; SET FOREIGN_KEY_CHECKS = 1; # Retourner à la console pour importer le fichier .sql dans /var/www/CMS/Database/ : $ mysql -u root -p nitro < 2.6.sql Enter password: [MOT_DE_PASSE] ERROR 1060 (42S21) at line 1595: Duplicate column name 'secret_key' ##VOUS POUVEZ IGNORER CETTE ERREUR## Maintenant que nous avons configurer la base de donnée de l'émulateur et le CMS nous devons maintenant mettre en place un virtualhost dans notre serveur web apache2 pour accéder à notre CMS ! # Accéder au fichier de configuration de site d'apache2 : $ cd /etc/apache2/site-available/ # Désactiver le virtualhost par défaut de apache2 : $ sudo a2dissite default # Creer le fichier de configuration de virtualhost de votre CMS et l'éditer : $ sudo mousepad cosmic.conf # Éditer votre fichier avec la configuration suivante : <VirtualHost *:80> ServerName cosmic.local DocumentRoot /var/www/CMS/Cosmic/public <Directory /var/www/CMS/Cosmic/public/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> </VirtualHost> # Éditer votre fichier hosts pour créer le nom de domaine cosmic.local : $ sudo mousepad /etc/hosts # Ajouter la ligne suivante en bas de localhost pour ajouter le nom de domaine : 127.0.0.1 localhost ##NE TOUCHER SURTOUT PAS CETTE LIGNE## 127.0.0.2 cosmic.local ##AJOUTER CETTE LINGNE## # Activer la configuration du site cosmic.conf avec la commande suivante dans /etc/apache2/site-available/ : $ e2ensite cosmic.conf Enabling site cosmic. To activate the new configuration, you need to run: systemctl reload apache2 # Redémarrer le serveur web apache2 si ce n'est pas fait : $ service apache2 restart # Actuellement nous venons de configurer notre CMS à l'adresse http://cosmic.local depuis notre serveur web local vous pouvez maintenant y accéder depuis votre navigateur préférer : # Créer votre utilisateur (Nous lui donnerons le rang de modérateur un peut plus tard dans la prochaine étapes) Voici la première étapes à suivre avant de configurer notre client Nitro, si tout c'est bien passer, vous passer à l'étapes suivante sinon recommencer l'étapes jusqu’à ce que vous comprenez les principes primordiale de ces étapes et et par la même occasion vous familiarisez avec Linux !
  7. Hello ! Plusieurs personne, ne savent pas fixé le crash client lors du chargement. (arrivé à 100% on vois le client 1/2 secondes, puis ça crash). Je prends exemple, sur la production: PRODUCTION-201602082203-712976078 Pour ça, aller dans votre external_variables.txt puis aller tout en bas. (vous aurez des lignes à corriger). Aller, petit cadeau, copier coller les lignes suivante (remplacer LIEN par le lien de votre rétro): Normalement, si vous avez bien mis, le client ne devrait pas crash.
  8. Salut à tous. 1. Introduction Étant développeur web, on peut rencontrer plusieurs types de failles dans un CMS, qu'il sois vieux ou récent. Une faille en particulier a attiré mon attention dans le monde du développement web. En sachant que PHP regroupe les moins bons comme de très bons développeurs, il faut savoir que souvent, les amateurs oublient de gérer une faille qui reste extrêmement dangereuse dans certains cas. C'est pas pour autant que je vais aborder sur ce topic, plusieurs failles récurrentes dans un projet web amateur. N'oubliez pas le petit +1 si ça vous a plu. :3 2. Quelque failles A) Restrictions + Redirections Problématique: Malgré une restriction du rang sur certaines pages, comment être sûr que la redirection fonctionne et que la personne n'a pas accès à la page en question? Réponse: Vous pensez peut-être qu'en essayant de vous dérank et si vous essayez d'accéder à la page, que vous subissez une redirection, vous êtes protégés? [HIDE] Réponse réelle (Ce n'est pas la résolution du problème): Imaginons une fonction publique provenant d'une classe type: <?php public function restrict() { if(!$user->Logged()) { // Savoir si le joueur n'est pas connecté header('Location: index.php'); } } ?> Si vous n'utilisez pas de classes, c'est facilement adaptable. Le principe est que lorsqu'on veut restreindre une page par exemple à un utilisateur non connecté, on a tendance à utiliser un header();. Maintenant si on se déconnecte ce la page en question et que l'on veut accéder à la page, on est logiquement redirigé. Mais que se passe-t-il si on bypass le header(); ? Il existe par exemple sur Chrome une extension, permettant de bypass les headers: Le nom est "ModHeader". Voici un screen: Si jamais je coche le bouton à gauche de "Location" que j'ai au préalable ajouté dans "Response Headers", je vais pouvoir éviter les redirections des sites webs. Attention, ça ne bloque que les header('Location:'); Du coup j'imagine que vous avez une idée de la suite, on va activer cette application qui va nous permettre de vérifier si jamais on est pas redirigé, qu'est-ce qu'il se passe. Si jamais on essaie, on va tomber sur la page, sans redirection, et c'est plutôt problématique si jamais ça arrive dans des pages qui sont plutôt dite à risque comme dans l'administration par exemple. Ce qu'on va faire donc, c'est modifier notre fonction qui retourne qu'un header('Location'); par une fonction un peu plus poussée. <?php public function safeRedirect($url, $exit = true) { if (!headers_sent()){ header('HTTP/1.1 301 Moved Permanently'); header('Location: ' . $link); header("Connection: close"); } print "<html>"; print "<head><title>Redirection...</title>"; print "<meta http-equiv='Refresh' content='0;url='{$link}' />"; print "</head>"; print "<body onload='location.replace('{$link}')'>"; print "Vous rencontrez peut-être un problème.<br />"; print "<a href='{$link}'>Se faire rediriger</a><br />"; print "Si ceci est une erreur, merci de cliquer sur le lien.<br />"; print "</body>"; print "</html>"; if ($exit) exit; } ?> Le plus important dans ce code, c'est le "exit;" qui permet de bloquer les informations du site, et ne donne aucune suite. Ça reviendrait à faire un header('Location'); avec un exit; à la fin, mais cette fonction donne des infos supplémentaires à la personne qui est bloquée par la redirection. [/HIDE] B) Faille CSRF Problématique: Imaginons que nous sommes connecté à notre site. Et qu'une personne hasardeuse nous demande d'aller checker son site par exemple. Ça nous redirige vers un site plus que douteux, on clique quand même sur ce lien, et 15 minutes après, lorsqu'on souhaite accéder à notre site, il se trouve qu'une personne inconnue est gradée dans notre site, et y a fait n'importe-quoi. Réponse: Nous souhaitons voir comment est-ce que cela a pu se produire. Pour cela, en général, dans un site web on a un système de logs qui définit les faits qu'un staff a fait par exemple. Ce qui est utile pour voir si un problème a eu lieu, ou pour modérer les faits d'un staff. Si jamais ces logs n'existent pas, on ne peut pas vérifier à 100% que c'est dû à ça. Mais la plupart des sites webs amateurs n'ont pas de protection contre la faille CSRF. Donc, je poursuis, en voyant les logs, on peut voir que c'est "vous" qui avez gradé l'utilisateur en question. Si on en revient aux faits, vous avez cliqué sur un lien, qui a gradé un utilisateur. Et ce lien peut poser problème dans un autre contexte. On va voir un autre cas pratique: Dans un forum, imaginons un utilisateur qui fait un post. Ce post a comme contenu une image qui n'est pas visible, vous vous dites sûrement que cette image est morte, mais vous regardez quand même le post. Plus tard, vous vous apercevez que certains de vos topics ont été supprimés. Le problème étant l'image, qui pointe vers une page .php, et cette page a le même principe que l'autre contexte, en revanche touche celui qui a vu l'image, sachant que lorsqu'une image est appelée, elle fait appel à la page PHP, et donc elle est interprétée. Vous allez me dire, supprimer la possibilité de mettre une page .php dans les images est une possibilité, mais ça ne change pas le problème de lorsqu'on clique sur un lien douteux ou que l'on reçoit une image douteuse. Enfin bref, nous allons voir par la suite comment régler ce problème. [HIDE] Je ne vais pas évoquer la façon dont on fait pour exploiter ces failles, mais plutôt comment régler ces failles. Le but de la faille étant de créer un formulaire distant. Ce formulaire distant étant lié au formulaire du site. Pour régler ce problème, on va étudier déjà la façon dont sont fait les systèmes de connexions à un espace membre basique en temps normal. Pour ma part, ça sera sous forme de classe et de fonction, mais ça reste presque le même principe, suffit d'imaginer les restrictions qui ne sont pas stockés dans une classe mais de façon procédurale. #region [Login] /** * @param string $username * @param string $password * @return array|bool */ public function Login($username, $password) { if(!$this->existValue('auth')) { if(!empty($username) && !empty($password)) { $username = htmlspecialchars($username); $searchUser = $this->db->query('SELECT * FROM alive_users WHERE username = ? OR mail = ?', [$username, $username]); // La fonction query est réecrite dans ma classe, elle correspond à un prepare() et execute() en PDO. if($searchUser->rowCount() > 0) { $user = $searchUser->fetch(); if(password_verify(htmlspecialchars($password), $user->password)) { // On utilise du BCrypt dans ce cas $this->setValue('auth', $user); // Équivalent: $_SESSION['auth'] = $user; $e = ['error' => false, 'message' => '5f6f1764f7c2c961654cfbdb8aed67fe735a96bc']; return $e; } else { $e = ['error' => true, 'message' => 'Mot de passe incorrect.']; return $e; } } else { $e = ['error' => true, 'message' => 'Compte introuvable.']; return $e; } } else { $e = ['error' => true, 'message' => 'Les champs ne sont pas remplit.']; return $e; } } else { $e = ['error' => true, 'message' => 'Erreur interne...']; return $e; } } #endregion Pour régler ce problème il va y avoir plusieurs étapes. On va d'abord rajouter une ligne lorsque la connexion est faite, là où on y rajoute le $_SESSION['auth'] = $user; La ligne en question est: $this->setValue('token', sha1(uniqid(rand(), TRUE))); // Équivalent: $_SESSION['token'] = sha1(uniqid(rand(), TRUE))); Ce code va permettre l'intégration d'un token CSRF. Ce token va servir aux vérifications lors des formulaires lorsqu'on est connecté. Chaque fois qu'on se connecte, on possède donc un token unique. Le but étant de pouvoir vérifier si l'utilisateur qui utilise le formulaire est bien la bonne personne. Une personne quelconque n'aura pas accès à votre token, et donc si le formulaire distant est crée, il ne pourra pas y mettre votre token. Vous allez comprendre par la suite. Maintenant, imaginons vous avez un formulaire une fois connecté pour disons... Ajouter votre adresse mail. <form method="POST" action="#"> <label for="form_mail">Entrez votre adresse mail</label> <input id="form_mail" type="text" name="mail"> <!-- On rajoute donc un champs en plus de type "hidden" qui va contenir notre token: --> <input type="hidden" name="token" value="<?= $user->getToken(); /* Ça correspond au $_SESSION['token'] qu'on a crée au préalable à la connexion. */ ?>"> </form> Dernière étape donc, c'est lorsqu'on va donc vérifier ce formulaire, on va devoir prendre en compte le token: <?php // Une fois de plus je reste sous forme de classe: Mais ça reste simple de vérifier votre code, il y a juste 1 vérification en plus à faire: public function addMail($postMail,$postToken) { $session = new Session(); // Appel de la classe Session que j'ai crée mais vous en aurez sûrement pas besoin if(filter_var($postMail, FILTER_VALIDATE_EMAIL)) { if($postToken === $session->getValue('token')) { // Si le $_POST['token'] correspond strictement à $_SESSION['token'] // Code } else { $e = ['error' => true, 'message' => 'Erreur interne...']; return $e; // Le token CSRF est incorrect } } else { $e = ['error' => true, 'message => 'L\'adresse mail est incorrect.']; return $e; } } ?> [/HIDE] C) Faille XSS Problématique: Imaginons que du jour au lendemain, suite à des gens ayant quelque bases qui se sont inscrit sur votre site, vous ayez des alert(); en javascript qui sont présent sur certaines pages de votre site mais pas que! Il est possible aussi que quelques minutes après avoir visité quelques pages, vous pouvez voir que la configuration est plus accessible, voir même que depuis l'administration, une fois de plus, c'est vous qui avez fait tout ça. Détrompez-vous, ce n'est pas quelqu'un qui a accès à votre mot de passe. Résolution: [HIDE] Dans certains cas, si on ne restreint pas les caractères autorisés, les membres ont la possibilité d'entrer des caractères pouvant entrer en conflit avec le langage HTML / Javascript. ( Le PHP n'est pas prit en compte. ) Cela peut même toucher le SQL si la requêtes n'est pas bien faite. Comme toujours j'avance pas de propos concernant la façon dont on exploite les failles mais comment les régler. Il existe donc plusieurs moyens pour régler ces genres de problèmes. 1er moyen: Utilisation d'un moteur de template: Les moteurs de templates sont réputés pour être utilisé en M.V.C ( Model View Controller ). J'utilise souvent Twig pour ma part mais il en existe d'autres. Ces moteurs de templates proposent leur propre langages qui seront retransmit en PHP si par exemple le CMS est en PHP ou en Python si le CMS est en Python, etc. Ça permet dans un premier temps une meilleur lisibilité du code, un rendement plus efficace et permet de découper son code afin de le rendre plus explicite si quelqu'un passe derrière nous afin d'améliorer notre travail. 2ème moyen: Fonction Parse en PHP C'est une fonction assez efficace qui va servir lorsqu'on va afficher du texte qu'on peut définir de "pas sûr". Lorsqu'un utilisateur s'inscrit, il va avoir la possibilité de choisir un pseudo. Certes, on peut rajouter un preg_match afin de lui demander d'utiliser que des lettres / chiffres ( [a-zA-Z0-9-._]+ ) en revanche ça peut facilement poser problème dans d'autres cas. Pour ma part une fois de plus j'ai une class "Security" possédant plusieurs fonctions liés à la sécurité, mais là on parle uniquement de la faille XSS. Ma fonction ressemble à ça, je vais la recoder en tant que fonction simple afin de vous simplifier la tâche, mais le mieux reste vraiment de structurer son travail et donc d'utiliser des classes. Ma fonction: /** * @param $val string * @return string */ public function Show($val){ return htmlspecialchars(utf8_encode($val), ENT_QUOTES, 'UTF-8'); } La fonction simplifiée: function Show($val){ return htmlspecialchars(utf8_encode($val), ENT_QUOTES, 'UTF-8'); } Si jamais vous utilisez des classes, il vous suffira d'utiliser un echo $security->Show($username); par exemple ( sans oublier d'instancier les classes ). Pour les autres, un simple Show($username);. Par contre il faut bien pousser sur le fait que chaque valeur provenant de la base de donnée et affichée, devrait vraiment utiliser cette fonction, sauf si vous êtes sûr de vous. Par la même occasion je vous invite aussi pour le nom d'utilisateur de rajouter un preg_match, cette fonction est générale et fonctionne dans tous les cas. Dernière chose, afin d'éviter les "?" avec les accents, etc. Vérifiez bien que votre base de donnée est en UTF8 -> utf8_general_ci. [/HIDE] Merci de prendre en considération que ce post m'a prit pas mal de temps à concevoir. Si le post est suivit par plusieurs personnes, je rajouterais d'autres types de failles.
  9. Non ce n'est pas volé de NLBOBBA, parce que c'est partagé sur un forum anglais, donc je le fais en France. Bonjour, ayant trouvé sur un Forum anglais un tutoriel pour mettre son rétro en 60 FPS, j'ai décidé de vous partager l'astuce en Français. Avant toute chose, il est important de noter que la version à 60 FPS a ses inconvénients, par exemple, les mobis animés bougeront environ 2,5 fois plus vite, ce qui représente beaucoup sur un fichier swf. Vous n'avez qu'à suivre les étapes: [hide] 1- Télécharger JPEXS Flash Decompiler 2- Préparer votre Habbo.swf sur votre bureau 3- Ouvrir votre fichier Habbo.swf avec JPEXS 4- Cliquer sur entête puis sur Édition en bas (chez vous, FrameRate sera à 24) 5- Éditer FrameRate, mettre 60 et sauvegarder. [/hide] Ensuite importer votre fichier videz votre cache de préférence et le tour est joué. J'espère avoir rendu service à beaucoup, si vous rencontrez un quelconque soucis, vous pouvez toujours me contacter sur discord: Obscurian#6510 Bien à vous, créateurs & développeurs de rétros =)
  10. petit tutoriel au niveau des bulle chat : Beaucoup de monde ont du mal a fixé sa ya 2 solution sois par code sois par .sql 1- Connecté vous dans votre base de donnée et recherché : room_chat_styles 2- inseré le code ou le sql [ vous cliqué sur SQL ] et vous collé sa : INSERT INTO room_chat_styles (id, name, required_right) VALUES (0, 'normal_chat', ''), (1, '', 'mod_tool'), (2, '', 'mod_tool'), (3, '', ''), (4, '', ''), (5, '', ''), (6, '', ''), (7, '', ''), (8, '', ''), (9, 'zombie_hand', ''), (10, 'skeleton', ''), (11, '', ''), (12, '', ''), (13, '', ''), (14, '', ''), (15, '', ''), (16, '', ''), (17, '', ''), (18, '', ''), (19, 'piglet', ''), (20, 'sausagedog', ''), (21, 'firingmylazer', ''), (22, 'dragon', ''), (23, 'staff', 'mod_tool'), (24, 'bats', ''), (25, 'console', ''), (26, '', ''), (27, 'storm', ''), (28, 'parrot', ''), (29, 'pirate', ''), (30, 'bot_guide', 'mod_tool'), (31, 'bot_rentable', 'mod_tool'), (32, 'skelestock', ''), (33, 'bot_frank', 'mod_tool'), (34, 'notification', 'mod_tool'), (35, 'goat', 'mod_tool'), (36, 'santa', 'mod_tool'), (37, '', 'mod_tool'); ceux qui vous donnera sa : pour le sql : édité le sql et modifié le "VOTRE DB" par le nom de votre DB vous supprimé la table room_chat_styles [ si vous l'avais déjà ] et ensuite importé la [ET LES BULLE SERONT FONCTIONNEL]
  11. Salut à tous ! Voici peu de temps que je me suis lancé sur Discord, ayant connu Discord.js, je me suis lancé dans la programmation d'un bot, voici la commande :mute @user, Tout d'abord, si vous n'avez pas de compte Discord, créez-en un, puis créez un serveur, Vous devrez ensuite, (si vous ne l'avez pas, installer "npm", pour la console uniquement sur windows) Une fois fait, ouvrez l'invite de commande dans le dossier de destination (où sera le bot), puis tapez "npm i --save discord.js" Une fois l'installation faite, vous devrez créer un fichier {name}.js Passons au site web, Allez sur ce lien: https://discordapp.com/developers/applications/me et cliquez sur "New App", Inscrivez-le nom de votre bot, puis en bas, cliquez sur "Create App" Ensuite, cliquez sur "Create a Bot User" puis "Yes, do it", Il faudra maintenant donner les permissions à votre bot ! Cliquez sur ce lien: https://discordapi.com/permissions.html et donnez-lui les permissions que vous-voulez, il faudra, pour ce tutoriel, lui donner au moins, manage messages, et send messages, puis retournez sur l'espace développeur de discord, et copiez-collez le client ID, dans l'input du bas, de la page permissions, cliquez-sur le lien par la suite, et sélectionnez votre serveur. Le plus dur est fait ! Ensuite, dans votre {name}.js, copiez-collez ce code: const Discord = require('discord.js') const Bot = new Discord.Client() var token_login = "Le token se situe dans la page developpeurs, cliquez sur "click to reveal" et copiez-collez le ici !" var prefix = ":" Bot.on('ready', () => { console.log("Bot prêt"); }); Bot.on("message", async message => { if(command === prefix + "mute"){ if(!message.member.hasPermission("MANAGE_MESSAGES")) return message.channel.send("Vous n'avez pas les droits pour muter un utilisateur !"); let toMute = message.guild.member(message.mentions.users.first()) || message.guild.members.get(args[0]); if(!toMute) return message.channel.send("Merci d'entrer un utilisateur !"); let role = message.guild.roles.find(r => r.name === "Utilisateurs mutés"); if(!role){ try { role = await message.guild.createRole({ name: "Utilisateurs mutés", color:"#000000", permissions:[] }); message.guild.channels.forEach(async (channel, id) => { await channel.overwritePermissions(role, { SEND_MESSAGES: false, ADD_REACTIONS: false }); }); } catch (e) { console.log(e.stack) } } if(toMute.roles.has(role.id)) return message.channel.send('Cet utilisateur est déjà muté !'); await(toMute.addRole(role)); message.channel.send("Je l'ai muté !"); return; } }); Bot.login(token_login); Il ne vous reste plus qu'a écrire dans la console, "node {name}.js", si il vous sort une erreur, installez node.js ( il se trouve sur le web ) Contactez-moi en cas de problème(s) ! Bonne après-midi ! UnderFR
  12. Slt slt l’équipe ✌? Aujourd’hui Jvais vous partager un petit site qui vous permet de créer vos propres mobis, je suis tombé dessus sur RZ et franchement il est pas mal avec beaucoup de fonctionnalités avec des effets de mobis etc... Avec cette astuce vous n’aurez plus besoin de passer par un autre mobis pour faire le votre. Bon jvous laisse tcheck par vous même:
  13. https://mega.nz/#!B8JhEIRT!wmBERj3IN8HLBJoMSxN7MxKI7yxc1QmQn6SbGoyhQkI This is the latest version of Arcutus. If you need help editing it or cleaning Habbo.swf, it's not that hard! Arcturus EMU SWF
  14. Salut à tous En se beau jour du 03/10/17, je vais vous "apprendre" comment régler un des plus gros soucis de PlusEMU, le chargement infini 76% Souvent le problème est lier au SWF, ou une mauvaise configuration de l'emulateur, mais aussi une mauvaise lecture pour les topic "Création de Retro" Souvent les utilisateurs oublie une chose essentiel, la configuration du port sur le Site (Administration) ou bien dans la base de donnée. Méthode RetroPHP : Rendez vous directement dans votre BDD, une fois dedans rendez vous dans "retrophp_swfs" et changer le port actuel par : 3030 Methode pour PlusEMU : Rendez vous dans vos SWF, et dans "gamedata". Et copier les fichiers "figuredata.xml & figuremap.xml" Après, rendez vous dans votre emulateur "bin, Debug, extra" Et collé les fichiers "figuredata.xml & figuremap.xml" Si cela ne marche toujours pas, regarde bien si tu as bien configurer tes SWF.
  15. Bonjour à vous amateurs. J'ai retrouvé une ancienne vidéo que j'avais faîtes sur HABBO. Voici deux tutoriels bien facile pour vous ! (elle se partage en deux parties 1. Installation du cms / 2. Configuration de l'émulateur.) PS: en cas de soucis faîtes le moi savoir en commentaire de la vidéo ! ETAPE.2 configuration de l'emu ATTENTION ! Respectez l'ordre des vidéos ! J'espère que cela vous aidera merci.
  16. Bonjour, déjà j'ai cherché un peu sur le web des tutoriels sûr comment créer un rétro HABBO mais malheureusement il n'y a pas beaucoup de résultats , c'est pour cela que j'ai créé un tutoriel sur ma chaîne pour vous aider à créer un rétro HABBO avec une simplicité optimale, il se peut qu'il y est des erreurs mais s'il y en a croyez-moi que cela vient de votre mal manipulation. (Il faut tout aussi savoir qu'il vous faut une permission de la part de HABBO pour la publication de votre rétro). Ce tuto se déroule en 2 étapes peut-être bientôt un 3e.ETAPE.1 installation du CMS; Annonce ETAPE.2 Configuration de l'ému: ATTENTION ! Respectez l'ordre des vidéos ! J'espère que cela vous aidera merci. (Ceci n'est pas une pub c'est une vidéo pour aider les personnes qui ont des difficultés pour créer un rétro)
  17. Bonsoir Habbo-Dev ! Aujourd'hui, je vais vous montrer comment fixer les tags comme à l'époque de la v26 si je ne me trompe pas Voici un screen : Alors tout d'abord, vous devez télécharger cette version de Arcturus Morningstar, c'est la 2.4.0-Stable, j'ai juste fixé le packet de l'event grâce à Pollak (membre sur le discord de Krews, merci!) http://www.mediafire.com/file/94qcw60i5lglbtx/Habbo-2.4.0-jar-with-dependencies.jar/file Remplacez votre émulateur par celui ci. Pour les plus aguerris d'entre vous, voici le code de l'event si vous préférez l'implémenter vous même : https://git.krews.org/morningstar/Arcturus-Community/-/merge_requests/323/diffs#diff-content-259cff12b9f85982fc60e3d5e00c7e33b50cded5 Maintenant passons côté SmallWebFormat : Téléchargez ce Habbo.swf : http://www.mediafire.com/file/d2h6vc49lbmexrj/Habbo.swf/file Mettez le dans le dossier Gordon puis votre production. Pour ceux qui sont à l'aise, voici le code qui a été rajouté : <container x="0" y="286" width="170" height="30" params="16" style="0" name="tags_container"/> Il faut l'ajouter après <container x="0" y="282" width="170" height="1" params="16" style="0" name="tags_spacer" color="0xffff333333" background="true"/> Maintenant, videz votre cache, redémarrez votre émulateur et voilà ! Les tags sont fonctionnels. Pour les changer, rendez-vous dans votre table users_settings cherchez l'id de votre user dans la colonne user_id puis allez sur la colonne tags et séparez vos tags par un ; Si vous voulez obtenir le même résultat que moi : Suffit de remplacer les tags par Notaryz;inshare : Voilà, j'espère avoir été clair S'il y a un soucis, faites un topic, celui-ci n'est pas un support ! Merci - notaryz
  18. Bien le bonjour à toi moussaillon, j'espère que de ton côté tout va pour le mieux, moi en tout cas du mien, ça va, je n'ai pas à me plaindre. Si aujourd'hui j'ai décidé de rédiger ce petit sujet, c'est avant tout pour rentrer dans les détails du commentaire que j'avais déposé ici. Avant de commencer, je tiens à te préciser que sur ce sujet, tu ne trouveras pas de tutoriel pour créer un rétro, mais simplement des conseils qui t'aideront à faire les bons choix le jour ou tu décideras de te jeter (ou rejeter) dans le bain des rétros, je t'invite donc, si tu ne souhaites pas être aidé, de passer à un autre sujet ! Allons-y ! Savoir recruter les bonnes personnes au bon moment Les bonnes personnes Avant de te lancer dans la conception d'un rétro, il faut savoir réfléchir, tout en analysant ce qu'il y a déjà de fait, et ce que tu peux proposer qui pourrait venir ajouter une touche de piment dans la concurrence que tu mèneras tout au long de la présence de ton rétro sur la toile, sinon, autant ne rien faire du tout. Ensuite, tu dois savoir recruter des personnes, et si je peux te conseiller, il est toujours mieux de recruter des personnes que tu connais, ou des personnes qui n'ont jamais été staffs par le passé, pourquoi je te dis ça ? Tout simplement par expérience, une personne que tu connais bien et en qui tu as confiance n'aura jamais cette envie de changer pour la concurrence, et une personne qui n'a jamais été Staff appréciera énormément le fait d'être Staff sur ton serveur, ce qui réduira à moitié, les chances qu'il(elle) te lâche pour la concurrence (nous, les pirates, on appelle ça le retour du bâton). Le bon moment Il est préférable de recruter au moment du lancement de ton serveur, car si tu décides de le lancer seul ou avec Michel, ton voisin, tout seul ou à deux vous allez vite être dépassé entre la gestion du serveur (ou service) qui hébergera votre site ainsi que votre vps, les Kikoolols se prenant pour des "hackers archi cho" (qui sont aussi appelés dans la communauté des pirates, les cancers du web), et pour terminer, les Pubeurs (que j'appel plus communément, les sous-fifres) envoyés par la concurrence pour vous voler vos connectés. Il faudra aussi que tu saches fixer des paliers de recrutement, par exemple : Et ne pas balancer des recrutements à tout va, sans aucune logique. Avant de lancer un serveur Habbo, il faut aussi réfléchir à l'aspect financier, tu ne peux pas te permettre d'investir trop d'argent pour un projet qui débute, comme tu ne peux pas te permettre d'être trop gourmand sur tes machines en étant même pas sûr d'accueillir minimum 10 connectés, c'est donc pour cela qu'il faut aussi procéder par pallier : Et tu te rendras compte qu'en étant proactif ton serveur pourra répondre aux attentes et au confort de tes utilisateurs. Toujours dans l'optique d'améliorer la qualité de jeu et le confort de tes utilisateurs, il faudra passer par cette étape, qui est une étape qui n'a plus été utilisée depuis les années 2009-2012, et qui pourtant peut être un bénéfice important pour ton serveur. Les bénéfices que ça apporte : Eviter l'ennuie : En étant resté ouvert 24h/24 et 7j/7 tu permets à tes utilisateurs d'accéder à tout moment à ton serveur, le problème, c'est qu'en ayant accès H24 à ton serveur, ils vont kiffer pendant un certain temps puis après changer de serveur parce qu’ils seront lassés de ton serveur (à force de trop l'avoir utilisé) Améliorer : Plutôt que d'intervenir en journée et couper à tout va ton émulateur parce que Michel a trouvé un bug qu'il a corrigé, créé-toi un mémo des tâches à faire, et effectue-les lorsque ton rétro est fermé, et donc, inaccessible par tes utilisateurs, comme ça, le lendemain, tes utilisateurs seront agréablement surpris des changements et n'auront pas été "emmerdés" par tes coupures incessantes durant la journée. Créer : En fermant ton serveur, tu peux te permettre de créer ou d'ajouter des fonctionnalités qui viendront compléter celles déjà créées. Tester : Tu peux aussi te permettre de tester les mobis du catalogue, et prendre des notes concernant les interactions à fixer pour qu'ils puissent fonctionner lors de la réouverture le lendemain. Il y a plein d'autres bénéfices que je ne pourrai pas te lister ici, car sinon, je n'en finirais jamais, mais en tout cas, les bénéfices essentiels sont ici. Un exemple d'horaires : Quelques hébergeurs que je conseille pour débuter : [hide] [/hide] Quelques notions en amélioration de site web : [hide] [/hide] Je pense avoir fait le tour moussaillon ! Bon courage pour la suite, et que la mer soit avec toi et tes projets !
  19. Salut tout le monde, Deja merci pour tous les tutos dispos sur votre site, j'ai pu y créer mon premier rétro R63B sur mon VPS (Win Server 2019) . Mais il y manquait pas mal de choses et beugait à mort grrr J'ai suivi le Tutoriel de zʎɹɐʇou (MERCI !) : Cependant, lorsque l'accède à localhost ou via l'adresse IP du serveur, j'obtiens cette page et suis redirigé vers wibbo.org: Aucun moyen de bypasser ce truc c'est dingue ! Savez-vous d'où cela peut venir ? Second problème, j'en profite du topic , dans l’émulateur j'ai Server is not debugging, c'est grave docteur ? Le tutoriel étant fait de base pour du XAMPP, je ne sais pas s'il s'agit d'un problème de compatibilité avec IIS. Je suis peut-être passé a côté de chose de bête Merci de votre aide, et merci de m'avoir lu !
  20. Comment se connecter aux WebSockets? Pour commencer je vous invite à installer le websocket-client de skeletor qui est compatible ici: https://git.krews.org/skeletor/websocket-client Cependant, si vous souhaitez créer le vôtre, assurez-vous d'implanter la méthode d'authentification et le protocole. Installer son websocket-client Pour commencer installer node-js sur votre VPS ou autres celons l'endroit ou vous héberger votre émulateurs. Ensuite placer le fichier websocket-client dans le dossier de l’émulateur, ouvrez le dossiers websocket-client et effacer le chemin d'accès en remplacer par "cmd" puis appuyer sur entrée. Ensuite, une console va s'ouvrir et vous aller taper "npm install" ce qui va vous donner: Vous faites la même manipulations avec "npm run build" et "npm run lint" API Externe L'application tentera de récupérer la configuration du client à partir de l'URL suivante (A vous de le faire): votre_domaine/api/getclientconfig Il s'attendra à recevoir une réponse avec la structure suivante: Bien sûr, il aura à la place les détails de la configuration de votre client. N'oubliez pas de rajouter la ligne "ws_url":"ws:127.0.0.1:90" dans votre client.php WebSocket Plugins Lien du plugins à placé dans le dossier plugins: https://git.krews.org/skeletor/websocket-plugin/blob/dev/target/WebsocketPlugin-1.0-SNAPSHOT.jar Ici vous aurez le répertoire complet: https://git.krews.org/skeletor/websocket-plugin/tree/master Instructions par le créateurs: Websocket Plugins: https://git.krews.org/skeletor/websocket-plugin/blob/master/README.md Websocket Client: https://git.krews.org/skeletor/websocket-client/blob/master/README.md Si vous avez des problèmes je vous invite à lire les instructions par le créateur du plugins ainsi que du websocket-client! Et pour tout support le discord de Krews: https://discord.gg/EKQcheX
  21. Hey, salut ! beaucoup on l'erreur de date sur plus emu, du profile: se tuto est très simple, et normalement tous les cms devrais avoir ce fixe é_é !!!!!!!!! Car c'est pas un fixe PlusEmu, mais une erreur de vous et un manque d'un l'inscription. ( pour ceux qui partage des cms ) chercher votre fichier de inscription PHP une fois trouver, chercher la ligne qui insert votre user dans la database, donc si vous savez pas , chercher la ligne: INSERT INTO une fois trouver, vous aller ajouter comme le screen dans le premier ( ) et le 2er (), screen pour vous montrer après si dessous il y a le execute, qui sert pour executer la requête dans votre database, ajouter: les codes change en fonction des registers, certain sa sera pas comme sa 'test' => blalal, 'time' => time() ... mais comme sa, test, time() juste a regarder comment et fait le code et vous avez trouver votre réponse ! et voila ! sauvegarder et après vous avez fixer la date sur les profils de votre hôtel! si vous avez du mal, passer par MP p.s , ne dite, pas vous avez pas réussie sans avoir essayer ! A plus !
  22. Bonjour, Aujourd'hui je vais vous montrer comment synchroniser la colonne "catalog_name" de catalog_items avec "public_name" de items_base. C'est une simple query sql à entrer : UPDATE catalog_items INNER JOIN items_base SET catalog_items.catalog_name = items_base.public_name WHERE catalog_items.id = items_base.id Si vous avez le moindre problème, faites un topic En espérant vous être utile.
  23. Tout d'abord pour commencer, il y a deux prérequis, être en disposition de deux logiciels (AHPU que je fournirais modifié par mes soins pour qu'il soit compatible à PlusEmu) et AS3 Sorcerer dont je n'ai pas de lien mais que j'essayerais de retrouver pour vous. Lien utile: AHPU; http://www.mediafire.com/file/9xzw484w4pt2qwx/AHPU.rar AS3: à venir Premièrement, nous allons ouvrir AHPU qui se présentera sous cette forme: Ouvrez le dossier "Plus" nous allons y mettre deux fichiers à l'intérieur (Fichier des packets de votre émulateur de la version actuel je précise vu que vous n'avez pas encore les nouveaux) Vous y insérer les fichiers "ServerPacketHeader.cs et ClientPacketHeader.cs" Ne touchez surtout pas au dossier "Updated" screen à l'appui ci-dessous Maintenant la touche final (Besoin d'AS3 Sorcerer n'oubliez pas je le fournirais pour le moment vous pouvez m'envoyez les habbo.swf dès deux versions je vous fournirais les scripts) Donc nous ouvrons AS3 Sorcerer Nous allons dans "Script" (je précise il ne faut le faire qu'une seule fois après la configuration reste) et nous allons dans Preferences Une fois dans Preferences nous allons dans "format" et nous cochons exactement les même cases que sur l'image Une fois ceci fait nous cliquons sur le dossier jaune avec une flèche verte, et on choisi l'ancien swf Après ça nous aurons la même chose que sur le screen ci-dessous nous aurons qu'à cliquer sur le dernier bouton et nommer le fichier old.txt et maintenant nous l'insérons dans AHPU Comme ceci et nous faisons de même avec le nouveau swf de la version dont vous voulez avoir qu'on nommera par new.txt je ne montre pas comment faire vu que c'est déjà fait.. Comme ceci Nous avons plus qu'à lancer AHPU.exe et attendre Cela se passera de la même manière ne vous en faites pas c'est normal aha Une fois fini le programme n'affichera plus de log et une phrase "Updated: Plus/ClientPacketHeader.cs to Plus/Updated/ClientPacketHeader.cs Updated: Plus/ServerPacketHeader.cs to Plus/Updated/ServerPacketHeader.cs Finished!!! Waiting inputs of packets ids ..." pour le confirmer sera écrite Comme ceci Vous n'aurez plus qu'à prendre vos packets dans le dossier "Updated" disponible dans le dossier "Plus" et les mettre dans votre émulateur à la place des anciens ! Bonne utilisation Ps: n'oubliez pas de supprimer tout les fichiers après l'avoir utiliser ainsi que le cache pour une nouvelle utilisation !
  24. Hello tout le monde Je vous partage un code SQL pour mettre tous vos mobis d'un appart dans une page du catalogue, sans devoir passer des heures à trouver le mobi et à le faire manuellement. Normalement, c'est compatible avec toutes les bases de données. C'est un script pourtant simple, mais dont peu de personnes ne pensent en général... Moi le premier ! Et ce script m'a simplifié la vie. Code SQL : UPDATE catalog_items INNER JOIN items ON catalog_items.item_id = items.base_item SET catalog_items.page_id = <page_id> WHERE items.room_id = <room_id>; Remplacez simplement <page_id> et <room_id> par l'id de votre page du catalogue et l'id de la room où se trouvent les mobis ! Que le SQL soit entre vos mains !
  25. Salut! Très peu d'hôtels possèdent malheureusement leurs propres trophées Habbo, aujourd'hui je vais vous faire un petit tutoriel pour savoir comment les modifier et mettre le nom de votre hôtel à la place du 'Habbo' de base Pour ce tutoriel je ne vais pas poster de screens (ayant un nouveau PC et ayant une énorme flemme de tout télécharger, et je m'en excuse ) mais je vais essayer d'être le plus clair possible dans mes explications, à vous de faire en sorte de comprendre chaque étape Matériel requis Flash Decompiler Trillix Un logiciel type PhotoFiltre Première étape Tout d'abord, rendez-vous sur Flash Decompiler Trillix et rendez-vous dans le dossier où sont vos mobis Cherchez prizetrophy7.swf Faites ensuite Extract et choisissez le dossier où vous voulez que les images décompilées du mobi aillent Une fois que ceci est fait et que vos images sont bien dans le dossier désiré Seconde étape Rendez-vous sur PhotoFiltre (ou votre logiciel d'édition photo) et importez toutes vos images Il vous suffira ensuite d'effacer et de remplacer les lettres du trophées et, histoire de pas vous faire galérer, les voici au complet: Une fois que vous avez modifié votre nouveau trophée comme vous le vouliez, sauvegardez! Troisième étape Retournez maintenant dans Flash Decompiler Trillix Allez maintenant dans Edit puis dans Images et remplacez toutes les images que vous avez modifiés Une fois que ceci est fait, videz votre cache, connectez vous et voilà! Bonne journée