diff options
Diffstat (limited to 'npc/commands/zeny.txt')
-rwxr-xr-x | npc/commands/zeny.txt | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/npc/commands/zeny.txt b/npc/commands/zeny.txt deleted file mode 100755 index de1013eb..00000000 --- a/npc/commands/zeny.txt +++ /dev/null @@ -1,78 +0,0 @@ -- script @zeny NPC32767,{ - callfunc "argv_splitter"; - .@n$ = if_then_else(@argv$[1] != "", "char", "") + "Zeny"; - if (GM < CMD_ZENY && GM < G_SYSOP) goto L_GM; // check if you can use it on self - .@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 < CMD_CHARZENY && 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; - if (@argv$[0] == "+++") goto L_MaxAll; - set .@delta, @argv[0]; // ± Zeny - set .@Zeny, get(Zeny, .@target_id); // get the number of Zeny in char - set .@bank, get(#BankAccount, .@target_id); // get number of Zeny in (world) account - set .@new_Zeny, .@Zeny + .@delta; // new balance in char - if (.@new_Zeny < 0) goto L_MaybeRemoveBank; // Zeny would be below 0 so check if we can take from bank - if (.@new_Zeny > .max_Zeny) goto L_MaybeAddBank; // Zeny would be over the limit so check if we can store in bank - Zeny = (.@Zeny + .@delta), .@target_id; - goto L_Success; - -L_Remove: - Zeny = 0, .@target_id; - goto L_Success; - -L_RemoveAll: - Zeny = 0, .@target_id; - #BankAccount = 0, .@target_id; - goto L_Success; - -L_Max: - Zeny = .max_Zeny, .@target_id; - goto L_Success; - -L_MaxAll: - Zeny = .max_Zeny, .@target_id; - #BankAccount = .max_int, .@target_id; - goto L_Success; - -L_MaybeAddBank: - .@new_bank = (.@bank + (.@new_Zeny - .max_Zeny)); - if (.@new_bank > .max_int || .@new_bank < 0) goto L_OutOfBounds; - Zeny = .max_Zeny, .@target_id; - #BankAccount = .@new_bank, .@target_id; - goto L_Success; - -L_MaybeRemoveBank: - if ((.@bank + .@new_Zeny) < 0) goto L_OutOfBounds; - Zeny = 0, .@target_id; - #BankAccount = (.@bank + .@new_Zeny), .@target_id; - goto L_Success; - -L_OutOfBounds: - // XXX: maybe we could also take from other chars from the same accout? - 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), .@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), .@n$+" : The operation succeeded."; - end; - -L_GM: - message strcharinfo(0), .@n$+" : GM command is level "+ if_then_else(@argv$[1] != "", CMD_CHARZENY, CMD_ZENY) +", but you are level " + GM; - end; - -OnInit: - set .max_Zeny, 1000000000; // hardcoded in tmwa - set .max_int, 2147483647; // max int32 value - registercmd chr(ATCMD_SYMBOL) + "Zeny", strnpcinfo(0); - registercmd chr(ATCMD_SYMBOL) + "charZeny", strnpcinfo(0); - end; -} |