Release Notes:

Forum used to keep up to date and report bugs that involve the PRC.
bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#11 » Sun Jul 14, 2013 2:59 pm

The fundamental issue here beyond all else is the inventory of the PC. Any approach that uses/utilizes a PCs inventory is going to be a disaster when the inventory is full. As molag pointed out, items will be dropped to ground. Just an awful user experience. I even thought about having a temporary virtual item bin that could be used and coded some prototypes but none of them were any where near solid as far as issues go. I agree with you, though, that having a solid fix would be nice and the suggestion / approach that you emailed me was very creative and probably would work just fine but for inventory manipulation part.

One thing we could experiment down the road might be cutting down the GUI's available slots and keep like 30 slots reserved & hidden for coding like this. That may make what you suggested possible if it can be done.
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#12 » Sun Jul 14, 2013 7:21 pm

Ok! I got a solution!



We will destroy the save widget then do the unequip / equip. Then readd the widget. That will ensure your items will never be dropped to the ground.

I will update Kaedrins script to 1) Give a temporary stat boost to all ability scores by +12 for 4 seconds, and unequip/equip to execute twice with a 1 second delay in between.


How's that sound?


cmi_pc_loaded.nss update:

// Boost Stats temporarily so when items come off spell books dont get smoked
effect effectSTR = EffectAbilityIncrease(ABILITY_STRENGTH, 12);
effect effectINT = EffectAbilityIncrease(ABILITY_INTELLIGENCE, 12);
effect effectWIS = EffectAbilityIncrease(ABILITY_WISDOM, 12);
effect effectCON = EffectAbilityIncrease(ABILITY_CONSTITUTION, 12);
effect effectDEX = EffectAbilityIncrease(ABILITY_DEXTERITY, 12);
effect effectCHA = EffectAbilityIncrease(ABILITY_CHARISMA, 12);

ApplyEffectToObject(DURATION_TYPE_TEMPORARY, effectSTR, OBJECT_SELF, 4.0f);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, effectINT, OBJECT_SELF, 4.0f);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, effectWIS, OBJECT_SELF, 4.0f);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, effectCON, OBJECT_SELF, 4.0f);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, effectDEX, OBJECT_SELF, 4.0f);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, effectCHA, OBJECT_SELF, 4.0f);

UnequipSlotsEquipSlots();
DelayCommand(1.0f, UnequipSlotsEquipSlots());
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

AGhost_7
Posts: 2574

Re: Release Notes:

Post#13 » Sun Jul 14, 2013 8:00 pm

Its still going to annoy some wizards, clerics & etc. You're going to want to give temporary bonus spell slots for sure.

bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#14 » Sun Jul 14, 2013 8:23 pm

I'm doing that as well. It works on beta. I'm doing some more testing now. So far its definitely holing the inventory slots open.
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#15 » Sun Jul 14, 2013 9:12 pm

Spell slots aren't consistently sticking. But the inventory is good and the dual unequip is as well. There are no other solutions. I give a temporary inventory item with all the slots on it but it didn't hold them.
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#16 » Sun Jul 14, 2013 9:36 pm

I'm going to shelve that work until after the PRC release due to the issues presented. I got the items dropping to the ground issue by limiting inventory amount to require 3 open slots. Basically the 3 widgets we removed. But the spell slot issue is the real issue here, I tried several different trick with static inventory items and none of them ensured spell slots from items wouldn't get cleared.

Molag gave me a solution that BG used, but its resource intensive as you have to take an item from inventory, which forces you to have to iterate through a PC's entire inventory whereas my method requires no extra coding and server load.
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#17 » Tue Jul 16, 2013 8:22 pm

Deathward has been restored to pre-1.42 version for RoT characters. For CEXP, it will use the Kaedrin 1.42.1 version.
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

AGhost_7
Posts: 2574

Re: Release Notes:

Post#18 » Tue Jul 16, 2013 8:28 pm

Brian wrote:But the spell slot issue is the real issue here, I tried several different trick with static inventory items and none of them ensured spell slots from items wouldn't get cleared.

That's odd, this should work. Could you send me the code for that? I'm really new to scripting but I'd like to still see whats going on. You never know, I might get one of those ideas again :P

HEART2HEART50
Posts: 43

Re: Release Notes:

Post#19 » Tue Jul 16, 2013 9:56 pm

bsb5652 wrote:Deathward has been restored to pre-1.42 version for RoT characters. For CEXP, it will use the Kaedrin 1.42.1 version.


That's a fantastic compromise, and one that I'll grant hadn't occurred to me. Thanks, Brian! :D
Aging may be mandatory, but growing old is optional! :D

bsb5652
Site Admin
Posts: 3230
Contact:

Re: Release Notes:

Post#20 » Sun Jul 21, 2013 10:12 am

It's took a while and a lot of tinkering to figure out a way to cleanly do the unequip/equip process at login and have everything come out cleanly.

I have explored a host of options on the inventory management aspect. The one that was suggested to me where we would remove the return stone, save widget, and restore it afterwards will work, HOWEVER, it will remove it from your quick slot. This is not a good user experience, so I scratched that idea.

The best bet thus far is to limit the usable number of items in inventory by 5. This covers all situations for the most part since the counter could hit a bag or something ( we cant drop bags to the ground cleanly ). This way for people who log into the server after this is implemented will drop up to 5 items to the ground that are in inventory. You may see some of your equipped items being dropped in this case too due to the timing of the inventory restrict script firing and the time the unequips begin. After that, it will be smooth as glass.

Now, to the issue of timing between the equip and unequip. It has to be increased to .2 seconds for properties to come off cleanly and be reapplied. It also gives the temporary +12 to all stats and static inventory item with the bonus spell slots from items or stats on the item to register for your character ( these actions are necessary to prevent you from having to reset your bonus spell slots after each login. )

This is a 12 second operation. Which is kinda crappy, but necessary to get the effect proper. What we are going to do is fire a cutscene on login, that will freeze your character from being able to screw with the process stating something like welcome to ROT, character loading...

I have done some serious testing thus far, but I'm going to be calling on some hard core veterans to get in on beta once I'm totally done and make sure the process is solid and consistently working across the board. It's not a 100% solution, but damn near it.
Brian Bloom

Realms of Trinity Executive Producer & Game Creator
http://www.realmsoftrinity.com

Return to “Kaedrin PRC”

Who is online

Users browsing this forum: No registered users and 1 guest

cron