Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ACMD(do_monarch_transfer)
- {
- if (true == LC_IsYMIR() || true == LC_IsKorea())
- return;
- char arg1[256];
- one_argument(argument, arg1, sizeof(arg1));
- if (!*arg1)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("»çżëąý: transfer <name>"));
- return;
- }
- if (!CMonarch::instance().IsMonarch(ch->GetPlayerID(), ch->GetEmpire()))
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("±şÁÖ¸¸ŔĚ »çżë °ˇ´ÉÇŃ ±â´ÉŔÔ´Ď´Ů"));
- return;
- }
- //±şÁÖ ÄđŸŔÓ °Ë»ç
- if (!ch->IsMCOK(CHARACTER::MI_TRANSFER))
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%d ĂĘ°Ł ÄđŸŔÓŔĚ ŔűżëÁßŔÔ´Ď´Ů."), ch->GetMCLTime(CHARACTER::MI_TRANSFER));
- return;
- }
- //±şÁÖ żöÇÁ şńżë
- const int WarpPrice = 10000;
- //±şÁÖ ±ą°í °Ë»ç
- if (!CMonarch::instance().IsMoneyOk(WarpPrice, ch->GetEmpire()))
- {
- int NationMoney = CMonarch::instance().GetMoney(ch->GetEmpire());
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("±ą°íżˇ µ·ŔĚ şÎÁ·ÇŐ´Ď´Ů. ÇöŔç : %u ÇĘżä±Ýľ× : %u"), NationMoney, WarpPrice);
- return;
- }
- LPCHARACTER tch = CHARACTER_MANAGER::instance().FindPC(arg1);
- if (!tch)
- {
- CCI * pkCCI = P2P_MANAGER::instance().Find(arg1);
- if (pkCCI)
- {
- if (pkCCI->bEmpire != ch->GetEmpire())
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ů¸Ą Á¦±ą ŔŻŔú´Â ĽŇČŻÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- if (pkCCI->bChannel != g_bChannel)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´ÔŔş %d äłÎżˇ Á˘ĽÓ Áß ŔÔ´Ď´Ů. (ÇöŔç äłÎ: %d)"), arg1, pkCCI->bChannel, g_bChannel);
- return;
- }
- if (!IsMonarchWarpZone(pkCCI->lMapIndex))
- {
- ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("ÇŘ´ç ÁöżŞŔ¸·Î Ŕ̵żÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- if (!IsMonarchWarpZone(ch->GetMapIndex()))
- {
- ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("ÇŘ´ç ÁöżŞŔ¸·Î ĽŇČŻÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- TPacketGGTransfer pgg;
- pgg.bHeader = HEADER_GG_TRANSFER;
- strlcpy(pgg.szName, arg1, sizeof(pgg.szName));
- pgg.lX = ch->GetX();
- pgg.lY = ch->GetY();
- P2P_MANAGER::instance().Send(&pgg, sizeof(TPacketGGTransfer));
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s ´ÔŔ» ĽŇČŻÇĎż´˝Ŕ´Ď´Ů."), arg1);
- //±şÁÖ µ· »č°¨
- CMonarch::instance().SendtoDBDecMoney(WarpPrice, ch->GetEmpire(), ch);
- //ÄđŸŔÓ ĂʱâČ
- ch->SetMC(CHARACTER::MI_TRANSFER);
- }
- else
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ŔÔ·ÂÇϽŠŔ̸§Ŕ» °ˇÁř »çżëŔÚ°ˇ ľř˝Ŕ´Ď´Ů."));
- }
- return;
- }
- if (ch == tch)
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("ŔÚ˝ĹŔ» ĽŇČŻÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- if (tch->GetEmpire() != ch->GetEmpire())
- {
- ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´Ů¸Ą Á¦±ą ŔŻŔú´Â ĽŇČŻÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- if (!IsMonarchWarpZone(tch->GetMapIndex()))
- {
- ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("ÇŘ´ç ÁöżŞŔ¸·Î Ŕ̵żÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- if (!IsMonarchWarpZone(ch->GetMapIndex()))
- {
- ch->ChatPacket (CHAT_TYPE_INFO, LC_TEXT("ÇŘ´ç ÁöżŞŔ¸·Î ĽŇČŻÇŇ Ľö ľř˝Ŕ´Ď´Ů."));
- return;
- }
- //tch->Show(ch->GetMapIndex(), ch->GetX(), ch->GetY(), ch->GetZ());
- tch->WarpSet(ch->GetX(), ch->GetY(), ch->GetMapIndex());
- //±şÁÖ µ· »č°¨
- CMonarch::instance().SendtoDBDecMoney(WarpPrice, ch->GetEmpire(), ch);
- //ÄđŸŔÓ ĂʱâČ
- ch->SetMC(CHARACTER::MI_TRANSFER);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement