set_visitor and add_troop_to_site

正在查看此主题的用户

ex_ottoyuhr

Sergeant at Arms
OK, post modified -- my original version was worded like an RFE, and was a little less than simple to understand...

Basically: At the present, set_visitor and add_troop_to_site, when they are used to add a hero to a particular site, remove him from the site where he's currently present.

They shouldn't. The game should not enforce a rule that a character be at only one scene at one time. A "scene" does not necessarily correspond to a real-world location (imagine if one has a "zendar_town_square" and a "zendar_town_square_battle"), so this real-world rule should not be enforced. At the present, if one wants to have a battle involving a particular character and have him involved in dialogue afterwards, it's necessary to have either multiple copies of the character, a mission template which is either extremely clumsy or unique to the battle in question, or a menu intervening between the two scenes -- none of which is an optimal solution...
 
Not sure what you're saying.

add_troop_to_site will indeed remove him from elswhere.

But set_visitor & add_visitors are just temporary devices.  Once you leave the scene, the visitor will "return" automatically to exactly where he was before.

So you do have a choice.

(If you find defining the set-visitor stuff too complicated or inefficient, then the workaround is to introduce two versions of the same hero, have one in one place, the other in the other place.)
 
Khalid ibn Walid 说:
Not sure what you're saying.

add_troop_to_site will indeed remove him from elswhere.

But set_visitor & add_visitors are just temporary devices.  Once you leave the scene, the visitor will "return" automatically to exactly where he was before.

I see, I think.

So you do have a choice.

(If you find defining the set-visitor stuff too complicated or inefficient, then the workaround is to introduce two versions of the same hero, have one in one place, the other in the other place.)

Or have three versions of the same hero, one in one place, one in the other place, one in the third place, and so on... :wink:

Basically, I don't think the game should require that the hero be in only one place at one time. If the content developer wants to enforce that, he can go ahead and do so -- but add_troop_to_site should be usable for multiple scenes at a time.

...

Well, that, or I've misunderstood the use and purpose of set_visitor. If I were to set_visitor a character into two different places, jump to one, and then jump to the other from the first one, would the character appear in both?

(If not, that's what I'm proposing...)
 
ex_ottoyuhr 说:
Basically, I don't think the game should require that the hero be in only one place at one time. If the content developer wants to enforce that, he can go ahead and do so -- but add_troop_to_site should be usable for multiple scenes at a time.

I don't see why jimmy that useful command, if there are alternative ways of doing just that. 

Well, that, or I've misunderstood the use and purpose of set_visitor. If I were to set_visitor a character into two different places, jump to one, and then jump to the other from the first one, would the character appear in both?

(If not, that's what I'm proposing...)

Yes.

Set_visitor puts a troop temporarily in a scene when you jump to it and takes him out and puts him where he was before when you leave that scene.

So if jumping from scene A to scene B to scene C, you can set visitor in the jump from A to B (and character will be there) and then set visitor in the jump from B to C (and character will be there), then when you leave that whole thing, the character will be back where he started.
 
Khalid ibn Walid 说:
Well, that, or I've misunderstood the use and purpose of set_visitor. If I were to set_visitor a character into two different places, jump to one, and then jump to the other from the first one, would the character appear in both?

(If not, that's what I'm proposing...)

Yes.

Set_visitor puts a troop temporarily in a scene when you jump to it and takes him out and puts him where he was before when you leave that scene.

So if jumping from scene A to scene B to scene C, you can set visitor in the jump from A to B (and character will be there) and then set visitor in the jump from B to C (and character will be there), then when you leave that whole thing, the character will be back where he started.

I understand very well what you're saying, but I think it's a "no" to my original question rather than a "yes." What I want to do is basically this -- to have one block of code that puts a character in a dialogue scene, a (training-like) battle, and a second dialogue after the battle all at once, and that lets me jump from one of these scenes to the next without any intervening menus. It isn't much of an issue to jump from a conversation to a fight and add characters in the process, but it *is* a bit of an issue to do the reverse -- it'd rquire 64 variables (two per entry point) and some very clumsy copy-pasted code, which would be... *bad*. It'd be a non-issue if M&B had arrays, but from what I've seen of M&Bscript so far, it would probably be impossible to add arrays in any reasonable fashion...

So, if adding a character to two places at once isn't possible, that's what my original post was asking to change -- though it uses wildly obtuse language... (Revising now, to prevent further confusion...)

(In other news, though, your advice on the |other modifier worked -- thanks a lot for that!)
 
ex_ottoyuhr 说:
I understand very well what you're saying, but I think it's a "no" to my original question rather than a "yes." What I want to do is basically this -- to have one block of code that puts a character in a dialogue scene, a (training-like) battle, and a second dialogue after the battle all at once, and that lets me jump from one of these scenes to the next without any intervening menus. It isn't much of an issue to jump from a conversation to a fight and add characters in the process, but it *is* a bit of an issue to do the reverse -- it'd rquire 64 variables (two per entry point) and some very clumsy copy-pasted code, which would be... *bad*. It'd be a non-issue if M&B had arrays, but from what I've seen of M&Bscript so far, it would probably be impossible to add arrays in any reasonable fashion...

So, if adding a character to two places at once isn't possible, that's what my original post was asking to change -- though it uses wildly obtuse language... (Revising now, to prevent further confusion...)

Hm... Can't you fiddle with the end conditions of a fight in the mission_templates file so that a script is called to set visitors for your third scene?  Or perhaps define the visitors to both scenes in the first jump?

Still, the easiest route is the original suggestion I gave of creating a second version of the same person in the third scene.  I don't know the exact details of what you want, but I've done that at times when I don't feel like tracking the person, and it is a decent workaround. 

Rather that than having the add_troop lose its singular "movement" function.  I don't want to have to remember to remove the troop from all the scenes he has been before.
 
Khalid ibn Walid 说:
Hm... Can't you fiddle with the end conditions of a fight in the mission_templates file so that a script is called to set visitors for your third scene?  Or perhaps define the visitors to both scenes in the first jump?

The former is what I'm doing; the latter impossible as long as set_visitor and add_troop do the singular-move thing and the same character has to appear in several scenes.

Still, the easiest route is the original suggestion I gave of creating a second version of the same person in the third scene.  I don't know the exact details of what you want, but I've done that at times when I don't feel like tracking the person, and it is a decent workaround. 

Rather that than having the add_troop lose its singular "movement" function.  I don't want to have to remember to remove the troop from all the scenes he has been before.

Hmm... I see your point -- particularly when the system *is* being used to enforce a character being at only one location at a time. So perhaps a parallel set of add_character functions would be better...
 
后退
顶部 底部