SphereCommunity
FUNCTION Consume Gold From Bank - Printable Version

+- SphereCommunity (https://forum.spherecommunity.net)
+-- Forum: Sphere 0.56d (/Forum-Sphere-0-56d)
+--- Forum: General Help (/Forum-General-Help)
+--- Thread: FUNCTION Consume Gold From Bank (/Thread-FUNCTION-Consume-Gold-From-Bank)



FUNCTION Consume Gold From Bank - Llirik - 10-17-2015 11:10 PM

[TYPEDEF t_reputation] // set this on item
On=@Dclick
src.f_consume 100
IF <SRC.TAG.GOLD>
src.message Karma: <src.karma>
return 1
ENDIF

[FUNCTION f_consume]
LOCAL.TOTALGOLD=<SRC.FINDLAYER.layer_pack.RESCOUNT i_gold> + <SRC.FINDLAYER.layer_bankbox.RESCOUNT i_gold>
IF (<EVAL <ARGN>> > <LOCAL.TOTALGOLD>)
SRC.SYSMESSAGE You don't have <eval <argn>> gold.
SRC.TAG.GOLD=0
ELSE
SRC.GOLD -= <argn>
SRC.TAG.GOLD=1
SRC.UPDATE
ENDIF

This script work well?


RE: FUNCTION Consume Gold From Bank - pointhz - 10-18-2015 12:41 AM

You can simply use the GOLD function.

[TYPEDEF t_reputation] // set this on item
On=@Dclick
IF (<SRC.GOLD> > 100)
SRC.GOLD -=100
src.message Karma: <src.karma>
ELSE
SRC.SYSMESSAGE You don't have enough money for this.
ENDIF
RETURN 1


RE: FUNCTION Consume Gold From Bank - Llirik - 10-18-2015 01:01 AM

I need the FUNCTION for easy use later.

My Script is Right?


RE: FUNCTION Consume Gold From Bank - pointhz - 10-18-2015 02:21 AM

You function does the same as GOLD. You even use it inside your script.

It makes no sense to use all those lines when the function already exists inside sphere.

I dunno if your function is right, I didn't test it, but maybe it won't work. Because you are setting TAG.GOLD to 0 and 1 and then saying "IF <TAG.GOLD>". If it's 0 it exists, so I would say that won't work.


RE: FUNCTION Consume Gold From Bank - Llirik - 10-18-2015 03:03 AM

I'm not understand you! Tell me my FUNCTION is Right for use everything in Sphere on my Shard? Or say me READY FUNCTION.

[FUNCTION f_consume]
IF (<EVAL <ARGN>> > <SRC.GOLD>)
SRC.SYSMESSAGE You don't have <eval <argn>> gold.
SRC.TAG.GOLD=0
ELSE
SRC.GOLD -= <argn>
SRC.TAG.GOLD=1
SRC.UPDATE
ENDIF

Right?

Or I can use:

IF (<EVAL <ARGN>> > <SRC.GOLD>)
SRC.SYSMESSAGE You don't have <eval <argn>> gold.
RETURN 2,3 // ??? Because return 1 don't down Script Full and Go Next after FUNCTION, I need Shut Down script all!
ELSE
SRC.GOLD -= <argn>
SRC.UPDATE
ENDIF


RE: FUNCTION Consume Gold From Bank - pointhz - 10-18-2015 03:39 AM

No. Your function is not right. Nor return 2 or 3 exist.

Just use what I wrote in the first post. or try this

[TYPEDEF t_reputation] // set this on item
On=@Dclick
src.f_consume 100
IF <LOCAL.GOLD>
src.message Karma: <src.karma>
ENDIF
RETURN 1

[FUNCTION f_consume]
IF (<EVAL <ARGN>> > <SRC.GOLD>)
SRC.SYSMESSAGE You don't have <eval <argn>> gold.
RETURN 1
ELSE
SRC.GOLD -= <argn>
LOCAL.GOLD=1
SRC.UPDATE
ENDIF


RE: FUNCTION Consume Gold From Bank - Llirik - 10-18-2015 03:47 AM

Sorry and thank you very much! Smile

[TYPEDEF t_reputation] // set this on item
On=@Dclick
IF (<SRC.GOLD> >= 100) // >= Only! Smile
SRC.GOLD -=100
src.message Karma: <src.karma>
ELSE
SRC.SYSMESSAGE You don't have enough money for this.
ENDIF
RETURN 1


RE: FUNCTION Consume Gold From Bank - pointhz - 10-18-2015 10:42 AM

That's what I suggested on first post xD