diff options
Diffstat (limited to 'npc/functions/legacy.txt')
-rw-r--r-- | npc/functions/legacy.txt | 238 |
1 files changed, 0 insertions, 238 deletions
diff --git a/npc/functions/legacy.txt b/npc/functions/legacy.txt deleted file mode 100644 index 5f5ad026..00000000 --- a/npc/functions/legacy.txt +++ /dev/null @@ -1,238 +0,0 @@ -// NOTE: no script other than the functions in this file should EVER access -// ##LEGACY[] or LEGACY[] - -/** - * gets the timestamp of when the attached or provided account was ported from - * the Legacy snapshot through Vault - * - * Example: - * getlegacyporttime(); - * - * @param 0? - char name / account id (defaults to attached player) - * @return timestamp (seconds) - */ -function script getlegacyporttime { - // we dereference the variable (+ 0) to avoid accidental assignment - return 0+ getvariableofpc(##LEGACY[1], nameid2id(getarg(0, "")), 0); -} - -/** - * gets the former account id that was assigned to the attached or provided - * account on the Legacy server - * - * Example: - * getlegacyaccountid(); - * - * @param 0? - char name / account id (defaults to attached player) - * @return former account id - */ -function script getlegacyaccountid { - // we dereference the variable (+ 0) to avoid accidental assignment - return 0+ getvariableofpc(##LEGACY[0], nameid2id(getarg(0, "")), 0); -} - -/** - * checks whether the attached or provided account is a former Legacy account - * - * Example: - * islegacyaccount() - * - * @param 0? - char name / account id (defaults to attached player) - * @return true/false - */ -function script islegacyaccount { - return getlegacyaccountid(getarg(0, "")) > 0; -} - -/** - * gets the former char id that was assigned to the attached or provided - * character on the Legacy server - * - * Example: - * getlegacycharid(); - * - * @param 0? - char name / account id (defaults to attached player) - * @return former char id - */ -function script getlegacycharid { - // we dereference the variable (+ 0) to avoid accidental assignment - return 0+ getvariableofpc(LEGACY[0], nameid2id(getarg(0, "")), 0); -} - -/** - * checks whether the attached or provided character is a former Legacy char - * - * Example: - * islegacychar() - * - * @param 0? - char name / account id (defaults to attached player) - * @return true/false - */ -function script islegacychar { - return getlegacycharid(getarg(0, "")) > 0; -} - -/** - * gets the timestamp of when the attached or provided account completed the - * tutorial on the Legacy server - * - * Example: - * getlegacytuttime("player name") - * - * @param 0? - char name / account id (defaults to attached player) - * @return timestamp (seconds) - */ -function script getlegacytuttime { - .@tut_var = getvariableofpc(LEGACY[2], nameid2id(getarg(0, "")), 0); - return .@tut_var < 0x7F ? 0 : .@tut_var; -} - -/** - * gets the level the attached or provided player had on the Legacy server at - * snapshot time - * - * Example: - * getlegacylevel("player name") - * - * @param 0? - char name / account id (defaults to attached player) - * @return base level - */ -function script getlegacylevel { - return bitwise_get(getvariableofpc(LEGACY[1], nameid2id(getarg(0, "")), 0), 0x000000FF, 0); -} - -/** - * gets the boss points the attached or provided player had on the Legacy server - * at snapshot time - * - * Example: - * getlegacybosspoints("player name") - * - * @param 0? - char name / account id (defaults to attached player) - * @return boss points - */ -function script getlegacybosspoints { - return bitwise_get(getvariableofpc(LEGACY[1], nameid2id(getarg(0, "")), 0), 0x7FFFFF00, 8); -} - - - -// the functions below can be used to mimic a Legacy account for local testing - - -/** - * mimics a legacy account for local testing - * - * Example: - * setfakelegacyaccount("player name"); - * - * @param 0? - char name / account id (defaults to attached player) - * @param 1? - legacy level (defaults to 99) - * @param 2? - legacy boss points (defaults to 5000) - * @return true/false - */ -function script setfakelegacyaccount { - if (!debug) { - consolemes(CONSOLEMES_ERROR, "setfakelegacyaccount() can only be used in debug mode"); - return false; - } - - .@acc = nameid2id(getarg(0, "")); - - if (.@acc < 1) { - // player not found - return false; - } - - // set the legacy account id to the current account id - set(getvariableofpc(##LEGACY[0], .@acc), .@acc); - - // set the port time to yesterday - set(getvariableofpc(##LEGACY[1], .@acc), time_from_days(-1)); - - // set the legacy tut var to 180 days ago - set(getvariableofpc(LEGACY[2], .@acc), time_from_days(-180)); - - // set the legacy level - bitwise_set(getvariableofpc(LEGACY[1], .@acc), 0x000000FF, 0, getarg(1, 99)); - - // set the legacy boss points - bitwise_set(getvariableofpc(LEGACY[1], .@acc), 0x7FFFFF00, 8, getarg(2, 5000)); - return true; -} - -/** - * gets the inventory the attached or provided char had on the Legacy server at - * snapshot time - * - * Example: - * .@size = getlegacyinventory(.@item, .@amount); - * - * @param 0 - a reference to an array variable to hold the item ids - * @param 1 - a reference to an array variable to hold the item qty - * @param 2? - char name / account id (defaults to attached player) - * @return number of entries added to the arrays - */ -function script getlegacyinventory { - .@char = getlegacycharid(getarg(2, "")); - - if (.@char < 1) { - consolemes(CONSOLEMES_ERROR, "getlegacyinventory: target legacy character not found"); - return 0; - } - - if ((getdatatype(getarg(0)) & (DATATYPE_VAR | DATATYPE_INT)) == 0) { - consolemes(CONSOLEMES_ERROR, "getlegacyinventory: first argument should be an integer array"); - return 0; - } - - if ((getdatatype(getarg(1)) & (DATATYPE_VAR | DATATYPE_INT)) == 0) { - consolemes(CONSOLEMES_ERROR, "getlegacyinventory: second argument should be an integer array"); - return 0; - } - - freeloop(true); - .@rows = query_sql(sprintf("SELECT nameid, amount FROM legacy.inventory WHERE char_id = '%d';", .@char), - getarg(0), getarg(1)); - freeloop(false); - - return .@rows; -} - -/** - * gets the storage the attached or provided account had on the Legacy server at - * snapshot time - * - * Example: - * .@size = getlegacystorage(.@item, .@amount); - * - * @param 0 - a reference to an array variable to hold the item ids - * @param 1 - a reference to an array variable to hold the item qty - * @param 2? - char name / account id (defaults to attached player) - * @return number of entries added to the arrays - */ -function script getlegacystorage { - .@acc = getlegacyaccountid(getarg(2, "")); - - if (.@acc < 1) { - consolemes(CONSOLEMES_ERROR, "getlegacystorage: target legacy account not found"); - return 0; - } - - if ((getdatatype(getarg(0)) & (DATATYPE_VAR | DATATYPE_INT)) == 0) { - consolemes(CONSOLEMES_ERROR, "getlegacystorage: first argument should be an integer array"); - return 0; - } - - if ((getdatatype(getarg(1)) & (DATATYPE_VAR | DATATYPE_INT)) == 0) { - consolemes(CONSOLEMES_ERROR, "getlegacystorage: second argument should be an integer array"); - return 0; - } - - freeloop(true); - .@rows = query_sql(sprintf("SELECT nameid, amount FROM legacy.storage WHERE account_id = '%d';", .@acc), - getarg(0), getarg(1)); - freeloop(false); - - return .@rows; -} |