I guess I'd still add an InParty/See or something, just in case of a *veeeery* malevolent player. But for now I'm off to sleep, and I'll be eager to read the consensus(and to edit the first post) in the morning.
How to ensure your banters always run when you want them to.
#16
Posted 15 March 2007 - 12:39 PM
I guess I'd still add an InParty/See or something, just in case of a *veeeery* malevolent player. But for now I'm off to sleep, and I'll be eager to read the consensus(and to edit the first post) in the morning.
#17
Posted 02 October 2007 - 10:17 AM
#18
Posted 02 October 2007 - 10:27 AM
The biggest thing that causes these misfires is the player issuing movement commands. Since the player doesn't issue movement commands to non-joinables, their script isn't likely to be interrupted.
Just to say it: I leave the script blocks in the dream script alone. They fire when the player hits rest, so the script won't be interrupted by movement anyway.
cmorgan: "None of us get old around here, just more proficient at doing more stuff with less braincells!"
berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum
#19
Posted 02 October 2007 - 10:39 AM
berelinde, on Oct 2 2007, 08:32 PM, said:
For non-joinable characters, that's what I thought. Thank you!
Kulyok, the idea behind this tutorial is really great. Thank you for writing it! Ajantis will be coded that way and Drizzt.
#20
Posted 02 October 2007 - 12:02 PM
And, yes, you don't have to split the blocks for
- non-joinable characters
- dream scripts.
#21
Posted 23 October 2007 - 04:21 AM
Kulyok, on Mar 15 2007, 05:10 PM, said:
So, was it no conditions or including See etc. checks?
#22
Posted 23 October 2007 - 04:57 AM
Here:
// Break-up talk
IF
Global("O#XanRT15","GLOBAL",0)
OR(2)
GlobalGT("AsylumPlot","GLOBAL",54)
GlobalGT("Chapter","GLOBAL",4)
InParty(Myself)
Global("O#XanRomanceActive","GLOBAL",1)
See(Player1)
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
CombatCounter(0)
!See([ENEMY])
THEN
RESPONSE #100
SetGlobal("O#XanRT15","GLOBAL",1)
END
IF
Global("O#XanRT15","GLOBAL",1)
InParty(Myself)
See(Player1) // not needed if StartDialogueNoSet
!StateCheck(Player1,CD_STATE_NOTVALID)
!StateCheck(Myself,CD_STATE_NOTVALID)
THEN
RESPONSE #100
PlaySong(0)
PlaySound("O#XAN")
Interact(Player1)
END
If you're using J file and StartDialogueNoSet, you don't really need a See() check in the second block, since SDNS is more forgiving - even if characters are in different areas, a banter will trigger without en error; however, if you prefer to avoid that for the sake of realism, See() or Range() or InMyArea() would still be preferable.
#23
Posted 23 October 2007 - 10:09 AM
I use "InMyArea(Player1)", most of the times.
#25
Posted 01 June 2009 - 03:10 PM
It doesn't much matter, except that if you're going to use the B file instead of the J file, state weighting becomes very important.
State weighting is still important in the J file as well, but all you've got to do is get scripted dialogue ahead of the PID with WEIGHT #-1.
cmorgan: "None of us get old around here, just more proficient at doing more stuff with less braincells!"
berelinde's mods
TolkienAcrossTheWater website
TolkienAcrossTheWater Forum
#26
Posted 28 October 2009 - 07:23 AM
IF
InParty(Myself)
See(Player1)
Global("MyBanter","GLOBAL",1)
THEN
RESPONSE #100
Interact(Player1) // calls forth a banter from BMyNPC.d
END
where do you tell the game what file to look for? my banter file is JK#NanyJ. should it find it automatically? or where do i put in the directory?
#27
Posted 28 October 2009 - 08:29 AM
Dialog Files and How They Are Referenced tutorial
It leads you through the information step by step.
Shortcut:
Your banters are not in JK#NanyJ, they will be in JK#NanyB or JK#BNany or something like that - j = joined, b = banter, p = (post) after-joined-and-dropped, no designation = non-joinable.
Adding the references to pdialog.2da tells te game where to look automatically.
The game can tell which file to look at by the call used in the script; Interact() calls b-file, Dialog() (and all related calls) calls the j-file.
But the tutorial steps you through all of this, provides samples, and provides a list of (almost all) existing NPC file names in released mods.
Edited by cmorgan, 28 October 2009 - 08:39 AM.
Reply to this topic

1 user(s) are reading this topic
0 members, 1 guests, 0 anonymous users











