PDA

View Full Version : A very minor problem, but it's driving me crazy


jasonduskey
18th Jun 2008, 4:25 AM
I'm trying to make a trophy for a contest. It has a simple BHAV effect, it restores all needs to 100%. It looks good and the function works OK in-game, but the pie menu option doesn't appear correctly. The name of the pie menu string is "Refresh", but in-game, the option appears as "View". (it's a decorative object, appears in Decorative- Sculptures) I've tried creating another string with the same name a few lines down and linking the pie menu function to the new string, as well as importing a new TTAB and TTAs. Is there any way to fix this without scrapping the object and starting over again?

Jasana_BugBreeder
18th Jun 2008, 7:51 AM
1. Your TTAB and TTAs have group 0x7F18E0F0 - it's bad because it means they are overriding semiglobals, so _all_ objects using PaitingGlobals would have the same menu as your trophy. You must change group to 0xFFFFFFFF (on Resource View tab, paste this to Group and click 'force commit').
2. Looking at your location - any chances that your game's language is not English? If yes, then note that you changed menu texts for English only, other languages stay the same. At least click 'Default lang only' - so that text from English would be used regardless of what language is used in the game - and maybe add translated menus for your native language.

jasonduskey
18th Jun 2008, 4:03 PM
I tried changing the group in both TTAB and TTAs to 0xFFFFFFFF. That still didn't resolve the problem. The game is installed in English, I don't think that's the problem.

Jasana_BugBreeder
18th Jun 2008, 5:38 PM
Looks like I missed one thing (both of my previous notes are still valid, but if you have English game then at least language issue can be cleared for yourself :)).
Take a look at your 'Interaction - View - TEST' BHAV - it contains calls of Add/ChanngeActionString, for example
[prim 0x0032] Add/Change the Action String (Add / Change Interaction string Mode,
Disabled: False,
[Fallback: SemiGlobal] "View" [MakeAction:0x02 (Private)])
This line modifies menu name, to the string taken from semiglobal.

I suppose you don't need as complex guardian BHAV as View has, really - with joining - or you want it?
If not - it's better to write a simpler bhav - for example, simply checking if object is in use and returning true/false - instead of this complex bhav.
If you do want it as complex as it is, then you need to import STR# with instance 0x12E from semiglobal (you'll need to change its group to 0xFFFFFFFF, too) and change the strings there (and also check 'default language only'). I don't know if you may need it, though - that guardian bhav seems to add, in some conditions, menu named 'Offer Lessons To .../$Object' - can there really be such menu on a statue/painting? 8-|

jasonduskey
20th Jun 2008, 2:09 PM
I tried making the guardian BHAV "In Use?" (global, 0x0102) but that had no effect.

I just realized I can create the same effect by cloning the statue of Jumbok IV (the career reward) I'll try it and see if it works before I drive myself any crazier messing with BHAVs