SphereCommunity
Simple Newbie Scripter doubts - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: Script Help (/Forum-Script-Help)
+--- Thread: Simple Newbie Scripter doubts (/Thread-Simple-Newbie-Scripter-doubts--6859)



Simple Newbie Scripter doubts - haosakura - 03-01-2021 03:15 AM

Hello everyone, I am new in spherescripting and I want to learn more, with you guys if possible.
So, how can I set an infinite amount for one object?
Another question is, how make consumable thing with one object?
For example that wand that sets flamestrikes... I want to make that consumes
flamestrike scroll in the bag.
I want to make for GM (just for learning and for fun) one infinite flamestrike wand like that on spherewiki example.
So, I have to make one infinite amount flamestrike scroll first? or have another way??

If possible help me please?? Thanks!! o/


RE: Simple Newbie Scripter doubts - Kanibal - 03-01-2021 05:03 AM

(03-01-2021 03:15 AM)haosakura Wrote:  If possible help me please?? Thanks!! o/

What have you already tried to do?


RE: Simple Newbie Scripter doubts - haosakura - 03-01-2021 06:31 PM

I am trying to create an item (a wand) thats recharges when you put FlameStrike scroll on bag
here's the code

[ITEMDEF i_wand_vulcano]
//Vip Item
Name = Vulcano Wand
ID=i_wand_1
CATEGORY=Vip
DESCRIPTION=Vip Item's

ON=@EQUIP
SRC.TAG.VULCANO = <SRC.FINDLAYER.layer_pack.FINDID.i_scroll_flamestrike.AMOUNT>
RETURN 0

ON=@CREATE
ATTR=attr_magic|attr_newbie
MOREX=s_flamestrike
MOREY=34.5
MORE2=<SRC.TAG.VULCANO>

ON=@DCLICK
IF <SRC.RESTEST 1 i_scroll_flamestrike>
SRC.CONSUME 1 i_scroll_flamestrike
SRC.ACT.MORE2=1
SRC.MESSAGE = Vulcano's Power!!
ELSE
SRC.MESSAGE = You don't have FlameStrike Scroll
RETURN 0


[EOF]

So It works when you have fs scroll and you create the item, its work fine,
but when end fs scroll does not recharges if I put more fs scroll in bag


Please help If it is possible make this xD
I am trying to make consumable thing


RE: Simple Newbie Scripter doubts - haosakura - 03-02-2021 03:36 AM

Now is working... Here's the whole code

[ITEMDEF i_wand_vulcano]
//Vip Item
Name = Vulcano Wand
ID=i_wand_1
CATEGORY=Vip
DESCRIPTION=Vip Item's

ON=@EQUIP
SRC.TAG.VULCANO = <SRC.FINDLAYER.layer_pack.FINDID.i_scroll_flamestrike.AMOUNT>
RETURN 0

ON=@CREATE
ATTR=attr_magic|attr_newbie
MOREX=s_flamestrike
MOREY=34.5
MORE2=<SRC.TAG.VULCANO>

ON=@DCLICK
IF <SRC.RESTEST 1 i_scroll_flamestrike>
SRC.CONSUME 1 i_scroll_flamestrike
MORE2+=1
SRC.MESSAGE = Vulcano's Power!!
ELSE
SRC.MESSAGE = You don't have FlameStrike Scroll
RETURN 0

[EOF]

But one question... Have one way to show charges numbers when you pass mouse over the wand??
Maybe with some function???

Thanks!!


RE: Simple Newbie Scripter doubts - Kanibal - 03-02-2021 07:31 AM

This is untested, but you can try it. Tongue

Code:
[ITEMDEF i_wand_vulcano]
//Vip Item
Defname=i_wand_vulcano
Name=Vulcano Wand
ID=i_wand_1
Type=t_normal

CATEGORY=Vip
DESCRIPTION=Vip Item's

On=@Create
ATTR=attr_magic|attr_newbie
TAG.vulcano=0

On=@Click
  message <TAG.vulcano> charges.
  return 1

On=@DClick
  target Select FlameStrike Scroll.
  return 1

On=@TargOn_Ground
  src.message Use FlameStrike Scroll.
  return 1

On=@TargOn_Char
  src.message You cant' use this tool on characters.
  return 1

On=@TargOn_Item
if !(<ARGO.defname>==i_scroll_flamestrike)
  src.message Please use FlameStrike Scroll.
  return 1

elseif !(<ARGO.cont.uid>==<src.findlayer(25).uid>)
  src.message Scroll must be in your backpack.
  return 1

else
  ARGO.remove
  TAG.vulcano+=1
  src.message Vulcano's Power!!
  return 0
endif

[EoF]



RE: Simple Newbie Scripter doubts - haosakura - 03-02-2021 07:45 PM

Thanks Kanibal,
The "Charges" label disapear from the wand, and this is great for me
But I can't equip the wand.... but your code make me see the script for another perspective
and I learned more, I will try use part of your codes and joy with mine

Thanks a lot!!!


RE: Simple Newbie Scripter doubts - Kanibal - 03-02-2021 08:05 PM

remove type=t_normal and add equip to trigger dclick
Code:
On=@DClick
equip
target...