Re: [newbie] exp for skills and spells and zedit probs

From: Patrick Dughi (
Date: 03/23/00

> Hi I want to added a small exp increase for each time a player uses a
> skill, to help remove the need just for killing to get exp.  I have an
> idea of adding something like
> *skills code in act.offensive.c etc*****
> hit = 12 *8; etc...
> exp = exp +30*(ch(level\3));
> }
> Which would add 30 * a third of the players level, to thier exp.
> However i am not a good coder and i have no idea whether this would work
> or not, or if this is totaly the wrong idea. Any help appriciated.

        Not sure about the 'hit' part above, but just use
GET_EXP(ch)=GET_EXP(ch) + (30*(GET_LEVEL(ch)/3));

        Remember though, you're doing integer math, so any fractions drop
off.. 1/3 = 0, etc.

> I also want to add someway of adding a small amount of exp for moving
> say 3 exp per move, but i have no idea where this would go, or how to do
> it. I have a thought that it may be able to go in ACMD(do_move), if it
> exists, but i am not sure, any help cheers.

        Sure it does, though, you probably only want to reward them for
actually moving (as opposed to walking in a dir and failing to enter).
You may have a less-than-immediately simple situation here, because
masters are accountable for making their followers move..However, the
function perform move is probably where you want to make your alterations.

Just check for 'TRUE' values from do_simple_move, and perform_move and if
so, reward the mover with 3 exp points;

GET_EXP(mover) += 3;

> Also i am still having trouble with zedit, it keeps saying no zone for
> that number, i am now sure that it is something to do with the top
> number, as i have got one zone working , but i can't seem to find the
> problem.  I have a zon for each wld file, i have set the zon top wld
> file, to the last(inclusive) vnum in the representative world file. But
> i still get problems, any ideas.

        This I don't know.  One issue that may come up is the fact that
Oasis (at least) assumes that all zones are 100 rooms large, starting at
(zone number) * 100, and ending at (zone number) * 100 + 99.  If you have
any zones outside this range, it will throw off all zones above this.
Also, zedit new is nefarious for messing up zone tables, and the sort, so
if you used that you may want to hand-verify your files (which you should
do anyway, because you can't zedit/etc some zones).


     | Ensure that you have read the CircleMUD Mailing List FAQ:  |
     |  |

This archive was generated by hypermail 2b30 : 04/10/01 PDT