Ir para conteúdo
Faça parte da equipe! (2024) ×
Conheça nossa Beta Zone! Novas áreas a caminho! ×

Sc2ALLin

Ruby Member
  • Total de Posts

    2.168
  • Registro em

  • Última visita

  • Dias Ganhos

    1
  • WCoins

    378

Tudo que Sc2ALLin postou

  1. Toma vengaonha rapaz...Querer vender a KOFD é o cúmulo.. Aqui camepão o RE-UP. Source Link: [Hidden Content] Scan: [Hidden Content] Release Link: [Hidden Content] Scan: [Hidden Content]
  2. // 0x401834; int UpdateMantle(int Mantle, int Clan) { int MandleLev = BASE_GetMandleLev(Mantle); if (Clan == 6) return MandleLev; switch (MandleLev) { case 3199: if (Clan== KINGDOM_BLUE) Mantle = 3197; if (Clan == KINGDOM_RED) return 3198; break; case 3196: if (Clan== KINGDOM_BLUE) Mantle = 3194; if (Clan == KINGDOM_RED) return 3195; break; case 3193: if (Clan== KINGDOM_BLUE) Mantle = 3191; if (Clan == KINGDOM_RED) return 3192; break; case 572: if (Clan== KINGDOM_BLUE) Mantle = 1766; if (Clan == KINGDOM_RED) return 1769; break; case 574: if (Clan== KINGDOM_BLUE) Mantle = 1768; if (Clan == KINGDOM_RED) return 1771; break; case 549: if (Clan== KINGDOM_BLUE) Mantle = 543; if (Clan == KINGDOM_RED) return 544; break; case 548: if (Clan== KINGDOM_BLUE) Mantle = 545; if (Clan == KINGDOM_RED) return 546; break; case 573: if (Clan== KINGDOM_BLUE) Mantle = 1767; if (Clan == KINGDOM_RED) return 1770; break; } return Mantle; } //0x4018C5 int BASE_GetMandleLev(int mantle) { int midx = 0; switch (mantle) { case 3197: case 3198: case 3199: return 3199; case 3194: case 3195: case 3196: return 3196; case 3191: case 3192: case 3193: return 3193; case 1766: case 1769: case 572: return 572; case 1767: case 1770: case 573: return 573; case 1768: case 1771: case 574: return 574; case 543: case 544: case 549: return 549; case 545: case 546: case 548: return 548; } return midx; }
  3. bool Exec_MSG_UpdateItem(int conn, char* pMsg) { MSG_UpdateItem* stUpdateItem = (MSG_UpdateItem*)pMsg; if (!pMob[conn].MOB.CurrentScore.Hp && pUser[conn].Mode == USER_PLAY) { SendHpMode(conn); AddCrackError(conn, 1, 16); return false; } int GateID = stUpdateItem->ItemID - 15000; if (GateID >= 0 && GateID < MAX_ITEMLIST) { int State = pItem[GateID].State; int NexState = stUpdateItem->State; if (State != 3 || NexState != 3) { int DoorKey = BASE_GetItemAbility(&pItem[GateID].ITEM, EF_KEYID); int Key = 0; if (DoorKey) { for (int i = 0; i < MAX_CARRY; ++i) { Key = BASE_GetItemAbility(&pMob[conn].MOB.Carry[i], EF_KEYID); if (Key == DoorKey) { memset(&pMob[conn].MOB.Carry[i], 0, sizeof(STRUCT_ITEM)); SendItem(conn, ITEM_PLACE_CARRY, i, &pMob[conn].MOB.Carry[i]); break; } } } if (Key != DoorKey) { if (pItem[GateID].ITEM.sIndex != 773) //Portão do Castelo { if (pItem[GateID].ITEM.sIndex != 359) //Moita SendClientMessage(conn, g_pMessageStringTable[_NN_No_Key]); return false; } } else { int Height = 0; int isUpdate = UpdateItem(GateID, NexState, &Height); if (isUpdate) { stUpdateItem->Height = Height; GridMulticast(pItem[GateID].PosX, pItem[GateID].PosY, (MSG_STANDARD*)stUpdateItem, 0); return false; } } } } else { AddCrackError(conn, 30, 52); snprintf(szLog, 128, "UpdateItem Crash - MAC:%X%X%X%X", pUser[conn].Mac[0], pUser[conn].Mac[1], pUser[conn].Mac[2], pUser[conn].Mac[3]); Log(szLog, pUser[conn].AccountName, pUser[conn].IP); return false; } return false; }
  4. fico imaginando um cabra desse indo abrir um bo na delegacia... -O que houve cidadão. Roubaram minha hospendagem senhor. kkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk Pelo amor de Deus gente, vamos procurar se informa antes de sair contratando qualquer um que se diz alguma coisa.
  5. Sinceramente, já está na hora de acabar o marketplace da área do WYD é dá um ban em quem for pego vendo aqui dentro da (WC), pelo amor de Deus todo dia, e alguém reclamando que tomou uma volta de fulano, outro que tomou volta de ciclano. Sem contar os arquivos que são vendidos, muitas das vezes já está até postado aqui. Mais vem os experinhos é vende pros mais leigos no assunto.
  6. //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; } }
  7. Top...aproveitando então. Quem tiver duvidas de como adicionar novas meshs só assistir:
  8. É só usar a função createitem...
  9. 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...
  10. É 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:
  11. //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; }
  12. Vai acabar recendo um w2pp da vida toda zuada, mais com um cliente bem bonitinho.
  13. 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.
×
×
  • 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.