Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //Source Code By Faelz' && Thiagodp
- //Adicionar ao _MSG_Quest.cpp
- #pragma region KING
- case KING:
- {
- int ReiClan = pMob[npcIndex].MOB.Clan;
- int Clan = pMob[conn].MOB.Clan;
- int cLevel = pMob[conn].MOB.CurrentScore.Level;
- int CapeMode = 0;
- STRUCT_ITEM *Capa = &pMob[conn].MOB.Equip[15];
- if (Capa->sIndex == 543 || Capa->sIndex == 545)
- Clan = 7;
- if (Capa->sIndex == 544 || Capa->sIndex == 546)
- Clan = 8;
- if (Capa->sIndex == 734 || Capa->sIndex == 736)
- Clan = 7;
- if (Capa->sIndex == 735 || Capa->sIndex == 737)
- Clan = 8;
- if (Capa->sIndex == 3191 || Capa->sIndex == 3194)
- Clan = 7;
- if (Capa->sIndex == 3192 || Capa->sIndex == 3195)
- Clan = 8;
- if (Capa->sIndex == 3197 || Capa->sIndex == 1767)
- Clan = 7;
- if (Capa->sIndex == 3198 || Capa->sIndex == 1770)
- Clan = 8;
- if (Capa->sIndex == 543 || Capa->sIndex == 544 || Capa->sIndex == 1767 || Capa->sIndex == 1770 || Capa->sIndex == 3191 || Capa->sIndex == 3194 || Capa->sIndex == 3192 || Capa->sIndex == 3195 || Capa->sIndex == 3197 || Capa->sIndex == 3198)
- CapeMode = 2;
- if (Capa->sIndex == 545 || Capa->sIndex == 546 || Capa->sIndex == 549)
- CapeMode = 1;
- if (Capa->sIndex == 3193)
- CapeMode = 1;
- if (Capa->sIndex == 3196)
- CapeMode = 1;
- if (Clan != 0 && Clan != ReiClan)
- break;
- int Saphire = Sapphire;
- if (ReiClan == 8)
- {
- if (Sapphire == 1)
- Saphire = 60;
- if (Sapphire == 2)
- Saphire = 32;
- if (Sapphire == 4)
- Saphire = 16;
- if (Sapphire == 16)
- Saphire = 4;
- if (Sapphire == 32)
- Saphire = 2;
- if (Sapphire == 64)
- Saphire = 1;
- }
- if (confirm == 0)
- {
- sprintf(temp, g_pMessageStringTable[_DN_Need_D_Sapphire], Saphire);
- SendClientMessage(conn, temp);
- break;
- }
- if (pMob[conn].MOB.Equip[10].sIndex == 1742 && pMob[conn].MOB.Equip[11].sIndex >= 1760 && pMob[conn].MOB.Equip[11].sIndex <= 1763)
- {
- int sAgua = 0;
- int sTerra = 0;
- int sSol = 0;
- int sVento = 0;
- for (int i = 0; i < pMob[conn].MaxCarry; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == 5334)
- sAgua = 1;
- if (pMob[conn].MOB.Carry[i].sIndex == 5335)
- sTerra = 1;
- if (pMob[conn].MOB.Carry[i].sIndex == 5336)
- sSol = 1;
- if (pMob[conn].MOB.Carry[i].sIndex == 5337)
- sVento = 1;
- }
- if (sAgua == 1 && sTerra == 1 && sSol == 1 && sVento == 1)
- {
- for (int i = 0; i < pMob[conn].MaxCarry; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == 5334 && sAgua == 1)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- pMob[conn].MOB.Carry[i].sIndex = 5338;
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- sAgua = 0;
- }
- if (pMob[conn].MOB.Carry[i].sIndex == 5335 && sTerra == 1)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- sTerra = 0;
- }
- if (pMob[conn].MOB.Carry[i].sIndex == 5336 && sSol == 1)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- sSol = 0;
- }
- if (pMob[conn].MOB.Carry[i].sIndex == 5337 && sVento == 1)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- sVento = 0;
- }
- }
- memset(&pMob[conn].MOB.Equip[10], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_EQUIP, 10, &pMob[conn].MOB.Equip[10]);
- memset(&pMob[conn].MOB.Equip[11], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_EQUIP, 11, &pMob[conn].MOB.Equip[11]);
- SendSay(npcIndex, g_pMessageStringTable[_NN_My_King_Bless1]);
- sprintf(temp, "etc,king make ideal_stone name:%s level:%d", pMob[conn].MOB.MobName, pMob[conn].MOB.BaseScore.Level);
- Log(temp, "-system", 0);
- break;
- }
- if (pMob[conn].extra.ClassMaster == MORTAL && pMob[conn].MOB.CurrentScore.Level >= 299 && pMob[conn].Mode != MOB_WAITDB)
- {
- int cls = pMob[conn].MOB.Equip[11].sIndex - 1760;
- MSG_DBCreateArchCharacter sm_ca;
- memset(&sm_ca, 0, sizeof(MSG_DBCreateArchCharacter));
- sm_ca.Size = sizeof(MSG_DBCreateArchCharacter);
- sm_ca.Type = _MSG_DBCreateArchCharacter;
- sm_ca.ID = conn;
- sm_ca.MobClass = cls;
- sm_ca.MortalFace = pMob[conn].extra.MortalFace;
- sm_ca.MortalSlot = pUser[conn].Slot;
- strncpy(sm_ca.MobName, pMob[conn].MOB.MobName, NAME_LENGTH);
- pMob[conn].Mode = MOB_WAITDB;
- DBServerSocket.SendOneMessage((char*)&sm_ca, sizeof(MSG_DBCreateArchCharacter));
- sprintf(temp, "etc,king_arch name:%s class:%d mortalface:%d mortalslot:%d", pMob[conn].MOB.MobName, cls, pMob[conn].extra.MortalFace, pUser[conn].Slot);
- Log(temp, pUser[conn].AccountName, pUser[conn].IP);
- break;
- }
- }
- if (CapeMode >= 2)
- {
- if (ReiClan == 7)
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless1]);
- else
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless2]);
- break;
- }
- if ((pMob[conn].extra.ClassMaster == CELESTIAL || pMob[conn].extra.ClassMaster == CELESTIALCS || pMob[conn].extra.ClassMaster == SCELESTIAL) && (pMob[conn].MOB.Equip[15].sIndex == 3199 || pMob[conn].MOB.Equip[15].sIndex == 573))
- {
- int NumSepInv = 0;
- for (int i = 0; i < pMob[conn].MaxCarry; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == 697)
- NumSepInv++;
- else if (pMob[conn].MOB.Carry[i].sIndex == 4131)
- NumSepInv += 10;
- }
- if (NumSepInv < Saphire)
- {
- sprintf(temp, g_pMessageStringTable[_DN_Need_D_Sapphire], Saphire);
- SendClientMessage(conn, temp);
- break;
- }
- MSG_STANDARDPARM sm_us;
- memset(&sm_us, 0, sizeof(MSG_STANDARDPARM));
- sm_us.ID = 0;
- sm_us.Type = _MSG_DBUpdateSapphire;
- sm_us.Size = sizeof(MSG_STANDARDPARM);
- sm_us.Parm = ReiClan == 7;
- DBServerSocket.SendOneMessage((char*)&sm_us, sizeof(MSG_STANDARD));
- for (int i = 0; i < pMob[conn].MaxCarry && Saphire > 0; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == 697)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- Saphire--;
- }
- else if (pMob[conn].MOB.Carry[i].sIndex == 4131)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- if ((Saphire - 10) < 0)
- Saphire = 0;
- else
- Saphire -= 10;
- }
- }
- if ((pMob[conn].extra.ClassMaster == CELESTIAL || pMob[conn].extra.ClassMaster == CELESTIALCS))
- {
- if (ReiClan == 7)
- {
- pMob[conn].MOB.Equip[15].sIndex = 3197;
- SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless1]);
- }
- if (ReiClan == 8)
- {
- pMob[conn].MOB.Equip[15].sIndex = 3198;
- SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless2]);
- }
- }
- if ((pMob[conn].extra.ClassMaster == SCELESTIAL))
- {
- if (ReiClan == 7)
- {
- pMob[conn].MOB.Equip[15].sIndex = 1767;
- SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless1]);
- }
- if (ReiClan == 8)
- {
- pMob[conn].MOB.Equip[15].sIndex = 1770;
- SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless2]);
- }
- }
- int Guild = pMob[conn].MOB.Guild;
- int Group = ServerGroup;
- int Server = Guild / MAX_GUILD;
- int usGuild = Guild & MAX_GUILD - 1;
- if (Guild && pMob[conn].MOB.GuildLevel == 9)
- {
- MSG_GuildInfo sm_gi;
- memset(&sm_gi, 0, sizeof(MSG_GuildInfo));
- sm_gi.Type = _MSG_GuildInfo;
- sm_gi.Size = sizeof(MSG_GuildInfo);
- sm_gi.ID = conn;
- sm_gi.Guild = Guild;
- GuildInfo[Guild].Clan = ReiClan;
- GuildInfo[Guild].Fame = 0;
- sm_gi.GuildInfo = GuildInfo[Guild];
- DBServerSocket.SendOneMessage((char*)&sm_gi, sizeof(MSG_GuildInfo));
- }
- sprintf(temp, "etc,get mantle %d - sapphire:%d", pMob[conn].MOB.Equip[15].sIndex, Saphire);
- Log(temp, pUser[conn].AccountName, pUser[conn].IP);
- break;
- }
- if (cLevel < 219)
- {
- SendClientMessage(conn, g_pMessageStringTable[_NN_Need_Level]);
- break;
- }
- if (CapeMode != 1 || cLevel >= 255)
- {
- int NumSepInv = 0;
- for (int i = 0; i < pMob[conn].MaxCarry; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == 697)
- NumSepInv++;
- else if (pMob[conn].MOB.Carry[i].sIndex == 4131)
- NumSepInv += 10;
- }
- if (NumSepInv < Saphire && pMob[conn].MOB.Equip[13].sIndex != 4081)
- {
- sprintf(temp, g_pMessageStringTable[_DN_Need_D_Sapphire], Saphire);
- SendClientMessage(conn, temp);
- break;
- }
- MSG_STANDARDPARM sm_us;
- memset(&sm_us, 0, sizeof(MSG_STANDARDPARM));
- sm_us.ID = 0;
- sm_us.Type = _MSG_DBUpdateSapphire;
- sm_us.Size = sizeof(MSG_STANDARDPARM);
- sm_us.Parm = ReiClan == 7;
- DBServerSocket.SendOneMessage((char*)&sm_us, sizeof(MSG_STANDARD));
- for (int i = 0; i < pMob[conn].MaxCarry && Saphire > 0 && pMob[conn].MOB.Equip[13].sIndex != 4081; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == 697)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- Saphire--;
- }
- else if (pMob[conn].MOB.Carry[i].sIndex == 4131)
- {
- memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- if ((Saphire - 10) < 0)
- Saphire = 0;
- else
- Saphire -= 10;
- }
- }
- if (pMob[conn].MOB.Equip[13].sIndex == 4081)
- {
- memset(&pMob[conn].MOB.Equip[13], 0, sizeof(STRUCT_ITEM));
- SendItem(conn, ITEM_PLACE_EQUIP, 13, &pMob[conn].MOB.Equip[13]);
- }
- if (CapeMode == 0)
- {
- if (Capa->sIndex != 548)
- memset(&pMob[conn].MOB.Equip[15], 0, sizeof(STRUCT_ITEM));
- if (ReiClan == 7)
- pMob[conn].MOB.Equip[15].sIndex = 545;
- else
- pMob[conn].MOB.Equip[15].sIndex = 546;
- }
- if (CapeMode == 1)
- {
- if (Capa->sIndex == 3193)
- {
- if (ReiClan == 7)
- pMob[conn].MOB.Equip[15].sIndex = 3191;
- else
- pMob[conn].MOB.Equip[15].sIndex = 3192;
- }
- else if (Capa->sIndex == 3196)
- {
- if (ReiClan == 7)
- pMob[conn].MOB.Equip[15].sIndex = 3194;
- else
- pMob[conn].MOB.Equip[15].sIndex = 3195;
- }
- else
- {
- if (Capa->sIndex != 549)
- memset(&pMob[conn].MOB.Equip[15], 0, sizeof(STRUCT_ITEM));
- if (ReiClan == 7)
- pMob[conn].MOB.Equip[15].sIndex = 543;
- else
- pMob[conn].MOB.Equip[15].sIndex = 544;
- }
- }
- SendItem(conn, ITEM_PLACE_EQUIP, 15, &pMob[conn].MOB.Equip[15]);
- if (ReiClan == 7)
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless1]);
- else
- SendClientMessage(conn, g_pMessageStringTable[_NN_My_King_Bless2]);
- int Guild = pMob[conn].MOB.Guild;
- int Group = ServerGroup;
- int Server = Guild / MAX_GUILD;
- int usGuild = Guild & MAX_GUILD - 1;
- if (Guild && pMob[conn].MOB.GuildLevel == 9)
- {
- MSG_GuildInfo sm_gi;
- memset(&sm_gi, 0, sizeof(MSG_GuildInfo));
- sm_gi.Type = _MSG_GuildInfo;
- sm_gi.Size = sizeof(MSG_GuildInfo);
- sm_gi.ID = conn;
- sm_gi.Guild = Guild;
- GuildInfo[Guild].Clan = ReiClan;
- sm_gi.GuildInfo = GuildInfo[Guild];
- DBServerSocket.SendOneMessage((char*)&sm_gi, sizeof(MSG_GuildInfo));
- }
- sprintf(temp, "etc,get mantle %d - sapphire:%d", pMob[conn].MOB.Equip[15].sIndex, Saphire);
- Log(temp, pUser[conn].AccountName, pUser[conn].IP);
- break;
- }
- else
- {
- SendClientMessage(conn, g_pMessageStringTable[_NN_Need_Level]);
- break;
- }
- } break;
- #pragma endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement