Ir para conteúdo
Faça parte da equipe! (2024) ×

Sc2ALLin

Ruby Member
  • Total de Posts

    2.159
  • Registro em

  • Última visita

  • Dias Ganhos

    1
  • WCoins

    368

Tudo que Sc2ALLin postou

  1. //0x4088A0 int BASE_GetMobAbility(STRUCT_MOB* mob, char Type) { int value = 0; if (Type == 27) { value = BASE_GetMaxAbility(mob, Type); if (value < 2 && mob->Class == 3 && (mob->LearnedSkill & 0x80000) != 0) return 2; return value; } else { int nUnique[16]; memset(nUnique, 0, sizeof(nUnique)); for (int i = 0; i < MAX_EQUIP; ++i) { if (mob->Equip[i].sIndex || i == 7) { if (i >= 1 && i <= 5) nUnique[i] = g_pItemList[mob->Equip[i].sIndex].nUnique; if ((Type != EF_DAMAGE || i != 6) && (Type != EF_MAGIC || i != 7)) { if (i == 7 && Type == EF_DAMAGE) { int ldam = BASE_GetItemAbility(&mob->Equip[6], EF_DAMAGE2) + BASE_GetItemAbility(&mob->Equip[6], Type); int rdam = BASE_GetItemAbility(&mob->Equip[7], EF_DAMAGE2) + BASE_GetItemAbility(&mob->Equip[7], Type); int lidx = mob->Equip[6].sIndex; int ridx = mob->Equip[7].sIndex; int ltype = 0; if (lidx > 0 && lidx < MAX_ITEMLIST) ltype = g_pItemList[lidx].nUnique; int rtype = 0; if (ridx > 0 && ridx < MAX_ITEMLIST) rtype = g_pItemList[ridx].nUnique; if (ltype && rtype) { if (ltype == 47 && rtype == 45) { value += ldam; } else { int multi = 0; if (ltype == rtype) multi = 50; else multi = 30; if (mob->Class == TRANSKNIGHT && (mob->LearnedSkill & 0x200) != 0) multi += 15; if (mob->Class == HUNTRESS && (mob->LearnedSkill & 0x400) != 0) multi += 10; if (ldam <= rdam) value += multi * ldam / 100 + rdam; else value += multi * rdam / 100 + ldam; } } else if (ldam <= rdam) { value += rdam; } else { value += ldam; } } else { value += BASE_GetItemAbility(&mob->Equip[i], Type); } } } } if ((Type == EF_AC || Type == EF_ACADD) && (!nUnique[1] || nUnique[1] == nUnique[2]) && nUnique[2] && nUnique[2] == nUnique[3] && nUnique[3] == nUnique[4] && nUnique[4] == nUnique[5]) { if (mob->Equip[0].sIndex % 10 > 5 && nUnique[2] == 10) return value; value = 105 * value / 100; } if (value < 0) return 0; return value; } }
  2. Top...aproveitando então. Quem tiver duvidas de como adicionar novas meshs só assistir:
  3. É só usar a função createitem...
  4. kkkkkkkk sabe oque é mais engraçado? Ta vendo como a primeira impressão é a que fica? Ele abriu varios servidores, isso é fato. mais o povo só conhece ele por causa do primeiro servidor. O SOG...
  5. É um função do WYD onde os itens caiam no chão. mais foi desativado com o tempo. De resumo a função era +/- assim:
  6. //Addr756 = 0x4019C9 | addr757 0x55CA80 void MobProcessor() { unsigned int v7 = SecCounter / 6u % 0x40; for (int i = SecCounter % 6u + MAX_USER; i < MAX_MOB; i += 6) { if (ITEMMASTER) { if (pMob[i].UnknowByte_1636 > 0 && pMob[i].UnknowByte_1640 > 0) { int v1 = pMob[i].UnknowByte_1640 - 1; pMob[i].UnknowByte_1640 = v1; if (v1 <= 0) { pMob[i].UnknowByte_1636 = 0; pMob[i].UnknowByte_1640 = 0; } } } if (pMob[i].Mode == MOB_PEACE && !pMob[i].UnknowByte_1692) StandingByProcessor(i, v7 % 16, v7 / 16); } for (int j = SecCounter % 4u + MAX_USER; j < MAX_MOB; j += 4) { if ((!pMob[j].BossType || j == g_pQuestBoss[1]) && pMob[j].Mode == MOB_COMBAT) BattleProcessor(j, SecCounter % 4u); } for (int k = SecCounter % 2u + 1; k < 100; k += 2) { int v3 = g_pQuestBoss[k]; if (pMob[v3].Mode == MOB_COMBAT) { if (!g_pQuestBoss[k]) break; BattleProcessor(v3, SecCounter % 2u); } } for (int m = MAX_USER; m < MAX_MOB; ++m) { if (pMob[m].UnknowByte_1692 && pMob[m].UnknowByte_1692 <= 0x64 && pMob[m].Mode) { MobAttackArea(m, pMob[m].UnknowByte_1696, pMob[m].UnknowByte_1700, 1); --pMob[m].UnknowByte_1692; } } return; }
  7. Vai acabar recendo um w2pp da vida toda zuada, mais com um cliente bem bonitinho.
  8. Falow pô, comprar para postar tu pegou pesado... É tipo mano, eu evoluir pra caralho nesses ultimos anos, sinto orgulho de min pra porra. Porque eu vejo que oque eu acha que eu sabia sobre WYD, não era nada. E que eu era uma merda. Agora você falar que não faço minhas descopilações é foda...Agora veja você doido tu não mudou nada, continua com a mesma mania de sempre, contas atras contas FAKES, pegando conteúdo aleios é postando como se fossse e autoria sua, é tentando apagar um passado seu que você criou para si mesmo.
  9. Caria, tu não perde essa mania feia de postar as paradas bichadas pros mais leigos irem comprar a correção na sua mão né... Mania feia da porra.
  10. unsigned short g_KhepraPosition[8][2] = { { 2353, 3916 }, { 2366, 3916 }, { 2382, 3916 }, { 2350, 3931 }, { 2382, 3931 }, { 2350, 3947 }, { 2366, 3947 }, { 2382, 3947 } };
  11. Source Link: [Hidden Content] Scan: [Hidden Content] Release Link: [Hidden Content] Scan: [Hidden Content]
  12. Com eu avia dito, uma 7.56 deve atender suas espectativas...
  13. pô campeão, o cara pediu uma 756 com menos bugs. Porque diabos então eu indicaria para ele uma w2pp da vida? Sé que oque o cara pediu uma 7.56?
  14. Você fala de evolução de linguagem é bibliotecas é eu de jobalidade... E ai quem ta certo? Mais tranquilo respeito sua opnião. Abrações
  15. Ruim porque? por causa de limite de status? São raros as versões emuladas que tem o acervo de conteúdo de uma 7.56... Como eu disse, se tiver a release certa, funciona tudo. Quiz, portão inferna, cubo da maldade, pista de runas, carta, agua, pesa...tudo... agora me fala uma versão emulada ai que tenha isso tudo que citei acima? nâo tem mano.
  16. O problema não é a versão, aliás a 7,56 e a versão mais estável que tem, se você tiver a release certa, vai funcionar tudo que a versão disponibiliza. Agora o grande problema da 7.56 é que conforme foi saindo sources para modificar as coisas, muitas dessas eram totalmente zoada, deixando a versão totalmente bugada. Então se você quer uma sem bug, pegue uma source clean, sem nada… recomendo muito essa, não tem nada nela. Link: [Hidden Content] Scan: [Hidden Content]
×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.