diff options
author | Emistry Haoyan <equinox1991@gmail.com> | 2019-06-16 18:44:45 +0800 |
---|---|---|
committer | Haru <haru@dotalux.com> | 2019-07-28 18:17:09 +0200 |
commit | 371d056df80b6f83484534f64883c3d020c4112d (patch) | |
tree | 20d38a8581f3a6159157bfa6644027d4007485bc /npc/re/merchants | |
parent | ef8bc3a8375d4fe9a5f75faf951b3deecb891d57 (diff) | |
download | hercules-371d056df80b6f83484534f64883c3d020c4112d.tar.gz hercules-371d056df80b6f83484534f64883c3d020c4112d.tar.bz2 hercules-371d056df80b6f83484534f64883c3d020c4112d.tar.xz hercules-371d056df80b6f83484534f64883c3d020c4112d.zip |
Sanitize handling of the input() values.
- avoid potential hacks for old scripts that use `input()` script
commands.
Signed-off-by: Haru <haru@dotalux.com>
Diffstat (limited to 'npc/re/merchants')
-rw-r--r-- | npc/re/merchants/3rd_trader.txt | 16 | ||||
-rw-r--r-- | npc/re/merchants/alchemist.txt | 6 | ||||
-rw-r--r-- | npc/re/merchants/catalog.txt | 12 | ||||
-rw-r--r-- | npc/re/merchants/diamond.txt | 14 | ||||
-rw-r--r-- | npc/re/merchants/refine.txt | 2 |
5 files changed, 25 insertions, 25 deletions
diff --git a/npc/re/merchants/3rd_trader.txt b/npc/re/merchants/3rd_trader.txt index dcf66a19f..ecfe34fba 100644 --- a/npc/re/merchants/3rd_trader.txt +++ b/npc/re/merchants/3rd_trader.txt @@ -72,8 +72,8 @@ mes "You can only buy a maximum of '"+.@max+"' ea."; mes "Enter '0' if you want to cancel."; next; - input .@amount; - if (.@amount == 0) { + input(.@amount); + if (.@amount <= 0) { mes "[Poison Herb Merchant]"; mes "You've cancelled the trade."; close; @@ -133,8 +133,8 @@ lhz_in02,16,205,4 duplicate(phs) Poison Herb Merchant#lhz 4_F_YUNYANG mes "and remember, you can only"; mes "buy a maximum of '2000' ea."; next; - input .@amount; - if (.@amount == 0) { + input(.@amount); + if (.@amount <= 0) { mes "[Rune Merchant]"; mes "You're not buying? Please leave!"; close; @@ -199,8 +199,8 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{ mes "You can only buy a maximum of '2000' ea."; mes "Enter '0' if you want to cancel."; next; - input .@amount; - if (.@amount == 0) { + input(.@amount); + if (.@amount <= 0) { mes "[Rare Poison Herb Collector]"; mes "You've cancelled the trade."; close; @@ -254,9 +254,9 @@ job3_guil01,91,93,3 script Rare Herb Collector 1_M_03,{ mes "How many do you want?"; mes "If you want to cancel, enter 0."; next; - input .@amount; + input(.@amount); mes "[Point Merchant]"; - if (.@amount == 0) { + if (.@amount <= 0) { mes "You've cancelled the trade."; close; } diff --git a/npc/re/merchants/alchemist.txt b/npc/re/merchants/alchemist.txt index 73344a75c..fc38ef23a 100644 --- a/npc/re/merchants/alchemist.txt +++ b/npc/re/merchants/alchemist.txt @@ -98,13 +98,13 @@ alde_alche,31,186,3 script Craft Book Merchant#alde 4_M_ALCHE_D,{ mes "100,000 zeny."; mes "How many would you like to purchase?"; next; - input .@amount; - if (.@amount == 0) { + input(.@amount); + if (.@amount <= 0) { mes "[Craft Book Merchant]"; mes "Would you like to see some different books?"; close; } - if (.@amount < 1 || .@amount > 99 ){ + if (.@amount > 99 ){ mes "[Craft Book Merchant]"; mes "You cannot purchase more than 100 at a time."; close; diff --git a/npc/re/merchants/catalog.txt b/npc/re/merchants/catalog.txt index f508014a1..11f122ace 100644 --- a/npc/re/merchants/catalog.txt +++ b/npc/re/merchants/catalog.txt @@ -72,19 +72,21 @@ moc_para01,22,16,5 script Catalog Magician#catal01 4_M_BIBI,{ mes "Or how many do you need?"; next; while (1) { - input .@input; + input(.@input); mes "[Catalog Magician]"; - if (.@input == 0) { + if (.@input <= 0) { mes "The trade has been stopped!"; mes "I don't know what to do next..."; mes "What should I do?"; emotion e_swt2,1; close; - } else if (.@input < 1 || .@input > 50) { + } + if (.@input > 50) { mes "It should be less than 50 pieces."; next; - } else - break; + continue; + } + break; } .@sell = .@ticket_cost * .@input; mes "The total number of catalog(s) that you're trying to purchase is " + .@input + " pieces."; diff --git a/npc/re/merchants/diamond.txt b/npc/re/merchants/diamond.txt index 665af5e6a..762e2d145 100644 --- a/npc/re/merchants/diamond.txt +++ b/npc/re/merchants/diamond.txt @@ -128,7 +128,7 @@ mes .@npc$; mes "Alright then, please sign here."; next; - input .@charname$; + input(.@charname$); if (.@charname$ == strcharinfo(PC_NAME)) { mes .@npc$; mes "Okay, good."; @@ -202,7 +202,7 @@ mes "The trade cannot be completed without your signature."; close; } - input .@charname$; + input(.@charname$); if (.@charname$ == strcharinfo(PC_NAME)) { mes .@npc$; mes "Your signature has been received."; @@ -218,12 +218,10 @@ Zeny += 499000000; close; } - else { - mes .@npc$; - mes "Is this really your signature?"; - mes "Will sign again to confirm?"; - next; - } + mes .@npc$; + mes "Is this really your signature?"; + mes "Will sign again to confirm?"; + next; } } } diff --git a/npc/re/merchants/refine.txt b/npc/re/merchants/refine.txt index 879e9a5f1..c0ec2131f 100644 --- a/npc/re/merchants/refine.txt +++ b/npc/re/merchants/refine.txt @@ -258,7 +258,7 @@ function script refinenew { mes "[" + getarg(0) + "]"; mes "How many times would you like me to refine your item?"; next; - input .@refinecnt; + input(.@refinecnt); .@refinecheck = .@refinecnt + getequiprefinerycnt(.@part); if (.@refinecnt < 1 || .@refinecheck > 20) { mes "[" + getarg(0) + "]"; |