I'm running through the world right now, and I'm basically looking at some interface stuff right now that I'd like to change back to the old old style of UO. Can some of these be toggled through javascript or am I looking at some source code changes?
My list:
Disable the little menus that come up for everything
Disable the information panels that pop up when the cursor hovers over an item
Fonts for everything should default to old style font, not new updated one
When stacked items are clicked, format should be like "100 gold coins" not "Gold Coins: 100".
Gray Name = Innocent + No Fame, Blue name = Fame + Good Karma, Red name = Fame + Bad Karma (will require additional scripts later though)
How do I keep players visible when they log out?
I want to change the help menu.
I want to remove that weapon book thing from the paperdoll.
Is it still possible to set bodies to have "full body" hues, which means even underwear is hued (infact, is it still possible to do this to any item? I remember some things specifically could either be partially hued [capes on rat men] or completely [a ratman's whole body])
And in general, what's a good rule of thumb to determine what's going to have to be a source code change and what is a Javascript change?
Changes
-
giwo
- Developer
- Posts: 1780
- Joined: Fri Jun 18, 2004 4:17 pm
- Location: California
- Has thanked: 0
- Been thanked: 0
I wouldn't say there's a firm line for what can be done in JS and what will need to be code. Honestly we are still in a transition period (albeit a very long one) of moving more and more code out to JS.
Disabling most of the client features you mentioned can be done by editing one of the login packets in the source. Look around line 2194 in CPacketSend.cpp
Offline PC's will always dissapear to non-GM's. To show offline players to GM's, try finding the setting in the uox.ini SHOWOFFLINEPCS and set the value to 1.
A full body hue can be accomplished by using 'dye VALUE and targeting a character. Note some hues automatically color the underwear, some do not. As for capes on rat men, I'm pretty sure that would have to be an entirely separate model number for the NPC, as I don't think OSI ever allowed monsters to wear clothes.
As for editing the help menu, that would need to be done in the code, I believe. Try looking in gumps.cpp.
Disabling most of the client features you mentioned can be done by editing one of the login packets in the source. Look around line 2194 in CPacketSend.cpp
Offline PC's will always dissapear to non-GM's. To show offline players to GM's, try finding the setting in the uox.ini SHOWOFFLINEPCS and set the value to 1.
A full body hue can be accomplished by using 'dye VALUE and targeting a character. Note some hues automatically color the underwear, some do not. As for capes on rat men, I'm pretty sure that would have to be an entirely separate model number for the NPC, as I don't think OSI ever allowed monsters to wear clothes.
As for editing the help menu, that would need to be done in the code, I believe. Try looking in gumps.cpp.
Ratmen didn't actually wear new capes, it was just automatically a part of their body and when you tried to hue a ratmen it would only hue his cape. Kind of like when you try to hue a halberd it would only hew the metal part and not the pole.giwo wrote: A full body hue can be accomplished by using 'dye VALUE and targeting a character. Note some hues automatically color the underwear, some do not. As for capes on rat men, I'm pretty sure that would have to be an entirely separate model number for the NPC, as I don't think OSI ever allowed monsters to wear clothes.
Is there any documentation for the c++ files? How do I handle these APDU numbers? Addition? Some of the numbers in this list don't have an explanation for what they do. Trying to just create a Pre-Renaisannce era, but can I still use expansion pack artwork?
-
giwo
- Developer
- Posts: 1780
- Joined: Fri Jun 18, 2004 4:17 pm
- Location: California
- Has thanked: 0
- Been thanked: 0
Ahh ok, I never noticed some of the hues worked that way on monsters as well as PC's.
There is very little documentation on the source, beyond what exists in the source itself. But I like to think of myself as a UOX3 dictionary. As for those values, you can | them or just add them together. Right now I think we basically enable all client features.
I'm pretty sure that the artwork is not reliant upon the features enabled on the client. So as long as you have an expansion client, they should display the new artwork.
There is very little documentation on the source, beyond what exists in the source itself. But I like to think of myself as a UOX3 dictionary. As for those values, you can | them or just add them together. Right now I think we basically enable all client features.
I'm pretty sure that the artwork is not reliant upon the features enabled on the client. So as long as you have an expansion client, they should display the new artwork.
If I wanted to add my own flags to give people with High Fame and low karma a red name and people with High Fame and High Karma a blue name, what files and methods would I need to look through?
I got to flag the person as soon as they meet the requirements.
I got to flag the person as soon as they meet the requirements.
Code: Select all
COLOUR CSocket::GetFlagColour( CChar *src, CChar *trg )
{
/*
* Yellow = 0x0035 //Saints
*
* Green = 0x0043 //Allies
* Blue = 0x0058 //Goods
* Gray = 0x03B2 //Neutrals
* Red = 0x0026 //Bads
* Orange = 0x0030 //Attackables
*
* Brown = //Animals
*
* */
COLOUR retVal = 0x0058;
switch( trg->FlagColour( src ) )
{
//ToDo: Add conditions for recognizing Good and bad
//case FC_GOOD: retVal = 0x0058; break; // Blue
case FC_INNOCENT: retVal = 0x03B2; break; // Gray
//case FC_BAD: retVal = 0x0026; break; // Red
case FC_NEUTRAL: //Find suitable value for Brown/Beige color
case FC_CRIMINAL: retVal = 0x0030; break; // Orange
default: retVal = 0x03B2; break; // Gray
case FC_MURDERER: retVal = 0x0030; break; // Orange
case FC_FRIEND: retVal = 0x0043; break; // Green
case FC_ENEMY: retVal = 0x0030; break; // Orange
case FC_INVULNERABLE: retVal = 0x0035; break; // Yellow
}
return retVal;
}