Author Topic: nwnx_hak  (Read 1308 times)

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
nwnx_hak
« on: June 20, 2011, 01:09:16 pm »


               I just saw this over on nwnx.org

[quode]
nwnx_haks
- New alpha plugin. Allows abitrarily hiding haks and setting a
fallback TLK for players logging in. Currently the script that
checks whether a login is 'enhanced' or not is hardcoded. Haks
can be hidden by level. E.g. a 'basic level' (1) that includes
a top hak with custom classes & a 'full level' that includes
tilesets, etc. It would be up to the builder to ensure that
a player didn't go places that had content he/she did not have the
haks to see. I use it to add custom haks and also a fallback
to CEP and hiding server side HAKs from players.
- Functions: exposed to scripts
int SetFallBackTLK(string sTLK);
int SetHakHidden(string sHak, int nLevel = 1);
void DumpHakList();
void SetPlayerEnhanced(object oPC, int nEnhanced);

[/quote]


Im unsure of the exacts of it, but it sounds like it allows for the server admin to 'hide' haks from the players.
Meaning they could potentially have unlimited serverside hak's, without requiring players to have matching hak's.


Is anyone up to the task of porting to windows?
               
               

               
            

Legacy_leo_x

  • Sr. Member
  • ****
  • Posts: 403
  • Karma: +0/-0
nwnx_hak
« Reply #1 on: June 20, 2011, 05:15:18 pm »


               yes, i explained it rather poorly and feel as tho i'm going to re-explain it poorly too. '<img'>  it allows builders to hide custom haks and the custom tlk from players.

each hak can have an integer assigned to it that would indicate 'hak level', for lack of a better phrase.  then via dialogue, or whatever, a player can indicate which 'hak level' he/she has downloaded and then forward when they log in they will see all the haks at their 'hak level' and if they don't actually have the haks will get booted as normal.

one could easily hide any server side haks from a player with no intention of them ever having it and players could log in without it just fine.

i hope i've given a better gist of it.  naturally there are many caveats in doing this for stuff that needs to be distributed to players.  my goal was to be able to slowly ween my server off of CEP or to diverge from it in the future.  using the cep2_custom.hak for client side stuff is a pain for players that play other servers too.  it also can't easily be versioned, tho I think Higher Ground does it somehow.

a quick example: in my module i have 2 levels level 1: custom top hak (custom classes). level 99: server side haks that players will never see and never need care about.
               
               

               


                     Modifié par pope_leo, 20 juin 2011 - 04:22 .
                     
                  


            

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
nwnx_hak
« Reply #2 on: June 20, 2011, 05:21:37 pm »


               I will have your babies if you port it to windows.
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
nwnx_hak
« Reply #3 on: June 21, 2011, 04:23:04 pm »


               

pope_leo wrote...

i hope i've given a better gist of it.  naturally there are many caveats in doing this for stuff that needs to be distributed to players.  my goal was to be able to slowly ween my server off of CEP or to diverge from it in the future.  using the cep2_custom.hak for client side stuff is a pain for players that play other servers too.  it also can't easily be versioned, tho I think Higher Ground does it somehow.


part of our visualeffects.2da

4105    HGVFX_CURRENT_VERSION_IS_BETA_21               ****       ****                ****                ****                ****               ****                 ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                ****
4106    HGVFX_CURRENT_VERSION_IS_BETA_22               ****       ****                ****                ****                ****               ****                 ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                ****
4107    HGVFX_CURRENT_VERSION_IS_BETA_24               ****       ****                ****                ****                ****               ****                 ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                ****
4108    HGVFX_CURRENT_VERSION_IS_BETA_25               ****       ****                ****                ****                ****               ****                 ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                ****
4109    HGVFX_UPGRADE_TO_VERSION_13                    D          0                   ****                ****                ****               smp_desecrate100     ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                0
4110    HGVFX_UPGRADE_TO_VERSION_14                    D          0                   ****                ****                ****               smp_desecrate100     ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                0
4111    HGVFX_UPGRADE_TO_VERSION_15                    D          0                   ****                ****                ****               smp_desecrate100     ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                0
4112    HGVFX_UPGRADE_TO_VERSION_16                    D          0                   ****                ****                ****               smp_desecrate100     ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                0
4113    HGVFX_UPGRADE_TO_VERSION_17                    D          0                   ****                ****                ****               smp_desecrate100     ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                0
4114    HGVFX_UPGRADE_TO_VERSION_18                    D          0                   ****                ****                ****               smp_desecrate100     ****                ****                ****             ****                ****               ****                ****                ****               ****                ****               ****               ****               ****               ****               ****         ****          ****             ****           ****                0

From an area onenter:


        /* do not remove the beta 5 and beta 11, as they signify changes to new compatibility checks */
        effect eUpgrade = SupernaturalEffect(EffectVisualEffect(HGVFX_CURRENT_VERSION_IS_BETA_5));
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eUpgrade, oGreeter);
        eUpgrade = SupernaturalEffect(EffectVisualEffect(HGVFX_CURRENT_VERSION_IS_BETA_11));
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eUpgrade, oGreeter);

        /* current version upgrade VFX */
        eUpgrade = SupernaturalEffect(EffectVisualEffect(HGVFX_CURRENT_VERSION_IS_BETA_25));
        ApplyEffectToObject(DURATION_TYPE_PERMANENT, eUpgrade, oGreeter);

Just make sure the vfx you use is eye-popingly hard to ignore. We use a massive desecration field that is fairly lag-inducing (from the PRC iirc).

Funky
               
               

               


                     Modifié par FunkySwerve, 21 juin 2011 - 03:26 .
                     
                  


            

Legacy_leo_x

  • Sr. Member
  • ****
  • Posts: 403
  • Karma: +0/-0
nwnx_hak
« Reply #4 on: June 24, 2011, 04:06:58 pm »


               

Baaleos wrote...

I will have your babies if you port it to windows.


unfortunately, I don't know anything about windows development.  there doesn't seem too much interest in it so far, so kind of doubting it would be ported.  dunno.

@ Funky: Thanks for sharing!  Naturally, I feel my plugin works better for my servers needs, but this is a clever way of versioning the hak for sure.
               
               

               
            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
nwnx_hak
« Reply #5 on: June 24, 2011, 08:16:00 pm »


               

pope_leo wrote...

@ Funky: Thanks for sharing!  Naturally, I feel my plugin works better for my servers needs, but this is a clever way of versioning the hak for sure.


Oh, I wasn't offering the plugin, just demonstrating the versioning method, which is acaos'. Our hak plugin is one of the very few things we've kept to ourselves, and allows us additional capabilities beyond nwnx_hak. Though I *was* poking fun at acaos about you getting wise to his game the other day. '<img'>

Oh, by the way, serious props on the other plugins you released - the damage shield functionality is going to save me all kinds of headaches. '<img'>

Funky
               
               

               


                     Modifié par FunkySwerve, 24 juin 2011 - 07:18 .
                     
                  


            

Legacy_leo_x

  • Sr. Member
  • ****
  • Posts: 403
  • Karma: +0/-0
nwnx_hak
« Reply #6 on: June 25, 2011, 11:43:29 am »


                Right, right.  I wouldn't expect you to share that.  I am curious how some of the fallback stuff  was done since it seems rather tricky, but for my purposes I just want to let people log in, read a few signs, play for awhile, then download the haks.

Cheers, glad to hear it!

Out of curiositty, is Acaos working on any public nwnx stuff any more?  I took a peek at the new core2.8  nwnx stuff and it seems he's absent.
               
               

               


                     Modifié par pope_leo, 25 juin 2011 - 05:33 .
                     
                  


            

Legacy_FunkySwerve

  • Hero Member
  • *****
  • Posts: 2325
  • Karma: +0/-0
nwnx_hak
« Reply #7 on: June 25, 2011, 06:48:55 pm »


               He's been mostly absent from NWN altogether, though I still consult him on our PW from time to time. He's only posting on our boards at the rate of once a month or so, and isn't doing anything with NWNX or CEP at the moment so far as I know. I'm learning a bit about making plugins from him on the side, however.

Funky
               
               

               
            

Legacy_zunath

  • Full Member
  • ***
  • Posts: 152
  • Karma: +0/-0
nwnx_hak
« Reply #8 on: July 21, 2011, 07:58:10 pm »


               This sounds incredibly awesome, but being the Linux noob that I am I'm having trouble compiling it. The other plugins had .so files made already, but this one doesn't. Can someone walk me through the steps of compiling it or send me the .so file? Would be greatly appreciated!
               
               

               
            

Legacy_Wallack

  • Full Member
  • ***
  • Posts: 221
  • Karma: +0/-0
nwnx_hak
« Reply #9 on: May 23, 2012, 02:06:34 pm »


               Would it make able for players to login, for example, in a server with CEP and PRC installed but requiring only the CEP haks ? so if they doesn't have the PRC haks installed they won't be able to use the PRC new content?

I would like to use it but it should have port to windows first... '<img'>
               
               

               
            

Baaleos

  • Administrator
  • Hero Member
  • *****
  • Posts: 1916
  • Karma: +0/-0
nwnx_hak
« Reply #10 on: May 23, 2012, 10:49:34 pm »


               from what I know
Yes - it would hide those haks from the clients, allowing the client to log in
However, if they attempted to go into an area that required those visuals or tilesets  -it would crash them.

Remember - the requirement for haks on client side is there to help them avoid crashes.

If this was on windows - I would be using it to create unlimited server side hak's which would get me around the 16k limit, even though we have the cep_custom hak, that too will run out of space - this plugin would give unlimited capacity, without requiring the client to have matching haks.