Hunters Run Posted April 23, 2013 Share Posted April 23, 2013 If I wanted to destroy a placeable and replace it with another in the exact same spot how would I go about doing it? Link to comment Share on other sites More sharing options...
Fallen Guardian Posted April 23, 2013 Share Posted April 23, 2013 You'd have code that looks something like this: void main() { object oOrigPlac = GetObjectByTag("TAG OF PLACEABLE"); //This is your original placeable, the one you're destroying. location lOPlac = GetLocation(oOrigPlac); //This is the location of that original placeable. DestroyObject(oOrigPlac); //Destroys the original placeable. CreateObject(OBJECT_TYPE_PLACEABLE, "TEMPLATE RES REF OF NEW PLACEABLE", lOPlac); //Creates the new placeable where the old one was. } Now that's assuming you don't have the original placeable's coordinates in the beginning. In all honesty it'd be best to just have the original placeable's coordinates, to reduce glitches/weird things going on that might occur with trying to grab the original placeable's location and use it to spawn the new one when the original has been destroyed. So, if you had the coordinates, the script would look like this: void main() { object oOrigPlac = GetObjectByTag("TAG OF PLACEABLE"); vector PlacPosition = Vector([color="SeaGreen"]333.33, 333.33, 333.33[/color]); location lOPlac = Location(PlacPosition, [color="Red"]234.44[/color]); DestroyObject(oOrigPlac); CreateObject(OBJECT_TYPE_PLACEABLE, "TEMPLATE RES REF OF NEW PLACEABLE", lOPlac); } The green 333.33 triplets are the place where your X, Y and Z coordinates of the placeable would go. The red 234.44 is the angle orientation of that placeable. Link to comment Share on other sites More sharing options...
Hassat Hunter Posted April 24, 2013 Share Posted April 24, 2013 Or if it gets spawned on a waypoint, just usse it's tag. Just a note of warning, destroying items and placing them at the same time will mess up the location. The destroyed one still "resides" so the new isn't in the exact same spot but slightly pushed aside to a 'free' position. So you'll have to delay the spawn. DelayCommand or ActionWait wont work, so there's; 1) Using a delayed ActionPauseConversation (only in conversations) 2) Delaying another script being triggered which adds the new placeable. Good luck! Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.