Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ACMD(do_buy_marble)
- {
- if (ch->IsObserverMode() || ch->GetExchange())
- return;
- char arg1[256], arg2[256];
- two_arguments(argument, arg1, sizeof(arg1), arg2, sizeof(arg2));
- if (!*arg1 || !*arg2)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "Syntax: buy_marble_item <mobVnum> <itemCount>");
- return;
- }
- DWORD mobVnum, itemCount;
- int price;
- str_to_number(mobVnum, arg1);
- str_to_number(itemCount, arg2);
- if (!mobVnum || (mobVnum <= 0))
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "mobVnum not exist or is wrong.");
- return;
- }
- if (!itemCount)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "itemCount not exist.");
- return;
- }
- if (itemCount <= 0)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "itemCount bellow 0.");
- return;
- }
- if (itemCount > 10)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "itemCount higher than 10.");
- return;
- }
- switch(mobVnum)
- {
- case 2001:
- price = 500000;
- break;
- case 636:
- price = 500000;
- break;
- case 552:
- price = 500000;
- break;
- case 701:
- price = 500000;
- break;
- case 101:
- price = 300000;
- break;
- default:
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "Marmur, który chcesz kupić nie istnieje.");
- price = 0;
- break;
- }
- }
- if (price == 0)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "Cena jest nieprawidłowa.");
- return;
- }
- if (ch->GetGold() < price*itemCount)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "Posiadasz zbyt mało Yang, aby kupić marmur.");
- return;
- }
- for (int createMarble = 0; createMarble < itemCount; createMarble++)
- {
- LPITEM item = ITEM_MANAGER::instance().CreateItem(70104, 1, 0, true);
- if (item)
- {
- item->SetSocket(0, mobVnum);
- int iEmptyPos = ch->GetEmptyInventory(item->GetSize());
- if (iEmptyPos != -1)
- {
- ch->PointChange(POINT_GOLD, -price);
- item->AddToCharacter(ch, TItemPos(INVENTORY, iEmptyPos));
- }
- else
- {
- M2_DESTROY_ITEM(item);
- ch->ChatPacket(CHAT_TYPE_INFO, "Posiadasz zbyt mało miejsca w ekwipunku.");
- break;
- }
- }
- else
- {
- ch->ChatPacket(CHAT_TYPE_INFO, "#%d - przedmiot nie istnieje.", 70104);
- break;
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement