Lot debugin in different house??

francot514

Well-Known Member
Anyone know why lot debugging in different house is not working, it has some to do with the multi tiled objects, or imcompleted simsantics???
 

Attachments

  • pdlotdebug.png
    pdlotdebug.png
    667.3 KB · Views: 7
Incomplete simantics definitely. I'm not sure what's in that lot, but one of those objects may be trying to spawn an npc or something.
 
Yes, i figured it on, becuase i tested a different lot and worked, the npcs are the problem, what will needed to add them??? something about simsantics???
 
NPCs already work- it's just they tend to execute complex code that contains eithet unused or buggy (routing) primitives.

On the default lot you can see the cat npc and the mail woman npc. The maid also works - she's not currently being added to the lot though.
 
Then here comes my question... how the game handles npcs?? classes or objects??? and if they are objects will possible add a different sim than Bob Newbie??
 
NPCs are objects with a special "person" flag set somewhere. You can add any existing NPC object (campfire ghost for example, but I'm not sure if it works atm.) and it will set the body and head correctly - but controllable template sims need to have body and head set manually.
 
Yes, then how is Bob Newbie npc rendered, how to change their head manually, in the classes code???
 

Attachments

  • pdfire.png
    pdfire.png
    583.8 KB · Views: 9
Look for the text ".oft", "fat" or "slob" in the files... It should lead you to a reference to bob's outfit somewhere in the code. The template sim does not have an outfit so it falls back to the outfits i defined... (bob's head and body)
 
I have find if in VMAvatar.cs, the problem is i cant get a debug version in visual studio that works fine, so many errors!!!! Arggh!!!

Code:
switch (AvatarType)
            {
                case VMAvatarType.Adult:
                    Avatar = new SimAvatar(TSO.Content.Content.Get().AvatarSkeletons.Get("adult.skel"));
                    Avatar.Head = TSO.Content.Content.Get().AvatarOutfits.Get("mah010_baldbeard01.oft"); //default to bob newbie, why not
                    Avatar.Body = TSO.Content.Content.Get().AvatarOutfits.Get("mab002_slob.oft");
                    Avatar.Handgroup = Avatar.Body;
                    break;
                case VMAvatarType.Cat:
                    var skel = TSO.Content.Content.Get().AvatarSkeletons.Get("cat.skel");
                    Avatar = new SimAvatar(skel);
                    Avatar.Body = TSO.Content.Content.Get().AvatarOutfits.Get("uaa002cat_calico.oft");
                    break;
                case VMAvatarType.Dog:
                    Avatar = new SimAvatar(TSO.Content.Content.Get().AvatarSkeletons.Get("dog.skel"));
                    Avatar.Body = TSO.Content.Content.Get().AvatarOutfits.Get("uaa012dog_scottish.oft"); //;)
                    break;
            }



Also i found that you have used test objects in game that always been created in VMWorldActivator.cs

Code:
            var testAquarium = new XmlHouseDataObject(); //used to create an aquarium to test with on the lot. remove this before final! (cant be giving out free aquariums!!)
            testAquarium.GUID = "0x98E0F8BD";
            testAquarium.X = 33;
            testAquarium.Y = 57;
            testAquarium.Level = 1;
            testAquarium.Dir = 4;
            CreateObject(testAquarium);

            testAquarium = new XmlHouseDataObject(); //parrot
            testAquarium.GUID = "0x03BB9D8A";
            testAquarium.X = 33;
            testAquarium.Y = 59;
            testAquarium.Level = 1;
            testAquarium.Dir = 4;
            CreateObject(testAquarium);


            var testCounter = new XmlHouseDataObject(); //test fridge
            testCounter.GUID = "0x675C18AF";
            testCounter.X = 34;
            testCounter.Y = 53;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test hat rack
            testCounter.GUID = "0x01DACE5C";
            testCounter.X = 36;
            testCounter.Y = 53;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test tp1
            testCounter.GUID = "0x96a776ce";
            testCounter.X = 40;
            testCounter.Y = 53;
            testCounter.Level = 1;
            testCounter.Dir = 0;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test Pet Gym
            testCounter.GUID = "0x3360D50A";
            testCounter.X = 10;
            testCounter.Y = 53;
            testCounter.Level = 1;
            testCounter.Dir = 0;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test tp2
            testCounter.GUID = "0x96a776ce";
            testCounter.X = 20;
            testCounter.Y = 53;
            testCounter.Level = 1;
            testCounter.Dir = 0;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test piano
            testCounter.GUID = "0x379EE047";
            testCounter.X = 20;
            testCounter.Y = 20;
            testCounter.Level = 1;
            testCounter.Dir = 2;
            CreateObject(testCounter);

           
            testCounter = new XmlHouseDataObject(); //test limo
            testCounter.GUID = "0x9750EA9D";
            testCounter.X = 30;
            testCounter.Y = 30;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test Fountain
            testCounter.GUID = "0x3565E02A";
            testCounter.X = 40;
            testCounter.Y = 30;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test Aqu2
            testCounter.GUID = "0x2FC9B87D";
            testCounter.X = 35;
            testCounter.Y = 36;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);

            testCounter = new XmlHouseDataObject(); //test bed
            testCounter.GUID = "0x17579980";
            testCounter.X = 35;
            testCounter.Y = 45;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);


            testCounter = new XmlHouseDataObject(); //test Hot tub
            testCounter.GUID = "0x5E8B157A";
            testCounter.X = 25;
            testCounter.Y = 40;
            testCounter.Level = 1;
            testCounter.Dir = 4;
            CreateObject(testCounter);
 
Correct. You should be able to change the default cat, dog and sim skins from there. You should extract from the avatardata to find out the names of the skins you want to reference instead, however I think it's possible to access them by ID too.
 
As i said you the problem is i cant get a debug version in visual studio that works fine, you have done it already, will apretiate it if you can help me with it, by that way i can test a lot of extra stuff...
 
Back
Top