Roll20 uses cookies to improve your experience on our site. Cookies enable you to enjoy certain features, social sharing functionality, and tailor message and display ads to your interests on our site and others. They also help us understand how our site is being used. By continuing to use our site, you consent to our use of cookies. Update your cookie preferences .
×
Create a free account

[Need Help] Modifier un attribut dans l'API

Bonjour, Je commence dans la création de ma feuille de personnage. J'ai de la difficultés a Récupérer la valeur des attribut et a ensuite la modifier Idéalement, j'aurais besoin de l'équivalent du code suivant adapter pour roll20 : // use function for strength ( Need to be use for all other Secondary Skill) function xplSecondarySkill(xplStrength,xplStrength_max,lvStrength); // function to use function xplSecondarySkill (xp,xp_max,lv){ while( xp >= xpt ){ xp = xp - xpt; lv++; xpt = (lv*100)+100; }; return(xp,xpt,lv); }; Voici se que j'ai essayer pour l'instant: (Je suis conscient que surement 100% de ce deuxième code n'est pas bon. Mais c'est le mieux que j'ai pus comprendre du wiki qui n'est pas très clair selon moi.) on("change:repeating_spells:xpl"){ function() { getAttrs(["repeating_spells_xpl", "repeating_spells_xpl_max","repeating_spells_lv"], function(values) { if(xpl >= xpl_max){setAttrs({repeating_spells_xpl: repeating_spells_xpl-repeating_spells_max,repeating_spells_lv:repeating_spells_lv+1,repeating_spells_xpl_max:(repeating_spells_lv*100)+100}); }); }; }); Merci d'avance pour votre aide!
1519202502

Edited 1519202895
Jakob
Sheet Author
API Scripter
Pour référer à les valeurs des attributes, tu dois utiliser le "values" objet. Aussi, tu dois utiliser la fonction "parseInt", parce que les valeurs des attributes sont des strings. on("change:repeating_spells:xpl", function() { getAttrs(["repeating_spells_xpl", "repeating_spells_xpl_max","repeating_spells_lv"], function(values) { const xpl = parseInt(values.repeating_spells_xpl); const xplmax = parseInt(values.repeating_spells_xpl_max); const lv = parseInt(values.repeating_spells_lv); if (xpl >= xplmax) { setAttrs({ repeating_spells_xpl: xpl - xplmax, repeating_spells_lv: lv + 1, repeating_spells_xpl_max: (lv*100) + 200 // lv is still the old level }); } }); }); Aussi, cette code est pour les sheet workers, ce n'est pas pour le API.
Merci pour l'aide sa ma permis de comprendre un peut plus... Mais :) j'ai essayer avec le code que tu ma offert, et sa n'a rien donner  Je les placé dans mon html comme ceci: <html> <script type="text/worker"> on("change:repeating_spells:xpl", function() { getAttrs(["repeating_xpl", "repeating_spells_xpl_max","repeating_spells_lv"], function(values) { const xpl = parseInt(values.repeating_spells_xpl); const xplmax = parseInt(values.repeating_spells_xpl_max); const lv = parseInt(values.repeating_spells_lv); if (xpl >= xplmax) { setAttrs({ repeating_spells_xpl: xpl - xplmax, repeating_spells_lv: lv + 1, repeating_spells_xpl_max: (lv*100) + 200// lv is still the old level }); } }); }); }); </script> // ... etc Je suis entrain d'essayer de le modifier pour que sa fonctionne mais si tu y arrive avant moi ;) Sachant que mes attribut sont: xpl_force lv_force xpl_intelligence lv_intelligence xpl_dexteriter lv_dexteriter ect.... Et sachant que si on change attribut "xpl_force",  le script prendrais en compte les variable "xpl_force","xpl_force_max" et "lv_force" et ainsi de suite selon qu'elle compétence est modifier. Merci a toi :) je vais continuer a travailler sur le script en parallèle :)