Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //In Bank.cpp
- void Bank_Open(Character *character, PacketReader &reader)
- {
- short id = reader.GetShort();
- //Lets fool the client into allowing more locker upgrades
- char bankmax = (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"]) ? 7 : 0);
- if (character->bankmax <= 6) bankmax = character->bankmax;
- if (character->bankmax >= 7 && character->bankmax < static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 6;
- if (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 8;
- UTIL_FOREACH(character->map->npcs, npc)
- {
- if (npc->index == id && npc->Data().type == ENF::Bank)
- {
- character->npc = npc;
- character->npc_type = ENF::Bank;
- PacketBuilder reply(PACKET_BANK, PACKET_OPEN, 8);
- reply.AddInt(character->goldbank);
- reply.AddThree(0); // Session token
- reply.AddChar(bankmax); //change this from the character stored value to our new fudged value
- character->Send(reply);
- break;
- }
- }
- }
- //In Locker.cpp
- void Locker_Buy(Character *character, PacketReader &reader)
- {
- if (character->trading) return;
- (void)reader;
- if (character->npc_type == ENF::Bank)
- {
- //Lets fool the client into letting us buy locker space based on the server limit.
- char bankmax = (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"]) ? 7 : 0);
- if (character->bankmax <= 6) bankmax = character->bankmax;
- if (character->bankmax >= 7 && character->bankmax < static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 6;
- int cost = static_cast<int>(character->world->config["BankUpgradeBase"]) + bankmax * static_cast<int>(character->world->config["BankUpgradeStep"]);
- if (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"]))
- {
- return;
- }
- if (character->HasItem(1) < cost)
- {
- return;
- }
- ++character->bankmax;
- if (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 7;
- character->DelItem(1, cost);
- PacketBuilder reply(PACKET_LOCKER, PACKET_BUY, 5);
- reply.AddInt(character->HasItem(1));
- reply.AddChar(bankmax);//don't forget about me
- character->Send(reply);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement