summaryrefslogtreecommitdiff
path: root/world/map/npc/commands/zeny.txt
diff options
context:
space:
mode:
Diffstat (limited to 'world/map/npc/commands/zeny.txt')
-rw-r--r--world/map/npc/commands/zeny.txt12
1 files changed, 7 insertions, 5 deletions
diff --git a/world/map/npc/commands/zeny.txt b/world/map/npc/commands/zeny.txt
index 9215637a..94c02c4b 100644
--- a/world/map/npc/commands/zeny.txt
+++ b/world/map/npc/commands/zeny.txt
@@ -1,10 +1,12 @@
-|script|@zeny|32767
{
- if (GM < get(.zeny, "GM") && GM < G_SYSOP) goto L_GM;
callfunc "argv_splitter";
+ set .@n$, if_then_else(@argv$[1] != "", "char", "") + "zeny";
+ if (GM < get(.zeny, "GM") && GM < G_SYSOP) goto L_GM; // check if you can use it on self
set .@target_id, BL_ID;
if (@argv$[1] != "") set .@target_id, getcharid(3, @argv$[1]);
if (@argv$[1] != "" && !(isloggedin(.@target_id))) goto L_Failed; // do NOT fallback to self
+ if (@argv$[1] != "" && GM < get(.charzeny, "GM") && GM < G_SYSOP) goto L_GM; // when target is not self, use charzeny permission
if (@argv$[0] == "--") goto L_Remove;
if (@argv$[0] == "---") goto L_RemoveAll;
if (@argv$[0] == "++") goto L_Max;
@@ -51,21 +53,21 @@ L_MaybeRemoveBank:
L_OutOfBounds:
// XXX: maybe we could also take from other chars from the same accout?
- message strcharinfo(0), "zeny : Impossible to proceed! This would cause the player to have less than 0 zeny or more than " + .max_int + ".";
+ message strcharinfo(0), .@n$+" : Impossible to proceed! This would cause the player to have less than 0 zeny or more than " + .max_int + ".";
end;
L_Failed:
// XXX: should we allow GMs to change zeny of users that are not logged in?
- message strcharinfo(0), "zeny : Impossible to attach to the target player.";
+ message strcharinfo(0), .@n$+" : Impossible to attach to the target player. Did you try putting the name in \"quotation marks\"?";
end;
L_Success:
gmlog "@zeny " + @args$;
- message strcharinfo(0), "zeny : The operation succeeded.";
+ message strcharinfo(0), .@n$+" : The operation succeeded.";
end;
L_GM:
- message strcharinfo(0), "zeny : GM command is level "+ get(.zeny, "GM") +", but you are level " + GM;
+ message strcharinfo(0), .@n$+" : GM command is level "+ get(if_then_else(@argv$[1] != "", .charzeny, .zeny), "GM") +", but you are level " + GM;
end;
OnInit: