ServUO Version
Publish 58
Ultima Expansion
Endless Journey
Good morning everyone, I've been stuck trying to solve this problem for weeks now. In my shard, I've decided not to give players the option to choose custom skills when creating a new character. So, I modified the charactercreation.cs script to assign a pre-set template to each class. For example, if a player chooses "Blacksmith," they will be born with the skills and stats associated with that profession. Therefore, I need to completely remove the "ADVANCED" menu option to restrict player choice. I've tried removing every reference to "ADVANCED" from cliloc.enu, but it doesn't seem to change anything. I also tried searching for the "GUMP" on UOFIDDLER, but it's not there. I asked for help on Discord, and some users recommended using ClassicUO to solve the problem. They sent me two links, one for the installer and another for the Github repository. In the first case, I simply obtained an .exe file to launch the game through the client (similar to UOStream), and in the second case, I got a folder filled with files but no .exe. I assume I have to use Visual Studio to create the .exe file with the modified script, but when I run the code, I get numerous errors due to missing FNA and MP3sharp files. Now, I'm asking if any of you know how I can resolve this. I'm not necessarily tied to using ClassicUO; any method to solve the issue would be greatly appreciated! I believe many users would like to create a similar gameplay system, and resolving this problem could benefit the entire community. Thank you in advance to anyone who is willing to help.IMG_2820.jpg
 
1685130098387.png

Buttons are there so hmm... you can try removing it so it kinda "obfuscates" the option making it impossible to click. The whole creation gump is hardcoded in client but individual graphics can be changed. So to clarify... gump is there :)

The "cliloc" entry may also come from intloc.xxx or Professn.xxx but those two have old format and I don't think that there is working editor that can change those.
 
Last edited:
Removing the icon doesn't remove the option to select Advanced. It is hard coded in the client. To remove itwould require hex editing which is much more difficult than using ClassicUO.

Speaking of which I had the same problem with compiling ClassicUO. If you follow the instructions listed on the github it will compile. I am not 100% sure if it works with command prompt. If not I would recommend git bash.
 

Attachments

  • Screenshot_20230526_190147_Chrome.jpg
    Screenshot_20230526_190147_Chrome.jpg
    98 KB · Views: 11
Last edited:
The only other real option (other than using ClassicUO with mods) is to skip character creation entirely and pre-populate the character slots with dummy characters that go through a custom gump creation process after logging in.
 
View attachment 21870

Buttons are there so hmm... you can try removing it so it kinda "obfuscates" the option making it impossible to click. The whole creation gump is hardcoded in client but individual graphics can be changed. So to clarify... gump is there :)

The "cliloc" entry may also come from intloc.xxx or Professn.xxx but those two have old format and I don't think that there is working editor that can change those.
Could you tell me which script I need to modify and how to prevent clicking?
The only other real option (other than using ClassicUO with mods) is to skip character creation entirely and pre-populate the character slots with dummy characters that go through a custom gump creation process after logging in.
This is definitely a great solution. I tried downloading the script that performs this function, but my skills are very limited. Additionally, I have no idea how to bypass the gump with the profession selection.
Removing the icon doesn't remove the option to select Advanced. It is hard coded in the client. To remove itwould require hex editing which is much more difficult than using ClassicUO.

Speaking of which I had the same problem with compiling ClassicUO. If you follow the instructions listed on the github it will compile. I am not 100% sure if it works with command prompt. If not I would recommend git bash.
I have already tried compiling using GitBash. I managed to create the folder containing all the files, but when I try to create the .exe file with Visual Studio, it generates an error stating that the FNA and MP3Sharp files are missing. I then tried downloading the missing FNA files, but it still doesn't work and keeps giving me other errors.
 
Could you tell me which script I need to modify and how to prevent clicking?
There is no script so I have no idea what you are asking :) If you remove button graphic from mul/uop it will not allow to click it. Problem will be if you can click the label too. I don't have client to check. That is the most primitive way to prevent using this option. It's not 100% reliable as someone that can send packets etc can still use it but most of the people won't be able to :) Rest you can check server side after character creation.

For building set git config and use recursive clone as stated in the readme in main CUO repository. This will download all submodules like fna, mp3 etc.
 
There is no script so I have no idea what you are asking :) If you remove button graphic from mul/uop it will not allow to click it. Problem will be if you can click the label too. I don't have client to check. That is the most primitive way to prevent using this option. It's not 100% reliable as someone that can send packets etc can still use it but most of the people won't be able to :) Rest you can check server side after character creation.

For building set git config and use recursive clone as stated in the readme in main CUO repository. This will download all submodules like fna, mp3 etc.
Unfortunately, I have already removed the icon, but the label remains clickable nonetheless.
 
The trick to skipping character creation lies in sending the character list packet with every slot filled (you only need to use a string, you don't have to create the player character to do this).

For example, "Slot 1", "Slot 2", "Slot 3", etc...

This causes the "new" character button to be hidden, selecting a slot will attempt to login as normal, you just have to match the string from the slot name to the string in the login request to identify which slot to create a new character in; you then proceed with the login as normal, then present them with a gump that lets them modify the character template.

This trick can also be used to inject an arbitrary menu system with pagination support, essentially hijacking the character list and login packets to communicate the menu states and selections; you can re-send the character list packet at any time with updated contents.
 
The trick to skipping character creation lies in sending the character list packet with every slot filled (you only need to use a string, you don't have to create the player character to do this).

For example, "Slot 1", "Slot 2", "Slot 3", etc...

This causes the "new" character button to be hidden, selecting a slot will attempt to login as normal, you just have to match the string from the slot name to the string in the login request to identify which slot to create a new character in; you then proceed with the login as normal, then present them with a gump that lets them modify the character template.

This trick can also be used to inject an arbitrary menu system with pagination support, essentially hijacking the character list and login packets to communicate the menu states and selections; you can re-send the character list packet at any time with updated contents.
You are truly amazing, but unfortunately, I didn't understand much. My skills are really complex, and besides modifying existing scripts, I can't create them from scratch as you wrote to me. Thank you so much for the response, I have immense respect for you and your abilities.
 
Back