[Script JVC] Le retour des PDP GIF/animées (custom)

OP
A2

Ass2Trefle

il y a 7 mois

Je vous préviens tout de suite, le script est buggé , pas du tout optimisé etc... Je connais quasi rien de l'HTML et du CSS donc voilà https://image.noelshack.com/fichiers/2020/06/6/1581189037-limule10.png
J'espère donc trouver un clef capable de reprendre l'affaire. J'ai essayé de commenter au mieux.

Ce script permet de choisir une PDP custom visible uniquement par les autres utilisateurs.

Pour cela, il suffit de choisir sur Risibank une image au choix (Même un GIF) , de copier son ID (au début de l'URL ou alors les chiffres juste en dessous de "plus d'information"), d'ajouter la premier lettre du format de l'image p si c'est un png, g si c'est un gif etc et de l'encadrer entre deux dièse : -> Exemple #7929p#

Le tout devant être mis en signature (cf la mienne)

Le problème -> Seules les PDP affichée à l'écran changent, celle non visibles restent par défaut

Comment l'installer -> Télécharger l'extension de navigateur Tampermonkey -> ouvrir Tampermonkey -> créer un nouveau script -> coller le script ci-dessous et enregistrer. (j'entre pas plus dans les détails, y'a déjà eu plein de script par le passé sur le forum https://image.noelshack.com/fichiers/2017/14/1491572376-img-0024.png )
le script :

// ==UserScript== // @name Risibank PDP // @namespace http://tampermonkey.net/ // @version 2024-08-14 // @description Permet, à l'aide de l'ID Risibank d'un sticker (gif compris) (exemple #23942p#) mis en signature, de personalisé sa PDP aux yeux des utilisateurs de ce script // @author Treflou // @match https://www.jeuxvideo.com/forums/* // @icon https://risibank.fr/logo.png // @grant none // ==/UserScript== (function() { 'use strict'; window.addEventListener("load", (event) => { //console.log("La page est complètement chargée"); for (var i = 3; i < 44; i+=1) { //Débute au premier post (3ème child) et termine au maximum au 20ème let StickerTag = getTag(i); //Eventuel Tag trouvé en signature if (StickerTag != "") { let NewImageURL = tagToURL(StickerTag) //Retourne le lien risibank du tag - 23942p devient "https://risibank.fr/cache/medias/0/2/239/23942/full.png" let PDP = document.querySelector("#forum-main-col > div.conteneur-messages-pagi > div:nth-child("+i+") > div > div.bloc-header > a.xXx.bloc-avatar-msg > img") PDP.setAttribute("src", NewImageURL) } } }); function getTag(number) //Récupère le tag du sticker en signature du n-ème child (exemple #23942#) et enlève les # { let Tag = "" let Signature ="" if (document.querySelector("#forum-main-col > div.conteneur-messages-pagi > div:nth-child("+number+") > div > div.bloc-contenu > div.signature-msg.text-enrichi-forum") != null) //Vérifie si le post a une signature { Signature = document.querySelector("#forum-main-col > div.conteneur-messages-pagi > div:nth-child("+number+") > div > div.bloc-contenu > div.signature-msg.text-enrichi-forum").textContent; //Récupère le texte de la signature if (Signature.indexOf("#") != -1) //Vérifie la présence d'un Tag débutant par # { let PosFirstDièse = Signature.indexOf("#") let PosSecDièse = Signature.indexOf("#", PosFirstDièse + 1) for (var j = PosFirstDièse + 1; j < PosSecDièse; j++) //Scan les chiffres entre les # { //if (+Signature.charAt(j) > -1 && +Signature.charAt(j) < 10) //Vérifie qu'il s'agisse bien de nombres et les ajoute dans le string Tag -> verification enlevée pour gérer les GIF Tag = Tag + Signature.charAt(j) } } } return Tag; } function tagToURL(TagString) //Permet d'obtenir le lien de l'image desirée à partir de son tag { let Tag = TagString let URL = "/full." //fin de l'URL avant format let format = Tag.slice(-1).toLowerCase(); //Dernier caractère ( p pour PNG, j pour JPEG, g pour GIF,s pour SVG, b pour BMP, t pour TIFF) -> ajoute le format de l'image en fin d'URL switch (format) { case 'p': URL = URL + "png"; break; case 'j': URL = URL + "jpeg"; break; case 'g': URL = URL + "gif"; break; case 's': URL = URL + "svg"; break; case 'b': URL = URL + "bpm"; break; case 't': URL = URL + "tiff"; break; default: URL = URL + "png"; } let Length = Tag.length - 1 Tag = Tag.slice(0, Length) //enlève le dernier caractère du type de format URL = Tag + URL for (var k = 1; k < 4; k++) //Reproduit la génération des URL de Risibank en partant du Tag (De droite vers la gauche) { Length = Length - 2 if (Length > 0) { URL = Tag.slice(0,Length) +"/"+ URL } else{URL = "0/" + URL} } URL = "https://risibank.fr/cache/medias/" + URL //Début de l'URL return URL; } })();
OP
A2

Ass2Trefle

il y a 7 mois

Preuve https://www.noelshack.com/2024-33-3-1723587164-principe.png

OP
A2

Ass2Trefle

il y a 7 mois

L'avantage, c'est que si vous voulez vraiment un truc personnalisé, suffit de le publier sur RIsibank.
Par contre, faut prendre en compte le découpage circulaire je suppose https://image.noelshack.com/fichiers/2020/06/6/1581188934-limule3.png

OP
A2

Ass2Trefle

il y a 7 mois

Le script est illisible sur JVC, mais vous pouvez le lire dans n'importe quoi d'autre, même le note bloc https://image.noelshack.com/fichiers/2016/47/1480081450-ris42.png

Evidemment, n'installer par les corrections des clefs volontaires si vous ne comprenez rien et que vous n'êtes pas sûr. https://image.noelshack.com/fichiers/2016/50/1482000512-onsecalmerisitas.png
N'allez pas vous faire Hack pour un script JVC https://image.noelshack.com/fichiers/2017/30/4/1501186981-risimixbestreup.png

OP
A2

Ass2Trefle

il y a 7 mois

D'ailleurs, même si vous n'avez pas le script, le fait de mettre un code en signature changera votre pdp pour les utilisateur du script.

OP
A2

Ass2Trefle

il y a 7 mois

Bordel, je vais vraiment bide alors que j'ai essayé de rendre les PDP animées https://image.noelshack.com/fichiers/2021/19/5/1621002058-kurokillme.png

OP
A2

Ass2Trefle

il y a 7 mois

En espérant qu'un clef soit motivé par ce projet. Dans les faits, il est quasi fonctionnel https://image.noelshack.com/fichiers/2018/08/1/1519034874-tmk5.png

OP
A2

Ass2Trefle

il y a 7 mois

Personne pour ne serait-ce mettre un tag en signature, je vous montre mon aperçu https://image.noelshack.com/fichiers/2016/47/1480081450-ris42.png

KA

Kaaido

il y a 7 mois

Ah voilà le résultat. Trop chaud le khey

OP
A2

Ass2Trefle

il y a 7 mois

Kaaido

il y a 7 mois


Ah voilà le résultat. Trop chaud le khey

J'ai fait comme j'ai pu https://image.noelshack.com/fichiers/2020/06/6/1581189037-limule10.png
J'ai quelques notions de programmation. Mais je connais pas trop l'HTML et j'ai fait comme j'ai pu avec le javascript.
Dans les faits, je vois bien que c'est pas opti en plus https://image.noelshack.com/fichiers/2018/08/7/1519595439-tmk13.png

TR

ThatRandomGuy

il y a 7 mois

Strictement rien à foutre, je suis un sans avatar

AS

ASMRKittyKlaw

il y a 7 mois

Aucun intérêt s'il faut un script pour les voir

OP
A2

Ass2Trefle

il y a 7 mois

ASMRKittyKlaw

il y a 7 mois


Aucun intérêt s'il faut un script pour les voir

Tu veux faire comment autrement ? https://image.noelshack.com/fichiers/2021/27/6/1625870171-limule-1-zoom-3.png

JVC semble être décidé à ne pas les remettre. Et ça semblait plaire aux clefs.

OP
A2

Ass2Trefle

il y a 7 mois

ThatRandomGuy

il y a 7 mois


Strictement rien à foutre, je suis un sans avatar

Je propose pour ceux qui le veulent, c'est tout https://image.noelshack.com/fichiers/2016/47/1480081450-ris42.png

TO

Tournicotax

il y a 7 mois

on est deja sur autre chose

OP
A2

Ass2Trefle

il y a 7 mois

Bref, vous me déprimez un peu https://image.noelshack.com/fichiers/2021/19/5/1621002058-kurokillme.png

OP
A2

Ass2Trefle

il y a 7 mois

Si un truc similaire pouvait être intégré au script Risibank, ce serait bien https://image.noelshack.com/fichiers/2021/24/3/1623862734-limule-trempe.png

AT

AvantTuRiais

il y a 7 mois

Je ne pense pas l'utiliser mais je up pour l'effort, gg khey https://image.noelshack.com/fichiers/2021/19/5/1621002058-kurokillme.png

TP

The_Professor2

il y a 7 mois

J'ai pas testé mais juste en lisant vite fait le script

- Vire les console.log()
- Pourquoi un for au lieu d'un foreach ?
- Pas de variable en majuscule please (PDP)
- querySelector c'est non, utilise du jQuery tant qu'à faire. Surtout que là, ton path est hyper complexe, simplifie le

Pas lu la suite

Encouragements, nonobstant

OP
A2

Ass2Trefle

il y a 7 mois

The_Professor2

il y a 7 mois


J'ai pas testé mais juste en lisant vite fait le script

- Vire les console.log()
- Pourquoi un for au lieu d'un foreach ?
- Pas de variable en majuscule please (PDP)
- querySelector c'est non, utilise du jQuery tant qu'à faire. Surtout que là, ton path est hyper complexe, simplifie le

Pas lu la suite

Encouragements, nonobstant

- Le console log est en commentaire
- Je ne voulais pas lire la signature dans son entièreté et je ne sais pas bien naviguer dans l'HTML
- Je voulais que la variable PDP soit distinguable (y'en avait peu dans le "main") https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png
- Pas sur de pouvoir utiliser jQuery dans TamperMonkey, peut-être

Perso -> Les clefs m'ont mis le moral à 0, je stop

TP

The_Professor2

il y a 7 mois

- Le console log est en commentaire
- Je ne voulais pas lire la signature dans son entièreté et je ne sais pas bien naviguer dans l'HTML
- Je voulais que la variable PDP soit distinguable (y'en avait peu dans le "main") https://image.noelshack.com/fichiers/2018/10/1/1520256134-risitasue2.png
- Pas sur de pouvoir utiliser jQuery dans TamperMonkey, peut-être

Perso -> Les clefs m'ont mis le moral à 0, je stop

C'est pas des critiques, mais des pistes d'améliorations