[cours] Les dialogues

Répondre
Partager Rechercher
[Message effacé à la demande de l'auteur]
Sympa, mais moi j'arrive pas à faire faire un check (persuade) au PJ et en fonction du résultat afficher un message ou un autre...
On fait avec les actioncheck? Comment çà marche?
Je sais, je suis une quiche...
[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
Code PHP:

//::///////////////////////////////////////////////
//:: tm_switch_con
//:: Copyright (c) 2001 Bioware Corp.
//:://////////////////////////////////////////////
/*
        Exemple de déroulement d'une
        structure conditionelle élaborée
        avec l'instruction switch().
        Ce script renvoit TRUE si le PC
        est un mâle elfe, demi-elfe ou
        humain. Il renvoit FALSE dans 
        tous les autres cas.
        La structure avec switch() est
        moins lourde que celle générée
        par le script wizard, et plus facile
        à gérer par la suite.
*/
//:://////////////////////////////////////////////
//:: Created By: Kray
//:: Created On: 09/07/2002 21:24
//:://////////////////////////////////////////////
int StartingConditional()
{
    
//Récupèration de la cible
    
object oPC GetPCSpeaker()
    
//Vérification si la cible est bien un PC
    
if(GetIsPC(oPC))
    {
        
//Chargement de la race du PC
        
int nRace GetRacialType(oPC);
        
//Chargement du sexe du PC
        
int nGender GetGender(oPC);
        
//Sélection des races
        
switch(nRace)
        {
            
//Races valides
            
case RACIAL_TYPE_HUMAN:
            case 
RACIAL_TYPE_ELF:
            case 
RACIAL_TYPE_HALFELF:
                switch(
nGender)
                {
                    case 
GENDER_MALE:
                        return 
TRUE;
                    default:
                        return 
FALSE;
                }
                return 
FALSE;
            default:
                return 
FALSE;
        }
    }
    else
    {
        return 
FALSE;
    }

[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
J'en profite pour te dire que tes cours pour les dialogues me sont tres utiles et ils sont bien faits.
En faite, g un problème avec le script pour persuade, c'est que en reponse j'ai soit que des succès si j'ai plus de 11 en charisme, soit que des échecs si j'ai moins. Je crois qu'il ne jette pas les dés...
[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
C'est très bien tout ça mais serait-il possible d'avoir des cours sur les dialogues pour les quiches comme ceux sur les scripts, je veux dire détaillés du début à la fin.

Parce que moi je n'arrive pas( entre autres ) à faire que mon marchand m'ouvre sa boutique après que je lui ai demandé.

Je suis prêt à apprendre .
[Message effacé à la demande de l'auteur]
[Message effacé à la demande de l'auteur]
Citation :
Provient du message de Lumina

Et finalement, il est tres recommandé de faire le tutorial de Bioware, il parait que tout y est expliqué.
J'ai réussi c'est bon. Je vais chercher où il est ce tutorail.
Merci beaucoup, je n'arrivais pas à trouver comment inclure la fonction de persuader.

Merci encore et je crois que je parle pour tout ceux qui n'aime pas tatoner en programation.
Petite précision sur le post de Lumina concernant les persuasions.

Je vous deconseille fortement d'indiquer aux joueurs dans votre dialogue que c'est une persuasion si vous n'utilisez pas dans votre test le skill persuade !

Pour ce faire, utilisez la fonction GetSkillRank. Ce qui deviens:

if (d20()+GetSkillRank(SKILL_PERSUADE, GetPCSpeaker()) >= 35) return TRUE; return FALSE;

A noter le passage à la trappe de la fonction GetAbilityModifier, simplement parce que le rang du skill prend en compte le bonus de la stat correspondante. Dans ce cas la, c'est le Charisme.

De cette manière, vous pouvez tester d'autre skills.

Voila
J'imagine que c'est une ligne de code semblable si on veut du pickpocket pendant la conversation ?

Quelque chose comme :
Ds action taken

if (d20()+GetSkillRank(SKILL_PICKPOCKET, GetPCSpeaker()) >= 35) return TRUE; return FALSE

puis 2 réponse 1 qui inclue le pick pocket et l'autre pas.

Je me trompe ?
Oui.


De un, ce n'est pas dans Action Taken qu'il faut le mettre. Ton dialogue doit s'organiser comme ceci:

[PNJ]- On ne passe pas ! C'est un salon privé ici !
[PJ] <StartCheck>[Vol à la tire]</Start> Oh que vois je derriere vous ? <StartAction>*en profite pour subtiliser la clé*</Start>

Pour l'instant il n'y a rien à mettre dans "Text appears when..." et "Action taken". Ensuite il peut y avoir deux réponses:

[PNJ]- <StartHighlight>Vous réussissez votre coup !</Start> Heu... j'ai rien vu ???

Et la tu mets ta ligne de code dans "Text appears when..."
Et dans "Action Taken" tu fais donner la clé au pj (avec le script wizard c'est simple)

ou alors:
[PNJ]- <StartHighlight>Vous echouez !</Start>Et pas touche vous ! Vous pensiez m'avoir avec une feinte aussi stupide ?

Et la il n'y a ren à mettre nul part: le pnj dira cette phrase si le "Text appears when..." de la premiere possibilité n'est pas respecté, donc si le test du skill pick pocket échoue.


De deux, c'est "SKILL_PICK_POCKET" et pas "SKILL_PICKPOCKET" . Tout est est listé dans la partie "constant" du script editor.

De trois, tu as oublié le point virgule après le FALSE

Bonsoir Archangel ma question est la suivante puisque vous expliquez les dialogues: Comment récupérer en variable string un texte écrit dans une conversation. C'est peut-être grace à la fonction GetStringByRef mais je n'arrive pas à m'en servir. Quelques conseils avisés me seraient fortement utiles merci d'avance...
voila, moi je voudrais savoir comme en fait pour que lorsque :

on s'approche d'un pnj, il y ait un texte qui apparaisse, mais sans engagé le dialogue...

du style : on s'approche d'un garde et il y a un txt qui appartait et ki dit:" fait gaffe a tes miche ou on tu tue."

merci
Tu places ton script dans "OnPerception".

PS: va voir dans les cours de script pour les quiches, c'est là que j'ai appris ca

Au passage merci pour les cours, c'est tres bien fait, meme si je rame encore un peu
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés