diff options
Diffstat (limited to 'doc/sample/npc_dynamic_shop.txt')
-rw-r--r-- | doc/sample/npc_dynamic_shop.txt | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/doc/sample/npc_dynamic_shop.txt b/doc/sample/npc_dynamic_shop.txt new file mode 100644 index 000000000..1a1f174c9 --- /dev/null +++ b/doc/sample/npc_dynamic_shop.txt @@ -0,0 +1,85 @@ +- shop dyn_shop1 -1,501:50 + +prontera,181,200,4 script Dynamic Shop 123,{ +callshop "dyn_shop1",0; +npcshopattach "dyn_shop1"; +end; + +OnSellItem: +for(set @i, 0; @i < getarraysize(@sold_nameid); set @i, @i + 1){ + if(countitem(@sold_nameid[@i]) < @sold_quantity[@i] && @sold_quantity[@i] <= 0){ + mes "omgh4x!"; + close; + } + if(@sold_nameid[@i] == 501){ + set $@rpotsleft, $@rpotsleft + @sold_quantity[@i]; + set Zeny, Zeny + @sold_quantity[@i]*20; + delitem 501, @sold_quantity[@i]; + } else { + if(@sold_nameid[@i] == 502){ + set $@opotsleft, $@opotsleft + @sold_quantity[@i]; + set Zeny, Zeny + @sold_quantity[@i]*100; + delitem 502, @sold_quantity[@i]; + } else { + mes "Sorry, I don't need your items."; + } + } +} +deletearray @sold_quantity, getarraysize(@sold_quantity); +deletearray @sold_nameid, getarraysize(@sold_nameid); +mes "Deal completed."; +close; + +OnBuyItem: +for(set @i, 0; @i < getarraysize(@bought_nameid); set @i, @i + 1){ + if(@bought_quantity[@i] <= 0){ + mes "omgh4x!"; + end; + } + if(@bought_nameid[@i] == 501){ + if(@bought_quantity[@i] > $@rpotsleft){ + if($@rpotsleft > 0){ + set @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]; + set $@rpotsleft, $@rpotsleft - @bought_quantity[@i]; + } else { + mes "You have insufficient cash."; + close; + } + } else { + if(@bought_quantity[@i] > $@opotsleft){ + if($@opotsleft > 0){ + set @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]; + set $@opotsleft, $@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; +set $@rpotsleft, 10; +set $@opotsleft, 10; +end; +}
\ No newline at end of file |