Ir para conteúdo

Sc2ALLin

Ruby Member
  • Total de Posts

    2.320
  • Registro em

  • Última visita

  • Dias Ganhos

    7
  • WCoins

    530

Tudo que Sc2ALLin postou

  1. Bom, funcionar em qual sentido? ligar o Server? ou quando você liga dá algum tipo de erro?
  2. //Adress: 0x401A7D int g_pCubePosition[25][8] = { //Legenda // X Y: Posição Incial // OX OY: Posição do portal de Concordancia com a pergunta // XX XY: Posição do portal de Discordancia com a pergunta // Exp: Exp Acrecensata ou Decrementa // X Y OX OY XX XY Exp NULL {1677, 4076, 1686, 4078, 1686, 4070, 1000, 0}, {1700, 4076, 1708, 4078, 1708, 4070, 1500, 0}, {1720, 4076, 1730, 4078, 1730, 4070, 2000, 0}, {1744, 4076, 1752, 4078, 1752, 4070, 2500, 0}, {1764, 4076, 1774, 4078, 1774, 4070, 3000, 0}, {1768, 4056, 1772, 4046, 1764, 4046, 10000, 0}, {1768, 4032, 1772, 4024, 1764, 4024, 3500, 0}, {1768, 4012, 1772, 4002, 1764, 4002, 4000, 0}, {1768, 3992, 1772, 3980, 1764, 3980, 4500, 0}, {1752, 3988, 1740, 3982, 1740, 3990, 5000, 0}, {1728, 3988, 1718, 3982, 1718, 3990, 5500, 0}, {1708, 3988, 1696, 3982, 1696, 3990, 15000, 0}, {1684, 3988, 1674, 3982, 1674, 3990, 6000, 0}, {1680, 4004, 1676, 4014, 1684, 4014, 6500, 0}, {1680, 4028, 1675, 4036, 1684, 4036, 7000, 0}, {1680, 4048, 1676, 4058, 1684, 4058, 7500, 0}, {1696, 4052, 1708, 4056, 1708, 4048, 8000, 0}, {1720, 4052, 1730, 4056, 1730, 4048, 8500, 0}, {1744, 4052, 1752, 4056, 1752, 4048, 9000, 0}, {1748, 4032, 1750, 4024, 1742, 4024, 20000, 0}, {1748, 4012, 1749, 4002, 1742, 4002, 10000, 0}, {1728, 4008, 1718, 4004, 1718, 4012, 1200, 0}, {1708, 4008, 1696, 4004, 1696, 4012, 1500, 0}, {1703, 4028, 1698, 4036, 1706, 4036, 30000, 0}, {1720, 4032, 3333, 3333, 3333, 3333, 20000, 0}, }; void CQuiz::QuizProcess(int Room) { int Value = 0; int Random = rand() % 100; if (Room % 25 == 23) { if (Random < 50) Value = 1; else if (Random < 60) Value = 2; else if (Random < 90) Value = 3; else Value = 4; } else if (Random < 40) { Value = 1; } else if (Random < 70) { Value = 2; } else if (Random < 90) { Value = 3; } else { Value = 4; } for (int i = 1; i < MAX_USER; ++i) { if (pUser[i].UnknowByte_2480 == Room && pUser[i].UnknowByte_2504) { pUser[i].UnknowByte_2504 = 0; int RoomStage = Room / 25; if (Room % 25 == 24) // Última sala? Recall Direto { DoRecall(i); continue; } int TargetX = pMob[i].TargetX; int TargetY = pMob[i].TargetY; int RoomIndex = Room % 25; int CubePosX = 0; int CubePosY = 0; int ChosenRoom = 0; if (g_pQuiz[QuizQuestion[Room]].Response == 1) // Checa se resposta é "sim" ou "não" { if (RoomStage) { if (RoomStage == 1) { CubePosX = g_pCubePosition[RoomIndex][2] + 128; CubePosY = g_pCubePosition[RoomIndex][3] - 128; } else { if (RoomStage == 2) CubePosX = g_pCubePosition[RoomIndex][2] + 256; else CubePosX = g_pCubePosition[RoomIndex][2]; CubePosY = g_pCubePosition[RoomIndex][3]; } } else { CubePosX = g_pCubePosition[RoomIndex][2]; CubePosY = g_pCubePosition[RoomIndex][3]; } } else if (RoomStage) { if (RoomStage == 1) { CubePosX = g_pCubePosition[RoomIndex][4] + 128; CubePosY = g_pCubePosition[RoomIndex][5] - 128; } else { if (RoomStage == 2) CubePosX = g_pCubePosition[RoomIndex][4] + 256; else CubePosX = g_pCubePosition[RoomIndex][4]; CubePosY = g_pCubePosition[RoomIndex][5]; } } else { CubePosX = g_pCubePosition[RoomIndex][4]; CubePosY = g_pCubePosition[RoomIndex][5]; } // Verifica se o jogador está no portal correto if (TargetX >= CubePosX && TargetX < CubePosX + 4 && TargetY >= CubePosY && TargetY < CubePosY + 4) { ChosenRoom = Value; if (Value == 4) ChosenRoom = 1; } else { ChosenRoom = -Value; if (Value == 4) { SendClientMessage(i, g_pMessageStringTable[_NN_Incorrect_kicked]); DoRecall(i); continue; } } if (ChosenRoom > 0) // Resposta correta { int ExpIncrese = 0; if (RoomStage) { if (RoomStage == 1) ExpIncrese = 4000 * ChosenRoom; else if (RoomStage == 2) ExpIncrese = 7600 * ChosenRoom; } else { ExpIncrese = 2000 * ChosenRoom; } pMob[i].MOB.Exp += ExpIncrese; if (pMob[i].CheckGetLevel()) { SendClientMessage(i, g_pMessageStringTable[_NN_Level_Up]); SendScore(i); } SendEtc(i); snprintf(Buffer, sizeof(Buffer), g_pMessageStringTable[_DD_Correct_answer], ChosenRoom, ExpIncrese); SendClientMessage(i, Buffer); } else // Resposta incorreta { int ExpDecrese = 0; if (RoomStage) { if (RoomStage == 1) ExpDecrese = 4000 * ChosenRoom; else if (RoomStage == 2) ExpDecrese = 7600 * ChosenRoom; } else { ExpDecrese = 2000 * ChosenRoom; } if (ExpDecrese > 0 && pMob[i].MOB.Exp < 0xEE6B2800) pMob[i].MOB.Exp += ExpDecrese; if (ExpDecrese < 0 && pMob[i].MOB.Exp > -ExpDecrese) pMob[i].MOB.Exp += ExpDecrese; snprintf(Buffer, 0x80u, g_pMessageStringTable[_DD_Incorrect_answer], ChosenRoom, ExpDecrese); SendClientMessage(i, Buffer); SendEtc(i); } int NextRoom = ChosenRoom + (Room % 25); int NextRoomIndex = Room % 25; for (int k = 0; k < 4 && NextRoom != NextRoomIndex; ++k) { if (NextRoom > NextRoomIndex) ++NextRoomIndex; if (NextRoom < NextRoomIndex) --NextRoomIndex; if (NextRoomIndex >= 25) { NextRoom = 48 - NextRoom; NextRoomIndex = 23; } } if (NextRoomIndex > 24) { SendClientMessage(i, g_pMessageStringTable[_NN_Incorrect_kicked]); DoRecall(i); } else { int InitCubePosX = g_pCubePosition[NextRoomIndex][0]; int InitCubePosY = g_pCubePosition[NextRoomIndex][1]; if (RoomStage == 1) { InitCubePosX += 128; InitCubePosY -= 128; } else if (RoomStage == 2) { InitCubePosX += 256; } DoTeleport(i, InitCubePosX, InitCubePosY, 1); int GetCubePosition = GetCubeTeleportPosition(pMob[i].TargetX, pMob[i].TargetY); if (GetCubePosition % 25 == 24) GenerateMob(GetCubePosition + 195, 0, 0); } } } if (Room % 25 != 24) GenerateMob(Room + 195, 0, 0); }
  3. Muito??? Seria muito se fosse pdb pô...
  4. Bom, elas boa parte delas são variáveis de inicialização. É eu não postei porque acho que além de min ninguém mais mexe no 7.56...
  5. Sc2ALLin

    TMSrv.map 7.56

    Olá, alguém teria o tmsrv.map do 7.56 para dá, vender, leiloar, compartilhar??
  6. Bom, estava dando uma geral no projeto aqui... Então decidde arruma-lo da forma mais original possivel. Ai estou usando isso que achei na net para me orientar. Lembrando que esse arquivo é da TMSRV do 6.13, então se alguém tiver uma mais atual é quiser compartilhar Explicação TMSRV.map Donwload TMSRV.map Creditos: Rodrigo Mendonça
  7. void ReadConfig() { FILE* Stream = nullptr; fopen_s(&Stream, "gameconfig.txt", "rt"); if (!Stream) { MessageBoxA(hWndMain, "no gameconfig.txt, server will generate default setting.", "Error", 0x1000u); GameConfig = 1; DrawConfig(1); return; } char Parm[16][32]{}; int Value[36]{}; char String[255]{}; // ================= Drop Item Event Settings ================= fgets(String, 255, Stream); if (strcmp(String, "Drop Item Event Settings:\n")) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line1", "Error", 0x1000u); fclose(Stream); return; } for (int i = 0; i < 16; ++i) { Value[i] = -1; memset(Parm[i], 0, 0x20u); } fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d %s %d %s %d %s %d %d %d %d", Parm[0], sizeof(Parm[0]), &Value[0], Parm[1], sizeof(Parm[1]), &Value[1], Parm[2], sizeof(Parm[2]), &Value[2], Parm[3], sizeof(Parm[3]), &Value[3], Parm[4], sizeof(Parm[4]), &Value[4], Parm[5], sizeof(Parm[5]), &Value[5], &Value[6], &Value[7], &Value[8]); if (strcmp(Parm[0], "evindex") || strcmp(Parm[1], "evdelete") || strcmp(Parm[2], "evon") || strcmp(Parm[3], "evitem") || strcmp(Parm[4], "evrate") || strcmp(Parm[5], "evstart")) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line2", "Error", 0x1000u); fclose(Stream); return; } if (Value[0] == -1 || Value[1] == -1 || Value[2] == -1 || Value[3] == -1 || Value[4] == -1 || Value[5] == -1 || Value[6] == -1 || Value[7] == -1) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line2", "Error", 0x1000u); fclose(Stream); return; } evIndex = Value[0]; evDelete = Value[1]; evOn = Value[2]; evItem = Value[3]; evRate = Value[4]; evStartIndex = Value[5]; evCurrentIndex = Value[6]; evEndIndex = Value[7]; evNotice = Value[8]; // ================= Etc Event Settings ================= fgets(String, 255, Stream); if (strcmp(String, "Etc Event Settings:\n")) { MessageBoxA(hWndMain, "not game server generated gameconfig.txt - Line3", "Error", 0x1000u); fclose(Stream); return; } for (int i = 0; i < 16; ++i) { Value[i] = -1; memset(Parm[i], 0, 0x20u); } fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d %s %d %s %d %s %d %s %d", Parm[0], sizeof(Parm[0]), &Value[0], Parm[1], sizeof(Parm[1]), &Value[1], Parm[2], sizeof(Parm[2]), &Value[2], Parm[3], sizeof(Parm[3]), &Value[3], Parm[4], sizeof(Parm[4]), &Value[4], Parm[5], sizeof(Parm[5]), &Value[5], Parm[6], sizeof(Parm[6]), &Value[6]); if (strcmp(Parm[0], "double") || strcmp(Parm[1], "deadpoint") || strcmp(Parm[2], "dungeonevent") || strcmp(Parm[3], "statsapphire")) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line4", "Error", 0x1000u); fclose(Stream); return; } if (Value[0] == -1 || Value[1] == -1 || Value[2] == -1 || Value[3] == -1) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line4", "Error", 0x1000u); fclose(Stream); return; } DOUBLEMODE = Value[0]; DEADPOINT = Value[1]; DUNGEONEVENT = Value[2]; StatSapphire = Value[3]; BrItem = Value[4]; VSMode = Value[5]; TRANSLEVEL = Value[6]; if (TRANSLEVEL < 200 || TRANSLEVEL > 400) TRANSLEVEL = 300; // ================= Etc Settings ================= fgets(String, 255, Stream); if (strcmp(String, "Etc Settings:\n")) { MessageBoxA(hWndMain, "not game server generated gameconfig.txt - Line5", "Error", 0x1000u); fclose(Stream); return; } for (int i = 0; i < 16; ++i) { Value[i] = -1; memset(&Parm[i], 0, 0x20u); } fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d %s %d %s %d %s %d", Parm[0], sizeof(Parm[0]), &Value[0], Parm[1], sizeof(Parm[1]), &Value[1], Parm[2], sizeof(Parm[2]), &Value[2], Parm[3], sizeof(Parm[3]), &Value[3], Parm[4], sizeof(Parm[4]), &Value[4], Parm[5], sizeof(Parm[5]), &Value[5]); if (strcmp(Parm[0], "freeexp")) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line6", "Error", 0x1000u); fclose(Stream); return; } if (Value[0] == -1) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line6", "Error", 0x1000u); fclose(Stream); return; } FREEEXP = Value[0]; POTIONCOUNT = Value[1]; PARTYBONUS = Value[2]; GUILDBOARD = Value[3]; if (PARTYBONUS < 50 || PARTYBONUS > 200) PARTYBONUS = 100; // ================= Item Drop Bonus Settings ================= fgets(String, 255, Stream); if (strcmp(String, "Item Drop Bonus Settings:\n")) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line7", "Error", 0x1000u); fclose(Stream); return; } for (int m = 0; m < 4; m++) { fgets(String, 255, Stream); sscanf_s(String, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d", &Value[0], &Value[1], &Value[2], &Value[3], &Value[4], &Value[5], &Value[6], &Value[7], &Value[8], &Value[9], &Value[10], &Value[11], &Value[12], &Value[13], &Value[14], &Value[15]); for (int j = 0; j < 16; ++j) { if (Value[j] < 0 || Value[j] > 3000) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - DropBonus", "Error", 0x1000u); fclose(Stream); return; } g_pDropBonus[m * 16 + j] = Value[j]; Value[j] = -1; } } // ================= Treasure Settings ================= fgets(String, 255, Stream); if (strcmp(String, "Treasure Settings:\n")) { MessageBoxA(hWndMain, "not game-server generated gameconfig.txt - Line12", "Error", 0x1000u); fclose(Stream); return; } memset(g_pTreasure, 0, sizeof(g_pTreasure)); for (int j = 0; j < 17; ++j) { STRUCT_TREASURE* Treasure = &g_pTreasure[j]; for (int i = 0; i < 26; i++) Value[i] = -1; fgets(String, 255, Stream); sscanf_s(String, "%d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d" " %d %d %d %d %d %d %d", &Value[0], &Value[1], &Value[2], &Value[3], &Value[4], &Value[5], &Value[6], &Value[7], &Value[8], &Value[9], &Value[10], &Value[11], &Value[12], &Value[13], &Value[14], &Value[15], &Value[16], &Value[17], &Value[18], &Value[19], &Value[20], &Value[21], &Value[22], &Value[23], &Value[24], &Value[25], &Value[26], &Value[27], &Value[28], &Value[29], &Value[30], &Value[31], &Value[32], &Value[33], &Value[34], &Value[35]); if (!strncmp(String, "Rare", 4u)) break; Treasure->Source = Value[0]; for (int i = 0; i < 5; ++i) { STRUCT_ITEM* TreasureItem = &Treasure->Target[i]; TreasureItem->sIndex = Value[7 * i + 1]; TreasureItem->stEffect[0].cEffect = Value[7 * i + 2]; TreasureItem->stEffect[0].cValue = Value[7 * i + 3]; TreasureItem->stEffect[1].cEffect = Value[7 * i + 4]; TreasureItem->stEffect[1].cValue = Value[7 * i + 5]; TreasureItem->stEffect[2].cEffect = Value[7 * i + 6]; TreasureItem->stEffect[2].cValue = Value[7 * i + 7]; } fgets(String, 255, Stream); sscanf_s(String, "%d %d %d %d %d", &Value[0], &Value[1], &Value[2], &Value[3], &Value[4]); for (int i = 0; i < 5; ++i) Treasure->Rate[i] = Value[i]; } // ================= Rare Item Drop Settings ================= char Str[5][64]{}; if (strcmp(String, "Rare Item Drop Settings:\n")) { MessageBoxA(hWndMain, "not game server generated gameconfig.txt - Line29", "Error", 0x1000u); fclose(Stream); return; } memset(g_pRare, 0, sizeof(g_pRare)); for (int i = 0; i < 8; ++i) { STRUCT_RARE* Rare = &g_pRare[i]; STRUCT_ITEM* RareItem = &g_pRare[i].item; fgets(String, 255, Stream); sscanf_s(String, "%d %d %hd %hhu %hhu %hhu %hhu %hhu %hhu %s %d", &Rare->MonsterFace, &Rare->DropRate, &RareItem->sIndex, &RareItem->stEffect[0].cEffect, &RareItem->stEffect[0].cValue, &RareItem->stEffect[1].cEffect, &RareItem->stEffect[1].cValue, &RareItem->stEffect[2].cEffect, &RareItem->stEffect[2].cValue, Str[4], sizeof(Str[4]), &Rare->Count); } for (int i = 0; i < 5; i++) memset(Str[i], 0, sizeof(Str[i])); RARESWITCH = 0; bool Draw = false; // ================= Game Option Settings ================= fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d %s %d", Str[0], sizeof(Str[0]), &RARESWITCH, Str[1], sizeof(Str[1]), &STOPGOLDCOIN, Str[2], sizeof(Str[2]), &LOCALSERVER, Str[3], sizeof(Str[3]), &STOPQUEST); fgets(String, 255, Stream); int g_NonePKServer = *(int*)0xAACD54; if (strcmp(String, "Game Option Settings:\n")) { g_NonePKServer = 0; ITEMDESTROY = 100; ITEMMASTER = 0; DOUBLEZONE = 0; Draw = true; } String[0] = 0; if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d %s %d %s %d", Str[1], sizeof(Str[1]), &g_NonePKServer, Str[2], sizeof(Str[2]), &GAMBLESERVER, Str[3], sizeof(Str[3]), &KHEPRAOPEN); String[0] = 0; if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d %s %d %s %d", Str[1], sizeof(Str[1]), &ITEMDESTROY, Str[2], sizeof(Str[2]), &ITEMMASTER, Str[3], sizeof(Str[3]), &DOUBLEZONE); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d", Str[1], sizeof(Str[1]), &USE_GUILDWAR_MANTLE, Str[2], sizeof(Str[2]), &USE_FREE_GAMBLE, Str[3], sizeof(Str[3]), &CASINOTICKET); String[0] = 0; if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d %s %d %s %d %s %d", Str[1], sizeof(Str[1]), &LOTTOTICKET, Str[2], sizeof(Str[2]), &MAXLEVEL, Str[3], sizeof(Str[3]), &MAXLEVEL2, Str[4], sizeof(Str[4]), &CREATECHAR); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d ", Str[1], sizeof(Str[1]), &USE8THSKILL, Str[2], sizeof(Str[2]), &MAXLEVELTICKET, Str[3], sizeof(Str[3]), &EventHour); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d", Str[1], sizeof(Str[1]), &DUELLETTERLIMIT, Str[2], sizeof(Str[2]), &DUELLETTERLIMIT2); memset(TownTax, 0, sizeof(TownTax)); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %I64d %s %I64d %s %I64d %s %I64d %s %I64d", Str[0], sizeof(Str[0]), &TownTax[0], Str[1], sizeof(Str[1]), &TownTax[1], Str[2], sizeof(Str[2]), &TownTax[2], Str[3], sizeof(Str[3]), &TownTax[3], Str[4], sizeof(Str[4]), &TownTax[4]); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %d %s %d", Str[1], sizeof(Str[1]), &RANDOMQUIZ, Str[2], sizeof(Str[2]), &RandomQuizExp, Str[2], sizeof(Str[3]), &RandomQuizCoin); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %d %d %s %d", Str[1], sizeof(Str[1]), &ITEMPRICE1, &ITEMPRICE2, Str[2], sizeof(Str[2]), &SEALOFSOUL); String[0] = 0; fgets(String, 255, Stream); sscanf_s(String, "%s %d %s %I64d", Str[1], sizeof(Str[1]), &NIGHTMARE, Str[2], sizeof(Str[2]), &BLESSMONEY); String[0] = 0; if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d", Str[1], sizeof(Str[1]), &ADDCRACKERROR); String[0] = 0; //if (fgets(String, 255, Stream)) // sscanf_s(String, "%s %d", Str[1], sizeof(Str[1]), &EncodeByte); //String[0] = 0; //if (fgets(String, 255, Stream)) //{ // sscanf_s(String, "%s %c %s %c", Str[1], sizeof(Str[1]), &cp, Str[2], sizeof(Str[2]), &aLogdemon); // BLOCKEDIP = inet_addr(cp); //} String[0] = 0; if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d", Str[1], sizeof(Str[1]), &KINGDOMFIELD); if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d", Str[1], sizeof(Str[1]), &ITEMDELETEMODE); if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d", Str[1], sizeof(Str[1]), &GAMBLEMONEY); if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d", Str[1], sizeof(Str[1]), &CREATEHARDCHARACTER); if (fgets(String, 255, Stream)) sscanf_s(String, "%s %d %s %d", Str[0], sizeof(Str[0]), &KhepraGuildKiller, Str[1], sizeof(Str[1]), &RuneZoneState); fclose(Stream); if (Draw) { GameConfig = 1; DrawConfig(1); } } void DrawConfig(int Draw) { int x = 0; int y = 0; int color = 255; int BlackColor = 0; if (GameConfig) { int g_NonePKServer = *(int*)0xAACD54; HDC hdc = GetDC(hWndMain); if (hdc) { int len = 0; char String[256]{}; if (!hFont || SelectObject(hdc, hFont) != 0) { FILE* Stream = nullptr; if (Draw) fopen_s(&Stream, "gameconfig.txt", "wt"); y -= pMainWndProc.nPos; SetTextColor(hdc, color); snprintf(String, 0x100u, "Drop Item Event Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); snprintf(String, 0x100u, " evindex %d evdelete %d evon %d evitem %d evrate %d evstart %d %d %d %d", evIndex, evDelete, evOn, evItem, evRate, evStartIndex, evCurrentIndex, evEndIndex, evNotice); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, color); snprintf(String, 0x100u, "Etc Event Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); snprintf(String, 0x100u, " double %d deadpoint %d dungeonevent %d statsapphire %d battleroyal %d VS: %d translevel: %d", DOUBLEMODE, DUNGEONEVENT, DEADPOINT, StatSapphire, BrItem, VSMode, TRANSLEVEL); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, color); snprintf(String, 0x100u, "Etc Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); snprintf(String, 0x100u, " freeexp %d potioncount %d partybonus %d guildboard %d", FREEEXP, POTIONCOUNT, PARTYBONUS, GUILDBOARD); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, color); snprintf(String, 0x100u, "Item Drop Bonus Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); for (int i = 0; i < 4; ++i) { int pos = 16 * i; snprintf(String, sizeof(String), " %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d %3d", g_pDropBonus[0 + pos], g_pDropBonus[1 + pos], g_pDropBonus[2 + pos], g_pDropBonus[3 + pos], g_pDropBonus[4 + pos], g_pDropBonus[5 + pos], g_pDropBonus[6 + pos], g_pDropBonus[7 + pos], g_pDropBonus[8 + pos], g_pDropBonus[9 + pos], g_pDropBonus[10 + pos], g_pDropBonus[11 + pos], g_pDropBonus[12 + pos], g_pDropBonus[13 + pos], g_pDropBonus[14 + pos], g_pDropBonus[15 + pos]); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", String); } SetTextColor(hdc, color); snprintf(String, 0x100u, "Treasure Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); for (int j = 0; j < 16; ++j) { char Dest[256]{}; STRUCT_TREASURE* Treasure = &g_pTreasure[j]; snprintf(Dest, 0x100u, "%-4d ", g_pTreasure[j].Source); for (int k = 0; k < 5; ++k) { STRUCT_ITEM* TreasureItem = &Treasure->Target[k]; snprintf(String, 0x100u, " %-4d %2d %2d %2d %2d %2d %2d ", TreasureItem->sIndex, Treasure->Target[k].stEffect[0].cEffect, Treasure->Target[k].stEffect[0].cValue, Treasure->Target[k].stEffect[1].cEffect, Treasure->Target[k].stEffect[1].cValue, Treasure->Target[k].stEffect[2].cEffect, Treasure->Target[k].stEffect[2].cValue); strcat_s(Dest, String); } len = strlen(Dest); TextOutA(hdc, x, y, Dest, len); y += 16; if (Draw) fprintf(Stream, "%s\n", Dest); snprintf(String, 0x100u, " %-5d %-5d %-5d %-5d %-5d", Treasure->Rate[0], Treasure->Rate[1], Treasure->Rate[2], Treasure->Rate[3], Treasure->Rate[4]); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); } SetTextColor(hdc, color); snprintf(String, 0x100u, "Rare Item Drop Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); for (int i = 0; i < 8; ++i) { snprintf(String, 0x100u, "%-4d %-8d %-4d %-4d %-4d %-4d %-4d %-4d %-4d x %2d", g_pRare[i].MonsterFace, g_pRare[i].DropRate, g_pRare[i].item.sIndex, g_pRare[i].item.stEffect[0].cEffect, g_pRare[i].item.stEffect[0].cValue, g_pRare[i].item.stEffect[1].cEffect, g_pRare[i].item.stEffect[1].cValue, g_pRare[i].item.stEffect[2].cEffect, g_pRare[i].item.stEffect[2].cValue, g_pRare[i].Count); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); } snprintf(String, 0x100u, "rare mode : %d StopGoldCoin: %d LocalServer : %d Stop Quest : %d", RARESWITCH, STOPGOLDCOIN, LOCALSERVER, STOPQUEST); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, color); snprintf(String, 0x100u, "Game Option Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); SetTextColor(hdc, BlackColor); snprintf(String, 0x100u, "NonePKServer: %d GambleServer: %d KhepraOpen: %d", g_NonePKServer, GAMBLESERVER, KHEPRAOPEN); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "ItemDestroy: %d ItemMaster: %d EXP_NOT_DOUBLE_ZONE: %d", ITEMDESTROY, ITEMMASTER, DOUBLEZONE); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "USE_GUILDWAR_MANTLE: %d USE_FREE_GAMBLE: %d casinoticket: %d", USE_GUILDWAR_MANTLE, USE_FREE_GAMBLE, CASINOTICKET); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "lottoTicket: %d maxlevel: %d maxlevel2: %d createchar: %d", LOTTOTICKET, MAXLEVEL, MAXLEVEL2, CREATECHAR); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "8thskill: %d maxlevelticket: %d eventhour: %d", USE8THSKILL, MAXLEVELTICKET, EventHour); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "duelletterlimit: %d %d", DUELLETTERLIMIT, DUELLETTERLIMIT2); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "TownTax: %I64d %I64d %I64d %I64d %I64d", TownTax[0], TownTax[1], TownTax[2], TownTax[3], TownTax[4]); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "randomquiz: %d exp:%d coin:%d", RANDOMQUIZ, RandomQuizExp, RandomQuizCoin); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "itemprice: %d %d sealofsoul:%d", ITEMPRICE1, ITEMPRICE2, SEALOFSOUL); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "nightmare: %d blessmoney: %I64d", NIGHTMARE, BLESSMONEY); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "addcrackerror: %d", ADDCRACKERROR); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; //if (Draw) // fprintf(Stream, "%s\n", &String); //snprintf(String, 0x100u, "encode %s", EncodeByte); //len = strlen(String); //TextOutA(hdc, x, y, String, len); //y += 16; //if (Draw) // fprintf(Stream, "%s\n", &String); //snprintf(String, 0x100u, "logdemon %s %s", cp, aLogdemon); //len = strlen(String); //TextOutA(hdc, x, y, String, len); //y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "kingdomfield %d", KINGDOMFIELD); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "ItemDeleteMode %d", ITEMDELETEMODE); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "GameBleMoney %d", GAMBLEMONEY); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "CreateHardCharactor %d", CREATEHARDCHARACTER); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); snprintf(String, 0x100u, "KhepraGuild %d RuneGate %d", KhepraGuildKiller, RuneZoneState); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(Stream, "%s\n", &String); ReleaseDC(hWndMain, hdc); if (Stream) fclose(Stream); } } } }
  8. Sc2ALLin

    Site: KOFD

    Bom a um tempo atrás eu comprei esse site aqui na mão do Rogerio, mais não atendeu minhas expectativas... então ficou parado aqui por um bom, então estarei disponibilizando esse site. Bom o site é uma lenha que só, fiquem avoante para resolver os paranauês que nele existe.. Site: [Hidden Content] Banco de dados: [Hidden Content] Scan: [Hidden Content] Imagem do Site:
×
×
  • 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.