PDA

View Full Version : Make Visitors Stay unless manually ask to leave?


runeon
26th Aug 2011, 01:49 PM
[New question]
This is related to my original question, so i decided not to create a new thread. [see post #7]

Is there a way to make visitor sims to stay even if the residents are all sleeping, going to work or community lot or anything that makes them automatically leave?
What i want is to force them to stay as long as i didn't ask them to leave. Help Please?








------------------------------------------------------------------------------

Original thread title/question: "Make an option from a custom object always active?"

[Solve]What i want is to make the option from Inge's Teleporter (Make Unselectable->Visitors) to be always active, the reason is i'm using Chris Hatch's "Visit other sims" hack but that will also make all the sims you visit controlable, and the option from Inge's teleporter works best w/ that. (If you visit a family it treats the family you visit as visitors so if you select the option from the teleporter they will become ALL uncontrolable, while the family that you're currently playing (the real visitors) will remain controlable.)
Is there a way to make this option always active w/o needing to always click it everytime my sims visit other lots? I really hope someone can guide me w/ this. Thank you in advance.

I'm very sorry about my english. I know it sucks but i hope you get what i'm trying to say. :p

maybesomethingdunno
27th Aug 2011, 05:12 AM
Do you have any BHAV experience? If not, I recommend you complete Echo's Making Your First Custom BHAV (http://www.modthesims.info/showthread.php?t=142907) tutorial first.


I imagine there are two ways to do this. One is with a normal object that you can buy in the Buy Mode. The other would involve a controller object. The difference is that the first option allows you to have this option on individual lots; you simply have the object present on any lot you want to experience its effect. The second option would apply to all lots and you would not need to buy anything from the Buy Mode to be placed on the lot.

Either way, this is what I would do. (Keep in mind that I have not look into the teleporter to see how it works. ;) )

First, I would open the teleporter and I would extract the BHAVs the interaction uses. Then I would import them into my object. I would then add the interaction to the Main BHAV's loop so that it is constantly performing the interaction.

runeon
27th Aug 2011, 02:24 PM
Hey thanks for the reply MSD!
I already did try the tutorial, followed it correctly but got lost on the animation part, coz im getting a different commands even if i enter the exact operands given by echo. (maybe because i have all the games installed and the tutorial was created years ago.) Its still good i guess, since this one doesn't need any animations. : )

I have another question, i already import the interaction to another object and its working like it should, but i dont know exactly how to link the interaction to the Main BHAV so that it will become autonomous. :help:

maybesomethingdunno
27th Aug 2011, 08:21 PM
If you are having trouble with the tutorial, post your version of the painting (along with any questions) in the tutorial's thread. I would not think the Expansion Packs would change it that much. :)

As for this object, it seems you have inserted it correctly. (For those interested, you simply select a node and then, if you have "Special Buttons" checked, you click on the "Insert via True" button.) However, the Main BHAV should not terminate. Your node 1 has return True for both the True and False Target paths. Select node 1 and type 0x0000 in the box next to "True Target" to point it back to node 0. Then when node 1 completes its job and returns True, the game will proceed back to node 0 in the Main BHAV. Since node 0 leads to node 1, this creates a loop which is what you want. (Since the imported interaction does not seem to ever return False, the game should not take the False Target path on node 1. But for good programming practices, set the False Target path on node 1 to return Error just in case.) Then the interaction will be executed continuously for as long as the object is present.

runeon
27th Aug 2011, 09:59 PM
I think i got the idea, but I can't still make it to work. : (

I dont know what did i miss, but the interaction still wont automatically execute.

Edit: Its working now! I followed your instruction and added "idle - minutes" on the main BHAV and it works like a charm! Yay!
Thanks for helping me out MSD. I wont be able to do this w/o your help! Thank you!

maybesomethingdunno
29th Aug 2011, 03:34 AM
Good job! :)

Just make sure that the Main BHAV is a closed loop.

runeon
2nd Sep 2011, 06:12 PM
Hi, i have another question, i've run into another issue using the automatic unselect, the scenario is once they become unselectable, most of them will leave specially once i send my sims home. (Similar to when all the playable sims are sleeping) Which lead to their home becoming empty once i visit them again, (i will have to manually load their lot for them to be there again)

Is there a way to stop visitors from automatically using the leave interaction, and will only leave unless i use the say goodbye/ask to leave interaction?

maybesomethingdunno
3rd Sep 2011, 03:57 AM
My guess would be to perhaps try to alter the Person Type using values in Cont 0x0104 AND/OR the Greet Status.


For Person Type:
[prim 0x0002] Expression (Stack Object's person data 0x0020 (Person Type) Set Flag flag# Const 0x0104:whatever value)
...where whatever value can be
0x00 ("Family Member" Value: 0x0000)
0x01 ("Visitor" Value: 0x0001)
0x02 ("Service Person ( NPC )" Value: 0x0002)
.
.
.
0x16 ("Employee" Value: 0x0006)


For Greet Status:
[prim 0x0002] Expression (Stack Object's person data 0x0022 (Greet Status) := Literal whatever value)
From what I found in searching the forum, it seems to be simply numerical values, but I don't know if it is simply a boolean (i.e. 0 or 1 somehow relating to a "I have been greeted" or "I have not been greeted" meaning)
You might read through this (http://nene.modthesims.info/showthread.php?p=876515) to see what you can glean from it.


The problem is that I don't know if any of this would make matters better or worse. I would think that you surely would need to be able to undo the changes to revert back to the status quo. After all, you don't want the residents to permanently disown their home or wrongfully think they are some sort of entity (e.g. an employee or service NPC in their own non-business home). So backup and try some experiments. Perhaps try setting them as a roommate using Person Type?