Sc2ALLin ganhou no último dia 31 de Janeiro 2021
Sc2ALLin teve o conteúdo mais curtida!
Sobre Mim
-
Discord
sc2allin
Últimos Visitantes
3.470 visualizações
Sc2ALLin's Achievements
-
Sc2ALLin começou a seguir Descompilação SendSummonParty TMSrv 7.57+ Packet 0x3EA , Olá boa Galera (Cuidado) , Descompilação GetTownTax TMSrv 7.56 e 3 outros
-
Pô, complicado... se tiver umas boas provas mano... já posta aqui, pra coloca ele na blacklist.
-
olá Td bem alguem indicar alguém q meche com site
Sc2ALLin respondeu ao tópico de parana2017 em WYD - Bate Papo
Já dizia o Coringa, Se você é bom numa coisa, nunca faça de graça. -
//0x4010BE; int GetTownTax(int Zone, int conn) { long long Tax = TownTax[Zone]; int Coin = (int)(Tax / 1000000000); int SilverBar = (int)(Tax / 1000000000); int TotalCoin = pMob[conn].MOB.Coin + Coin; if (TotalCoin >= 2000000000) { SendClientMessage(conn, g_pMessageStringTable[_NN_Cant_get_more_than_2G]); return false; } STRUCT_ITEM Item; memset(&Item, 0, sizeof(STRUCT_ITEM)); Item.sIndex = 4011; if (SilverBar) { int EmptySlot = 0; for (int i = 0; i < MAX_CARRY - 4; ++i) { if (BASE_CanCarry(pMob[conn].MOB.Carry, i)) { if (!pMob[conn].MOB.Carry[i].sIndex) ++EmptySlot; } } if (SilverBar > EmptySlot) { SendClientMessage(conn, g_pMessageStringTable[_NN_You_Have_No_Space_To_Trade]); return false; } for (int j = 0; j < MAX_CARRY - 4; ++j) { if (!pMob[conn].MOB.Carry[j].sIndex) { if (BASE_CanCarry(pMob[conn].MOB.Carry, j)) { memcpy(&pMob[conn].MOB.Carry[j], &Item, sizeof(STRUCT_ITEM)); SendItem(conn, ITEM_PLACE_CARRY, j, &Item); snprintf(szLog, 0x80u, "etc, Town tax silver 10 send (%d)", Zone); Log(szLog, pUser[conn].AccountName, pUser[conn].IP); if (!--SilverBar) break; } } } } TownTax[Zone] = 0; snprintf(szLog, 0x80u, "etc, Town tax coin %d(%d)", Coin, Zone); Log(szLog, pUser[conn].AccountName, pUser[conn].IP); pMob[conn].MOB.Coin = TotalCoin; SendCoin(conn); DrawConfig(1); return true; }
-
olá Td bem alguem indicar alguém q meche com site
Sc2ALLin respondeu ao tópico de parana2017 em WYD - Bate Papo
oxe cuidado com oque? até onde eu sei, ele é o melhor. -
//0057EB60 int GetMountBonus(int Index, int Damage) { if (Index >= 1000) return Damage; int MountHP = 0; int MountIndex = pMob[Index].MOB.Equip[14].sIndex; if (MountIndex >= 2360 && MountIndex < 2390 && pMob[Index].MOB.Equip[14].stEffect[0].sValue > 0) { int MountDam = g_pMountBonus[ MountIndex - 2360][0]; if (pMob[Index].MOB.Equip[14].stEffect[1].cEffect == 120) MountDam += 10; if (MountDam > 99) MountDam = 99; MountHP = Damage * MountDam / 100; if (MountHP > 0) { if (MountHP >= 5000) MountHP = 5000; ProcessAdultMount(Index, MountHP); } } else if (MountIndex >= 3980 && MountIndex < 4000) { MountHP = Damage * g_pMountBonus2[MountIndex - 2380][0] / 100; } int FinalDam = Damage - MountHP; if (Damage - MountHP <= 0) return true; return FinalDam; }
-
olá Td bem alguem indicar alguém q meche com site
Sc2ALLin respondeu ao tópico de parana2017 em WYD - Bate Papo
Kentaro... -
Tutorial By: Abrones Adicionando é Substituindo novas Texturas.
Sc2ALLin postou um tópico no fórum em WYD - Desenvolvimento
Bom, eu tenho um penca de conteúdo guardado da antiga CB. Ai acabei encontrando esse pdf aqui de 2017. Então para quem deseja aprender, ta ai. Link: https://mega.nz/file/L10jzJaQ#TjMW7u9xR1DSEs8UXAGRk297hUMWbn1D7UNHIlMJ5f4 -
Descompilação SendSummonParty TMSrv 7.57+ Packet 0x3EA
Sc2ALLin respondeu ao tópico de gcr_fc em Descompilação
Bom, se alguem deseja tentar fazer as envoks fora do grupo usando as descopilações do Gui vou dá uma mãozinha, aquii está onde é necessario mexer. MSG Atack GetEmptyMobGrid CMob::StandingByProcessor CMob::BattleProcessor StandingByProcessor GetAttackArea ProcessAffect MobAttackOne SendSummonParty GenerateSummon GenerateMob MountProcess Lembrando também, que as envoks não ficam mais no partylsit. Elas tem uma variavel só elas, então não confundam. -
Pô, pior que não. Acreadito que boa partes dos programador bons hoje em dia ou estão com seus servidores aberto ou até sairam da area do WYD. Só menceionei mesmo para tu tomar cuidado, porque utimamente ta bem complicado. Muita gente que não sabe programar, se meter a programador, outros que não sabem nem usar um if dando cursos de programação então fica atento ai, porque os malandros estão por ai...
-
Apenas dando um aviso, cuidado heim... dá uma pesquisada antes de entra numa ai. Apenas dando um aviso, cuidado heim... dá uma pesquisada antes de entra numa ai.
-
source Source Eternals Destiny 756
Sc2ALLin respondeu ao tópico de lostskol em WYD - Desenvolvimento
Que isso campeão, ressu um tópico de 2020 kkkkkk Não é por nada não, mais tu acha coisa bem melhor por ai hoje em dia. -
kkkkkkkkkkkkkkk Os caras tão querendo sua sourcce ai oh...Fica de olho heim
-
Bom o codigo está quase funicionando, não sei onde foi que eu errei, que toda hora que vai abrir a TMRsv ela manda a seguinte menssagem "not game-server generated gameconfig.txt - Line6". Logo em seguida ela abre, mais renicia as infors salvas toda vez que tu abre. Então quem quiser arrumar sinta-se avontade, a pior parte foi feita. // 0x401154 void Draw(int Draw) { int EncodeValue = *(int*)0xBAF180; int g_NonePKServer = *(int*)0xAACD54; if (GameConfig) { int x = 0; int y = 0; int len = 0; int color = 255; int BlackColor = 0; char String[264]; HDC hdc = GetDC(*hWndMain); if (hdc) { if (!hFont || SelectObject(hdc, hFont)) { FILE* fp = NULL; if (Draw) fp = fopen("gameconfig.txt", "wt"); y -= pMainWndProc->nPos; SetTextColor(hdc, color); sprintf_s(String, "Drop Item Event Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); sprintf_s(String, " 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(fp, "%s\n", &String); SetTextColor(hdc, color); sprintf_s(String, "Etc Event Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); sprintf_s(String, " double %d deadpoint %d dungeonevent %d statsapphire %d battleroyal %d VS: %d translevel: %d", DOUBLEMODE, DEADPOINT, DUNGEONEVENT, StatSapphire, BRItem, VS, TRANSLEVEL); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, color); sprintf_s(String, "Billing Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); sprintf_s(String, " BILLMODE %d FREEEXP %d CHARSELBILL %d POTIONCOUNT %d PARTYBONUS %d GUILDBOARD %d", BILLING, FREEEXP, CHARSELBILL, POTIONCOUNT, PARTYBONUS, GUILDBOARD); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, color); sprintf_s(String, "Item Drop Bonus Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); for (int i = 0; i < 4; ++i) { int pos = 16 * i; sprintf_s(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(fp, "%s\n", &String); } SetTextColor(hdc, color); sprintf_s(String, "Treasure Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); for (int j = 0; j < 16; ++j) { char Buffer[264]{}; STRUCT_TREASURE* Treasure = &g_pTreasure[j]; sprintf_s(Buffer, "%-4d ", g_pTreasure[j].Source); for (int k = 0; k < 5; ++k) { STRUCT_ITEM* TreasureItem = &Treasure->Target[k]; sprintf_s(String, " %-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(Buffer, String); } len = strlen(Buffer); TextOutA(hdc, x, y, Buffer, len); y += 16; if (Draw) fprintf(fp, "%s\n", Buffer); sprintf_s(String, " %-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(fp, "%s\n", &String); } SetTextColor(hdc, color); sprintf_s(String, "Rare Item Drop Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); sprintf_s(String, "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(fp, "%s\n", &String); SetTextColor(hdc, color); sprintf_s(String, "Game Option Settings:"); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); SetTextColor(hdc, BlackColor); sprintf_s(String, "NonePKServer: %d GambleServer: %d KhepraOpen: %d", g_NonePKServer, GAMBLESERVER, KHEPRAOPEN); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "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(fp, "%s\n", &String); sprintf_s(String, "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(fp, "%s\n", &String); sprintf_s(String, "LOTTOTICKET: %d MAXLEVEL: %d CREATECHAR: %d", LOTTOTICKET, MAXLEVEL, CREATECHAR); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "USE8THSKILL: %d MAXLEVELTICKET: %d eventhour: %d", USE8THSKILL, MAXLEVELTICKET, EventHour); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "DUELLETTERLIMIT: %d %d", DUELLETTERLIMIT, DUELLETTERLIMIT2); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", String); sprintf_s(String, "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(fp, "%s\n", &String); sprintf_s(String, "RANDOMQUIZ: %d Exp:%d Coin:%d", RANDOMQUIZ, RandomQuizExp, RandomQuizCoin); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "ITEMPRICE: %d %d SEALOFSOUL:%d", ITEMPRICE1, ITEMPRICE2, SEALOFSOUL); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "NIGHTMARE: %d BLESSMONEY: %I64d", NIGHTMARE, BLESSMONEY); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "ADDCRACKERROR: %d", ADDCRACKERROR); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "Encode %d", EncodeValue); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "logdemon %s %s", cp, LOGDEMON); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "KINGDOMFIELD %d", KINGDOMFIELD); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "ITEMDELETEMODE %d", ITEMDELETEMODE); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "GAMBLEMONEY %d", GAMBLEMONEY); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); sprintf_s(String, "CREATEHARDCHARACTER %d", CREATEHARDCHARACTER); len = strlen(String); TextOutA(hdc, x, y, String, len); y += 16; if (Draw) fprintf(fp, "%s\n", &String); ReleaseDC(*hWndMain, hdc); if (fp) fclose(fp); } } } } //0x4019B5 void ReloadDraw() { int g_NonePKServer = *(int*)0xAACD54; int EncodeValue = *(int*)0xBAF180; FILE* fp = fopen("gameconfig.txt", "rt"); if (fp) { char String[512]; char Buffer[16][32]; int Value[36]; fgets(String, 255, fp); if (strcmp(String, "Drop Item Event Settings:\n")) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line1", "Error", 0x1000u); fclose(fp); } else { for (int i = 0; i < 16; ++i) { Value[i] = -1; memset(Buffer[i], 0, sizeof(Buffer[i])); } fgets(String, 255, fp); sscanf(String, "%s %d %s %d %s %d %s %d %s %d %s %d %d %d %d", Buffer[0], &Value[0], Buffer[1], &Value[1], Buffer[2], &Value[2], Buffer[3], &Value[3], Buffer[4], &Value[4], Buffer[5], &Value[5], &Value[6], &Value[7], &Value[8]); if (strcmp(Buffer[0], "evindex") || strcmp(Buffer[1], "evdelete") || strcmp(Buffer[2], "evon") || strcmp(Buffer[3], "evitem") || strcmp(Buffer[4], "evrate") || strcmp(Buffer[5], "evstart") || 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(fp); } else { 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]; fgets(String, 255, fp); if (strcmp(String, "Etc Event Settings:\n")) { MessageBoxA(*hWndMain, "not game server generated gameconfig.txt - Line3", "Error", 0x1000u); fclose(fp); } else { for (int j = 0; j < 16; ++j) { Value[j] = -1; memset(Buffer[j], 0, sizeof(Buffer[j])); } fgets(String, 255, fp); sscanf(String, "%s %d %s %d %s %d %s %d %s %d %s %d %s %d", Buffer[0], &Value[0], Buffer[1], &Value[1], Buffer[2], &Value[2], Buffer[3], &Value[3], Buffer[4], &Value[4], Buffer[5], &Value[5], Buffer[6], &Value[6]); if (strcmp(Buffer[0], "double") || strcmp(Buffer[1], "deadpoint") || strcmp(Buffer[2], "dungeonevent") || strcmp(Buffer[3], "statsapphire") || Value[0] == -1 || Value[1] == -1 || Value[2] == -1 || Value[3] == -1) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line4", "Error", 0x1000u); fclose(fp); } else { DOUBLEMODE = Value[0]; DEADPOINT = Value[1]; DUNGEONEVENT = Value[2]; StatSapphire = Value[3]; BRItem = Value[4]; VS = Value[5]; TRANSLEVEL = Value[6]; if (Value[6] < 200 || TRANSLEVEL > 400) TRANSLEVEL = 300; fgets(String, 255, fp); if (strcmp(String, "Billing Settings:\n")) { MessageBoxA(*hWndMain, "not game server generated gameconfig.txt - Line5", "Error", 0x1000u); fclose(fp); } else { for (int k = 0; k < 16; ++k) { Value[k] = -1; memset(Buffer[k], 0, sizeof(Buffer[k])); } fgets(String, 255, fp); sscanf(String, "%s %d %s %d %s %d %s %d %s %d %s %d", Buffer[0], &Value[0], Buffer[1], &Value[1], Buffer[2], &Value[2], Buffer[3], &Value[3], Buffer[4], &Value[4], Buffer[5], &Value[5]); if (strcmp(Buffer[0], "billmode") || strcmp(Buffer[1], "freeexp") || Value[0] == -1 || Value[1] == -1) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line6", "Error", 0x1000u); fclose(fp); } else { BILLING = Value[0]; FREEEXP = Value[1]; CHARSELBILL = Value[2]; POTIONCOUNT = Value[3]; PARTYBONUS = Value[4]; GUILDBOARD = Value[5]; if (Value[4] < 50 || PARTYBONUS > 200) PARTYBONUS = 100; fgets(String, 255, fp); if (strcmp(String, "Item Drop Bonus Settings:\n")) { MessageBoxA(*hWndMain, "not game server generated gameconfig.txt - Line7", "Error", 0x1000u); } else { fgets(String, 255, fp); sscanf(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 l = 0; l < 16; ++l) { if (Value[l] < 0 || Value[l] > 3000) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line8", "Error", 0x1000u); fclose(fp); return; } g_pDropBonus[l] = Value[l]; Value[l] = -1; } fgets(String, 255, fp); sscanf(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 l = 0; l < 16; ++l) { if (Value[l] < 0 || Value[l] > 3000) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line9", "Error", 0x1000u); fclose(fp); return; } g_pDropBonus[l + 16] = Value[l]; Value[l] = -1; } fgets(String, 255, fp); sscanf(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 l = 0; l < 16; ++l) { if (Value[l] < 0 || Value[l] > 3000) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line10", "Error", 0x1000u); fclose(fp); return; } g_pDropBonus[l + 32] = Value[l]; Value[l] = -1; } fgets(String, 255, fp); sscanf(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 l = 0; l < 16; ++l) { if (Value[l] < 0 || Value[l] > 3000) { MessageBoxA(*hWndMain, "not game-server generated gameconfig.txt - Line11", "Error", 0x1000u); fclose(fp); return; } g_pDropBonus[l + 48] = Value[l]; Value[l] = -1; } fgets(String, 255, fp); if (strcmp(String, "Treasure Settings:\n")) { MessageBoxA(*hWndMain, "not game server generated gameconfig.txt - Line12", "Error", 0x1000u); fclose(fp); } else { memset(g_pTreasure, 0, sizeof(g_pTreasure)); for (int j = 0; j < 16; ++j) { STRUCT_TREASURE* Treasure = &g_pTreasure[j]; for (int i = 0; i < 36; i++) Value[i] = -1; fgets(String, 255, fp); sscanf(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", 4)) 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, fp); sscanf(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]; } fgets(String, 255, fp); if (strcmp(String, "Rare Item Drop Settings:\n")) { MessageBoxA(*hWndMain, "not game server generated gameconfig.txt - Line29", "Error", 0x1000u); fclose(fp); } else { RARESWITCH = 0; char Str[4][64]{}; for (int i = 0; i < 4; ++i) memset(Str[i], 0, sizeof(Str[i])); int Draw = false; fgets(String, 255, fp); sscanf_s(String, "%s %d %s %d %s %d %s %d", Str[0], 64, &RARESWITCH, Str[1], 64, &STOPGOLDCOIN, Str[2], 64, &LOCALSERVER, Str[3], 64, &STOPQUEST); fgets(String, 255, fp); 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, fp)) sscanf_s(String, "%s %d %s %d %s %d", Str[0], 64, &g_NonePKServer, Str[1], 64, &GAMBLESERVER, Str[3], 64, &KHEPRAOPEN); String[0] = 0; if (fgets(String, 255, fp)) sscanf_s(String, "%s %d %s %d %s %d", Str[0], 64, &ITEMDESTROY, Str[1], 64, &ITEMMASTER, Str[3], 64, &DOUBLEZONE); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %d %s %d %s %d", Str[0], 64, &USE_GUILDWAR_MANTLE, Str[1], 64, &USE_FREE_GAMBLE, Str[3], 64, &CASINOTICKET); String[0] = 0; if (fgets(String, 255, fp)) sscanf_s(String, "%s %d %s %d %s %d", Str[0], 64, &LOTTOTICKET, Str[1], 64, &MAXLEVEL, Str[3], 64, &CREATECHAR); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %d %s %d %s %d ", Str[0], 64, &USE8THSKILL, Str[1], 64, &MAXLEVELTICKET, Str[3], 64, &EventHour); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %d %d", Str[0], 64, &DUELLETTERLIMIT, &DUELLETTERLIMIT2); memset(TownTax, 0, 0x28u); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %I64d %I64d %I64d %I64d %I64d", Str[0], 64, &TownTax[0], &TownTax[1], &TownTax[2], &TownTax[3], &TownTax[4]); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %d %s %d %s %d", Str[0], 64, &RANDOMQUIZ, Str[1], 64, &RandomQuizExp, Str[3], 64, &RandomQuizCoin); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %d %d %s %d", Str[0], 64, &ITEMPRICE1, &ITEMPRICE2, Str[1], 64, &SEALOFSOUL); String[0] = 0; fgets(String, 255, fp); sscanf_s(String, "%s %d %s %I64d", Str[0], 64, &NIGHTMARE, Str[1], 64, &BLESSMONEY); String[0] = 0; if (fgets(String, 255, fp)) sscanf_s(String, "%s %d", Str[0], 64, &ADDCRACKERROR); String[0] = 0; if (fgets(String, 255, fp)) sscanf_s(String, "%s %d", Str[0], 64, &EncodeValue); String[0] = 0; if (fgets(String, 255, fp)) { sscanf_s(String, "%d %s %s", Str[0], cp, LOGDEMON); BLOCKEDIP = inet_addr(cp); } String[0] = 0; if (fgets(String, 255, fp)) sscanf_s(String, "%s %d", Str[0], 64, &KINGDOMFIELD); if (fgets(String, 255, fp)) sscanf_s(String, "%s %d", Str[0], 64, &ITEMDELETEMODE); if (fgets(String, 255, fp)) sscanf_s(String, "%s %d", Str[0], 64, &GAMBLEMONEY); if (fgets(String, 255, fp)) sscanf_s(String, "%s %d", Str[0], 64, &CREATEHARDCHARACTER); fgets(String, 255, fp); fclose(fp); if (Draw) { GameConfig = 1; DrawConfig(1); } } } } } } } } } } } else { MessageBoxA(*hWndMain, "no gameconfig.txt, server will generate default setting.", "Error", 0x1000u); GameConfig = 1; DrawConfig(1); } }
-
Alguém sabe como aumentar o tamanho do item na Source do 7.54?
Sc2ALLin respondeu ao pergunta de skrinoz em WYD - Dúvidas
Na itemlist. especificamente item_Grid