SphereCommunity
FEATURES AND A FEW QUESTIONS - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: FEATURES AND A FEW QUESTIONS (/Thread-FEATURES-AND-A-FEW-QUESTIONS)



FEATURES AND A FEW QUESTIONS - kn4tseb - 08-18-2014 12:20 PM

hey mates, as you see, its me again Smile and i have a few questions
Is it possible to get the position/location where a rune is marked or when recalling where i am going?

Second.... would be possible to set the recently RW DAM itemdef as the damage of the weapon and not resphysical?

and for last, is it possible to make a trigger that fires when a player (as gargoyle) is about to fly?

i think new SKF Variables lets as make very efficent triggers but im not so sure how could i do one for this flying event.

Thank you very much!!!


RE: FEATURES AND A FEW QUESTIONS - Extreme - 08-18-2014 01:14 PM

For RUNES, <MOREP> is the position x,y,z.

For the other things, Ben or XuN can help, did you report in bugtracker?


RE: FEATURES AND A FEW QUESTIONS - kn4tseb - 08-18-2014 01:58 PM

thanks for the rune tip ^^. about reporting i havent, should i? xDD

gonna try on todays built if same happens, i will report.

Thx again


RE: FEATURES AND A FEW QUESTIONS - XuN - 08-18-2014 04:48 PM

Damage is not the same as ResPhysical, IDK if its not working like this in latest nightly but you can use this build with other problems related to ResPhysical fixed: https://www.dropbox.com/s/k1aqepw37wytzn9/SphereSvr.exe

For the flying there's already one: ToggleFlying


RE: FEATURES AND A FEW QUESTIONS - MrX - 08-18-2014 11:54 PM

for rune it should work:

on=@click
if <morep> > 0
message <morep>
endif


RE: FEATURES AND A FEW QUESTIONS - kn4tseb - 08-19-2014 01:21 AM

im Under linux XuN xdd havent tried.. will try todays rev...
about the rune... already done and worked great but i still need assistance..
i need a way to check distances between source and target when player recalls or travel with spells, might be spellbooks, wands, scrolls or runes. dunno if use @spellcast or @spellsucess
seems to be that spellsuccess doesnt get the <ARGO> as @spellcast do it for <ACT>

this is what i have to check runes
Code:
on=@SpellCast //
IF (<ISPLAYER>)
  IF  (<ARGN1> == 32)
    REF1=<ACT>
    IF (<REF1.ISITEM>)
      IF (<REF1.TYPE> == T_RUNE)
          REF2 = <findid.i_dis_checker_mem>
          REF2.TIMER = <R7,10>
          REF2.TAG0.POS = <REF1.MOREP>
      ENDIF    
    ENDIF
  ENDIF
ENDIF
first time working with spell triggers
any way to short it out?


RE: FEATURES AND A FEW QUESTIONS - Coruja - 08-19-2014 01:42 AM

I never checked how this gargoyle "fly" hability works, but as I know it's a mount (pet) replacement

maybe a great suggestion to customize the fly/land behavior is a new trigger @GargoyleFly, working like @Mount

I found this code on RunUO and it seems to have some interesting things to use on this trigger (hitpoints check, bola ball recovery, etc)
Code:
        public override void ToggleFlying()
        {
            if (Race != Race.Gargoyle)
            {
                return;
            }
            else if (Flying)
            {
                Freeze(TimeSpan.FromSeconds(1));
                Animate(61, 10, 1, true, false, 0);
                Flying = false;
                BuffInfo.RemoveBuff(this, BuffIcon.Fly);
                SendMessage("You have landed.");

                BaseMount.Dismount(this);
                return;
            }

            BlockMountType type = MountBlockReason;

            if (!Alive)
            {
                SendLocalizedMessage(1113082); // You may not fly while dead.
            }
            else if (IsBodyMod && !(BodyMod == 666 || BodyMod == 667))
            {
                SendLocalizedMessage(1112453); // You can't fly in your current form!
            }
            else if (type != BlockMountType.None)
            {
                switch (type)
                {
                    case BlockMountType.Dazed:
                        SendLocalizedMessage(1112457);
                        break; // You are still too dazed to fly.
                    case BlockMountType.BolaRecovery:
                        SendLocalizedMessage(1112455);
                        break; // You cannot fly while recovering from a bola throw.
                    case BlockMountType.DismountRecovery:
                        SendLocalizedMessage(1112456);
                        break; // You cannot fly while recovering from a dismount maneuver.
                }
                return;
            }
            else if (Hits < 25) // TODO confirm
            {
                SendLocalizedMessage(1112454); // You must heal before flying.
            }
            else
            {
                if (!Flying)
                {
                    // No message?
                    if (Spell is FlySpell)
                    {
                        FlySpell spell = (FlySpell)Spell;
                        spell.Stop();
                    }
                    new FlySpell(this).Cast();
                }
                else
                {
                    Flying = false;
                    BuffInfo.RemoveBuff(this, BuffIcon.Fly);
                }
            }
        }



RE: FEATURES AND A FEW QUESTIONS - kn4tseb - 08-19-2014 01:43 AM

(08-18-2014 04:48 PM)XuN Wrote:  Damage is not the same as ResPhysical, IDK if its not working like this in latest nightly but you can use this build with other problems related to ResPhysical fixed: https://www.dropbox.com/s/k1aqepw37wytzn9/SphereSvr.exe

For the flying there's already one: ToggleFlying

couldnt find information about toggleflying neither at WIKI or Forum. Confused


RE: FEATURES AND A FEW QUESTIONS - kn4tseb - 08-19-2014 03:02 AM

about RECALLING i think doing thisi get all possible ways to check old distances with new ones... any suggestion?

Code:
on=@SpellSuccess
IF (<ARGN1> == 32)         // recall spell
REF1=<ARGO>
REF2=<UID>
  FORCONTTYPE T_RUNE
  IF <REF2.P> == <MOREP>  
    REF3 = <UID>            // if more than one rune is contained, REF3 would be any of them and not the specified in the condition that it has to be the one with the char position.
  ENDIF
  ENDFOR
  IF <FINDID.I_DIS_CHECKER_MEM>
  REF4 = <FINDID.I_DIS_CHECKER_MEM.UID>
  REF4.TIMER = <R7,10>                
  REF4.TAG0.POS = <REF3.MOREP>
  ENDIF
ENDIF

Darn.... not possible to store a single RUNE uid when more than one is contained and the condition matches ...
>.<

IS IT POSSIBLE AN ACT THAT MAKES A REFERENCE TO THE ITEM TARGETED?? LIKE in spellcast?????
i cant use spellcast because i only wanted to work when spell succeeds.. and in spellsuccess i dont have an act :<
help please Smile


RE: FEATURES AND A FEW QUESTIONS - kn4tseb - 08-19-2014 05:08 AM

Code:
ON=@SpellFail
IF (<ARGN1> == 32)
  IF <CTAG0.RECALLSPELL>
     CTAG.RECALLSPELL =
  ENDIF
ENDIF

ON=@SpellCast
IF (<ARGN1> == 32)
  IF <FINDID.I_DIS_CHECKER_MEM>
     CTAG.RECALLSPELL = <ACT.MOREP>
  ENDIF
ENDIF

ON=@SpellSuccess
IF (<ARGN1> == 32)
REF1=<UID>
  IF <FINDID.I_DIS_CHECKER_MEM>
  REF2=<FINDIDI_DIS_CHECKER_MEM.UID>
      REF2.TIMER = <R7,10>                
      REF2.TAG0.POS = <CTAG0.RECALLSPELL>
      REF1.CTAG0.RECALLSPELL =
      serv.log <REF2.TAG0.POS>
  ENDIF
ENDIF

I think it might do it >.<