Holy...crap!
nothingbutsims:
I had the same experience too, Trepie, with a couple million.
gali:
It happens when you teleport some sim from the family bin, but he is one of a group (like the Singles) - and propose him/her to move in. It's a glitch I think, but I like it!
It happened to me with the Curious brothers, which had only 49,000$, moved to the family bin.
I created a female for Pascal, teleported him from the family bin, and proposed the move in. He brought with him more than 2 million $.
Then I created a female for Lazlo, moved him in, and he brought 5 million $ (!!).
As I used the motherlode before moving the brothers from their house, Vidcund remained in the family bin with 1 million $ - and when I moved him in, this was the only sum he brought.
...Nice glitch...:).
Oddysey:
*twitch*
That's a very specific number. What in the name of all that is binary could be the mechanism of that glitch?
dizzy:
Quote from: Oddysey on 2005 September 27, 04:32:14
*twitch*
That's a very specific number. What in the name of all that is binary could be the mechanism of that glitch?
Hehe. You asked:
Code:
###
# Group = 0x7F859641, Instance = 0x101F
# Title = Move In - Normal New
#
# Format = 8009, Params = 0, Locals = 22
# Tree type = 0, Header flag = 6, Tree version = FFFF8032 (-32718)
0: Save - Disable/Enable(0); true: 1, false: error
1: Stack Object := Me; true: 19, false: error
2: Stack Object := stack obj's person data neighbor id (0x1F); true: 3, false: error
3: Local 3 := neighbor in stack object family friend count (0x9); true: 4, false: error
4: Local 0 := my person data family number (0x3D); true: 48, false: error
5: Local 1 := 0; true: 6, false: error
6: Local 2 := 0; true: 32, false: error
7: Stack Object := 0; true: 8, false: error
8: Local 0 == Const 0x13A:0x1(32766 (0x7FFE)); true: 74, false: 6D
9: Local 19 := random from 0 to < Const 0x1003:0x4(20000 (0x4E20)); true: A, false: error
A: Stack Object := my person data neighbor id (0x1F); true: 13, false: error
B: Generic Sims Call: add to family Stack Obj:nID, Temp 0:familyID; true: 14, false: 3D
C: Alter Budget: add Local 19 as misc income; true: D, false: D
D: Stack Object := my person data neighbor id (0x1F); true: E, false: error
E: Temp 0 := neighbor in stack object family friend count (0x9); true: F, false: error
F: Temp 0 -= Local 3; true: 40, false: error
10: Local 0 == Const 0x13A:0x1(32766 (0x7FFE)); true: 5E, false: 6E
11: Temp 0 := Local 0; true: 12, false: error
12: Generic Sims Call: combine assets of family in temp 0 Temp 0:familyID; true: 15, false: 15
13: Temp 0 := 0; true: B, false: error
14: Selectable: Set(Stack Object); true: 65, false: error
15: Stack Object := my person data neighbor id (0x1F); true: 4D, false: error
16: Generic Sims Call: add to family Stack Obj:nID, Temp 0:familyID; true: 57, false: 3C
17: Temp 0 := 0; true: 56, false: error
18: Selectable: Set(Stack Object); true: 3B, false: error
19: .Move In - Assets to Bring - Get T[3,4]; true: 1A, false: error
1A: Local 5 := Temp 3; true: 1B, false: error
1B: Local 6 := Temp 4; true: 2, false: error
1C: .Move In - Add Assets(Local 5, Local 6); true: 1E, false: error
1D: Local 7 != Local 15; true: 5A, false: 58
1E: Temp 0 := Local 6; true: 3E, false: error
1F: Dialog: Text Notification: [Private STR# 0x12D:0x25], priority 1, timeout 20, putting Text ID in temp 0; true: 11, false: error
20: Dialog: Text Notification: [Private STR# 0x12D:0x29], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
21: .Move In - Memories; true: 31, false: 31
22: Stack Object := neighbor in stack object person instance id (0x0); true: 24, false: error
23: Verify - Person ID(neighbor in stack object person instance id (0x0)); true: 22, false: 26
24: stack obj's person data Job Data (0x18) Set Flag 3; true: 25, false: error
25: Selectable: Set(Local 17); true: 2B, false: error
26: Schedule - Visitor - Immediately(Stack Object, Const 0x10F:0x0(0)); true: 27, false: error
27: Schedule - Visitor - Set Selectable Flags(Temp 0, 1); true: 49, false: error
28: Temp 0 := 0; true: 29, false: error
29: Generic Sims Call: add to family Stack Obj:nID, Temp 0:familyID; true: 30, false: 2A
2A: Break Point: ; true: 30, false: error
2B: Stack Object := Local 17; true: 49, false: error
2C: Manage Inventory: Access the Neighbor Singular Inventory from ID my person data neighbor id (0x1F). with category 0 GUID 0xEDE5D047 (0x7FAB48B1: Token - Move In). Set To Next token. Starting at index from Local 16; true: 2D, false: 3A
2D: Manage Inventory: Access the Neighbor Singular Inventory from ID my person data neighbor id (0x1F). with category 0 GUID 0xEDE5D047 (0x7FAB48B1: Token - Move In). Pop property off token at index from Local 16. Put property value into Local 15.; true: 21, false: 21
2E: Manage Inventory: Access the Neighbor Singular Inventory from ID my person data neighbor id (0x1F). with category 0 GUID 0xEDE5D047 (0x7FAB48B1: Token - Move In). Pop property off token at index from Local 16. Put property value into Local 17.; true: 2F, false: 2F
2F: Stack Object := Local 17; true: 23, false: error
30: Local 18 ++ and < Local 15; true: 2E, false: D
31: Local 15 += 1; true: 30, false: error
32: Stack Object := 0; true: 4E, false: error
33: Set to Next: Neighbor of Family in temp0; true: 34, false: 7
34: neighbor's person data family number (0x3D) == my person data family number (0x3D); true: 35, false: 4E
35: Local 7 += 1; true: 4E, false: error
36: Local 11 := 1000 (0x3E8); true: 4F, false: error
37: Local 12 := Local 19; true: 38, false: error
38: Local 12 /= 1000 (0x3E8); true: 36, false: error
39: Dialog: Text Notification: [Private STR# 0x12D:0x24], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
3A: Local 15 := 1; true: D, false: error
3B: Wants - Refresh All - Recalc(1, 0); true: 43, false: error
3C: Wants - Refresh All - Recalc(1, 0); true: 44, false: error
3D: Wants - Refresh All - Recalc(1, 0); true: 42, false: error
3E: Local 6 := Local 5; true: 3F, false: error
3F: Local 5 := Temp 0; true: 51, false: error
40: Local 0 == Const 0x13A:0x0(32767 (0x7FFF)); true: 41, false: 10
41: Wants - Set CAS History(my person data neighbor id (0x1F), Stack Object); true: 66, false: 66
42: Save - Disable/Enable(1); true: false, false: error
43: Save - Disable/Enable(1); true: true, false: error
44: Save - Disable/Enable(1); true: false, false: error
45: Want Satisfy: GUID 0xEDAAB0F8 (Move out) with value Stack Object; true: 46, false: 46
46: Want Satisfy: GUID 0x6DD670D5 (Sim Moves Out (want)) with value Stack Object; true: 47, false: 47
47: Want Satisfy: GUID 0x4DD673FA (Sim Moves Out (fear)) with value Stack Object; true: 28, false: 28
48: Local 20 := neighbor in stack object house number (0x6); true: 5, false: error
49: Local 20 > 0; true: 45, false: 28
4A: Want Satisfy: GUID 0xEDAAB0F8 (Move out) with value Stack Object; true: 4B, false: 4B
4B: Want Satisfy: GUID 0x6DD670D5 (Sim Moves Out (want)) with value Stack Object; true: 4C, false: 4C
4C: Want Satisfy: GUID 0x4DD673FA (Sim Moves Out (fear)) with value Stack Object; true: 55, false: 55
4D: Local 20 > 0; true: 4A, false: 55
4E: Temp 0 := Local 0; true: 33, false: error
4F: Lot - Is College Lot?; true: 50, false: 39
50: Dialog: Text Notification: [Private STR# 0x12D:0x33], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
51: Lot - Is College Lot?; true: 52, false: 20
52: Dialog: Text Notification: [Private STR# 0x12D:0x2B], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
53: Local 19 := random from 0 to < Const 0x1003:0x5(2000 (0x7D0)); true: A, false: error
54: Lot - Is College Lot?; true: 53, false: 6F
55: my person data kEP1 - Time Left In Grading Period (0xAC) := 72 (0x48); true: 17, false: error
56: College - Remove Key(my person data neighbor id (0x1F)); true: 16, false: error
57: .Init - Student; true: 18, false: error
58: Lot - Is College Lot?; true: 59, false: 1F
59: Dialog: Text Notification: [Private STR# 0x12D:0x34], priority 1, timeout 20, putting Text ID in temp 0; true: 11, false: error
5A: .Move In - College - Assets Calc(Local 0, Global(Current Family), Local 15, Local 7); true: 5B, false: error
5B: Temp 0 == 1; true: 5C, false: 1C
5C: Local 6 := Temp 3; true: 5D, false: error
5D: Local 5 := Temp 4; true: 51, false: error
5E: .Townie - Removed from Pool(Me); true: 41, false: error
5F: .Move In - Add Assets(Local 5, Local 6); true: 64, false: error
60: Run Tree by Name: CT - Get Move In Funds T[0,1], push onto my stack; true: 62, false: 54
61: Local 6 := Temp 1; true: 5F, false: error
62: Local 5 := Temp 0; true: 61, false: error
63: Stack Object := Me; true: 60, false: error
64: Local 21 := 1; true: A, false: error
65: Local 21 == 1; true: D, false: C
66: Local 21 == 1; true: 6C, false: 37
67: Dialog: Text Notification: [Private STR# 0x12D:0x29], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
68: Lot - Is College Lot?; true: 69, false: 67
69: Dialog: Text Notification: [Private STR# 0x12D:0x2B], priority 1, timeout 20, putting Text ID in temp 0; true: 15, false: error
6A: Local 6 := Temp 0; true: 68, false: error
6B: Local 5 := Local 6; true: 6A, false: error
6C: Temp 0 := Local 5; true: 6B, false: error
6D: Local 0 == Const 0x13A:0x3(32764 (0x7FFC)); true: 74, false: 75
6E: Local 0 == Const 0x13A:0x3(32764 (0x7FFC)); true: 5E, false: 1D
6F: .Move In - Get Townie Wealth(my person data neighbor id (0x1F)); true: 71, false: 9
70: Local 21 := 1; true: A, false: error
71: Local 6 := Temp 0; true: 72, false: error
72: Local 5 := Temp 1; true: 73, false: error
73: .Move In - Add Assets(Local 5, Local 6); true: 70, false: error
74: .Move In - Add Items To Townie Inventories; true: 63, false: error
75: Local 0 == Const 0x13A:0x0(32767 (0x7FFF)); true: 74, false: 2C
Gus Smedstad:
That's what Sims 2 code looks like? Ye gods, it's spagetti! I haven't seen anything that bad since I stopped using BASIC 23 years ago. I started to do a trace, and I was astonished to see -
On line 0x1, the code jumps to line 0x19.
It's impossible for control to flow from line 0x18 to 0x19, since the preceeding line is a jump to 0x3B.
Ergo, there's no conceivable reason why the code at 0x19 wasn't located immediate after line 0x1.
Line 0x1B then jumps to line 0x2, where this segment should have appeared in the first place.
Line 0x4 jumps to 0x48. Again, it's impossible from control to flow from 0x47 to 0x48, because both paths are a jump to 0x28.
Line 0x48 jumps back to line 0x5, so we've got a one line digression for no apparent reason.
It's difficult for me to imagine a compiler writing code this bad. It has all the earmarks of code that has been patched by hand. I.e., as originally written line 0x4 jumped to 0x5, then the programmer realized he needed another instruction in there, so instead of inserting it and changing the line numbers, he changed the jump, added the code, and then jumped back.
That's horrible.
- Gus
Navigation
[0] Message Index
[#] Next page
[*] Previous page