- Site Map >
- Modding and Creation >
- Sims 4 Creation >
- Modding Discussion >
- Adding interactions to a terrain via python script ? [SOLVED]
- Site Map >
- Modding and Creation >
- Sims 4 Creation >
- Modding Discussion >
- Adding interactions to a terrain via python script ? [SOLVED]
Replies: 1 (Who?), Viewed: 2496 times.
#1
5th Feb 2017 at 7:48 PM
Last edited by Dramatic-Gamer : 8th Feb 2017 at 4:24 AM.
Posts: 453
Thanks: 21133 in 213 Posts
Adding interactions to a terrain via python script ? [SOLVED]
Hello, I've been trying to add interactions to a terrain using a python script but it's not showing up in game.I've tried adding them to "object_terrain" tuning recourse " "14982" and it works fine but I couldn't figure out how to add them via a script.
This is the script that I used
Code:
import services
import injector
import objects
import objects.terrain
from objects.terrain import Terrain
DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids = (11438713963126644620, 13434953397345340498, )
DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids = (14982, )
@injector.inject_to(Terrain, 'on_add')
def DG_DeadlyToddlers_Interactions_ObjectTerrain_add_super_affordances(original, self):
original(self)
sa_list = []
affordance_manager = services.affordance_manager()
for sa_id in DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids:
tuning_class = affordance_manager.get(sa_id)
if not tuning_class is None:
sa_list.append(tuning_class)
self._super_affordances = self._super_affordances + tuple(sa_list)
I've also tried this
Code:
import services
import injector
import objects
import types
import objects.terrain
from objects.terrain import Terrain
DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids = (11438713963126644620, 13434953397345340498, )
DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids = (14982, )
def attachinteraction(sa_list, affordance_manager, sa_id):
tuning_class = affordance_manager.get(sa_id)
if not tuning_class is None:
sa_list.append(tuning_class)
@injector.inject_to(Terrain, 'on_add')
def DG_DeadlyToddlers_Interactions_ObjectTerrain_add_super_affordances(original, self):
original(self)
if not self.guid64 in DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids:
return
sa_list = []
affordance_manager = services.affordance_manager()
if(isinstance(DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids, int)):
attachinteraction(sa_list, affordance_manager, DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids)
else:
for sa_id in DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids:
attachinteraction(sa_list, affordance_manager, sa_id)
self._super_affordances = self._super_affordances + tuple(sa_list)
but I had no luck, I wish someone can help me with this
Thanks in advance
EDIT: I've finally found a code that adds interactions to terrain object by "batman101
from Sims 4 Occult Life State: Succubus mod.
This is the working code to add interactions to a terrain via python
Code:
import services import injector import sims4.resources from sims4.tuning.instance_manager import InstanceManager from sims4.resources import Types DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids = (13434953397345340498, 11438713963126644620, 15313978156997466037,) DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids = (14982,) @injector.inject_to(InstanceManager, 'load_data_into_class_instances') def add_superaffordances(original, self): original(self) if self.TYPE == Types.OBJECT: affordance_manager = services.affordance_manager() sa_list = [] for sa_id in DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids: key = sims4.resources.get_resource_key(sa_id, Types.INTERACTION) sa_tuning = affordance_manager.get(key) if not sa_tuning is None: sa_list.append(sa_tuning) sa_tuple = tuple(sa_list) for obj_id in DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids: key = sims4.resources.get_resource_key(obj_id, Types.OBJECT) obj_tuning = self._tuned_classes.get(key) if not obj_tuning is None: obj_tuning._super_affordances = obj_tuning._super_affordances + sa_tuple
. I am a 20 years old male ..I'm not a Female .. and my name is not Bella .. as everybody think .
I used to bite .. but i don't do that anymore . Have fun! :)
Advertisement
Field Researcher
#2
9th Apr 2017 at 12:56 AM
Posts: 239
Thanks: 160 in 6 Posts
Quote: Originally posted by Dramatic-Gamer
Hello, I've been trying to add interactions to a terrain using a python script but it's not showing up in game. I've tried adding them to "object_terrain" tuning recourse " "14982" and it works fine but I couldn't figure out how to add them via a script. This is the script that I used
Code:
I've also tried this
Code:
but I had no luck, I wish someone can help me with this Thanks in advance EDIT: I've finally found a code that adds interactions to terrain object by "batman101 from Sims 4 Occult Life State: Succubus mod. This is the working code to add interactions to a terrain via python
Code:
import services import injector import sims4.resources from sims4.tuning.instance_manager import InstanceManager from sims4.resources import Types DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids = (13434953397345340498, 11438713963126644620, 15313978156997466037,) DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids = (14982,) @injector.inject_to(InstanceManager, 'load_data_into_class_instances') def add_superaffordances(original, self): original(self) if self.TYPE == Types.OBJECT: affordance_manager = services.affordance_manager() sa_list = [] for sa_id in DG_DeadlyToddlers_Interactions_ObjectTerrain_sa_instance_ids: key = sims4.resources.get_resource_key(sa_id, Types.INTERACTION) sa_tuning = affordance_manager.get(key) if not sa_tuning is None: sa_list.append(sa_tuning) sa_tuple = tuple(sa_list) for obj_id in DG_DeadlyToddlers_Interactions_ObjectTerrain_object_ids: key = sims4.resources.get_resource_key(obj_id, Types.OBJECT) obj_tuning = self._tuned_classes.get(key) if not obj_tuning is None: obj_tuning._super_affordances = obj_tuning._super_affordances + sa_tuple |
THANK YOU, I NEEDED THIS!!!!! :D
i'M sORRY... OH, LORD...
Who Posted
|