Question sur les boutons de la fiche de perso

pit
Posts: 70
Joined: Fri Dec 25, 2015 10:28 am

Question sur les boutons de la fiche de perso

Postby pit » Sun Apr 09, 2017 11:11 am

Salut,

j'ai vu les exemple de boutons qui permettent un jet de dés.
Mais est-il possible ,au lieu de lancer les dés dans le chat, d'afficher dans le chat le résultat d'une comparaison entre un jet de dés et un champ de la fiche de perso avec un message à la clé type "réussite ou échec" ?
Exemple "Cthulien":
un bouton de fiche lié à la compétence "TOC"
- au lieu de provoquer un jet de D100 dans le chat
- indique si le jet est réussit suite à une comparaison entre le jet de D100 et la valeur du champ "TOC" (exemple de message " Jet réussit ( D100: 12 )" avec 12 comme résultat du jet de dé)

???

Pit
User avatar
renaud
Site Admin
Posts: 140
Joined: Sun Mar 29, 2015 12:56 pm

Re: Question sur les boutons de la fiche de perso

Postby renaud » Sun Apr 09, 2017 2:04 pm

Oui c’est possible, il suffit de bien définir la commande de dés du bouton.

si tu places cette commande comme valeur du bouton :

1d100i[<${TOC}]{"TOC: Réussite"}{"TOC: Échec"}

Dans la fiche de personnage, la compétence TOC doit étre identifier par le mot TOC pour que rolisteam trouve la valeur de ${TOC}.
Seul le joueur pourra lancer la commande car seul un joueur avec une fiche de personnage aura une valeur de TOC défini.

Cela affichera Échec ou réussite. Par contre cela n’affiche pas la valeur du dés.
Dans le futur, je compte mettre en place un système de remplacement dans la chaine de sortie, tu pourras positionner un tag pour afficher la valeur des dés et/ou le résultat final.
pit
Posts: 70
Joined: Fri Dec 25, 2015 10:28 am

Re: Question sur les boutons de la fiche de perso

Postby pit » Tue Apr 11, 2017 9:09 pm

ok merci !
super pour le tag à venir car c'est... indispensable. Par exemple, si on a la possibilité de dépenser de la chance pour quand même réussir un jet que l'on vient de rater. Mais pour cela effectivement il est indispensable de savoir de combien on a raté le jet....

pit
jesaril
Posts: 15
Joined: Wed Apr 12, 2017 8:01 pm

Re: Question sur les boutons de la fiche de perso

Postby jesaril » Wed Apr 19, 2017 2:58 pm

Bonjour Renaud,

Je relance un peu ce sujet.
J'essaye aussi de modéliser 1d100 pour du basic roleplaying, dans l'attente de pouvoir afficher la valeur du dé, est il possible de la réutiliser dans de multiples tests ?

Mon but était de avoir des résultats autres que réussite/echec (pour ajouter par exemple critique/spécial/amélioré/maladresse).

J'ai essayé d'adapter la formule mais les résultats sont bizarres, comme si il relançait le dé.
J'avais tenté ça (j'enlève les référence à la comp pour que ça soit plus lisible) :
si (jet < 5)
---alors
------critique
---sinon
------si (jet < 50)
---------alors
------------réussite
---------sinon
------------échec

1d100i[<5]{"crtitique"}{i[<50]{"réussite"}{"echec"}}


Sinon une autre option que j'avais en tête, est il possible de déclencher plusieurs actions avec le clic sur un bouton ?
Je pensais par exemple à faire quelque chose dans le genre : onclick :
action 1 : lancer 1d100 et stocker le résultat dans une case de la fiche de perso au lieu de l'envoyer dans le chat
action 2 : récupérer la valeur du dé (via la case) pour déclencher l'écriture dans le chat

Merci d'avance,
User avatar
renaud
Site Admin
Posts: 140
Joined: Sun Mar 29, 2015 12:56 pm

Re: Question sur les boutons de la fiche de perso

Postby renaud » Wed Apr 19, 2017 7:01 pm

1/ Ta formule semble marcher chez moi.
Sans étudier, exactement ce qu’elle fait dans les entrailles de rolisteam. J’ai bien des résultats Critique, réussite et échec.

2/ Ce n’est pas possible car le résultat est calculé par le système de dés qui est stocké dans le tchat. Cependant, les fiches sont en QML. C’est un langage de programmation. Tu peux tous à fait tirer aléatoirement un chiffre le stocker dans une case et mettre la case dans le tchat. C’est à mon avis inédit mais cela doit être possible.
http://doc.qt.io/qt-5/qtquick-usecase-i ... ingjs.html
jesaril
Posts: 15
Joined: Wed Apr 12, 2017 8:01 pm

Re: Question sur les boutons de la fiche de perso

Postby jesaril » Wed Apr 19, 2017 11:05 pm

Merci de ta réponse rapide !

1/ non, elle ne marche pas :(
pour la démo, voici une version avec des probabilités équitables et ce que j'obtiens : pour cette formule :

Code: Select all

!1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}}

Code: Select all

Vous avez obtenu texte2 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte2)]
Vous avez obtenu texte3 texte1 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3 texte1)]
Vous avez obtenu texte3 texte1 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3 texte1)]
Vous avez obtenu texte2 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte2)]
Vous avez obtenu texte3 texte1 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3 texte1)]
Vous avez obtenu texte2 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte2)]
Vous avez obtenu texte3 texte1 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3 texte1)]
Vous avez obtenu texte3 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3)]
Vous avez obtenu texte3 à votre lancer de dés [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3)]

Sur un peu plus de jets, les résultats restent les même : "texte2", "texte3" ou "texte3 texte1", mais jamais "texte1".
Comme si le moteur n'interprétait pas l'imbrication des si : si j'obtiens 1 : premier test il écrit "texte1" puis 1 n'est pas égal à 2 alors "texte3"
aurais-tu une idée ?

2/zut :(
Je vais essayer de fouiller un peu la piste que tu me donnes, mais je ne connais pas du tout QML et ne vais pas avoir trop d'heures à y consacrer.
C'est peut-être jouable, car en effet je n'ai pas besoin d'un interpréteur de dés complexe, juste un random sur 1d100
User avatar
renaud
Site Admin
Posts: 140
Joined: Sun Mar 29, 2015 12:56 pm

Re: Question sur les boutons de la fiche de perso

Postby renaud » Thu Apr 20, 2017 12:09 am

1/
Tu utilises la version 1.8.1 ?

Code: Select all

You got texte1 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte1)]
You got texte3 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3)]
You got texte2 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte2)]
You got texte1 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte1)]
You got texte1 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte1)]
You got texte2 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte2)]
You got texte3 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte3)]
You got texte1 at your dice roll [1d3i[=1]{"texte1"}{i[=2]{"texte2"}{"texte3"}} (texte1)]


2/ Je vais voir cela. C’est pas bien compliqué, je pense. Je regarde ça ce week-end.
jesaril
Posts: 15
Joined: Wed Apr 12, 2017 8:01 pm

Re: Question sur les boutons de la fiche de perso

Postby jesaril » Thu Apr 20, 2017 1:58 am

tu es super réactif ! ça motive :)
encore merci !

Alors pour le point 1, non, je suis sur la 1.8.0 ... je n'avais pas vu que la .1 était sortie... je mettrais à jour demain pour tester.

Pour le point 2, je me suis un peu amusé ce soir : effectivement la partie javascript pour écrire dans une case est plutôt facile :)
Par contre... je ne sais pas comment faire pour envoyer mon résultat dans le tchat (et si possible avec le bon nom pour qu'on sache qui a fait le jet de dé) :?: :?: :?:

pour le moment j'arrive à lancer mon d100, et écrire ma phrase dans une case ("TOC : 29 critique" ou "TOC : 82 echec"par exemple) ça marche bien :
Ensuite, il faudra que je complexifie pour gérer les "vraies" valeurs des compétences, et leur nom. Mais je pense pouvoir y arriver.
(au final je pourrais même supprimer la case, et stocker mon texte uniquement dans une variable, mais au moins ça m'a permis de comprendre un peu mieux la logique)

Code: Select all

import QtQuick 2.4
import "qrc:/resources/qml/"

Item {
   id:root
   focus: true
   property int page:0
   property int maxPage:0
   property real realscale:1

   MouseArea {
      anchors.fill:parent
        onClicked: root.focus = true
    }

TextFieldField {
    id: _id_1
    text: id_1.value
    x:11*parent.realscale
    y:5*parent.realscale
    width:250*parent.realscale
    height:20*parent.realscale
    onTextChanged: { id_1.value = text}
}

DiceButton {
    id: _id_2
    text: " 1D100"
    x:13*parent.realscale
    y:30*parent.realscale
    width:50*parent.realscale
    height:20*parent.realscale
    color: "red"
   onClicked:root.randomNumber()
}

function randomNumber() {
    var dice_result = parseInt(Math.random()*100);
    var str = "TOC : "+ dice_result;
    if (dice_result < 33)
      {str = str +" critique";}
    else {
      if (dice_result < 67) {str = str + " reussite";}
      else {str = str + " echec";}
    }
     id_1.value = str ;
}

}
User avatar
renaud
Site Admin
Posts: 140
Joined: Sun Mar 29, 2015 12:56 pm

Re: Question sur les boutons de la fiche de perso

Postby renaud » Thu Apr 20, 2017 8:00 am

L'envoi dans le Tchat est un peu tricky mais en gros il faut que tu utilises le signal d'envoi de commande de dés.

Genre: 1d1i1{"mon texte"}
Comme ça ton texte s'affichera comme résultat d'une commande de dés.
C'est un peu moche mais ça marchera.

Je suis sur mon portable la, j'ai pas accès au code.

Je te dis ça ds la journée.
jesaril
Posts: 15
Joined: Wed Apr 12, 2017 8:01 pm

Re: Question sur les boutons de la fiche de perso

Postby jesaril » Thu Apr 20, 2017 1:18 pm

Ha oui !!
très bonne idée de contournement :)
!"mon texte" qui renvoit =>

Code: Select all

Vous avez obtenu mon texte à votre lancer de dés ["mon texte" (mon texte)]


Ce n'est effectivement pas très beau mais ça devrait marcher :)
Je teste ça ce soir. (je vais me débrouiller pour recup le code avec un bouton standard)

Return to “Partage & Aide”

Who is online

Users browsing this forum: No registered users and 1 guest

cron