Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #pragma region Shop Esferas
- if (strcmp("Npc Troca", SellName) == 0) // Nome do NPC
- {
- int idITem = 3467;
- int idQtd = 10;
- // Verifica o inventario do jogador.
- int cnt = 0;
- for (int i = 0; i < pMob[conn].MaxCarry; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == idITem)
- {
- int amountCarry = BASE_GetItemAmount(&pMob[conn].MOB.Carry[i]);
- if (amountCarry == 0)
- cnt++;
- else
- cnt += amountCarry;
- }
- }
- // Verifica se o jogador tem mais que 10 itens
- if (cnt < idQtd)
- {
- SendClientMessage(conn, "Você não possui itens suficientes para troca.");
- return FALSE;
- }
- // Apaga os itens do inventario do jogador
- int ex_cnt = 0;
- for (int i = 0; i < pMob[conn].MaxCarry; i++)
- {
- if (pMob[conn].MOB.Carry[i].sIndex == idITem)
- {
- if (ex_cnt >= idQtd)
- continue;
- int extCarry = BASE_GetItemAmount(&pMob[conn].MOB.Carry[i]);
- if (extCarry < idQtd)
- {
- BASE_ClearItem(&pMob[conn].MOB.Carry[i]);
- ex_cnt += extCarry;
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- }
- else if (extCarry > idQtd)
- {
- BASE_SetItemAmount(&pMob[conn].MOB.Carry[i], extCarry - 10);
- ex_cnt += extCarry;
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- }
- else if (extCarry == 0)
- {
- ex_cnt++;
- BASE_ClearItem(&pMob[conn].MOB.Carry[i]);
- SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]);
- }
- }
- }
- // OS itens foram apagagos, agora o jogador recebe o premio.
- int idPremio = 413; // Id da Poeira de LAc
- int qtPremio = 10; // Quantidade de premios
- STRUCT_ITEM premio;
- memset(&premio, 0, sizeof(STRUCT_ITEM));
- premio.sIndex = idPremio;
- premio.stEffect[0].cEffect = EF_AMOUNT;
- premio.stEffect[0].cValue = qtPremio;
- PutItem(conn, &premio);
- return FALSE;
- }
- #pragma endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement