Replies: 7 (Who?), Viewed: 4073 times.
#1
18th May 2018 at 10:59 AM

Posts: 89
Thanks: 302 in 6 Posts


- the smaller one: its description on mouse hover has no careers linked and the focused skills shown are for Art, which it's cloned from. the problem is, not a single major had the skill mix i wanted (creativity as main; cleaning, body and mechanical secondary), and while i could compromise and use logic or cooking here or there, i'd much rather not;
- and the larger: upon graduation (so yes, it works fine throughout), the diploma uses Unknown instead of the major name. i've downloaded another custom major just to see how that one works, and it says Undeclared there. apart from Tuning - General, which i gather relates to what you've cloned from, the only difference i've found is in Name Reference, mine says Major_customname, theirs is Major_originalname, but clearly neither displays the correct department on the diploma.
additionally, has the problem of overhead icon been solved? for all these issues i've only found open threads with no solution. i'm quite willing to start learning to create functions and make a custom diploma as well, if that's the only way, although numbers as descriptors for variables make it a very daunting prospect.
so if anyone could help, even to say that it can't be done without rewriting the whole university expansion, i'd much appreciate it.
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny
19th May 2018 at 9:10 AM
This message has been deleted by AdonisPluto.
Reason: Double post
Advertisement
#2
19th May 2018 at 9:13 AM

Out if curiosity did you read this tutorial
#3
19th May 2018 at 10:15 AM
Last edited by st_d : 19th May 2018 at 10:35 AM.
Reason: (revelation)

Posts: 89
Thanks: 302 in 6 Posts
Quote:
Originally Posted by AdonisPluto
Out if curiosity did you read this tutorial
|
yes. and the other two tutorials available. my custom major functions without crashes, unexpected academic probation or other issues. i'm just nitpicking about overhead icons and the diploma.
-------
wait, are you telling me you've made a major and its diploma says exactly what you want it to? that i might have skipped a step out of over-enthusiasm?
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny
#4
20th May 2018 at 7:29 AM

Quote:
Originally Posted by st_d
wait, are you telling me you've made a major and its diploma says exactly what you want it to? that i might have skipped a step out of over-enthusiasm?
|
I once made one for personal use following the tutorial i pointed above, and it worked well in game.
#5
20th May 2018 at 4:56 PM
Last edited by st_d : 22nd May 2018 at 7:41 AM.
Reason: update

Posts: 89
Thanks: 302 in 6 Posts
did it work well in the sense that you didn't check what icon++ showed when they did they homework/it coincidentally matched your custom theme, but they graduated anyway, and you never read their diploma in detail? well i got a 7-day semester hack, which means 56 sim days that i have to look at the wrong icon, and THEN comes their practically immortal life (by vampirism or elixir) during which i'll keep seeing that diploma on the wall knowing it's wrong. i need more than to have them graduate functionally
. so i'll try another one from scratch, but the other custom majors i've downloaded do the exact same thing: icon of whatever it was cloned from, and no department on the diploma.
---------------------------
eta: alright, i've solved half the problem (the diploma), and will be posting about it once i get my thoughts and screenies in order :D
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny

---------------------------
eta: alright, i've solved half the problem (the diploma), and will be posting about it once i get my thoughts and screenies in order :D
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny
#6
28th May 2018 at 1:09 AM

Posts: 11
Thanks: 50 in 2 Posts
I'd love to hear how you were able to fix the diploma problem! I've just started fiddling around with making my own custom majors and it's frustrating that they don't match up.
#7
28th May 2018 at 9:10 PM
Last edited by st_d : 29th May 2018 at 6:41 AM.

Posts: 89
Thanks: 302 in 6 Posts
apologies for the lateness, i've been away and just returned. i'll post a quick hint now, in case you can't wait to get started, and instructions with pics when i'm better rested and coherent.
it's very simple really, if you look inside the diploma (Workshop - Unknown, and it's really high up the list because its name starts with "Save the Sheep...), you'll find that in the Read diploma function there's a list of GUID checks for each major in the game, pointing to a variable assignment that'll be used in the actual notification. so what i did was insert checks for my guids, and add their names to Text Lists - Dialog prim strings set. it's super important to know that you need to point not to the number in brackets, but to the rank, if i may call it so. if you want the umpteenth major as appears in brackets, then your number needs to say umpteen+1, in hex (because they start with 0, not 1).
hope this helps for now
.
------------------
edit to add: going to make a separate post for the picture tutorial, so that it may be linked to individually without anyone having to read the preceding conversation. if that's really not ok, i'll merge them up, of course.
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny
it's very simple really, if you look inside the diploma (Workshop - Unknown, and it's really high up the list because its name starts with "Save the Sheep...), you'll find that in the Read diploma function there's a list of GUID checks for each major in the game, pointing to a variable assignment that'll be used in the actual notification. so what i did was insert checks for my guids, and add their names to Text Lists - Dialog prim strings set. it's super important to know that you need to point not to the number in brackets, but to the rank, if i may call it so. if you want the umpteenth major as appears in brackets, then your number needs to say umpteen+1, in hex (because they start with 0, not 1).
hope this helps for now

------------------
edit to add: going to make a separate post for the picture tutorial, so that it may be linked to individually without anyone having to read the preceding conversation. if that's really not ok, i'll merge them up, of course.
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny
#8
29th May 2018 at 10:15 AM
Last edited by st_d : 29th May 2018 at 11:53 AM.
Reason: (grammar)

Posts: 89
Thanks: 302 in 6 Posts


I'll be hiding the different stages in spoilers, so that an overview is readily available and someone experienced might get the gist just from those buttons, or examine one in detail as needed.
step 0. What you need before starting: SimPe, but not expert knowledge. In fact, you could be an absolute beginner, but then please take a moment before each step to be sure of what i'm saying. We'll be working on a cloned object, so if any mistakes happen, we'll just remove the item from the downloads folder and no harm done until it's fixed. But just in case your mouse goes on a click rampage and starts eating up at everything it sees, backup your game.
step 1. It's useful to have your major's GUID handy. If you have that already, skip to step 5.
steps 2-4
step 2. Double-click your major in Downloads, or if you already have SimPE open, Open the major package.
step 3. Click Object Data (OBJD), then Major - <custom name> on the right. Make sure Plugin View is selected at the bottom
As a general rule, in the default placement of tabs (if you have custom ones you already know this), the work flow will be Resource Tree on the left --> Resource List on the right --> Plugin View at the bottom.
step 4. Look in the GUID field and copy that number to Notepad or Sticky Notes or a piece of paper.
step 3. Click Object Data (OBJD), then Major - <custom name> on the right. Make sure Plugin View is selected at the bottom
As a general rule, in the default placement of tabs (if you have custom ones you already know this), the work flow will be Resource Tree on the left --> Resource List on the right --> Plugin View at the bottom.
step 4. Look in the GUID field and copy that number to Notepad or Sticky Notes or a piece of paper.
step 5. Now we're going to clone the in-game diploma. If you already have one (for instance the one i provided with the jewellery major), skip ahead to step 12.
steps 6-11
step 6. If it's not already done, open SimPe, and open Object Workshop.
step 7. Start the workshop. It'll take a while, but there's no going around it. Read ahead for something to do :p.
step 8. When it finally opens, you'll have a nice and tidy list of a humongous number of objects. Go on and browse, but what we need is all the way down in Unknown. Expand that from the + button.
step 9. You only need to scroll down a little bit, because our intended target's name starts with apostrophes. Click on it then select Next (the blue arrows above the list)
step 10. In the next panel, you need to make sure the Task option says Clone, not Recolour; tick all the boxes; and finally press the Start button.
step 11. You can just click Finish in the next panel, and OK when the pop-up shows. It'll then ask you to Save your object: name it something recognisable (mine says diploma_override), and be sure to remember in which folder it resides. You'll always be able to open it in SimPE no matter where it is, but the game won't see it unless it's in Downloads.
step 7. Start the workshop. It'll take a while, but there's no going around it. Read ahead for something to do :p.
step 8. When it finally opens, you'll have a nice and tidy list of a humongous number of objects. Go on and browse, but what we need is all the way down in Unknown. Expand that from the + button.
step 9. You only need to scroll down a little bit, because our intended target's name starts with apostrophes. Click on it then select Next (the blue arrows above the list)
step 10. In the next panel, you need to make sure the Task option says Clone, not Recolour; tick all the boxes; and finally press the Start button.
step 11. You can just click Finish in the next panel, and OK when the pop-up shows. It'll then ask you to Save your object: name it something recognisable (mine says diploma_override), and be sure to remember in which folder it resides. You'll always be able to open it in SimPE no matter where it is, but the game won't see it unless it's in Downloads.
step 12
step 12. With the diploma clone now open, we're interested in 3 sections of the Tree, but not changing the GUID. We want an object that replaces the original, and so it must have the same identifier in-game. Now, the first thing we'll look at is Text Lists (STR) - arrow 1 on the left, Dialog prim string set - arrow 2 on the right. You'll notice it's organised as a list of majors, then a list of honours, and finally the main body of the Read Sim's Diploma notice. We're going to Add another entry with the button marked with arrow 3 on the left side of this list, which will increase the number in brackets, but the text will be copied from whatever had been selected previously (default is the first entry, Undeclared). If you follow the 4th arrow all the way down, you'll find your new entry (5). Click this row and type in your custom major's name. Remember or write down that number in brackets, then commit the file.

Note: if you play in a different language, you'll have to edit the corresponding strings.
Note: if you play in a different language, you'll have to edit the corresponding strings.
step 13
step 13. Next, we need Behaviour Constant (BCON) on the left, and Majors on the right. In this list, we'll Add a value from a button just like before, and in the Dec field we'll insert the number we took note of. Notice that the Hex value is updated automatically. Again, Commit, and because the safe part is done, also Save your package.
steps 14-20
step 14. So far so good, we have added information to the diploma, but we also need to call it in action. At the last stage, we'll be looking at Behaviour Function (BHAV) on the left, and Interaction - Read Diploma on the right.
step 15. Sadly, what follows is a bit of a spider's web. Scrolling down to the rectangle marked 0xA, you'll see that they start testing for major GUIDs. They all seem in order, but i checked, and for some reason, halfway down the list the flow skips to Undeclared, then cycles back to the middle. To be honest, instead of finding the last test and risking to break something, i chose the easy way and just put mine before the first. So this step is: click the first Test rectangle (it says Test Object Type (Stack Object ID, is instance of: 0x2E9CF007)), then Add from the button marked 1 in the screenshot. This will add your new rectangle right at the bottom of the list, with a number on the left and arrows coming out of it on the right. Don't worry about them yet.
step 16. On the lower right hand side of either this or the original rectangle click the blue underlined number that comes after "true:", OR in the list following the many Test Object Type-s, find the first rectangle that says Expression (Local 0x0002 := Literal 0x000n). This is the line that tells the game "If the sim graduated the major with this GUID, put in local variable 2 the text in String ranked n" (that is, with the visible number n-1). Is one of these expressions selected? Good, now click Add again from the button on the right. Again, this will add an identical rectangle at the bottom of the list.
step 17. Now that we have these new lines inserted, let's make them our own. Click your Test rectangle, and on the right select the tiny hammer and wrench icon marked 2 in the above photo.
In the middle of the pop-up, paste your major's GUID, and click OK, but don't close Notepad yet, because we need that second number.
step 18. Click your Expression rectangle , and in the last field type the rank of the corresponding string. It is formed by adding 1 to the number we wrote down.
step 19. Time to link these. Click your Test. On the right, you will see True Target (marked with arrow 3 earlier). It currently points to the Expression for Art major. Click the number in the field, and enter the number for your Expression rectangle. If this is the first test added, it'll be 0x0033. Notice how the arrow has moved. Now click False Target. Originally, it pointed to Biology, but if we are to make this the first test performed, then we need it to point to Art. Change the number to 0x000A. Again, notice how the arrow in the grand scheme of things has moved. For the Expression, the False Target already points to Error, and True towards Get Honours, where it meets all the other true-s. All good here.
step 20. The last step before testing is making the flow of the instructions coming from the top actually call on our test. For this, find line 0x8 saying Set to Next (Stack Object ID, Object of type GUID in temp 0/1), which now points to 0xA, Art. Change its True Target to your Test (0x0032 if it's the first check added).
For tidiness, you can move your two rectangles to the top of their respective sections by using the options to the left of the Add button. Be careful that the number there is in Hex, so if you type in 16 lines, don't be surprised that it'll actually move 22. Whether you move them or not, the true and false targets will follow them around, updating the numbers they point to.
step 15. Sadly, what follows is a bit of a spider's web. Scrolling down to the rectangle marked 0xA, you'll see that they start testing for major GUIDs. They all seem in order, but i checked, and for some reason, halfway down the list the flow skips to Undeclared, then cycles back to the middle. To be honest, instead of finding the last test and risking to break something, i chose the easy way and just put mine before the first. So this step is: click the first Test rectangle (it says Test Object Type (Stack Object ID, is instance of: 0x2E9CF007)), then Add from the button marked 1 in the screenshot. This will add your new rectangle right at the bottom of the list, with a number on the left and arrows coming out of it on the right. Don't worry about them yet.
step 16. On the lower right hand side of either this or the original rectangle click the blue underlined number that comes after "true:", OR in the list following the many Test Object Type-s, find the first rectangle that says Expression (Local 0x0002 := Literal 0x000n). This is the line that tells the game "If the sim graduated the major with this GUID, put in local variable 2 the text in String ranked n" (that is, with the visible number n-1). Is one of these expressions selected? Good, now click Add again from the button on the right. Again, this will add an identical rectangle at the bottom of the list.
step 17. Now that we have these new lines inserted, let's make them our own. Click your Test rectangle, and on the right select the tiny hammer and wrench icon marked 2 in the above photo.
In the middle of the pop-up, paste your major's GUID, and click OK, but don't close Notepad yet, because we need that second number.
step 18. Click your Expression rectangle , and in the last field type the rank of the corresponding string. It is formed by adding 1 to the number we wrote down.
step 19. Time to link these. Click your Test. On the right, you will see True Target (marked with arrow 3 earlier). It currently points to the Expression for Art major. Click the number in the field, and enter the number for your Expression rectangle. If this is the first test added, it'll be 0x0033. Notice how the arrow has moved. Now click False Target. Originally, it pointed to Biology, but if we are to make this the first test performed, then we need it to point to Art. Change the number to 0x000A. Again, notice how the arrow in the grand scheme of things has moved. For the Expression, the False Target already points to Error, and True towards Get Honours, where it meets all the other true-s. All good here.
step 20. The last step before testing is making the flow of the instructions coming from the top actually call on our test. For this, find line 0x8 saying Set to Next (Stack Object ID, Object of type GUID in temp 0/1), which now points to 0xA, Art. Change its True Target to your Test (0x0032 if it's the first check added).
For tidiness, you can move your two rectangles to the top of their respective sections by using the options to the left of the Add button. Be careful that the number there is in Hex, so if you type in 16 lines, don't be surprised that it'll actually move 22. Whether you move them or not, the true and false targets will follow them around, updating the numbers they point to.
We assigned a custom value to the variable used for the notification, and the game can take it from here. Commit again, save, and that's it. Unless you have a lot of custom majors... but it gets easier with every time.
Testing: It helps if you have a test neighbourhood which won't make you cry if broken. Mine used to be called just Test, but now it's "Darkest corner of the world", because it really felt like i was doing shady things (i lost track of the number of times my tests failed. The most hilarious was when i accidentally pointed to line rank D in strings, the one saying "with all the rights, privileges, and honors thereto pertaining here and elsewhere". Imagine that repeated twice in your diploma :p. But it helped in that i realised i need to point straight to the strings, and not to BCONs). It also helps if someone's already graduated your custom major and there's a diploma on the wall. Read that. Does it say what it needs to? Yay! Does it point to the line above it? Then you need to add 1 to the string number in the Expression rectangle. Is there a sad jump bug? Check those links above, see if from line 0x8 the arrows flow as they should. Does the game crash entirely? Oh my. It might be easier to start over.
And that took about four hours to write. Still, less than the research. If there are mistakes or dodgy instructions, please let me know, i wouldn't want anyone's game to break because of this attempt.
saint_diana, true Ravenclaw, perpetually amused that Galadriel is Arwen's granny
Who Posted
|