-+ Sujets Admin
-+ Actions
- Retour à l'accueil
- Aller en bas de page
- Vers la FAQ
- Vers les EDCs
-+ Modérateurs
- Cérès
- Bételgeuse
-+ Statistiques
- 11 connectés au forum
- 84 connectés en jeu
- 150.835 sujets
- 3.485.179 messages
-+ Sujets MJ
-+ Derniers sujets
- Votre personnage en image
- [Script] P.A.N. Fenestra
- [script] TP Overhaul
- [EDC] Delete
- Dreadcast pour les nuls
- Bug UBAs
- [MJ] [BG] Le topic des MJ Bac...
- ? concernant les scripts, etc
- Skins et scripts
- Comparons nos s..
- [ADMIN] News
- [Script] DreadCast Script Man...
- [Script] Copy Paste All - Forum
- Géolocalisation
- [ADMIN] Annonces Admin
FORUM AUTOUR ET HORS DU JEU DE ROLE » Customs
DreadCast Development Kit (DCDK)
Créé par Pelagia le 27 Février 2025 à 17:25
Page 1/1 |
Visible par tout le monde
News — Nouveau serveur !
Nom du sujet | |
Visibilité du sujet | |
Type de sujet | |
Type de sondage | Les joueurs n'ont droit qu'à une seule réponse |
Sondage ouvert | |
Montrer les résultats | |
Accessibilité du vote | Les joueurs tel que définis par la visibilité du sujet peuvent voter. |
Champs du sondage |
1
2
3
4
5
6
7
8
9
10
+ Ajouter un champ
- Retirer un champ
|
Poster
Pelagia
Posté le 27 Février 2025 à 17:25
#1
AVERTISSEMENT : Ce development kit est à destination des développeurs de script uniquement. Il ne présente aucun intérêt pour les joueurs directement.
DreadCast Development Kit
(validé par Redline)
Genêse
..Je travaille depuis quelques temps déjà à un nettoyage et une remise au goût du jour des divers scripts existants. Le DreadCast Script Manager allait dans ce sens. Du coup, force a été de constater qu'il n'est pas toujours simple de faire coïncider les scripts entre eux, sans quelques bases solides et communes.
..Aussi, je propose cette fois deux choses : un dépôt Github mettant en commun les scripts de tous le monde pour faciliter le travail de dév/correction/amélioration, et un début de Development Kit pour faciliter le développement des scripts dans l'environnement de DC de manière propre et responsable.
Un dépôt Github ?
..Oui, et ça se passe ici : GITHUB
Il y a plusieurs intérêts à ça :
....- une collaboration facilité et un versionning propre (c'est tout le principe de git après tout)
....- un "déploiement" facile, puisqu'on peut synchroniser son dépôt greasyfork sur un dépôt Github.
....- une décentralisation : j'ai ouvert le dépôt Github, mais si demain, j'arrête DC, les autres joueurs-contributeurs peuvent poursuivre leur travail sans problème.
..Si ce n'est encore fait, je peux tout à fait passer le dépôt en "organisation" pour simplifier les choses. Si il y a des intéressés, n'hésitez pas à me MP à ce sujet ! ([Pelagia] en jeu)
Un Development Kit ?
..Encore oui ! Le DreadCast Development Kit (ou DCDK de son petit nom). Comme son nom l'indique, il se veut être une boite à outil pour développer facilement ses kits : composants UI (boutons, popup, menu, etc...), interface unifiée avec celle de DC (et facilité pour ceux qui se font des thèmes), fonctionnalités accessibles (ajouter une commande de deck, une commande de chat, importer un fichier Spreadsheet ou JSON, etc...), et d'autres choses.
Ce Development Kit est voué à évoluer et s'affiner bien sûr.
Comment ça fonctionne ?
..Assez simplement, un userscript permet d'en appeler d'autres dans l'en-tête. Dans un soucis de compatibilité, on fait attention à inclure une version spécifique, comme ceci :
// ==UserScript==
// @name Mon script génial
// @namespace Dreadcast
// @match https://www.dreadcast.net/Main
// @version 1.0.0
// @author Pelagia/Isilin
// @license https://github.com/Isilin/dreadcast-scripts?tab=GPL-3.0-1-ov-file
// @require https://update.greasyfork.org/scripts/507382/Dreadcast%20Development%20Kit.user.js?version=1533476
// ==/UserScript==
// Corps du script ...
Sachant que les TamperMonkey, GreaseMonkey, violentMonkey, &co, sont assez intelligents pour pratiquer la mise en cache. Si plusieurs scripts appellent un même script d'une même version, ils ne le font pas une fois chacun !
Le code du Development Kit est accessible sur Github et Greasyfork.
Le Development Kit lui même n'a pas de dépendance, mais profite du JQuery déjà intégré à DC (dans une version si vieille que j'en ai des frissons). Je sais, ce n'est pas bien propre, mais puisque c'est là, j'en profite !
Et concrètement, coder avec le Development, Kit, ça donne ceci :
$(() => {
..if (Util.isGame()) {
....console.log('Hello World!');
....$(document).on('click', '#hello_world_setting', () =>
......DC.UI.PopUp('hello_world_popup', 'Test', $('YES')),
....);
..} else if (Util.isForum()) {
....console.log('Hello Forum!');
....console.log(
......DC.Chat.t('coucou', { bold: true, italic: true, color: 'ababab' }),
....);
..}
});
Ici, on affiche en console un message différent si c'est le jeu ou le forum. Et si on est en jeu, on crée une popup accessible depuis le bouton de config du script dans le DCSM (fonctionnalité propre au DCSM).
Que peut faire le Development Kit ?
..- Une série de fonctions pour le déboggage et le support (guard, deprecate, isXXX)
..- Des fonctions pour récupérer le context (Jeu/Forum/EDC) et l'utiliser dans le script. Ce qui permet de coder un script inter-context (genre un script pour le forum avec son menu de paramétrage dans le Jeu)
..- Des fonctions propres pour interagir avec le chat sans polluer les autres scripts (envoi de message et triggers avant/après envoi)
..- gestion de la mémoire locale (via la mémoire userscript plutôt que le localstorage, pour une meilleure isolation des données en mémoire)
..- l'application de CSS facilement et proprement
..- modification du top-menu en jeu (ajout de menu, dropmenu, sous-menu, séparateurs)
..- des composants UI (boutons, colorpicker, infobulle, checkbox, popup, sidemenu) dont le design est calqué sur celui de DC pour simplifier le theming
..- des fonctions pour faciliter le chargement de fichier externe (spreadsheet, script dynamniquement, json, etc...)
..- des fonctions pour le chat (mise en forme, ajout de commande)
..- des fonctions pour les decks (afficher des messages, nouvelles commandes)
Un exemple concret de l'utilisation du Development Kit, c'est le DCSM. Le code est ICI.
Odul
Posté le 01 Mars 2025 à 13:05
#2
Kobal
Posté le 01 Mars 2025 à 13:46
#3
Excellente initiative !
Mode basse connexion Vous êtes en mode basse connexion
© 2007-2025 Dreadcast - Un jeu JDR Dev - CNIL n°1266332
Dreadcast | Contact | CGU et CGV | Modération
© 2007-2025 Dreadcast - Un jeu JDR Dev - CNIL n°1266332
Dreadcast | Contact | CGU et CGV | Modération