Aller au contenu

Photo

Persuasion.


  • Veuillez vous connecter pour répondre
3 réponses à ce sujet

#1
DLAN_Immortality

DLAN_Immortality
  • Members
  • 481 messages
I'm quite lost here.

There's not much info in the wiki aside of:

"2) Persuade lines that need to be marked as "lie" or "charm" - player
lines only: When a line that has been flagged in the toolset as a
"Persuade" line needs to me marked as a specific "lie" or "charm",
write Lie or Charm at the line's beginning. Then, use <desc> tags
around that word so that it will be set off from the rest of the line.
For example: <desc>Lie</desc> "Of course I didn't report
you to the authorities." appears in-game as: "(Lie) Of course I didn't report you to the authorities.""

Fine, but how do I get to set the level of cunning the PC must have in order to be successful in persuading? How do you mark the alternative dialog for the OWNER (when the persuasion fails)?

Thanks. :-)

#2
Mengtzu

Mengtzu
  • Members
  • 258 messages
This isn't the most elegant way to do it, but it'll work.



To do it the way you're describing you'd have the player line:



[PLAYER]<desc>Lie</desc> "Of course I didn't report you to the authorities."



Then you'd add two OWNER lines after:



[OWNER]Aw, I trust you, it's OK.

[OWNER]You did! I can tell! Argghhh!



You'd put a script condition on each. For the top one, you can just use the following (for an easy check)



#include "utility_h"



int StartingConditional(){





object oHero = GetHero();

return UT_SkillCheck(SKILL_PERSUADE, UT_SKILL_CHECK_LOW, oHero);





}





For the second one you want the opposite result, so you need something like this:



#include "utility_h"



int StartingConditional(){





object oHero = GetHero();

if (UT_SkillCheck(SKILL_PERSUADE, UT_SKILL_CHECK_LOW, oHero)) {

return FALSE;

} else {

return TRUE;

}

}





You can just use different UT_SKILL_CHECK constants for different difficulties. I'm not 100% sure that UT function works on cunning, only skill level seems to make a difference in my module, but I've only used it for easy or moderate checks at lowish levels.






#3
DLAN_Immortality

DLAN_Immortality
  • Members
  • 481 messages
Awesome, works like a charm! :-)



However, I was still persuading the NPC with "UT_SKILL_CHECK_HIGH" and I wanted something harder.



So to be absolutely sure of the level of persuasion, I used this instead of UT_SkillCheck:



if (HasAbility(oPC,100014))

nResult=TRUE;

else

nResult=FALSE;

break;





Where "100014" is Master persuasion, 100013 is Expert persuasion, 100012 is improved persuasion, and 100011 is persuasion; as per ABI_base.xls



Thanks a lot for your help! :-D

#4
AmstradHero

AmstradHero
  • Members
  • 1 239 messages
Just so you know, if you're making an add-in, you can to do basic skill checks using the plot gen00pt_skills under the _Global\\Generic folder and selecting the appropriate skill type/difficulty.



If it doesn't work in a standalone module, you should just be able to copy the plot and it's script into your module and use it that way - all the flags are defined flags .



Unfortunately there doesn't seem to be any plot to handle the PC bribing/paying people, so I'm doing that via script at the moment.