- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Modding Discussion >
- Modding : placing inventory items in inactives' houses
- Site Map >
- Modding and Creation >
- Sims 3 Creation >
- Modding Discussion >
- Modding : placing inventory items in inactives' houses
Replies: 13 (Who?), Viewed: 1494 times.
#1
25th Nov 2019 at 6:40 PM
Modding : placing inventory items in inactives' houses
I guys, hope you are all doing well!I'm looking for an information, when my sim goes to a neighbours' house I can't place most inventory items in their house except some objects such as the box of danger for instance. My question is the following : what can be modded to enable other inventory objects to be placed in inactive houses? Is it xml/itun tunning? Script moding?
Any help will be greatly appreciated
Advertisement
#2
26th Nov 2019 at 4:37 PM
Last edited by MissPat : 1st Dec 2019 at 1:05 AM.
Posts: 845
Thanks: 371 in 3 Posts
Hello Anitaka!
I personally use a series of mods over at Nraas.net to achieve this goal. Mainly, Debug Enabler.
So it looks like it would be script modding.
Steps I recorded in my notes (sorry I can't start the game so I hope this will not be confusing):
1) I add the desired object on my active sim lot
2) I click on the object then "Nraas > Debug Enabler > object… > "Siminteraction whoami"
After that, a notification (yellow popup in the right side of the screen) shows up in my game with the details of the object.
The word after "sims3core" is usually the object name, like "nectarmaker"; I just put it at the beginning of the Debug Enabler command to create objects (see step 2).
For instance: "NectarMaker, EP1, Sims3[...]NectarMaker"
2) I go to the inactive sims' lot, I click on the floor, then "Nraas > Debug Enabler > create object"
A popup window appears and I enter the required object data. The object is then created.
I personally use a series of mods over at Nraas.net to achieve this goal. Mainly, Debug Enabler.
So it looks like it would be script modding.
Steps I recorded in my notes (sorry I can't start the game so I hope this will not be confusing):
1) I add the desired object on my active sim lot
2) I click on the object then "Nraas > Debug Enabler > object… > "Siminteraction whoami"
After that, a notification (yellow popup in the right side of the screen) shows up in my game with the details of the object.
The word after "sims3core" is usually the object name, like "nectarmaker"; I just put it at the beginning of the Debug Enabler command to create objects (see step 2).
For instance: "NectarMaker, EP1, Sims3[...]NectarMaker"
2) I go to the inactive sims' lot, I click on the floor, then "Nraas > Debug Enabler > create object"
A popup window appears and I enter the required object data. The object is then created.
#3
26th Nov 2019 at 8:24 PM
Quote: Originally posted by MissPat
Hello Anitaka! I personally use a series of mods over at Nraas.net to achieve this goal. Mainly, Debug Enabler. So it looks like it would be script modding. Steps I recorded in my notes (sorry I can't start the game so I hope this will not be confusing): 1) I add the desired object on my active sim lot 2) I click on the object then "Nraas > Debug Enabler > object… > "Siminteraction whoami" After that, a notification (yellow popup in the right side of the screen) shows up in my game with the details of the object. The word after "sims3core" is usually the object name, like "nectarmaker"; I just put it at the beginning of the Debug Enabler command to create objects (see step 2). For instance: "NectarMaker, EP1, Sims3[...]NectarMaker" 2) I go to the inactive sims' lot, I click on the floor, then "Nraas > Debug Enabler > create object" A popup window appear and I enter the required object data. The object is then created. |
Hi MissPat thank you for answering :D
I took pictures to explain what I'm trying to do : when my sim is at a neighboor's house I'd like to be able to place items from his/her inventory. Basically, no items from active sims inventory can be placed on a neighboor's lot, but I notice that the Box of Magic can actually!
So I'm wondering what can be done to enable more items to be placed on inactives' lots from inventory.
#4
27th Nov 2019 at 12:37 AM
Posts: 845
Thanks: 371 in 3 Posts
Thanks for the clarification! I'm afraid I can't help further...
I don't know where to look in the code to remove the trigger / flag that identifies objects a non-household-member can or cannot drop on a lot.
Hopefully a more experienced modder can stop by and help out!
I don't know where to look in the code to remove the trigger / flag that identifies objects a non-household-member can or cannot drop on a lot.
Hopefully a more experienced modder can stop by and help out!
Space Pony
#5
27th Nov 2019 at 6:52 PM
Posts: 433
Thanks: 792 in 6 Posts
Hey Anitaka00,
here is a quick n dirty solution
i hadnt much time to think about it so you might want to do some testing, if you need my help i probably got more time on the weekend to do ingame testing etc
here is a quick n dirty solution
Code:
using Sims3.Gameplay.Abstracts; using Sims3.Gameplay.ObjectComponents; using Sims3.SimIFace; namespace Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00 { public class PortableCheapCrib : CribCheap, IPlaceableObject { public event ObjectDisposedEvent ObjectDisposed; public void PostPlacedBehavior(Sims3.Gameplay.Actors.Sim actor) { } public bool CanBeStowedInWorld { get { return !GameUtils.IsAnyTravelBasedWorld(); } } public bool BeingPlaced { get { return true; } set { value = true; } } public bool Placed { get { return GameUtils.IsAnyTravelBasedWorld(); } set { return; } } public bool CanBePutInInventory { get { return ActorsUsingMe.Count == 0; } } public bool CanBePlacedOnOtherResidentialLots { get { return true; } } public float CarryRouteToObjectRadius { get { return 0.5f; } } public override void OnStartup() { base.AddComponent<ItemComponent>(new object[] { ItemComponent.SimInventoryItem }); base.OnStartup(); } } }
i hadnt much time to think about it so you might want to do some testing, if you need my help i probably got more time on the weekend to do ingame testing etc
#6
28th Nov 2019 at 10:41 AM
Thank you for your support PissPat :D!
Hi Battery, thank you for offering your help, I'm going to try your code very soon and give you feedbacks
Have a nice day!
Hi Battery, thank you for offering your help, I'm going to try your code very soon and give you feedbacks
Have a nice day!
#7
28th Nov 2019 at 9:14 PM
Hi Battery,
I'm trying your solution for the crib
I'm trying to test it in game, but strangely I cannot put the crib in my sims' inventory anymore. I'm posting the package here if you have time to look at it maybe you'll notice something wrong.
Thanks for your help
I'm trying your solution for the crib
I'm trying to test it in game, but strangely I cannot put the crib in my sims' inventory anymore. I'm posting the package here if you have time to look at it maybe you'll notice something wrong.
Thanks for your help
Attached files:
PortableCheapCribV2.rar (311.1 KB, 5 downloads) - View custom content | ||||||||||
----------- --------- -------- ----- -------- ----- -------- ---- ..A.... 520637 318339 61% 28-11-19 15:27 C89FB19F PortableCheapCribV2.package ----------- --------- -------- ----- -------- ----- -------- ---- 520637 318339 61% 1 |
Space Pony
#8
28th Nov 2019 at 10:01 PM
Posts: 433
Thanks: 792 in 6 Posts
Hi Anitaka,
i noticed that you also changed your script target in your objk to "Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00.PortableCheapCrib : CribCheap, IPlaceableObject" you have to state just the class name and namespace there and not the inheiretance aswell.
In other words there was/is no need to change the string just use "Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00.PortableCheapCrib" like before and you should be good to go
The first sign that your new script didnt get registered in the first place is that the object has the namespace+class as the name instead of something like "crib cheap"
i noticed that you also changed your script target in your objk to "Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00.PortableCheapCrib : CribCheap, IPlaceableObject" you have to state just the class name and namespace there and not the inheiretance aswell.
In other words there was/is no need to change the string just use "Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00.PortableCheapCrib" like before and you should be good to go
The first sign that your new script didnt get registered in the first place is that the object has the namespace+class as the name instead of something like "crib cheap"
#9
29th Nov 2019 at 4:24 PM
Quote: Originally posted by Battery
Hi Anitaka, i noticed that you also changed your script target in your objk to "Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00.PortableCheapCrib : CribCheap, IPlaceableObject" you have to state just the class name and namespace there and not the inheiretance aswell. In other words there was/is no need to change the string just use "Sims3.Gameplay.Objects.Beds.Mimics.Anitaka00.PortableCheapCrib" like before and you should be good to go The first sign that your new script didnt get registered in the first place is that the object has the namespace+class as the name instead of something like "crib cheap" |
Thank you Battery I will try that in a few days
#10
1st Dec 2019 at 10:13 PM
Congratulations! You did it Battery, it works , now we are able to place a crib on our neighbours'lot! That's a big game changer.
Once the crib is placed we cannot move it nor pick it up anymore, do you have an idea why?
Anyway you made my day thank you
Once the crib is placed we cannot move it nor pick it up anymore, do you have an idea why?
Anyway you made my day thank you
Space Pony
#11
2nd Dec 2019 at 6:16 PM
Last edited by Battery : 2nd Dec 2019 at 7:00 PM.
Posts: 433
Thanks: 792 in 6 Posts
Hey Anitaka,
add this to your class
Kind regards
Battery
add this to your class
Code:
public override bool HandToolAllowPickupOnOtherResidentialLots() { return true; }
Kind regards
Battery
#12
2nd Dec 2019 at 9:50 PM
Thanks again Battery it works like a charm!
May I ask how did you find the solution? Is there documentation for Sims 3 code?
May I ask how did you find the solution? Is there documentation for Sims 3 code?
Space Pony
#13
7th Dec 2019 at 2:16 PM
Posts: 433
Thanks: 792 in 6 Posts
Yay Weekend, sorry for the late response.
Unfortunately there is no documentation that i know of. But you did alsmost solve the problem yourself when you stated that the Magic Box was placeable.
So i just looked what the magic box did and copied the necessary code over. You are already using a decompiler like ilspy right ? If not well the wole world of sims 3 modding probably just opened up for you (if you start using it)
have a nice weekend
Unfortunately there is no documentation that i know of. But you did alsmost solve the problem yourself when you stated that the Magic Box was placeable.
So i just looked what the magic box did and copied the necessary code over. You are already using a decompiler like ilspy right ? If not well the wole world of sims 3 modding probably just opened up for you (if you start using it)
have a nice weekend
#14
8th Dec 2019 at 1:26 PM
Quote: Originally posted by Battery
Yay Weekend, sorry for the late response. Unfortunately there is no documentation that i know of. But you did alsmost solve the problem yourself when you stated that the Magic Box was placeable. So i just looked what the magic box did and copied the necessary code over. You are already using a decompiler like ilspy right ? If not well the wole world of sims 3 modding probably just opened up for you (if you start using it) have a nice weekend |
Hi Battery! Thank you for answering.
I am using Ilspy... ^^' I'm still trying to figure out what does what there, as well as C# logic. For instance, I looked at the Magic Box in Ilspy, but was not able to understand how to apply the IPlaceableObject to another object like you did. But the more I try, the more I'll understand
Who Posted
|