SphereCommunity
Archery arrow on ground - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: Archery arrow on ground (/Thread-Archery-arrow-on-ground)



Archery arrow on ground - BestBG - 06-14-2017 11:02 AM

I recently coded my own "miss" chance for @hit and now when someone shoots at someone arrows no longer fall on the ground at their feet or go into their bag. I've been trying different ways to get this to work but it isn't happening.

Code:
src.newitem i_arrow
src.new.p <src.p>

&

src.newitem i_arrow
src.act.bounce
src.act.drop

Both of those work, but bounce makes the bag sound and doesnt stack the arrow on the ground with the rest. The other doesn't stack the arrow either. I've also tried using FORITEMS, but anyway I did it the arrows would not stack on the ground, and I figured using foritems isnt a smart way of doing this, seeing as how it would be called alot.

Any ideas?


RE: Archery arrow on ground - Coruja - 06-14-2017 11:47 AM

to make items stack on each other they must have exactly all the same props (name, type, events, etc)

I don't remember exactly, but I think LOCAL.Arrow on @Hit / @HitMiss trigger also store the arrow UID being consumed, so instead create a new arrow you can dupe this one to make the new arrow keep all the same properties. Maybe it's something like this:
Code:
ON=@HitMiss
REF1=<LOCAL.Arrow>
IF (<REF1>)
  REF1.DUPEITEM   //dupe the old arrow
  REF1.CONSUME 1  //consume the old arrow
  NEW.P=<SRC.P>   //place this new arrow somewhere
ENDIF
LOCAL.ArrowHandled=1

PS: if you're handling the arrow by yourself instead let sphere do its internal actions with the arrow, don't forget to add LOCAL.ArrowHandled=1 on the trigger to make sphere skip the internal arrow handling


RE: Archery arrow on ground - BestBG - 06-14-2017 02:58 PM

That works, but its duping the entire stack and placing it at the targets feet. REF1.DUPE 1 does the same thing too. How can I make it just dupe 1 from the stack in my bag?

Thanks for the help


RE: Archery arrow on ground - Coruja - 06-14-2017 06:53 PM

to change item amount you can add NEW.AMOUNT=1 before NEW.P=<SRC.P>


RE: Archery arrow on ground - BestBG - 06-15-2017 01:46 PM

Well that's working now, but the arrows dont stack on the ground.