More Awesome Than You!
Welcome, Guest. Please login or register.
2024 November 21, 17:52:19

Login with username, password and session length
Search:     Advanced search
540287 Posts in 18067 Topics by 6545 Members
Latest Member: cincinancy
* Home Help Search Login Register
+  More Awesome Than You!
|-+  The Bowels of Trogdor
| |-+  The Small Intestines of Trogdor
| | |-+  help needed with updating phone plug-in
0 Members and 2 Chinese Bots are viewing this topic. « previous next »
Pages: [1] THANKS THIS IS GREAT Print
Author Topic: help needed with updating phone plug-in  (Read 7473 times)
syberspunk
Heretic
Terrible Twerp
****
Posts: 2365


ISTJ - what a crazy random happenstance


View Profile WWW
help needed with updating phone plug-in
« on: 2006 November 06, 00:44:11 »
THANKS THIS IS GREAT

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.

Quote from: Function - Main
###
# 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

Quote from: Init - Private School Phone Call - Legacy Enroll
###
# 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

Quote from: CT - Handle Call
###
# 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

Quote from: CT - Phone Call Available?
##
# 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

Quote from: CT - Object Menu
###
# 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

Quote from: CT - Object Menu Command
###
# 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. Undecided I'm not sure what I should change so that my CT - Handle Call is used instead of autoyak.

Ste

* callprivateschool.package (29.02 KB - downloaded 349 times.)
Logged

J. M. Pescado
Fat Obstreperous Jerk
El Presidente
*****
Posts: 26288



View Profile
Re: help needed with updating phone plug-in
« Reply #1 on: 2006 November 06, 00:57:10 »
THANKS THIS IS GREAT

The Phone Thing works on some invisible selector objects. One of them needs to have a OBJD definition 0x4B of "0x91", with an 0x4C of some arbitrary non-negative number (which doesn't collide with an existing number), the other one must have an 0x4B of the latter number, with an 0x4C of something, typically 0. If you have other call options you wish to deem related, you would need other objects. It's all messy and very confuzzling. But it's all in the 0x4B and 0x4Cs, and soforth.
Logged

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
syberspunk
Heretic
Terrible Twerp
****
Posts: 2365


ISTJ - what a crazy random happenstance


View Profile WWW
Re: help needed with updating phone plug-in
« Reply #2 on: 2006 November 06, 03:58:08 »
THANKS THIS IS GREAT

I suppose these are values I need to set in the raw data section of the object?

And... is there a way to check the values of the 0x4C attribute so that it doesn't collide with something that already exists? Or... do I just arbitrarily choose a value and cross my fingers? Tongue

Ste
Logged

J. M. Pescado
Fat Obstreperous Jerk
El Presidente
*****
Posts: 26288



View Profile
Re: help needed with updating phone plug-in
« Reply #3 on: 2006 November 06, 07:26:34 »
THANKS THIS IS GREAT

There's 32767 usable values, and maybe a dozen are in use. Total stab in the dark.
Logged

Grant me the serenity to accept the things I cannot change, the courage to change the things I cannot accept, and the wisdom to hide the bodies of those I had to kill because they pissed me off.
syberspunk
Heretic
Terrible Twerp
****
Posts: 2365


ISTJ - what a crazy random happenstance


View Profile WWW
Re: help needed with updating phone plug-in
« Reply #4 on: 2006 November 06, 22:52:47 »
THANKS THIS IS GREAT

One of them needs to have a OBJD definition 0x4B of "0x91", with an 0x4C of some arbitrary non-negative number (which doesn't collide with an existing number), the other one must have an 0x4B of the latter number, with an 0x4C of something, typically 0.

Just to be sure... I took a look at the raw data of autoyak, and you have the 0x4C for both the call object and the sim2sim autoyak as 0x0ca5. For the 0x4B attribute, you have the call object as 91 and the sim2sim autoyak as 0.

Incidentally... did you just randomly choose CA5? I think it would have been funny if you picked CA7. I decided on D06. I tried D06, but it caused the game to crash... Tongue Oh well, talk about a crapshoot. CA7 worked tho. Roll Eyes

Now that I have a working version, I'll have to extract the RTBN call to macrotastics and encapsulate the phone search routine within my hack. Hopefully I should have a fully updated ZOMGPETZ!!111oneone version up and available, either later today or tomorrow.

* syberspunk mashes the thanks button!

Thanks for the help! This was grrrrrrrrrrrrrrrrrrrrrrrrrrrrreeeeeeeeeeeat!!! Grin


Ste
Logged

Pages: [1] Print 
« previous next »
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines Valid XHTML 1.0! Valid CSS!
Page created in 0.066 seconds with 19 queries.