Permalink
Cannot retrieve contributors at this time
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
93 lines (88 sloc)
2.59 KB
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| //===== rAthena Script ======================================= | |
| //= Sample: Dynamic Shop | |
| //===== By: ================================================== | |
| //= Lance | |
| //===== Last Updated: ======================================== | |
| //= 20140208 | |
| //===== Description: ========================================= | |
| //= Contains commands needed for a dynamic shop. | |
| //============================================================ | |
| // Dummy shop to insert items into: | |
| - shop dyn_shop1 -1,501:50. | |
| prontera,181,200,4 script Dynamic Shop 123,{ | |
| callshop "dyn_shop1",0; | |
| npcshopattach "dyn_shop1"; | |
| end; | |
| OnSellItem: | |
| for (.@i = 0; .@i < getarraysize(@sold_nameid); .@i++) { | |
| if (countitem(@sold_nameid[.@i]) < @sold_quantity[.@i] || @sold_quantity[.@i] <= 0) { | |
| mes "omgh4x!"; | |
| close; | |
| } else if (@sold_nameid[.@i] == 501){ | |
| delitem 501, @sold_quantity[.@i]; | |
| set $@rpotsleft, $@rpotsleft + @sold_quantity[.@i]; | |
| set Zeny, Zeny + @sold_quantity[.@i]*20; | |
| } else if (@sold_nameid[.@i] == 502){ | |
| delitem 502, @sold_quantity[.@i]; | |
| $@opotsleft += @sold_quantity[.@i]; | |
| set Zeny, Zeny + @sold_quantity[.@i]*100; | |
| } else { | |
| mes "Sorry, I don't need your items."; | |
| close; | |
| } | |
| } | |
| deletearray @sold_quantity, getarraysize(@sold_quantity); | |
| deletearray @sold_nameid, getarraysize(@sold_nameid); | |
| mes "Deal completed."; | |
| close; | |
| OnBuyItem: | |
| for (.@i = 0; .@i < getarraysize(@bought_nameid); .@i++){ | |
| if (@bought_quantity[.@i] <= 0){ | |
| mes "omgh4x!"; | |
| close; | |
| } else if (@bought_nameid[.@i] == 501){ | |
| if (@bought_quantity[.@i] > $@rpotsleft){ | |
| if ($@rpotsleft > 0){ | |
| @bought_quantity[.@i] = $@rpotsleft; | |
| } else { | |
| mes "We are out of red potions!"; | |
| close; | |
| } | |
| } | |
| if (Zeny >= 40*@bought_quantity[.@i]){ | |
| set Zeny, Zeny - 40*@bought_quantity[.@i]; | |
| getitem 501, @bought_quantity[.@i]; | |
| $@rpotsleft -= @bought_quantity[.@i]; | |
| } else { | |
| mes "You have insufficient cash."; | |
| close; | |
| } | |
| } else /*if (@bought_nameid[.@i] == 502)*/ { | |
| if (@bought_quantity[.@i] > $@opotsleft){ | |
| if ($@opotsleft > 0){ | |
| @bought_quantity[.@i] = $@opotsleft; | |
| } else { | |
| mes "We are out of orange potions!"; | |
| close; | |
| } | |
| } | |
| if (Zeny >= 200*@bought_quantity[.@i]){ | |
| set Zeny, Zeny - 200*@bought_quantity[.@i]; | |
| getitem 502, @bought_quantity[.@i]; | |
| $@opotsleft -= @bought_quantity[.@i]; | |
| } else { | |
| mes "You have insufficient cash."; | |
| close; | |
| } | |
| } | |
| } | |
| deletearray @bought_quantity, getarraysize(@bought_quantity); | |
| deletearray @bought_nameid, getarraysize(@bought_nameid); | |
| mes "Trade done."; | |
| close; | |
| OnInit: | |
| npcshopitem "dyn_shop1", 501,40,502,200; | |
| $@rpotsleft = 10; | |
| $@opotsleft = 10; | |
| end; | |
| } |