summaryrefslogtreecommitdiff
path: root/doc/sample
diff options
context:
space:
mode:
authorai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-12-19 18:04:18 +0000
committerai4rei <ai4rei@54d463be-8e91-2dee-dedb-b68131a5f0ec>2010-12-19 18:04:18 +0000
commit9c0ac993e7a447b3121af0f2bf7a16f933952643 (patch)
treecb92647488409c044cf7d397d5242e901249cb84 /doc/sample
parent6a24f13aaf9b20a63efcb21e4f42d37af955ace7 (diff)
downloadhercules-9c0ac993e7a447b3121af0f2bf7a16f933952643.tar.gz
hercules-9c0ac993e7a447b3121af0f2bf7a16f933952643.tar.bz2
hercules-9c0ac993e7a447b3121af0f2bf7a16f933952643.tar.xz
hercules-9c0ac993e7a447b3121af0f2bf7a16f933952643.zip
* Fixes to the dynamic shop sample script (first part of dynamic shop fixes).
- Fixed wrong check in ::OnSellItem, causing not-enough-items condition not getting detected (since r11829). - Fixed an exploit in ::OnSellItem, causing Zeny to be given to the player, even if the items fail to delete (since r5842). - Fixed missing 'close' in ::OnSellItem (since r5842). - Replaced 'end' with 'close' in ::OnBuyItem (since r5842, followup to r11829). git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@14609 54d463be-8e91-2dee-dedb-b68131a5f0ec
Diffstat (limited to 'doc/sample')
-rw-r--r--doc/sample/npc_dynamic_shop.txt9
1 files changed, 5 insertions, 4 deletions
diff --git a/doc/sample/npc_dynamic_shop.txt b/doc/sample/npc_dynamic_shop.txt
index 1a1f174c9..79d0c4fdb 100644
--- a/doc/sample/npc_dynamic_shop.txt
+++ b/doc/sample/npc_dynamic_shop.txt
@@ -7,21 +7,22 @@ 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){
+ if(countitem(@sold_nameid[@i]) < @sold_quantity[@i] || @sold_quantity[@i] <= 0){
mes "omgh4x!";
close;
}
if(@sold_nameid[@i] == 501){
+ delitem 501, @sold_quantity[@i];
set $@rpotsleft, $@rpotsleft + @sold_quantity[@i];
set Zeny, Zeny + @sold_quantity[@i]*20;
- delitem 501, @sold_quantity[@i];
} else {
if(@sold_nameid[@i] == 502){
+ delitem 502, @sold_quantity[@i];
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.";
+ close;
}
}
}
@@ -34,7 +35,7 @@ OnBuyItem:
for(set @i, 0; @i < getarraysize(@bought_nameid); set @i, @i + 1){
if(@bought_quantity[@i] <= 0){
mes "omgh4x!";
- end;
+ close;
}
if(@bought_nameid[@i] == 501){
if(@bought_quantity[@i] > $@rpotsleft){