Welcome to
Mod The Sims
Online: 2217
News:
Have an account? Sign in:
pass:
If you don't have an account, why not sign up now? It's free!
Other sites: SimsWiki
Reply  Replies: 7 (Who?), Viewed: 1043 times.
Search this Thread
Old 29th Aug 2007, 08:50 AM DefaultProblems With Foods #1
Melian_Alcarime
Original Poster

Lab Assistant

Join Date: Dec 2006
Posts: 63
Thanks: 1808 in 9 Posts
8 Achievements


Well, after looking through the tutorials on foods, BHAVs, BHAV guides, and various threads on this forum, I am a little stuck, and was hoping someone could help me. I only could get so much help from reading a discussion two other people were having with each other, especially as the only programming I am familiar with is the TrueBasic programming that I learned in a High School Computer Science class.

I have a few food related issues, but these two are giving me the most trouble. NOTE: I am only recoloring the foods, not meshing them.

-The first food item, cloned from Chili Con Carne, was relitively simple in one aspect. I was able to figure out how to make the textures work by replacing the GUID in the BHAVs, and changed the name in the Text Lists to Manhattan Clam Chowder, as it was called. However, this only changed the pie option in the Make, and Make Many menus. The other pie menus, for Have Lunch, Have Dinner, Serve Lunch, and Serve Dinner, remained Chili Con Carne.

After changing the instance of the other text lists in a desperate attempt, the pie option dissapeared completely from the Have and Serve Menus, but new menus, Call to Meal, and Assign Job, appeared on the refridgerator after that. I really can't figure out how to get the pie menus to work correctly, and would appreciate it if you could help me figure that out.

-The second food item I am working on, Lambas Bread, was originally cloned from a Toaster Pastry. Now, as you may know, a toaster pastry bears little resemblence to lambas behavior-wise. I know vaguely how to enable this new food item to appear in the Lunch and Dinner menus, as well as breakfast, but, I still don't know how to fix the pie menu problem, and I am having some trouble with the BCONs. So, I have a few questions to ask, that I hope one of you will be able to answer.

In order to change the minimum cooking skill required for the item to appear on the pie menu, there should be a BCON called Menu - Req. Skill - Single. One for group as well. However, the cloned Toaster Pastry doesn't have this, or the one for spoil time. Do I just create one, or do I import it from somewhere? I'm not really sure what I am supposed to do in that aspect.

Also, how do I edit a BCON? I am trying to increase the rate at which hunger goes up, and I know which BCON to change, but that one isn't there either. I was told that Hunger Pts is supposed to tell how quickly the sim eats the food (which I need to do as well), but I am not sure which lines do/mean what. Could somebody please help me? When it comes to BCONs, I really have no clue what I am doing, and I only understand BHAVs in theory as an If-Then statement.


Thank you so much for reading this long post. Also, thanks in advance even if you only think about replying. I know how aggravating newbies can be sometimes... sorry. I'm not good with number based programming. *hides*

EDIT: I now know how to edit a BCON, the problem is, how do I find out what each line does? Also, a recent discovery has lead me to believe that most of the things I am wanting to do can be found in the BCON with instance 0x1001, but which lines mean what?

"A world of fantasy at my hand; I am greater than the greatest man."
Last edited by Melian_Alcarime : 29th Aug 2007 at 09:14 AM.
Old 29th Aug 2007, 10:52 AM #2
Jasana_BugBreeder
Instructor

Join Date: Jan 2006
Posts: 616
Thanks: 29852 in 33 Posts
22 Achievements


Quote:
Originally Posted by Melian_Alkarime
However, this only changed the pie option in the Make, and Make Many menus.
You probably changed CTSS only (where the usual description is stored); you need to change STR# 0x12E - it has all the menus. Beware that those menus are different for all languages - so you either have to click 'Default lang only', or update all of them (or at least most used).
Quote:
Originally Posted by Melian_Alkarime
I know vaguely how to enable this new food item to appear in the Lunch and Dinner menus, as well as breakfast
You'll need to edit BHAVs for that. If you're not familiar with BHAV editing, check Echo's tutorials, they're quite helpful.
Old 29th Aug 2007, 11:06 AM #3
Melian_Alcarime
Original Poster

Lab Assistant

Join Date: Dec 2006
Posts: 63
Thanks: 1808 in 9 Posts
8 Achievements


Okay, I get it now. Thanks. I forgot to press the Default lang only, and that's why it didn't work. I didn't realize you had to do that. ^^;

Yeah. I knew how to edit the BHAVs, but, oddly enough, it isn't working. I added the lines, even tried connecting the dots, but after testing in-game I discovered that it still doesn't show up for lunch, which I assume means it's not showing up for dinner either. :S Do you have any idea why that could be screwing up?

Random question: How did you learn all of this stuff? I assume there isn't a manual or textbook for SimAntics. ;p

"A world of fantasy at my hand; I am greater than the greatest man."
Old 29th Aug 2007, 12:24 PM #4
Jasana_BugBreeder
Instructor

Join Date: Jan 2006
Posts: 616
Thanks: 29852 in 33 Posts
22 Achievements


Quote:
Originally Posted by Melian_Alcarime
I forgot to press the Default lang only, and that's why it didn't work.
I see, so your game language is not English(US), which is default one
Quote:
Originally Posted by Melian_Alcarime
I added the lines, even tried connecting the dots, but after testing in-game I discovered that it still doesn't show up for lunch, which I assume means it's not showing up for dinner either. :S Do you have any idea why that could be screwing up?
Most likely you didn't connected the rows properly, so those lines are just not executed, or maybe you forgot to hit Commit For the beginner, the most easy way to not mess up would be:
1) open BHAV, check the 'Special buttons' checkbox on the bottomright
2) select the line similar to the one you want to add
3) click the 'Insert via True' button (this way you don't need to correct the row references manually)
4) select the added row - inserted just below the current one - then click on the Builder button (to the right from Operands boxes, it has hammer and wrench crossed as icon) and change the value
5) repeat steps 2-4 until you add all the needed lines, then hit Commit, then save package
Don't forget that you have to add '("Menu Time Availability") Set Flag' lines, not the := assignments.
If it still not works, post a screenshot of your bhav
Quote:
Originally Posted by Melian_Alcarime
Random question: How did you learn all of this stuff?

There are bits of information here and there, and few tutorials about SimAntics - besides Echo's tutorials, you might want to check these tutorials by AdidasSG2.
When you want to figure out something not covered by existing tutorials, your only choice is to study Maxis' BHAVs. That's how all the tutorials were written
I have programming experience on 'normal' languages (like C and Perl), and I did played with BHAVs a bit in Sims1 days. So it was a bit easier for me
Old 30th Aug 2007, 03:27 AM #5
Melian_Alcarime
Original Poster

Lab Assistant

Join Date: Dec 2006
Posts: 63
Thanks: 1808 in 9 Posts
8 Achievements


Thank you. I finally got it to work. I actually feel a little stupid now. All I needed to do was lead the lines into each other before bringing them back to the original target.

Thank you so much for putting up with my n00bishness. It must be frustrating. I finally got everything figured out. Thank you. :D

This question isn't actually sims related but I plan on learning C, so, uhm... if you know, how much more complex is it than TrueBasic?

"A world of fantasy at my hand; I am greater than the greatest man."
Old 30th Aug 2007, 04:02 AM #6
mooman_fl
Lab Assistant

Join Date: Apr 2007
Posts: 74
Thanks: 375 in 1 Posts
5 Achievements


I wouldn't worry about "n00bishness" we have all been there.

Missing the obvious on an easy thing because you are looking so much for the hard things is not an uncommon thing to have happen.
Last edited by mooman_fl : 30th Aug 2007 at 10:03 AM.
Old 30th Aug 2007, 07:39 AM #7
Jasana_BugBreeder
Instructor

Join Date: Jan 2006
Posts: 616
Thanks: 29852 in 33 Posts
22 Achievements


Quote:
Originally Posted by Melian_Alcarime
All I needed to do was lead the lines into each other before bringing them back to the original target.
I see It's nothing to feel stupi about - you just need to get used to it
Quote:
Originally Posted by Melian_Alcarime
I plan on learning C, so, uhm... if you know, how much more complex is it than TrueBasic?
I used TrueBasic really long time ago, so I don't remember what it includes :-< Does it have pointers? If not, then pointers would be the thing you'll have to be used to - you certainly have to learn them, because in plain C there's no String type, only char* which is actually a pointer. Of course if you're going to learn C++, not C, you could use a string class from standard libraries, but then you'll have to learn classes.
Old 30th Aug 2007, 09:24 AM #8
mooman_fl
Lab Assistant

Join Date: Apr 2007
Posts: 74
Thanks: 375 in 1 Posts
5 Achievements


C or C++ (either one) is going to be a HUGE leap from TrueBasic.

In addition to the things Jasana mentioned, you will have to learn:

1. data types. I believe there are only strings and numbers in TrueBasic (correct me if I am wrong). Most other languages though have a variety of data types such as integers (int), longs, float, etc. That is in addition to pointers which is a form of memory address.

2. Type libraries is going to a BIG difference. Thinking of them as a collection of Declare Def statements is a very weak, but in the right direction, way of looking at them.

3. Functions and subs work a bit differently in C and C++ than they do in TrueBasic.

4. There are way too many syntax hurdles you will have to overcome than I can mention here.

And this is just to start. The difference between TrueBasic and C or C++ is the difference between a bicycle and an 18 wheeler. I don't mean to discourage you from learning them.... quite the contrary. I think if you can take the time and make the effort to learn them, then you will go far.

On the other hand... if you want to cut your teeth on advanced programming but want something more intuitive to what you already know, I might suggest starting with Visual Basic .NET. It is a true object oriented language like C and C++ are... but it uses a lot of the same terminology and some of the same syntax as TrueBasic. Microsoft has a free version here:

http://msdn2.microsoft.com/en-us/express/aa718406.aspx

Or you can try #Develop (my personal choice) which is a free and open source IDE that uses the .NET compilers. It will let you learn Visual Basic .NET AND C# (a new language that is a hybrid of Visual Basic and C). You can get that here:

http://sharpdevelop.com/OpenSource/SD/Default.aspx

The big difference between the two is that Microsoft left some functionality out of their Express version, such as the ability to create DLL libraries. Also as I mentioned, #Develop (pronounced "Sharp Develop" just like C# is "C Sharp") is usable for more than one programming language.

A good forum to visit while learning Visual Basic .NET or C# (since both use Microsofts .NET Framework) is:

http://www.xtremedotnettalk.com/

The people there are VERY knowledgeable on both languages. I have been a member of that forum for years.

Anyway... enough rambling. Hope that has given you the answer to your question (and then some).

EDIT: After posting I thought I would give you an example that compares the three languages. Here is a sample program that just assigns two numbers to variables and then prints the result:

TrueBasic:
Code:
Option nolet
x=5
y=4
sum = x+y
print "5 + 4 = "; sum


Visual Basic .NET
Code:
imports Microsoft.VisualBasic
imports System

public module MyModule

sub Main ()
Dim X as Integer
Dim Y as Integer
Dim sum as Integer

x=5
y=4
sum = x+y

Console.WriteLine("5+4 = "&sum)
end sub

end module


And in C#:
Code:
using System;
using System.Collections.Generic;

public class MyClass
{
public static void Main()
{
int x;
int y;
int sum;

x=5;
y=4;
sum=x+y;

Console.WriteLine("5+4 = "+sum);
}

}


Hope this gives you a little further insight.
Last edited by mooman_fl : 30th Aug 2007 at 05:25 PM.
Reply


Section jump:


Powered by MariaDB Some icons by http://dryicons.com.