Besoin d'aide Javascript

Si vous ne savez pas où poster votre sujet, que vous êtes perdus ou autre, venez le mettre ici et un modérateur le déplacera dans la section adéquate.
Avatar de l’utilisateur
Zothike
Dracoliche
Messages : 1524
Inscription : Mer 10 Fév 2016 20:29
Localisation : Paris
Version de D&D préférée : AD&D1
Univers de D&D préféré : Royaumes Oubliés
Race : Humain
Classe : Clerc
Alignement : Loyal Mauvais
Dieu : Indicible

Besoin d'aide Javascript

Messagepar Zothike » Jeu 24 Sep 2020 08:53

Hello
Après quelques heures de galère, j'ai réussi à faire une partie des modifications de calculs que je voulais sur cette page http://www.xitragupten.com/xitragupten/ ... ment-.html
J'aimerais pouvoir faire deux chose supplémentaires sur laquelle je bute et comme je n'ai pas envie de passer 20 heures sur un truc qui vas prendre 20 minutes à un Kador de Javascript, me voici :)

• 1 sur le calcul de la pénalité de mouvement (voir calcul du résultat tout en bas) que si la personne porte moins de la moitié de son poids d'emport utilisé, qu'elle ait un bonus de +1

• 2 je voudrait calculer le prix total de l'équipement sélectionné, j'avais commencé à bidouiller avec juste la première pièce d'équipement ( la plate)

Merci d'avance
Avatar de l’utilisateur
Zothike
Dracoliche
Messages : 1524
Inscription : Mer 10 Fév 2016 20:29
Localisation : Paris
Version de D&D préférée : AD&D1
Univers de D&D préféré : Royaumes Oubliés
Race : Humain
Classe : Clerc
Alignement : Loyal Mauvais
Dieu : Indicible

Re: Besoin d'aide Javascript

Messagepar Zothike » Sam 26 Sep 2020 16:30

Bump ! personne ? en plus ce je suis sur que c'est pas super compliqué et que pour un kador c'est 1/2 de taf max je pense
Avatar de l’utilisateur
Troumad
Dracoliche
Messages : 12473
Inscription : Dim 1 Avr 2012 15:38
Localisation : Genas (F-69)
Version de D&D préférée : AD&D2
Univers de D&D préféré : ?
Race : Humain
Classe : Rôdeur
Alignement : Chaotique Bon
Dieu : ?
Mini Feuille de perso : Terres de Leyt - Eterny :
► Afficher le texte

Les Pierres du Destin :
► Afficher le texte

Mystarillia :
► Afficher le texte

Re: Besoin d'aide Javascript

Messagepar Troumad » Mar 29 Sep 2020 22:23

Tu as besoin de faire quel calcul ?
Où trouver les données ?
Création de feuilles de perso ADD, ADD2
Les mystères du Nyrond Lode
Terres de Leyt - Eterny Bondix
Mystarillia Vitavix
La pierre du Mal Alenthir
Aventures Orientales Chûzaemon, Héros d'un âge viking Björnulf Runison, le Sanctuaire de l'angoisse Feydarick, Terreur dans la Jungle Vanille, La dernière chance Go Gogne
Avatar de l’utilisateur
Zothike
Dracoliche
Messages : 1524
Inscription : Mer 10 Fév 2016 20:29
Localisation : Paris
Version de D&D préférée : AD&D1
Univers de D&D préféré : Royaumes Oubliés
Race : Humain
Classe : Clerc
Alignement : Loyal Mauvais
Dieu : Indicible

Re: Besoin d'aide Javascript

Messagepar Zothike » Mer 30 Sep 2020 07:15

Troumad a écrit :Tu as besoin de faire quel calcul ?
Où trouver les données ?


Les données sont incluse dans le formulaire (dans les éléments "form")

Pour les calcul,

1 c'est que si l'emport (déterminé par la force) moins le poids total transporté est inférieur à la moitié de l'emport, alors en bas dans "pénalité de mouvement" "+1" ou "1" doit s'afficher, dans les autres cas, ce sera "0" ou un chiffre négatif, mais pour ces deux derniers cas ça marche déjà

2 le calcul du prix total des éléments sélectionné, pour l'instant je n'ai mis qu'un élément bidon de prix que pour la "plate" mais il faudrait un système de gestion idem à celui utilisé pour le calcul du poids, a savoir des champs "hidden" paramétrable dans dans des champs "form" par exemple pour le poid de la "Chain" qui est de 300 c'est <INPUT NAME=icf07_p TYPE=hidden VALUE="300"> donc faire une équivalence pour le prix ou là, l'attribut "VALUE" serait VALUE="1000" (oui une chain mail coûte 1.000 dans ma campagne :))

Merci d'avance :bisous:
Avatar de l’utilisateur
Zedafty
Dragon d'argent
Messages : 47
Inscription : Mar 29 Sep 2020 15:31
Localisation : Féérune
Version de D&D préférée : D&D3.5
Univers de D&D préféré : Royaumes Oubliés
Race : Gnome
Classe : Illusionniste
Alignement : Chaotique Bon
Dieu : Baervan Ermiterrant

Re: Besoin d'aide Javascript

Messagepar Zedafty » Mer 30 Sep 2020 10:54

Salut Zothike !

J'espère que ma modeste contribution réglera ton problème :)

C'est assez impromptu, je me suis inscrit hier et je comptais faire ma petite présentation quand je suis tombé sur ton post ; il semblerait que dame Tymora soit d'humeur souriante car j'ai eu l'occasion de m'arracher les cheveux sur des choses dans ce goût là il y a une paire d'années :P

Ceci étant, je suis très loin d'un Kador du JavaScript alors ça m'a pris un peu plus que vingt minutes :lol:

Je me suis permis d'ajouter un calcul forcé au chargement de la page et de remplacer les champs de texte par des nombres (ça évite les erreurs de saisie et les sorties du type 'NaN' [Not A Number]).

Par contre je ne suis pas certain de la fonction de calcul de la pénalité de mouvement et je ne vois pas du tout à quoi ça correspond. Par exemple avec une Force de 3 et un poids de 1500 ça donne -90, c'est censé être du pourcentage ?

CSS (à la fin de la balise HEAD) :

Code : Tout sélectionner

<style type="text/css">

   .table-weight input[type="number"] {
      display: block;
      width: 100%;
      height: 2.75em;
      text-decoration: none;
      color: inherit;
      background: #ffffff;
      border-radius: 0.375em;
      border: solid 1px rgba(210, 215, 217, 0.75);
      outline: 0;
   }

   .table-weight input[type="text"],
   .table-weight input[type="number"] {
      padding: 0;
      text-align: center;
   }

   .table-weight input::-webkit-outer-spin-button,
   input::-webkit-inner-spin-button {
      -webkit-appearance: none;
      margin: 0;
   }
   .table-weight input[type=number] {
      -moz-appearance: textfield;
   }

</style>

JavaScript (préférentiellement à la fin du HTML) :

Code : Tout sélectionner

<script>

   var $body = $("body");
   var wf = $("#weightForm");

   $(document).ready(function() {

      // =====================================================================
      // ---------------------------------------------------------------------
      // * Functions
      // ---------------------------------------------------------------------
      // =====================================================================

      function calculateLoadWeight() {
         var loadWeight = 0;
         $("input[name$=_q]").each(function( index ) {
            var itemWeight = $(this).next().val();
            var itemQty = $(this).val();
            loadWeight += (itemWeight * itemQty);
         });
         return loadWeight;
      }

      function calculatePrice() {
         var itemName, inputQty, itemQty, itemPrice, totalPrice = 0;
         $("input[name$=_px]").each(function(index) {
            itemName = $(this).attr("name").slice(0,-3);
            inputQty = $("input[name=" + itemName + "_q]");
            itemQty = parseInt(inputQty.val());
            itemPrice = parseInt($(this).val());
            totalPrice += (itemQty * itemPrice);
         });
         return totalPrice;
      }

      function calculateMalus() {
         var forceInput = parseInt($("input[name=force]:checked").val()); // parseInt() => renvoie un nombre plutôt qu'une chaîne de caractères
         var totalWeight = parseInt($("input[name=tout]").val()); // parseInt() => renvoie un nombre plutôt qu'une chaîne de caractères
         var malus = forceInput - totalWeight;
         var fractionForce= forceInput / 10;
         var malusOutput = 0; // initialisation à zéro (renverra zéro si aucune instruction ne modifie la variable)
         if (totalWeight > forceInput) { // si le poids total est supérieur au poids transportable
            malusOutput = Math.round(malus / fractionForce); // calcul malus
         } else if (totalWeight < Math.floor(forceInput / 2)) { // sinon si le poids total est inférieur à la moitié du poids transportable arrondi à l'inférieur
            malusOutput = "+1"; // ICI -- bonus à la vitesse de course de +1
         }
         return malusOutput;
      }

      function calculateWeightAndPrice() {
         $("input[name=tout]").val(calculateLoadWeight());
         $("input[name=move]").val(calculateMalus());
         $("input[name=prix]").val(calculatePrice());
      }

      function updateItemWeightAndPrice(el) {
         var itemQty = el.val();
         var itemWeight = el.siblings("[name$=_p]").val();
         var itemPrice = el.siblings("[name$=_px]").val();
         el.parents("tr").first().find("[name$=_t]").val(itemQty * itemWeight);
         el.parents("tr").first().find("[name$=_pxt]").val(itemQty * itemPrice);
      }

      function updateAllWeightAndPrice() {
         $("input[name$=_q]").each(function() {
            updateItemWeightAndPrice($(this));
         });
      }

      // =====================================================================
      // ---------------------------------------------------------------------
      // * Events
      // ---------------------------------------------------------------------
      // =====================================================================

      $body.on("click", "input[name=force]", function() {
         calculateWeightAndPrice();
      });

      $body.on("change", "input[name$=_q]", function() {
         updateItemWeightAndPrice($(this));
         calculateWeightAndPrice();
      });

      $body.on("change", "input[name=xp_totaux]", function() {
         var basica = 0;
         var xpValue = $("input[name=xp_totaux]").val();
         var magic = $("input[name=point]");
         if (xpValue < 100001) {
            magic.val(2000 + (200*(Math.floor(xpValue/10000))));
         } else {
            magic.val(4000 + (150*(Math.floor((xpValue-100000)/10000))));
         }
      });

      // =====================================================================
      // ---------------------------------------------------------------------
      // * Exec
      // ---------------------------------------------------------------------
      // =====================================================================

      updateAllWeightAndPrice();

   });

</script>

HTML (le formulaire weightForm) :

Code : Tout sélectionner

<form method="POST" name="bcmd" id="weightForm" action="#">
   <p>En bas du formulaire s'affiche l'éventuelle pénalité de mouvement
      applicable, tant que le chiffre est positif, aucune pénalité ne
      s'applique<br>
      Les objets qui ont un lien, ouvrent une petite fenêtre avec quelques infos sur la nature, l'utilité de l'objet.
   </p>
   <h3>Sous ce formulaire se trouve expliqué comment organiser votre
      équipement en 3 catégories, par rapport au 3 contextes potentiels dans
      lesquels vous pouvez vous trouver : en soirée, en pylone, en aventure<br>
      Vous pouvez utiliser ce <a href="http://www.xitragupten.com/xitragupten/images/calcul-poids.ods" target="_blank">fichier excel</a> pour organiser, calculer sauvegarder/imprimer le poids de votre équipement dans ces 3 configurations
   </h3>
   <h4>Si le poids transporté est inférieur de la moitié ou plus au poids
      total transportable, l'aventurier gagne +1 à sa vitesse de course
   </h4>
   <h4>Table d'ajustement d'emport dû à la force</h4>
   <div class="table-wrapper">
      <table style="border-spacing:0;">
         <tbody>
            <tr>
               <td>Force</td>
               <td>3</td>
               <td nowrap="nowrap">4-5</td>
               <td nowrap="nowrap">6-7</td>
               <td nowrap="nowrap">8-9</td>
               <td nowrap="nowrap">10-11</td>
               <td nowrap="nowrap">12-13</td>
               <td nowrap="nowrap">14-15</td>
            </tr>
            <tr>
               <td>emport</td>
               <td><input type="radio" id="demo-priority-1" name="force" value="150"> <label for="demo-priority-1">150</label></td>
               <td><input type="radio" id="demo-priority-2" name="force" value="200"><label for="demo-priority-2">200</label></td>
               <td><input type="radio" id="demo-priority-3" name="force" value="250"><label for="demo-priority-3">250</label></td>
               <td><input type="radio" id="demo-priority-4" name="force" value="300"><label for="demo-priority-4">300</label></td>
               <td><input type="radio" id="demo-priority-5" name="force" value="350" checked="checked"><label for="demo-priority-5">350</label></td>
               <td><input type="radio" id="demo-priority-6" name="force" value="450"><label for="demo-priority-6">450</label></td>
               <td><input type="radio" id="demo-priority-7" name="force" value="550"><label for="demo-priority-7">550</label></td>
            </tr>
         </tbody>
      </table>
   </div>
   <div class="table-wrapper">
      <table>
         <tbody>
            <tr>
               <td>Force</td>
               <td>16</td>
               <td>17</td>
               <td>18</td>
               <td nowrap="nowrap">18/01-50</td>
               <td nowrap="nowrap">18/51-75</td>
               <td nowrap="nowrap">18/76-90</td>
               <td nowrap="nowrap">18/91-99</td>
               <td nowrap="nowrap">18/100</td>
            </tr>
            <tr>
               <td>emport</td>
               <td><input type="radio" id="demo-priority-8" name="force" value="750"><label for="demo-priority-8">750</label></td>
               <td><input type="radio" id="demo-priority-9" name="force" value="1000"><label for="demo-priority-9">1000</label></td>
               <td><input type="radio" id="demo-priority-10" name="force" value="1250"><label for="demo-priority-10">1250</label></td>
               <td><input type="radio" id="demo-priority-11" name="force" value="1500"><label for="demo-priority-11">1500</label></td>
               <td><input type="radio" id="demo-priority-12" name="force" value="1750"><label for="demo-priority-12">1750</label></td>
               <td><input type="radio" id="demo-priority-13" name="force" value="2000"><label for="demo-priority-13">2000</label></td>
               <td><input type="radio" id="demo-priority-14" name="force" value="2500"><label for="demo-priority-14">2500</label></td>
               <td><input type="radio" id="demo-priority-15" name="force" value="3000"><label for="demo-priority-15">3000</label></td>
            </tr>
         </tbody>
      </table>
   </div>
   <div class="table-wrapper">
      <table>
         <tbody>
            <tr>
               <td>Force</td>
               <td>19</td>
               <td>20</td>
               <td>21</td>
               <td>22</td>
               <td>23</td>
               <td>24</td>
               <td>25</td>
            </tr>
            <tr>
               <td>emport</td>
               <td><input type="radio" id="demo-priority-16" name="force" value="4500"><label for="demo-priority-16">4500</label></td>
               <td><input type="radio" id="demo-priority-17" name="force" value="5000"><label for="demo-priority-17">5000</label></td>
               <td><input type="radio" id="demo-priority-18" name="force" value="6000"><label for="demo-priority-18">6000</label></td>
               <td><input type="radio" id="demo-priority-19" name="force" value="7000"><label for="demo-priority-19">7000</label></td>
               <td><input type="radio" id="demo-priority-20" name="force" value="8000"><label for="demo-priority-20">8000</label></td>
               <td><input type="radio" id="demo-priority-21" name="force" value="9000"><label for="demo-priority-21">9000</label></td>
               <td><input type="radio" id="demo-priority-22" name="force" value="10000"><label for="demo-priority-22">10000</label></td>
            </tr>
         </tbody>
      </table>
   </div>
   <div class="table-wrapper table-weight">
      <table style="border-spacing:0;">
         <tbody>
            <tr>
               <td>
                  <div class="table-wrapper">
                     <table style="border-spacing:0;">
                        <tbody>
                           <tr>
                              <td width="60%">Description et poids (prix)</td>
                              <td width="10%">Nombre</td>
                              <td width="15%">Poids</td>
                              <td width="15%">Prix</td>
                           </tr>
                           <tr>
                              <td colspan="4">
                                 <h3 style="color:gray;">Armures</h3>
                              </td>
                           </tr>
                           <tr>
                              <td>Plate 500 (5000 gp)</td>
                              <td>
                                 <input name="ce040_q" type="number" size="3" value="0" min="0">
                                 <input name="ce040_p" type="hidden" value="500">
                                 <input name="ce040_px" type="hidden" value="5000">
                              </td>
                              <td>
                                 <input type="TEXT" name="ce040_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="ce040_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>chain 300 (1000)</td>
                              <td>
                                 <input name="icf07_q" type="number" size="3" value="0" min="0">
                                 <input name="icf07_p" type="hidden" value="300">
                                 <input name="icf07_px" type="hidden" value="1000">
                              </td>
                              <td>
                                 <input type="TEXT" name="icf07_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="icf07_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>leather 100 (100)</td>
                              <td>
                                 <input name="re050_q" type="number" size="3" value="0" min="0">
                                 <input name="re050_p" type="hidden" value="100">
                                 <input name="re050_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="re050_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="re050_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Grand bouclier 100 (100)</td>
                              <td>
                                 <input name="red11_q" type="number" size="3" value="0" min="0">
                                 <input name="red11_p" type="hidden" value="100">
                                 <input name="red11_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="red11_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="red11_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>bouclier 50 (50)</td>
                              <td>
                                 <input name="te100_q" type="number" size="3" value="0" min="0">
                                 <input name="te100_p" type="hidden" value="50">
                                 <input name="te100_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="te100_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="te100_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Broquel (petit bouclier) 20 (20)</td>
                              <td>
                                 <input name="te144_q" type="number" size="3" value="0" min="0">
                                 <input name="te144_p" type="hidden" value="20">
                                 <input name="te144_px" type="hidden" value="20">
                              </td>
                              <td>
                                 <input type="TEXT" name="te100_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="te100_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Petit heaume 50 (100)</td>
                              <td>
                                 <input name="pheau_q" type="number" size="3" value="0" min="0">
                                 <input name="pheau_p" type="hidden" value="50">
                                 <input name="pheau_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="pheau_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="pheau_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Grand heaume 100 (200)</td>
                              <td>
                                 <input name="gheau_q" type="number" size="3" value="0" min="0">
                                 <input name="gheau_p" type="hidden" value="100">
                                 <input name="gheau_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="gheau_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="gheau_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td colspan="4">
                                 <h3 style="color:gray;">Armes de contact</h3>
                              </td>
                           </tr>
                           <tr>
                              <td>Espadon (épée à deux mains) 250 (100)</td>
                              <td>
                                 <input name="com23_q" type="number" size="3" value="0" min="0">
                                 <input name="com23_p" type="hidden" value="250">
                                 <input name="com23_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="com23_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="com23_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Épée longue 100 (50)</td>
                              <td>
                                 <input name="epeel_q" type="number" size="3" value="0" min="0">
                                 <input name="epeel_p" type="hidden" value="100">
                                 <input name="epeel_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="epeel_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="epeel_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Épée Bâtarde 150 (75)</td>
                              <td>
                                 <input name="epeeb_q" type="number" size="3" value="0" min="0">
                                 <input name="epeeb_p" type="hidden" value="150">
                                 <input name="epeeb_px" type="hidden" value="75">
                              </td>
                              <td>
                                 <input type="TEXT" name="epeeb_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="epeeb_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Épée courte 50 (20)</td>
                              <td>
                                 <input name="epeec_q" type="number" size="3" value="0" min="0">
                                 <input name="epeec_p" type="hidden" value="50">
                                 <input name="epeec_px" type="hidden" value="20">
                              </td>
                              <td>
                                 <input type="TEXT" name="epeec_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="epeec_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Dague 10 (5)</td>
                              <td>
                                 <input name="dague_q" type="number" size="3" value="0" min="0">
                                 <input name="dague_p" type="hidden" value="10">
                                 <input name="dague_px" type="hidden" value="5">
                              </td>
                              <td>
                                 <input type="TEXT" name="dague_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dague_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Arme de hast (lance, hallebarde, spetum, etc) 250 (50)</td>
                              <td>
                                 <input name="dpe17_q" type="number" size="3" value="0" min="0">
                                 <input name="dpe17_p" type="hidden" value="250">
                                 <input name="dpe17_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="dpe17_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dpe17_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Masse a deux mains 250 (100)</td>
                              <td>
                                 <input name="ope12_q" type="number" size="3" value="0" min="0">
                                 <input name="ope12_p" type="hidden" value="250">
                                 <input name="ope12_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="ope12_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="ope12_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Masse a une main 100 (50)</td>
                              <td>
                                 <input name="macex_q" type="number" size="3" value="0" min="0">
                                 <input name="macex_p" type="hidden" value="100">
                                 <input name="macex_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="macex_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="macex_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Masse courte 50 (20)</td>
                              <td>
                                 <input name="macec_q" type="number" size="3" value="0" min="0">
                                 <input name="macec_p" type="hidden" value="50">
                                 <input name="macec_px" type="hidden" value="20">
                              </td>
                              <td>
                                 <input type="TEXT" name="macec_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="macec_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Fléau a deux mains 250 (250)</td>
                              <td>
                                 <input name="fleau_q" type="number" size="3" value="0" min="0">
                                 <input name="fleau_p" type="hidden" value="250">
                                 <input name="fleau_px" type="hidden" value="250">
                              </td>
                              <td>
                                 <input type="TEXT" name="fleau_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="fleau_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Fléau a une main 100 (100)</td>
                              <td>
                                 <input name="fleac_q" type="number" size="3" value="0" min="0">
                                 <input name="fleac_p" type="hidden" value="100">
                                 <input name="fleac_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="fleac_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="fleac_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Hache a deux mains 250 (100)</td>
                              <td>
                                 <input name="hache_q" type="number" size="3" value="0" min="0">
                                 <input name="hache_p" type="hidden" value="250">
                                 <input name="hache_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="hache_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="hache_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Hache à une mains 100 (50)</td>
                              <td>
                                 <input name="hach2_q" type="number" size="3" value="0" min="0">
                                 <input name="hach2_p" type="hidden" value="100">
                                 <input name="hach2_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="hach2_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="hach2_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Hache courte 50 (20)</td>
                              <td>
                                 <input name="hachc_q" type="number" size="3" value="0" min="0">
                                 <input name="hachc_p" type="hidden" value="50">
                                 <input name="hachc_px" type="hidden" value="20">
                              </td>
                              <td>
                                 <input type="TEXT" name="hachc_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="hachc_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Bâton 50 (10)</td>
                              <td>
                                 <input name="baton_q" type="number" size="3" value="0" min="0">
                                 <input name="baton_p" type="hidden" value="50">
                                 <input name="baton_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="baton_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="baton_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td colspan="4">
                                 <h3 style="color:gray;">Armes de jet</h3>
                              </td>
                           </tr>
                           <tr>
                              <td>Death rafale (arme de jet à répétition magique) 100<br> (voir <a href="http://www.xitragupten.com/xitragupten/objmagik.html">objets magiques</a>)</td>
                              <td>
                                 <input name="cff03_q" type="number" size="3" value="0" min="0">
                                 <input name="cff03_p" type="hidden" value="100">
                                 <input name="cff03_px" type="hidden" value="0">
                              </td>
                              <td>
                                 <input type="TEXT" name="cff03_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="cff03_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>1 dard 5 (1)</td>
                              <td>
                                 <input name="opt14_q" type="number" size="3" value="0" min="0">
                                 <input name="opt14_p" type="hidden" value="5">
                                 <input name="opt14_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="opt14_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="opt14_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Arc Court 50 (500 de base) (voir <a href="http://www.xitragupten.com/xitragupten/armement.html">armement</a>)</td>
                              <td>
                                 <input name="pat22_q" type="number" size="3" value="0" min="0">
                                 <input name="pat22_p" type="hidden" value="50">
                                 <input name="pat22_px" type="hidden" value="500">
                              </td>
                              <td>
                                 <input type="TEXT" name="pat22_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="pat22_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Arc long 100 (1000 de base) (voir <a href="http://www.xitragupten.com/xitragupten/armement.html">armement</a>)</td>
                              <td>
                                 <input name="tr090_q" type="number" size="3" value="0" min="0">
                                 <input name="tr090_p" type="hidden" value="100">
                                 <input name="tr090_px" type="hidden" value="1000">
                              </td>
                              <td>
                                 <input type="TEXT" name="tr090_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="tr090_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Arbalète a une main 25 (50)</td>
                              <td>
                                 <input name="arbam_q" type="number" size="3" value="0" min="0">
                                 <input name="arbam_p" type="hidden" value="25">
                                 <input name="arbam_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="arbam_t" size="2" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="arbam_pxt" size="2" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Arbalète légère 100 (100)</td>
                              <td>
                                 <input name="arbal_q" type="number" size="3" value="0" min="0">
                                 <input name="arbal_p" type="hidden" value="100">
                                 <input name="arbal_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="arbal_t" size="2" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="arbal_pxt" size="2" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Arbalète lourde 200 (200)</td>
                              <td>
                                 <input name="arbah_q" type="number" size="3" value="0" min="0">
                                 <input name="arbah_p" type="hidden" value="200">
                                 <input name="arbah_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="arbah_t" size="2" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="arbah_pxt" size="2" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Carquois projectile 20 (selon contenus) </td>
                              <td>
                                 <input name="potio_q" type="number" size="3" value="0" min="0">
                                 <input name="potio_p" type="hidden" value="20">
                                 <input name="potio_px" type="hidden" value="0">
                              </td>
                              <td>
                                 <input type="TEXT" name="potio_t" size="2" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="potio_pxt" size="2" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>
                                 <h3 style="color:gray;">Vêtements</h3>
                              </td>
                           </tr>
                           <tr>
                              <td>set vêtement léger (climat 20 degré+) 20 (150)</td>
                              <td>
                                 <input name="vete1_q" type="number" size="3" value="0" min="0">
                                 <input name="vete1_p" type="hidden" value="20">
                                 <input name="vete1_px" type="hidden" value="150">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete1_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete1_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>set vêtement chaud (climat 0 degré) 50 (500)</td>
                              <td>
                                 <input name="vete2_q" type="number" size="3" value="0" min="0">
                                 <input name="vete2_p" type="hidden" value="50">
                                 <input name="vete2_px" type="hidden" value="500">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete2_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete2_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>set vêtement très chaud (climat -10 degré) 100 (2000)</td>
                              <td>
                                 <input name="vete3_q" type="number" size="3" value="0" min="0">
                                 <input name="vete3_p" type="hidden" value="100">
                                 <input name="vete3_px" type="hidden" value="2000">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete3_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete3_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>chaussures/bottines 20 (50)</td>
                              <td>
                                 <input name="vete4_q" type="number" size="3" value="0" min="0">
                                 <input name="vete4_p" type="hidden" value="20">
                                 <input name="vete4_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete4_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete4_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>bottes 40 (100)</td>
                              <td>
                                 <input name="vete5_q" type="number" size="3" value="0" min="0">
                                 <input name="vete5_p" type="hidden" value="40">
                                 <input name="vete5_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete5_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="vete5_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                        </tbody>
                     </table>
                  </div>
               </td>
               <td>
                  <div class="table-wrapper">
                     <table style="border-spacing:0;">
                        <tbody>
                           <tr>
                              <td width="60%">Description et poids (prix)</td>
                              <td width="10%">Nombre</td>
                              <td width="15%">Poids</td>
                              <td width="15%">Prix</td>
                           </tr>
                           <tr>
                              <td colspan="4">
                                 <h3 style="color:gray;">Munitions</h3>
                              </td>
                           </tr>
                           <tr>
                              <td>1 flèches 2 (1)</td>
                              <td>
                                 <input name="eu150_q" type="number" size="3" value="0" min="0">
                                 <input name="eu150_p" type="hidden" value="2">
                                 <input name="eu150_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="eu150_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="eu150_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>1 carreau 2 (1)</td>
                              <td>
                                 <input name="carro_q" type="number" size="3" value="0" min="0">
                                 <input name="carro_p" type="hidden" value="2">
                                 <input name="carro_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="carro_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="carro_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>1 carreau léger 1 (1)</td>
                              <td>
                                 <input name="carrl_q" type="number" size="3" value="0" min="0">
                                 <input name="carrl_p" type="hidden" value="1">
                                 <input name="carrl_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="carrl_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="carrl_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('un death rafale peut en tirer 10 par round');return false;" style="color:gray;">1 cône de death rafale 2</a><br> (voir <a href="http://www.xitragupten.com/xitragupten/objmagik.html" style="color:gray;">objets magiques</a>)</td>
                              <td>
                                 <input name="coned_q" type="number" size="3" value="0" min="0">
                                 <input name="coned_p" type="hidden" value="2">
                                 <input name="coned_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="coned_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="coned_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>carquois 10 flèches/carreau 10 (vide) (5)</td>
                              <td>
                                 <input name="carqu_q" type="number" size="3" value="0" min="0">
                                 <input name="carqu_p" type="hidden" value="10">
                                 <input name="carqu_px" type="hidden" value="5">
                              </td>
                              <td>
                                 <input type="TEXT" name="carqu_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="carqu_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>bandoulière pour 10 dard/dague/cône 10 (5)</td>
                              <td>
                                 <input name="ceint_q" type="number" size="3" value="0" min="0">
                                 <input name="ceint_p" type="hidden" value="10">
                                 <input name="ceint_px" type="hidden" value="5">
                              </td>
                              <td>
                                 <input type="TEXT" name="ceint_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="ceint_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td colspan="4">
                                 <h3 style="color:gray;">Divers</h3>
                              </td>
                           </tr>
                           <tr>
                              <td>petit sac a dos(300) 20 (20)</td>
                              <td>
                                 <input name="dive1_q" type="number" size="3" value="0" min="0">
                                 <input name="dive1_p" type="hidden" value="20">
                                 <input name="dive1_px" type="hidden" value="20">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive1_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive1_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>grand sac a dos(600) 40 (50)</td>
                              <td>
                                 <input name="dive2_q" type="number" size="3" value="0" min="0">
                                 <input name="dive2_p" type="hidden" value="40">
                                 <input name="dive2_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive2_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive2_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>grand sac(600)20 (10)</td>
                              <td>
                                 <input name="dive3_q" type="number" size="3" value="0" min="0">
                                 <input name="dive3_p" type="hidden" value="20">
                                 <input name="dive3_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive3_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive3_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('1 mètre de corde de 3cm diamètre qui supporte 1 tonne de poids, possible de monter à la force des bras/jambes');return false;" style="color:gray;">corde a grimper 1m (1t) 10</a> (1)</td>
                              <td>
                                 <input name="dive4_q" type="number" size="3" value="0" min="0">
                                 <input name="dive4_p" type="hidden" value="20">
                                 <input name="dive4_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive4_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive4_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('1 mètre de corde de 1cm diamètre qui supporte 1 tonne de poids, impossible de monter à la main avec');return false;" style="color:gray;">corde câble 5m (1t) 10</a> (10)</td>
                              <td>
                                 <input name="dive5_q" type="number" size="3" value="0" min="0">
                                 <input name="dive5_p" type="hidden" value="10">
                                 <input name="dive5_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive5_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive5_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('1 mètre de cordelette de 5mm diamètre qui supporte 100 kg, pour attacher des choses, pas fait pour l\'escalade');return false;">cordelette 20m (100kg) 10</a> (2)</td>
                              <td>
                                 <input name="dive6_q" type="number" size="3" value="0" min="0">
                                 <input name="dive6_p" type="hidden" value="10">
                                 <input name="dive6_px" type="hidden" value="2">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive6_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive6_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>grappin 20 (10)</td>
                              <td>
                                 <input name="dive7_q" type="number" size="3" value="0" min="0">
                                 <input name="dive7_p" type="hidden" value="20">
                                 <input name="dive7_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive7_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive7_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>outils d'infiltrateur 10 (200)</td>
                              <td>
                                 <input name="dive14_q" type="number" size="3" value="0" min="0">
                                 <input name="dive14_p" type="hidden" value="10">
                                 <input name="dive14_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive14_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive14_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>2 pitons d'escalade 10 (2)</td>
                              <td>
                                 <input name="dive15_q" type="number" size="3" value="0" min="0">
                                 <input name="dive15_p" type="hidden" value="10">
                                 <input name="dive15_px" type="hidden" value="2">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive15_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive15_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('pour s\'attacher a des cordes de façon confortable');return false;">harnais d'escalade 20</a> (50)</td>
                              <td>
                                 <input name="dive15_q" type="number" size="3" value="0" min="0">
                                 <input name="dive15_p" type="hidden" value="20">
                                 <input name="dive15_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive15_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive15_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>potion 10 (selon contenu)</td>
                              <td>
                                 <input name="dive16_q" type="number" size="3" value="0" min="0">
                                 <input name="dive16_p" type="hidden" value="10">
                                 <input name="dive16_px" type="hidden" value="0">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive16_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive16_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('pour extraire des composants organiques pour revendre aux alchimistes');return false;" style="color:gray;">matériel d'extraction organique 20</a> (100)</td>
                              <td>
                                 <input name="div23_q" type="number" size="3" value="0" min="0">
                                 <input name="div23_p" type="hidden" value="20">
                                 <input name="div23_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="div23_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div23_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('pour extraire des composants d\'origine végétale pour revendre aux alchimistes');return false;" style="color:gray;">matériel d'extraction végétal 20</a> (50)</td>
                              <td>
                                 <input name="div24_q" type="number" size="3" value="0" min="0">
                                 <input name="div24_p" type="hidden" value="20">
                                 <input name="div24_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="div24_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div24_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('pour extraire des composants d\'origine minéral pour revendre aux alchimistes');return false;" style="color:gray;">matériel d'extraction minéral 20</a> (50)</td>
                              <td>
                                 <input name="div25_q" type="number" size="3" value="0" min="0">
                                 <input name="div25_p" type="hidden" value="20">
                                 <input name="div25_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="div25_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div25_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('pour transporter 1 dose d\'ingrédient organique\/végétal\/minéral');return false;" style="color:gray;">réceptacle ingrédient 20</a> (50)</td>
                              <td>
                                 <input name="dive17_q" type="number" size="3" value="0" min="0">
                                 <input name="dive17_p" type="hidden" value="20">
                                 <input name="dive17_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive17_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive17_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>gourde 2 litre 40 (10)</td>
                              <td>
                                 <input name="dive8_q" type="number" size="3" value="0" min="0">
                                 <input name="dive8_p" type="hidden" value="40">
                                 <input name="dive8_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive8_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive8_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>nourriture compacte 1 jour 10 (5)</td>
                              <td>
                                 <input name="dive9_q" type="number" size="3" value="0" min="0">
                                 <input name="dive9_p" type="hidden" value="10">
                                 <input name="dive9_px" type="hidden" value="5">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive9_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive9_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Picnic 1 repas 10 (1)</td>
                              <td>
                                 <input name="dive18_q" type="number" size="3" value="0" min="0">
                                 <input name="dive18_p" type="hidden" value="10">
                                 <input name="dive18_px" type="hidden" value="1">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive18_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive18_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>gamelle gobelet couverts 10 (5)</td>
                              <td>
                                 <input name="dive26_q" type="number" size="3" value="0" min="0">
                                 <input name="dive26_p" type="hidden" value="10">
                                 <input name="dive26_px" type="hidden" value="5">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive26_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive26_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>tente 1 place 40 (100)</td>
                              <td>
                                 <input name="div10_q" type="number" size="3" value="0" min="0">
                                 <input name="div10_p" type="hidden" value="40">
                                 <input name="div10_px" type="hidden" value="100">
                              </td>
                              <td>
                                 <input type="TEXT" name="div10_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div10_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>tente chaude 1 place 80 (200)</td>
                              <td>
                                 <input name="div11_q" type="number" size="3" value="0" min="0">
                                 <input name="div11_p" type="hidden" value="80">
                                 <input name="div11_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="div11_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div11_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>cape/capuche anti pluie 10 (10)</td>
                              <td>
                                 <input name="div201_q" type="number" size="3" value="0" min="0">
                                 <input name="div201_p" type="hidden" value="10">
                                 <input name="div201_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="div201_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div201_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('sac de couchage +ou- hérmétique, tiens au chaud jusqu\'a 5 degrés minimum');return false;" style="color:gray;">Couchage sec 20</a> (50)</td>
                              <td>
                                 <input name="div261_q" type="number" size="3" value="0" min="0">
                                 <input name="div261_p" type="hidden" value="20">
                                 <input name="div261_px" type="hidden" value="50">
                              </td>
                              <td>
                                 <input type="TEXT" name="div261_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div261_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('sac de couchage +ou- hermétique, qui tiens chaud jusqu\'a -10 degés maximum');return false;" style="color:gray;">Couchage chaud sec 40</a> (200)</td>
                              <td>
                                 <input name="div262_q" type="number" size="3" value="0" min="0">
                                 <input name="div262_p" type="hidden" value="40">
                                 <input name="div262_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="div262_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div262_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>1 torche 20 (2)</td>
                              <td>
                                 <input name="div12_q" type="number" size="3" value="0" min="0">
                                 <input name="div12_p" type="hidden" value="20">
                                 <input name="div12_px" type="hidden" value="2">
                              </td>
                              <td>
                                 <input type="TEXT" name="div12_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div12_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>pierre lumière continuelle 5 (200)</td>
                              <td>
                                 <input name="div19_q" type="number" size="3" value="0" min="0">
                                 <input name="div19_p" type="hidden" value="5">
                                 <input name="div19_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="div19_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div19_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('briquet Zipo OU lot de 10 allumettes de sureté');return false;" style="color:gray;">Briquet Zipo/allumette redragx10 5</a> (5) (1)</td>
                              <td>
                                 <input name="div20_q" type="number" size="3" value="0" min="0">
                                 <input name="div20_p" type="hidden" value="5">
                                 <input name="div20_px" type="hidden" value="5">
                              </td>
                              <td>
                                 <input type="TEXT" name="div20_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div20_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('pour faire simple, 1 scroll = 1 de poid \n pour livre de magicien contenant tous les sorts du domaine public, pèse 30 par niveau de sort qu\'il peux jeter, ainsi un magicien du 6ème qui peux jeter des sorts du troisième niveau, aura un livre de sort qui pesera 90');return false;" style="color:gray;">1 tube 5 niveau de scroll 5<br>ou livre de sort</a> 30xniveau sort <br> (5) (<a href="http://www.xitragupten.com/xitragupten/magicien.html">Voir classe de magicien</a>)</td>
                              <td>
                                 <input name="div13_q" type="number" size="3" value="0" min="0">
                                 <input name="div13_p" type="hidden" value="1">
                                 <input name="div13_px" type="hidden" value="0">
                              </td>
                              <td>
                                 <input type="TEXT" name="div13_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div13_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Jumelles de voyages<br>(grossissement x 7) 20 (200)</td>
                              <td>
                                 <input name="div21_q" type="number" size="3" value="0" min="0">
                                 <input name="div21_p" type="hidden" value="20">
                                 <input name="div21_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="div21_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div21_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>dose de poudre d'or composant 10 (200)</td>
                              <td>
                                 <input name="div22_q" type="number" size="3" value="0" min="0">
                                 <input name="div22_p" type="hidden" value="10">
                                 <input name="div22_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="div22_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div22_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Symbole religieux 10</td>
                              <td>
                                 <input name="div232_q" type="number" size="3" value="0" min="0">
                                 <input name="div232_p" type="hidden" value="10">
                                 <input name="div232_px" type="hidden" value="0">
                              </td>
                              <td>
                                 <input type="TEXT" name="div232_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div232_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Kit premiers soins 20 (<a href="http://www.xitragupten.com/xitragupten/clercs.html">Voir classe de clerc</a>)</td>
                              <td>
                                 <input name="div230_q" type="number" size="3" value="0" min="0">
                                 <input name="div230_p" type="hidden" value="20">
                                 <input name="div230_px" type="hidden" value="0">
                              </td>
                              <td>
                                 <input type="TEXT" name="div230_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div230_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td>Carnet et stylo plume 10 (10)</td>
                              <td>
                                 <input name="div233_q" type="number" size="3" value="0" min="0">
                                 <input name="div233_p" type="hidden" value="10">
                                 <input name="div233_px" type="hidden" value="10">
                              </td>
                              <td>
                                 <input type="TEXT" name="div233_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="div233_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                           <tr>
                              <td><a href="#" onclick="alert('voir règles d\'utilisation dans les règles diverses');return false;">Parachute</a> 200 (200)</td>
                              <td>
                                 <input name="dive107_q" type="number" size="3" value="0" min="0">
                                 <input name="dive107_p" type="hidden" value="200">
                                 <input name="dive107_px" type="hidden" value="200">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive107_t" size="3" readonly="readonly">
                              </td>
                              <td>
                                 <input type="TEXT" name="dive107_pxt" size="3" readonly="readonly">
                              </td>
                           </tr>
                        </tbody>
                     </table>
                  </div>
               </td>
            </tr>
         </tbody>
      </table>
   </div>
   <br>
   <div class="row gtr-uniform">
      <div class="col-3 col-12-xsmall">
         <div class="table-wrapper">
            <table>
               <tbody>
                  <tr>
                     <td><b style="color:gray;">Poids total : </b><input type="TEXT" name="tout" size="15" readonly="readonly" align="right"><br>
                        <b style="color:gray;">Pénalité de mouvement : </b><input type="TEXT" name="move" size="15" readonly="readonly" align="right"><br>
                        <b style="color:gray;">Prix total : </b><input type="TEXT" name="prix" size="15" readonly="readonly" align="right">
                     </td>
                  </tr>
               </tbody>
            </table>
         </div>
      </div>
   </div>
</form>

EDIT : Une petite omission sur le script ^^
Avatar de l’utilisateur
Zothike
Dracoliche
Messages : 1524
Inscription : Mer 10 Fév 2016 20:29
Localisation : Paris
Version de D&D préférée : AD&D1
Univers de D&D préféré : Royaumes Oubliés
Race : Humain
Classe : Clerc
Alignement : Loyal Mauvais
Dieu : Indicible

Re: Besoin d'aide Javascript

Messagepar Zothike » Mer 30 Sep 2020 11:06

Zedafty a écrit :Salut Zothike !


Hello Zedafty merci beaucoup pour ton aide :) je vais checker ça ce soir, j'imagine que tu a importé le fichier html pour faire les tests, tu pourrais me l'envoyer ? :)

Pour le "une Force de 3 et un poids de 1500 ça donne -90" c'est la pénalité de mouvement en case, comme un humain à en standard un déplacement de 12 cases et bien si il a trois en force et porte 1500 en poids et bien il a une pénalité de mouvement de 90 cases donc il ne peux plus bouger ^^
Avatar de l’utilisateur
Zedafty
Dragon d'argent
Messages : 47
Inscription : Mar 29 Sep 2020 15:31
Localisation : Féérune
Version de D&D préférée : D&D3.5
Univers de D&D préféré : Royaumes Oubliés
Race : Gnome
Classe : Illusionniste
Alignement : Chaotique Bon
Dieu : Baervan Ermiterrant

Re: Besoin d'aide Javascript

Messagepar Zedafty » Mer 30 Sep 2020 11:24

Ah oui d'accord ! Logique :P

Oui, c'est parti en MP, ça devrait être plus commode comme ça ^^
Avatar de l’utilisateur
Troumad
Dracoliche
Messages : 12473
Inscription : Dim 1 Avr 2012 15:38
Localisation : Genas (F-69)
Version de D&D préférée : AD&D2
Univers de D&D préféré : ?
Race : Humain
Classe : Rôdeur
Alignement : Chaotique Bon
Dieu : ?
Mini Feuille de perso : Terres de Leyt - Eterny :
► Afficher le texte

Les Pierres du Destin :
► Afficher le texte

Mystarillia :
► Afficher le texte

Re: Besoin d'aide Javascript

Messagepar Troumad » Mer 30 Sep 2020 15:02

Zothike a écrit :1 c'est que si l'emport (déterminé par la force) moins le poids total transporté est inférieur à la moitié de l'emport,

C'est compliqué ça ! je ne comprends pas toutes tes règles, mais si on dit "point total transporté < emport/2" , ce n'est pas bon ?

Après ta présentation me fait peur... Il faut que tu te retapes tout su tu ajoutes un nouvel élément ?
Si tu programme un peu un javascript, tu peux essayer le php, c'est le même esprit.**
Tu fait un tableau à trois colonnes* : objet/prix/poids
Après tu code pour présenter le tout en 2 colonnes. Ceci simplifie :
1) Rajouter un nouvel élément reviens juste à rajouter une entrée dans le tableau.
2) Changer le html de la présentation revient juste à changer le code de génération de la présentation.

* : le top serait une base de données qui pourrait servir dans une autre page de ton site. À defaut, tu peux faire un include pour le tableau afin qu'une autre page du site puisse le récupérer.

** : on peut aussi faire des procédure en javascript pour générer de l'affichage, tu peux regarder ma page http://troumad.org/des.html où les tableaux sont générés en javascript (cette page a du être faite vers 2000).
Création de feuilles de perso ADD, ADD2
Les mystères du Nyrond Lode
Terres de Leyt - Eterny Bondix
Mystarillia Vitavix
La pierre du Mal Alenthir
Aventures Orientales Chûzaemon, Héros d'un âge viking Björnulf Runison, le Sanctuaire de l'angoisse Feydarick, Terreur dans la Jungle Vanille, La dernière chance Go Gogne
Avatar de l’utilisateur
Zedafty
Dragon d'argent
Messages : 47
Inscription : Mar 29 Sep 2020 15:31
Localisation : Féérune
Version de D&D préférée : D&D3.5
Univers de D&D préféré : Royaumes Oubliés
Race : Gnome
Classe : Illusionniste
Alignement : Chaotique Bon
Dieu : Baervan Ermiterrant

Re: Besoin d'aide Javascript

Messagepar Zedafty » Mer 30 Sep 2020 15:12

Salut Troumad !

Enchanté de faire ta connaissance ;)

si on dit "point total transporté < emport/2" , ce n'est pas bon ?


Ben j'espère bien que si, parce que c'est exactement comme ça que j'avais compris le problème et c'est précisément ce que j'ai proposé à Zothike :lol:

Code : Tout sélectionner

if (totalWeight < Math.floor(forceInput / 2)) { // si le poids total est inférieur à la moitié du poids transportable arrondi à l'inférieur
« Les Dieux ne jouent pas aux dés. » Elminster
Avatar de l’utilisateur
Zothike
Dracoliche
Messages : 1524
Inscription : Mer 10 Fév 2016 20:29
Localisation : Paris
Version de D&D préférée : AD&D1
Univers de D&D préféré : Royaumes Oubliés
Race : Humain
Classe : Clerc
Alignement : Loyal Mauvais
Dieu : Indicible

Re: Besoin d'aide Javascript

Messagepar Zothike » Jeu 1 Oct 2020 07:57

Fichier bien reçu et j'ai testé c'est nickel, mille merci Zedafty, je vais intégrer ça vite fait dans mon site :)
:+1:

Revenir vers « Le Bazar »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 6 invités