DMH-Online

Dungeon Masters Helper · Est. 2005

Dm Only Scripts

NWN Script: level_handler.htm

Author Sticky: Post Working Scripts Here
Kraloth Posted: Saturday, 06 July 11:11AM
I have no idea how many other versions of this there are in the thread; I don't have time to read all squillion pages. I'll post this anyway, "just in case".

All the code was written by J.S.Labuschagne on 2002-07-06.

1) Name: Level handling utilities.

2) Purpose: Allows you to figure out what level a PC is, give them enough experience for an arbitrary level, or calculate the min/max xp possible at any given level.

3) Notes: Does not take upper XP limit into account. Also, when calling get_player_level() you should ignore the second
argument; it is used for internal purposes.

4)
NWScript:
int min_xp_at_level(int L){
    if (L < 1) return 0;
    return (L - 1)*1000 + min_xp_at_level(L - 1);
}
int max_xp_at_level(int L){
    return min_xp_at_level(L + 1) - 1;
}
int get_player_level(object pc, int L=1){
    if(GetXP(pc) > max_xp_at_level(L))
        return get_player_level(pc, L+1);
    return L;
}
void set_player_level(object pc, int L){
    SetXP(pc, min_xp_at_level(L));
}
⌂ All Scripts ← PreviousNext → 👁 Category List

All Dm Only Scripts

📄 dm_helper 📄 get_pc_info 📄 get_pcs 📄 level_handler 📄 save_pc 📄 unlock_door