Ok, I tried looking at autoyak and the ACR - Booty Call hacks, but I'm not sure I can suss this out properly. Going off mostly the autoyak code, I've updated what I think are the relevant BHAVs: Main, Init, CT - Handle Call, CT - Call Available?, the individual phone call type TESTs, and I added a CT - Object Menu and CT - Object Menu Command.
So far, I've gotten the options to show up when you click on a sim. However... the sim ends up trying to use Macrotastics talk to family or talk to friends instead. Any chance someone can clue me in as to what I need to change so that it uses my phone call types rather than those from autoyak?
Here's some of the relevant code. I'll also attack a copy of the file.
###
# Group = 0xFFFFFFFF, Instance = 0x1001
# Title = Function - Main
#
# Format = 8007, Params = 0, Locals = 0
# Tree type = 0, Header flag = 0, Tree version = FFFF8007 (-32761)
0: Stack Object := Me; true: 1, false: error
1: Test Object Type: type of Me == GUID 0x00133606; true: 4, false: 2
2: Test Object Type: type of Me == GUID 0x00133607; true: 4, false: 3
3: Test Object Type: type of Me == GUID 0x00133608; true: 4, false: 5
4: Idle(20000 (0x4E20)); true: 4, false: 4
5: Global(Game Edition) != 2000 (0x7D0); true: 6, false: 9
6: Global(Game Edition) > 64 (0x40); true: 7, false: 9
7: Idle(250 (0xFA)); true: 8, false: 8
8: semiglobal.0x2058(0, 0, 0, 0); true: 7, false: 7
9: Remove Object Instance: Me, cleanup all; true: 9, false: 9
###
# Group = 0xFFFFFFFF, Instance = 0x1015
# Title = Function - Init - Private School Phone Call - Legacy Enroll
#
# Format = 8007, Params = 0, Locals = 0
# Tree type = 0, Header flag = 0, Tree version = 0 (0)
0: semiglobal.0x2007(0, 0, 0, 0); true: 1, false: 1
1: Global(Game Edition) != 2000 (0x7D0); true: 2, false: B
2: Global(Game Edition) > 64 (0x40); true: 3, false: B
3: Test Object Type: type of Me == GUID 0x00133608; true: 4, false: 8
4: Stack Object := 0; true: 5, false: 5
5: Set to Next: object of type GUID 0x00133608; true: 6, false: 7
6: Stack Object's category (0x3B) != Const 0x106(Category):0x56; true: 5, false: 8
7: My category (0x3B) := Const 0x106(Category):0x56; true: 8, false: 8
8: Stack Object := Me; true: 9, false: 9
9: My Semi Attribute 0x2 := stack object's definition Selector Category (0x4B); true: A, false: A
A: My Semi Attribute 0x7 := stack object's definition Selector Sub-Category (0x4C); true: C, false: C
B: My Semi Attribute 0x2 := Const 0x2006:0x0; true: C, false: C
C: My Attribute 0x0 := Const 0x1000(Private School - Phone Call Types):0x2(3); true: true, false: true
###
# Group = 0xFFFFFFFF, Instance = 0x1002
# Title = CT - Handle Call
#
# Format = 8007, Params = 1, Locals = 0
# Tree type = 0, Header flag = 0, Tree version = FFFF801B (-32741)
0: Stack Obj's Attribute 0x0 := Param 0; true: 1, false: error
1: Stack Obj's Attribute 0x0 == Const 0x1000(Private School - Phone Call Types):0x0(1); true: 2, false: 3
2: .Special - Private School Phone Call - Quit; true: true, false: error
3: Stack Obj's Attribute 0x0 == Const 0x1000(Private School - Phone Call Types):0x1(2); true: 4, false: 5
4: .Special - Private School Phone Call - Re-Enroll; true: true, false: error
5: Stack Obj's Attribute 0x0 == Const 0x1000(Private School - Phone Call Types):0x2(3); true: 6, false: false
6: .Special - Private School Phone Call - Enroll Legacy; true: true, false: error
##
# Group = 0xFFFFFFFF, Instance = 0x100B
# Title = CT - Phone Call Available?
#
# Format = 8007, Params = 2, Locals = 1
# Tree type = 0, Header flag = 0, Tree version = FFFF8014 (-32748)
0: Local 0 := 0; true: 1, false: error
1: Lot - Is Secret Society? - EP1; true: false, false: 2
2: Global(Game Edition) != 2000 (0x7D0); true: 3, false: B
3: Global(Game Edition) > 64 (0x40); true: 4, false: B
4: Param 1 == Const 0x1000(Private School - Phone Call Types):0x0(1); true: 5, false: 6
5: .Special - Private School Phone Call - Quit - TEST(0); true: true, false: false
6: Param 1 == Const 0x1000(Private School - Phone Call Types):0x1(2); true: 7, false: 8
7: .Special - Private School Phone Call - Re-Enroll - TEST(0); true: true, false: false
8: Param 1 == Const 0x1000(Private School - Phone Call Types):0x2(3); true: 9, false: A
9: .Special - Private School Phone Call - Enroll Legacy - TEST(0); true: true, false: false
A: Param 1 == -1 (0xFFFF); true: B, false: false
B: .Special - Private School Phone Call - Quit - TEST(1); true: C, false: D
C: Local 0 += 1; true: D, false: error
D: .Special - Private School Phone Call - Re-Enroll - TEST(1); true: E, false: F
E: Local 0 += 1; true: F, false: error
F: .Special - Private School Phone Call - Enroll Legacy - TEST(1); true: 10, false: 11
10: Local 0 += 1; true: 11, false: error
11: Local 0 > 0; true: true, false: false
###
# Group = 0xFFFFFFFF, Instance = 0x101A
# Title = CT - Object Menu
#
# Format = 8007, Params = 2, Locals = 1
# Tree type = 0, Header flag = 0, Tree version = 0 (0)
0: Local 0 := Stack Object; true: 1, false: 1
1: Param 1 == 0; true: 2, false: false
2: Global(Game Edition) != 2000 (0x7D0); true: 3, false: false
3: Global(Game Edition) > 64 (0x40); true: 4, false: false
4: Me == Param 0; true: 5, false: false
5: Age - Sims Age >= Param 1?(Me, Const 0x110(Person Ages):0x1); true: 6, false: false
6: Age - Sims Age >= Param 1?(Me, Const 0x110(Person Ages):0x2); true: 7, false: 8
7: Cellphone - Does Sim Have One?(my person data neighbor id (0x1F)); true: D, false: 8
8: Stack Object := 0; true: 9, false: error
9: Param 0 := Const 0x106(Category):0x1; true: A, false: error
A: Set to Next: obj with category == param 0; true: B, false: false
B: In Use?; true: A, false: C
C: Stack Objects Semi Attribute 0x4 == 1; true: A, false: D
D: Stack Object := Local 0; true: E, false: E
E: .CT - Phone Call Available?(stack object's definition Selector Category (0x4B), -1 (0xFFFF)); true: true, false: false
###
# Group = 0xFFFFFFFF, Instance = 0x101B
# Title = CT - Object Menu Command
#
# Format = 8007, Params = 2, Locals = 2
# Tree type = 0, Header flag = 0, Tree version = 0 (0)
0: Test Object Type: type of Stack Object == GUID 0x00133606; true: 3, false: 1
1: Test Object Type: type of Stack Object == GUID 0x00133607; true: 3, false: 2
2: Test Object Type: type of Stack Object == GUID 0x00133608; true: 3, false: false
3: Param 0 := Const 0x1002(ZOMGPetsz!!!111oneoneone Tags):0x0(3237 (0xCA5)); true: 4, false: 4
4: Age - Sims Age >= Param 1?(Me, Const 0x110(Person Ages):0x2); true: 5, false: 8
5: Cellphone - Does Sim Have One?(my person data neighbor id (0x1F)); true: 6, false: 8
6: Local 0 := Me; true: 7, false: 7
7: Local 1 := 275 (0x113); true: 10, false: 10
8: Stack Object := 0; true: 9, false: 9
9: Set to Next: object of type GUID 0x0130A00C; true: A, false: false
A: Run Tree by Name: Get Nearest By Category In T[0,1], ignore global trees, Passing in params where param 0 = Const 0x106(Category):0x1, param 1 = Me, param 2 = 50 (0x32), push onto my stack; true: B, false: false
B: Local 0 := Temp 0; true: C, false: C
C: Stack Object := Temp 0; true: D, false: D
D: In Use?; true: false, false: E
E: Stack Objects Semi Attribute 0x4 == 1; true: false, false: F
F: Local 1 := 0; true: 10, false: 10
10: Stack Object := Me; true: 11, false: 11
11: Push Interaction: getting interaction # from Local 1 of Local 0 onto the stack object's queue, user driven priority, use icon from Local 0, Icon Index is 0x0, Passing first 4 params in; true: true, false: error
In particular... I removed the search for GUID 0x0130A00C (which I think is macrotastics) in the
CT - Object Menu. However, since the
CT - Object Menu Command uses an RTBN Call to a BHAV defined in macrostastics (which I assume is used to find the nearest landline phone handset) I thought I would leave it in there. I think I probably have to change
CT - Object Menu Command. I tried removing autoyak to see what would happen, and the interaction gets pushed onto the sim, but they just pick the phone up, dial, and then they put it back down.
I'm not sure what I should change so that my CT - Handle Call is used instead of autoyak.
Ste