The following warnings occurred:
Warning [2] Use of undefined constant SAPI_NAME - assumed 'SAPI_NAME' (this will throw an Error in a future version of PHP) - Line: 3388 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3388 errorHandler->error
/showthread.php 116 build_archive_link
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/inc/functions.php 3324 build_forum_breadcrumb
/showthread.php 195 build_forum_breadcrumb
Warning [2] Use of undefined constant IN_ARCHIVE - assumed 'IN_ARCHIVE' (this will throw an Error in a future version of PHP) - Line: 3331 - File: inc/functions.php PHP 7.4.33-nmm6 (Linux)
File Line Function
/inc/functions.php 3331 errorHandler->error
/showthread.php 195 build_forum_breadcrumb






Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
New Features Request
Author Message
RanXerox
Master
**

Posts: 550
Likes Given: 1
Likes Received: 12 in 9 posts
Joined: Dec 2010
Reputation: 19



Post: #61
RE: New Features Request
Okay, thanks for the explanation. Is there anything preventing you from using SPELLEFFECT instead of RESURRECT?
05-25-2013 08:21 AM
Find all posts by this user Like Post Quote this message in a reply
Ben
Sphere Developer
*****

Posts: 612
Likes Given: 2
Likes Received: 123 in 70 posts
Joined: Mar 2010
Reputation: 18

SphereCommunity

Post: #62
RE: New Features Request
Why not just override the default RESURRECT functions with a scripted one that uses the casting version? Then you don't have to deal with nasty workarounds in all your scripts. You would still be using the same function name.

AxisII's current version: 2.0.4j
AxisII SourceCode on Github
AxisII up to date changelog
05-28-2013 08:19 PM
Visit this user's website Find all posts by this user Like Post Quote this message in a reply
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #63
RE: New Features Request
Quote:13-07-2006, Nazghul
- Added: CURFOLLOWER, MAXFOLLOWER with no built-in functionality. These variables
change values on a status gump.
for ages all we got is this, it's 2 basic values but not the entire system. My ideia is finish this engine and get it fully working - and hardcoded.

Why hardcoded if it can be done using scripts? Because the idea is make it working for everyone just setting simple properties on chars/npcs, without needing a much more complex scripted engine which will need many tags, events, funcions, etc. I can make a custom script myself on my server, but the idea is make it working for the entire community, not just for me.

The engine is simple and can be easily made Smile

------------------------------------------------

The basics / Whats needed:
1) on/off setting on sphere.ini (EF_PetSlots already exists, but there's no use since the engine is incomplete)
2) CURFOLLOWER / MAXFOLLOWER (nothing to do here, properties already exists)
3) new CONTROLSLOTS property on NPCs (to determine how many CURFOLLOWER slots will raise/decrease). If not set on NPC, it wont use any slot.
4) OPTIONAL: new CURFOLLOWER.0, CURFOLLOWER.1 [...] returning pet UID [read-only]. Not really needed, but will be a huge improvement to allow ppl create custom scripts like a custom dialog showing all pets the player has, a custom spell/function to run on all pets of this player, etc. It's like a reverse <OWNER> function.

The fully working engine:
1) counter will raise when:
-unshrink some creature (@DClick on t_figurine)
-summon a creature using some spell (@Start on spells)
-get a pet transfered to you
-buy a pet on a npc (animal trainer, etc)
-retrieve a pet stabled on NPC

2) counter will decrease when:
-pet get removed (@Destroy)(this already includes pet die/shrink/stable I think)
-pet get untamed (@PetDesert, "all release" command or when owner attack it)
-pet get transfered to someone

3) prevent the actions (on 1) if it would exceed the MAXFOLLOWER limit
(This post was last modified: 08-28-2013 01:23 PM by Coruja.)
08-26-2013 08:32 AM
Find all posts by this user Like Post Quote this message in a reply
Rattlehead
Master
**

Posts: 290
Likes Given: 3
Likes Received: 8 in 6 posts
Joined: Jun 2012
Reputation: 8



Post: #64
RE: New Features Request
agreed coruja, this would be nice to have.

[Image: matts_siggy.gif]
08-26-2013 10:03 AM
Find all posts by this user Like Post Quote this message in a reply
Coruja
Sphere Developer
*****

Posts: 987
Likes Given: 5
Likes Received: 226 in 187 posts
Joined: Jul 2012
Reputation: 7

Dimension Shard

Post: #65
RE: New Features Request
today I noticed that EF_PetSlots still exists on .ini
I thought it had been removed, but still here (incomplete) with the message "incomplete, do not use until this warning is removed"

so there's not much left to do, half of the "structure" is already there, we only need add the CONTROLSLOTS property on NPCs and implement the raise/decrease functionality
08-28-2013 12:42 PM
Find all posts by this user Like Post Quote this message in a reply
Khaos
Master
**

Posts: 595
Likes Given: 166
Likes Received: 83 in 51 posts
Joined: Mar 2012
Reputation: 11



Post: #66
RE: New Features Request
So remind me later to start providing soft code scripts to do most of what is being said here... sounds on drop.. completely doable. Color overrides I am getting extreme to run some of my ideas now. I will look at the rest after I eat and get a nap in; but yeah. Minus razor at the moment from what I did read... I could script a good bit of this.

I am going to make a point in here I did in IRC. Tag's are your friend. Do not listen to what they used to tell you where they are bad and eat soooo many bytes. It costs more in memory to have one item in your world than it does to have a handful of tags.

As I explained in irc you could significantly remove tons of lag and memory usage just by scripting up a good vendor system using no items in its boxes... just generate buy lists with tags and sell lists to store information via tags.

Coruja I will look into controlslots and curfollowers I will look into as well. If resurrect wasn't fixed... I can script that fix too for you coruja -_-. I don't know how I feel about changing the hardcode to do the same thing. One is a spell and the other isn't.
(This post was last modified: 09-11-2013 12:21 PM by Khaos.)
09-11-2013 12:14 PM
Find all posts by this user Like Post Quote this message in a reply
Rattlehead
Master
**

Posts: 290
Likes Given: 3
Likes Received: 8 in 6 posts
Joined: Jun 2012
Reputation: 8



Post: #67
RE: New Features Request
(09-11-2013 12:14 PM)Khaos Wrote:  I am going to make a point in here I did in IRC. Tag's are your friend. Do not listen to what they used to tell you where they are bad and eat soooo many bytes. It costs more in memory to have one item in your world than it does to have a handful of tags.

but i assume it would still be a good idea and save some resources by using the unused slots for info in items first? ex. using more's for info that are not being used by something else rather than leaving them unused and using tags.

hopefully i made sense.

[Image: matts_siggy.gif]
09-12-2013 09:38 AM
Find all posts by this user Like Post Quote this message in a reply
Khaos
Master
**

Posts: 595
Likes Given: 166
Likes Received: 83 in 51 posts
Joined: Mar 2012
Reputation: 11



Post: #68
RE: New Features Request
Oh I understand that and it really depends. This comes back to an old argument of what else might be calling for those values. Though I don't plan on changing any hardcode to change this behavior in old code... it could happen (unlikely). Plus, when my pc is running (HDD is locked up from chkdsk and might be a bad windows file; ie I have to buy a new HDD to back mine up too and reformat) I am going to see how much code is being processed checking a MORE value and what it takes to store it. A tag is literally a byte per alphanumeric character you use. This can be really low in resource use.

Like I made a statement about vendors and like 500 of each item (even 50 is a lot). I can use one tag with 3 arguments in it. ItemID, Value, and Amount... and just that one line freed up 500 items. That is a lot of free memory and way less items. So even if you attached 50 tags to every player.. it still is not going to be as harsh on your server as 500 items in a vendor box for each item on a vendor.... on every vendor.

I would still use things like more and blank placeholders as such if you want. It might be easier just to remember a tag though when scripting without using a reference. I think that is more personal use. As I said, more could change in the hardcode one day... but most likely not. Again, preference.

If that does end up happening (using those empty slots for something else) I would give the community a weeks prior notice to get ready for it. I dont see it happening on my end though.

We can also look at small things as well with this. If you go the tag route; use small and conventional tag naming. tag0.reflectphysicaldamage=<value> uses more bytes that tag.reflectphysdam=<value> which also uses more bytes that tag0.rpd=<value>.

These are just small things to consider. I remember when I wasn't on the dev team; we were always told this was bad practice. If anyone remembers; Naz and I went round to round over things like this. Sometimes Naz was right; sometimes I could make a point or post one script and prove my point. Tags were never bad. They were bad back in the day with low rate PC hosts, buggy servers with memory leaks, and just limited usage of them. Now there is so many ways to take advantage of them; I suggest for people to reconsider their use. A tag is like making a definition or class in the hardcode. We do it with all programming. So why not use it to your advantage in softcoding? It could save you a lot of memory and create some really nice systems for yourself.
(This post was last modified: 09-13-2013 01:18 PM by Khaos.)
09-13-2013 01:11 PM
Find all posts by this user Like Post Quote this message in a reply
XuN
Sphere Developer
*****

Posts: 852
Likes Given: 102
Likes Received: 156 in 119 posts
Joined: Jul 2013
Reputation: 30



Post: #69
RE: New Features Request
It really depends on what and where are you scripting, if you are coding on a character I wouldn't access an item since tags are accessed faster than searching for an item and it's value/tag/whatever, I remember 55x times when you had to do 'try tag.value<blah>' to store dynamic tags, I disliked a lot, and tried to always use items with it's default values but, nowadays, its really easy to work with tags. I don't know how many values an item really have but it's still better having thes values x2 in tags than one item with all this values filled at your needs IMO.

BTW these tests sounds very interesting.
09-13-2013 05:12 PM
Find all posts by this user Like Post Quote this message in a reply
darksun84
Sir Spamalot
****

Posts: 1,687
Likes Given: 245
Likes Received: 162 in 151 posts
Joined: Mar 2012
Reputation: 35



Post: #70
RE: New Features Request
What about LIST ? i currently use it for recording players feats (LIST.feats_<uid>) Tongue
09-13-2013 05:45 PM
Find all posts by this user Like Post Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)