Advertisement
Guest User

Untitled

a guest
Mar 5th, 2017
198
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.26 KB | None | 0 0
  1. //In Bank.cpp
  2. void Bank_Open(Character *character, PacketReader &reader)
  3. {
  4. short id = reader.GetShort();
  5. //Lets fool the client into allowing more locker upgrades
  6. char bankmax = (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"]) ? 7 : 0);
  7. if (character->bankmax <= 6) bankmax = character->bankmax;
  8. if (character->bankmax >= 7 && character->bankmax < static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 6;
  9. if (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 8;
  10.  
  11. UTIL_FOREACH(character->map->npcs, npc)
  12. {
  13. if (npc->index == id && npc->Data().type == ENF::Bank)
  14. {
  15. character->npc = npc;
  16. character->npc_type = ENF::Bank;
  17.  
  18. PacketBuilder reply(PACKET_BANK, PACKET_OPEN, 8);
  19. reply.AddInt(character->goldbank);
  20. reply.AddThree(0); // Session token
  21. reply.AddChar(bankmax); //change this from the character stored value to our new fudged value
  22.  
  23. character->Send(reply);
  24.  
  25. break;
  26. }
  27. }
  28. }
  29. //In Locker.cpp
  30. void Locker_Buy(Character *character, PacketReader &reader)
  31. {
  32. if (character->trading) return;
  33.  
  34. (void)reader;
  35.  
  36. if (character->npc_type == ENF::Bank)
  37. {
  38. //Lets fool the client into letting us buy locker space based on the server limit.
  39. char bankmax = (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"]) ? 7 : 0);
  40. if (character->bankmax <= 6) bankmax = character->bankmax;
  41. if (character->bankmax >= 7 && character->bankmax < static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 6;
  42.  
  43. int cost = static_cast<int>(character->world->config["BankUpgradeBase"]) + bankmax * static_cast<int>(character->world->config["BankUpgradeStep"]);
  44.  
  45. if (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"]))
  46. {
  47. return;
  48. }
  49.  
  50. if (character->HasItem(1) < cost)
  51. {
  52. return;
  53. }
  54.  
  55. ++character->bankmax;
  56. if (character->bankmax >= static_cast<int>(character->world->config["MaxBankUpgrades"])) bankmax = 7;
  57. character->DelItem(1, cost);
  58. PacketBuilder reply(PACKET_LOCKER, PACKET_BUY, 5);
  59. reply.AddInt(character->HasItem(1));
  60. reply.AddChar(bankmax);//don't forget about me
  61. character->Send(reply);
  62. }
  63. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement