Register forum user name Search FAQ

Gammon Forum

Notice: Any messages purporting to come from this site telling you that your password has expired, or that you need to "verify" your details, making threats, or asking for money, are spam. We do not email users with any such messages. If you have lost your password you can obtain a new one by using the password reset link.
 Entire forum ➜ SMAUG ➜ SMAUG coding ➜ SMAUG Max Level

SMAUG Max Level

It is now over 60 days since the last post. This thread is closed.     Refresh page


Posted by Cooldown   (18 posts)  Bio
Date Sun 02 May 2010 06:12 PM (UTC)
Message
I have a pretty stock SMAUG FUSS 1.9 which I downloaded last week. It runs perfectly fine but I want to change the max level. Every time I do this, it changes just fine, but some of the imm commands (wizhelp and others) do not work anymore. Also when looking at score, it says my Wizlevel is 65. Is there something I'm missing?
Top

Posted by Twisol   USA  (2,257 posts)  Bio
Date Reply #1 on Sun 02 May 2010 06:16 PM (UTC)

Amended on Sun 02 May 2010 06:17 PM (UTC) by Twisol

Message
I know absolutely nothing about SMAUG, so take this with a whole shaker's worth of salt. But... Is it possible that the "wizlevels" are considered to start after MAX_LEVEL? So if MAX_LEVEL is 100, and your level is 150, you'd be considered to have wizlevel 50? So if you change MAX_LEVEL to 125, your wizlevel would drop to 25. Maybe?

'Soludra' on Achaea

Blog: http://jonathan.com/
GitHub: http://github.com/Twisol
Top

Posted by Cooldown   (18 posts)  Bio
Date Reply #2 on Sun 02 May 2010 06:30 PM (UTC)
Message
In the code, imm levels are dynamic. They take MAX_LEVEL and alter it. So highest level is 917, this would be the highest level immortal. MAX_LEVEL - 15 is what it has for mortal levels, which would be 902 mortal levels. I looked at that part of the code for a long time. Also after seeing this error I did a grep '65' * in the source directory to see if it was hard coded somewhere and cannot find it being hard coded into commands. Unless the actual commands.dat file is hard coded this way, but that wouldn't explain why some imm commands work and some don't. redit, goto, things like that work. wizhelp and others don't.
Top

Posted by Nick Gammon   Australia  (23,070 posts)  Bio   Forum Administrator
Date Reply #3 on Sun 02 May 2010 08:22 PM (UTC)
Message
From commands.dat:


#COMMAND
Name        wizhelp~
Code        do_wizhelp
Position    100
Level       51
Log         0
End


It looks like you may have to go through that and fix up levels there too.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Cooldown   (18 posts)  Bio
Date Reply #4 on Mon 03 May 2010 08:20 AM (UTC)
Message
I tried changing the help level of wizhelp in the commands.dat and it still doesn't work. Tried changing MAX_LEVEL to 70, it lists half the wizhelp commands that it should. 69, 68, etc. all the way down to 65, none of them work fully except level 65, which is what it was originally anyways. I guess its a step in the right direction since it wasn't showing wizhelp at all before, but I just tried setting my chars pfile to be level 70 instead of 65, and he can see all the wizhelp info but can't be shown on the who list. This still doesn't explain why if I change MAX_LEVEL that the help files don't work.
Top

Posted by Nick Gammon   Australia  (23,070 posts)  Bio   Forum Administrator
Date Reply #5 on Mon 03 May 2010 11:28 AM (UTC)
Message
Did you change the levels for the wizard commands themselves?

Inside do_wizhelp there is this test:


 if( cmd->level >= LEVEL_HERO && cmd->level <= get_trust( ch ) )
  --- show the command


In other words, wizhelp shows commands that are in the range LEVEL_HERO to your character's level. So if you left all the wizard commands as (say) level 60 commands, they will fail that test.

If imms are 903 to 917 then for wizhelp to show them, the commands in the commands.dat file must have a level in that exact range.

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Nick Cash   USA  (626 posts)  Bio
Date Reply #6 on Mon 03 May 2010 08:46 PM (UTC)
Message
You are not the first to encounter this problem:

http://www.gammon.com.au/forum/bbshowpost.php?bbsubject_id=9185

Nick is right, it is almost assuredly your need to change the level of -all- wizcommands in command.dat. If you look at the above post, the poster shows the steps he went through to correctly change the max level as well.

~Nick Cash
http://www.nick-cash.com
Top

Posted by Cooldown   (18 posts)  Bio
Date Reply #7 on Tue 04 May 2010 05:24 PM (UTC)
Message
It seems it was the commands.dat that was preventing wizhelp from acting properly. Odd, I just thought it was used for help files. Thanks for the help on this.
Top

Posted by Nick Gammon   Australia  (23,070 posts)  Bio   Forum Administrator
Date Reply #8 on Tue 04 May 2010 08:26 PM (UTC)
Message
Commands.dat is the file that links what you type (eg. "who") to the internal function that handles it (eg. do_who). So it is very important. It also specifies the minimum level to do the command, and the minimum position (eg. standing, fighting). The "log" parameter is for logging some commands (eg. things an imm might do like booting someone).

- Nick Gammon

www.gammon.com.au, www.mushclient.com
Top

Posted by Cooldown   (18 posts)  Bio
Date Reply #9 on Mon 10 May 2010 01:30 PM (UTC)
Message
So now I have my max mortal level to 902, max imm 917. I'm having a problem with the xp. It goes into the negatives at some point. I actually want it to be a set amount of xp per every 100 or so levels. Is there an easy way to do this?
Top

The dates and times for posts above are shown in Universal Co-ordinated Time (UTC).

To show them in your local time you can join the forum, and then set the 'time correction' field in your profile to the number of hours difference between your location and UTC time.


28,336 views.

It is now over 60 days since the last post. This thread is closed.     Refresh page

Go to topic:           Search the forum


[Go to top] top

Information and images on this site are licensed under the Creative Commons Attribution 3.0 Australia License unless stated otherwise.