Help Requested: Vondo's "kickout" isn't working
karnage
Member Posts: 92
It's defaulting to the, I think, "mplayer" script: "It's been an honor adventuring with you" or something like that instead of "You are now kicking me out."
------
BEGIN J#VondoP
IF ~Global("VondoJoined","LOCALS",1)~ THEN BEGIN KickOut
SAY ~You are now kicking me out.~
IF ~~ THEN REPLY ~No! Forgive my mispoken words. We want you to stay in the party.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~I do not need you in the party right now.~ DO ~SetGlobal("VondoJoined","LOCALS",0)~ EXIT
END
IF ~Global("VondoJoined","LOCALS",0)~ THEN BEGIN Rejoin
SAY ~You want me to rejoin?~
IF ~~ THEN REPLY ~That's right Vondo, get back in formation.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ EXIT
END
-------
Also, it appears that Vondo will just disappear from the game at kickout, but I'd rather him return to his point of origin to be re-recruited if desired.
------
BEGIN J#VondoP
IF ~Global("VondoJoined","LOCALS",1)~ THEN BEGIN KickOut
SAY ~You are now kicking me out.~
IF ~~ THEN REPLY ~No! Forgive my mispoken words. We want you to stay in the party.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~I do not need you in the party right now.~ DO ~SetGlobal("VondoJoined","LOCALS",0)~ EXIT
END
IF ~Global("VondoJoined","LOCALS",0)~ THEN BEGIN Rejoin
SAY ~You want me to rejoin?~
IF ~~ THEN REPLY ~That's right Vondo, get back in formation.~ DO ~SetGlobal("VondoJoined","LOCALS",1)
JoinParty()~ EXIT
IF ~~ THEN REPLY ~That's right, I don't want you in the party.~ EXIT
END
-------
Also, it appears that Vondo will just disappear from the game at kickout, but I'd rather him return to his point of origin to be re-recruited if desired.
0
Comments
IF
Global("J#VondoExists","AR1000",0)
THEN
RESPONSE #100
SetGlobal("J#VondoExists","AR1000",1)
CreateCreature("Vondo",[1137.2046],3)
// 1137.2046 are the x.y coordinates that will cause him to show up.
//3 is the direction he's facing. It ranges from 0 (South), to 15, going clockwise.
END
-------
If I just set "J#VONDOEXISTS" back to 0 at kickout, that would respawn Vondo, I am sure; but, would it not respawn Vondo in his original condition without his acquired XP, skills, equipment etc. he gained while traveling with the group to this point?
Also, it appears that Vondo will just disappear from the game at kickout, but I'd rather him return to his point of origin to be re-recruited if desired.
...
If I just set "J#VONDOEXISTS" back to 0 at kickout, that would respawn Vondo, I am sure; but, would it not respawn Vondo in his original condition without his acquired XP, skills, equipment etc. he gained while traveling with the group to this point? He'll do whatever you script him to do in the dialog, the default MULTIG dialog has EscapeArea() action scripted, therefore the NPC is gone for good.
Either MoveGlobal(), MoveBetweenAreas() or EscapeAreaMove() actions can be used to "transfer" the NPC into another area. Since you're doing this from the NPC's own dialog, EscapeAreaMove() is probably better in this case.
But, it's not working the way I want it to. He doesn't go anywhere or do anything; just stands there, LoL. I want him to go back to his point of origin.
EscapeAreaMove() action was recommended to me, but I'm not fully competent in WeiDu syntax yet. I'm not sure when to start a new line, when to use a ~, etc. Is this the correct syntax, etc. to place in Vondo's .d file to cause him to move back where he came from?
--------------------------------------------------------------
IF ~Global("zkwVondJoined","LOCALS",1)~ THEN BEGIN KickOut
SAY ~Do you no longer need my services?.~
IF ~~ THEN REPLY ~Forgive my mispoken words. We want you to stay in the party.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~I do not need you in the party right now.~ DO ~SetGlobal("zkwVondJoined","LOCALS",0)~ SAY ~Then I will return to the Government District near the Firecam estate. Perhaps we will meet again another day.~ EscapeAreaMove("zkwVond",[1137.2046],3) ~ EXIT
END
---------------------------------------------------------------
IF ~Global("zkwVondJoined","LOCALS",1)~ THEN BEGIN KickOut SAY ~Do you no longer need my services?.~ IF ~~ THEN REPLY ~Forgive my mispoken words. We want you to stay in the party.~ DO ~JoinParty()~ EXIT IF ~~ THEN REPLY ~I do not need you in the party right now.~ DO ~SetGlobal("zkwVondJoined","LOCALS",0)~ GOTO KickOut2 END IF ~~ KickOut2 SAY ~Then I will return to the Government District near the Firecam estate. Perhaps we will meet again another day.~ IF ~~ THEN DO ~EscapeAreaMove("AR1000",[1137.2046],3) ~ EXIT END
See existing in-game dialogs for more examples on the syntax.
The 1st parameter in EscapeAreaMove should be the destination area name.
IF ~~ KickOut2
Be:
IF ~~ THEN BEGIN KickOut2
EscapeAreaMove(), kickout dialog, all works fine except one little thing: When I return to Vondo's spawn point to reacquire him, he "has nothing to say to you". I had to use Ctrl-Q to reacquire him.
I gave Vondo gear to make sure the Vondo I picked up was the "old" Vondo, not a "new" Vondo. Kicked him out, and went to go pick him up. The Vondo showing up in the Gov't District was the "old" Vondo at first, but I revised at AR file (following the examples of another AR file). So after a couple more tweaks, I have the Vondo who has traveled with the group going back to his point of origin upon kickout.
I looked at Keldorn's script and noticed another variable used in that script, KeldornMoved (or something similar) which the .dlg file checked. I need to do the same:
* Need to set a variable for "zkwVondMove". Upon kickout, this "VondMove" needs to be set to 1.
* Need to test for zkwVondMove in the .d file; this will create an entirely new conversation between char and Vondo.
These obstacles are a little frustrating because it causes me to feel I'm not making progress, but really, I am; I have Vondo returning to his point of origin (like I wanted him to) on kickout. Just another unforseen step is all ...
In this file, my errors started at Line 19 and I have made many corrections and looked up information on the web to fix them. The current error, however, eludes me.
My debug file says:
[zkwhugh\zkwhugh.d] PARSE ERROR at line 94 column 1-3
Near Text: END
syntax error
Here are the last few blocks; I believe it's in block FinallyJoined, but I don't see it! I have tried commenting out text to narrow it down; it's supposed to be near text EXIT, END or JOINPARTY; and as I have JOINPARTY only 2x in the entire script, I believe the elusive error is somewhere here ----------
// Refused Again
IF ~~ THEN BEGIN RefusedAgain
SAY ~Hookay. Then Hugh will stay right here until someone needs his sword!~
IF ~~ THEN EXIT
END
// Finally Joined
IF ~~ THEN BEGIN FinallyJoined
SAY ~Hugh Smeed will not let you down! Your quest is my quest! That is my vow!~
IF ~~ THEN DO ~SetGlobal("zkwHughJoined","LOCALS",1)~ JoinParty()~ EXIT
END
BEGIN zkwHughP
IF ~Global("zkwHughJoined","LOCALS",1)~ THEN BEGIN KickOut
SAY ~Is it time for me to leave?.~
IF ~~ THEN REPLY ~Forgive my mispoken words. We want you to stay in the party.~ DO ~JoinParty()~ EXIT
IF ~~ THEN REPLY ~I do not need you in the party right now.~ DO ~SetGlobal("zkwHughJoined","LOCALS",0)~ GOTO KickOut2
END
IF ~~ THEN BEGIN KickOut2
SAY ~Hookay. Then I will go back to the slums.~
IF ~~ THEN DO ~EscapeAreaMove("AR1000",1137,2046,3) ~ EXIT
END
IF ~~ THEN DO ~SetGlobal("zkwHughJoined","LOCALS",1)~ JoinParty()~ EXIT
should be
IF ~~ THEN DO ~SetGlobal("zkwHughJoined","LOCALS",1) JoinParty()~ EXIT
Thank you for your help.