About This File
Please do not remove my signature from the file, claim my work as your own, nor sell this script. Please provide credit where it's due. I may or may not update this script to address below limitation in the future.
If you like this script, please drop a like!
- The code flow is similar to benching's guild package npc script and uses his SQL CREATE TABLE statements. However, this script is written from the ground up and supports optional checks based on either IP address or Gepard's unique id.
- By default, ONLY IP checks are enabled. Any code blocks that uses get_unique_ip has been commented out. However, there are instructions on how to enable unique id related functions provided in the changelogs section of the script and this thread.
- Allows either IP or unique id based checks. IP check is used by default. Please refer to the initialization section on how to toggle between checking modes.
- This script allows a guild and all her guild members to receive a predetermined package through redeeming a code.
- Only requires the guild master to interact with the NPC.
Package code is generated by an authorized game master (authorization is based on the minimum gm level set in the script).
- Package code can only be generated by a game master.
- The code is communicated by the game master to the guild master which is then redeemed.
- Both guild master and his/her members will receive the same package contents.
- Supplied equipment is account-bound.
- Multiple codes can be generated and claimed for a guild. However, claim restrictions are enforced by either IP or unique id checks.
Performs (some optional) checks. Claim is cancelled and certain messages are displayed if one of these checks fail:
- Weight Limit - Displays name of members whose weight limit can not accommodate the package contents.
- Repeat claim per unique IP (Optional) - Display names of a member's alternate character who has already made a previous claim (using account id and ip address/unique id).
- Multi-client claim (Optional) - Display names of a member's characters they are controlling through multi-clienting on a single system (using ip address or unique id).
- All members online requirements (Optional) - Self explanatory display.
- Optional checks can be toggled within the script.
- Gepard Shield if using unique id checks.
- Variables are set under the OnInit label (line 331)
- Set .disableMultiLogging to true to restrict players from claiming a guild package when they are logged into multiple clients in the same guild on a single machine.
- Set .disableRepeatClaim to true to restrict players from claiming a guild package when they have claimed a package previously.
- Set .allMembersOnline to true to require all guild members be online when claiming the package. If set to false, only online guild members will receive the package.
.useGepard - stores and uses unique ids for checks. If set to false, IP address is used instead. (default false).
- IMPORTANT: If possible, do not change after claims are made, otherwise players may be able to re-claim or unable to first-time claim. Please refer to the limitations section for additional information.
- .codeLength - length of the guild package code (default 10).
- .minMembers - minimum number of guild members to redeem the code.
- .minGMLevel - minimum Game Master level to access the GM menu.
- .package - array of the guild package Item IDs.
- .packwgt - array that denotes the amount of items to be dispensed that corresponds to the item IDs in .package
- Unique id check works well through VPN. However, attempts to bypass checks using a Virtual Machine has not been tested.
- Code generation is manually done by a game master. This was done by design, however it is an obvious limitation.
Toggling between gepard and ip checks after some use may have the following effects:
- Players with previous claim may be able to perform a reclaim (IP to gepard toggle).
- Players with NO previous claim may NOT be able to perform a claim if someone else under the same IP has made a claim. (Gepard to IP toggle).
- To comply with rAthena submission standards, all unique id calls have been commented out and replaced with charip calls instead. However, instructions to easily enable unique id calls have been included in the script. Please refer to the changelogs section on how to perform this change.
What's New in Version 1.1.0 See changelog
- Allows toggle between unique id and ip address checks
- IP address checks are now default for both default rAthena and unique id-enabled functions.
Code blocks that makes use of unique id has been commented out and replaced with charip calls as part of rAthena guidelines.
- However, instructions are provided within the script that allows enabling of unique id calls.
- Gepard-related modifications are located in lines 370, 426, and 485. Please follow the instructions under these sections to enable/disable gepard functions.