Ir para conteúdo
Venda da WebCheats - Uma Nova Era para a Comunidade ×
SORTEIO MENSAL - ChatGPT 5 Plus, GTA V, NETFLIX e muito mais. ×

Todas Atividades

Atualizada automaticamente

  1. Recentemente
  2. Tópico Resolvido! Ficamos felizes que seu tópico tenha sido resolvido!🙂 Devido a isso, estaremos fechando este tópico... Atenciosamente,Web Cheats
  3. Fala ae pessoal, recebi ajuda de um usuário aqui da WC para editar o código de lojinha fantasma na versão 7.59 (tipo a base do the new world), e sinto que ta quase lá. Consigo criar o boneco que fica de loja, porém não fica como loja clicável, apenas o coelhinho parado conforme print. Tenho a relação de códigos e vou postar aqui pra caso alguem se interesse e também quem possa me ajudar a entender o que eu estou errando, só comentando que além do código que Renanzim me passou eu consegui melhorar mais, ainda assim não foi suficiente. PRINT>> [Hidden Content] Exec_MSG_SendAutoTrade.cpp > #include "ProcessClientMessage.h" #include "..\\Basedef.h" void Exec_MSG_SendAutoTrade(int conn, char* pMsg) { SendAutoTrade(conn, conn); if (conn <= 0 || conn >= MAX_USER) return; if (pUser[conn].Mode != USER_PLAY) return; MSG_SendAutoTrade* m = (MSG_SendAutoTrade*)pMsg; /* =============================== VALIDA SIZE DO PACKET =============================== */ if (m->Size > sizeof(MSG_SendAutoTrade)) { SendClientMessage(conn, "Erro ao abrir loja. Tente novamente."); return; } /* =============================== VALIDA ESTADO DO PLAYER =============================== */ if (pMob[conn].MOB.CurrentScore.Hp <= 0) { SendHpMode(conn); RemoveTrade(conn); return; } if (pUser[conn].Trade.OpponentID) { RemoveTrade(pUser[conn].Trade.OpponentID); RemoveTrade(conn); return; } if (pUser[conn].TradeMode) { SendClientMessage(conn, g_pMessageStringTable[_NN_CantWhenAutoTrade]); return; } if (NewbieEventServer == 0) { SendClientMessage(conn, g_pMessageStringTable[_NN_NEWBIEEVENTSERVER]); return; } /* =============================== LIMITADOR DE LOJAS =============================== */ if (pUser[conn].Ingame.Lojinha) { DeleteMob(MAX_MOB + conn, 2); pUser[conn].Ingame.Lojinha = 0; RemoveTrade(conn); SendClientMessage(conn, "Sua loja foi fechada."); return; } if (Limitadordelojinha(pUser[conn].MacAddress) >= 1) { SendClientMessage(conn, "Apenas 1 AutoLoja por máquina."); RemoveTrade(conn); return; } int sameIP = 0; for (int i = 0; i < MAX_USER; i++) { if (pUser.Mode != USER_PLAY) continue; if (!pUser.cSock.Sock) continue; if (pUser.Ingame.Lojinha && pUser.IP == pUser[conn].IP) sameIP++; } if (sameIP >= 1) { SendClientMessage(conn, "Apenas 1 AutoLoja por IP."); RemoveTrade(conn); return; } /* =============================== VALIDA POSIÇÃO =============================== */ int posX = pMob[conn].TargetX; int posY = pMob[conn].TargetY; int Village = BASE_GetVillage(posX, posY); if (Village < 0 || Village >= 5) { SendClientMessage(conn, g_pMessageStringTable[_NN_OnlyVillage]); RemoveTrade(conn); return; } if (posX >= 2123 && posX <= 2148 && posY >= 2139 && posY <= 2157) { SendClientMessage(conn, g_pMessageStringTable[_NN_OnlyVillage]); RemoveTrade(conn); return; } /* =============================== VALIDA ITENS DA LOJA =============================== */ bool hasItem = false; for (int i = 0; i < MAX_AUTOTRADE; i++) { if (m->Coin < 0 || m->Coin > 1999999999) return; if (m->Item.sIndex) { hasItem = true; if (!m->Coin) return; if (m->CarryPos < 0 || m->CarryPos >= MAX_CARGO) return; if (BASE_GetItemAbility(&m->Item, EF_NOTRADE)) { SendClientMessage(conn, g_pMessageStringTable[_NN_Cant_MoveItem]); return; } if (memcmp(&pUser[conn].Cargo[m->CarryPos], &m->Item, sizeof(STRUCT_ITEM))) { RemoveTrade(conn); return; } } } if (!hasItem) { SendClientMessage(conn, "Necessário pelo menos um item."); return; } /* =============================== APLICA TAXA DA CIDADE =============================== */ m->Tax = g_pGuildZone[Village].CityTax; m->Title[MAX_AUTOTRADETITLE - 1] = 0; m->Title[MAX_AUTOTRADETITLE - 2] = 0; /* =============================== SALVA AUTOTRADE NO USER =============================== */ memcpy(&pUser[conn].AutoTrade, m, sizeof(MSG_SendAutoTrade)); /* =============================== CRIA MOB DA LOJINHA =============================== */ /* =============================== CRIA MOB DA LOJINHA =============================== */ int mobid = CreateMobStore( "AutoStore", posX, posY, "npc", 0, MAX_MOB + conn, conn ); if (mobid <= 0) { SendClientMessage(conn, "Não foi possível abrir a loja."); return; } /* =============================== SALVA AUTOTRADE NO NPC =============================== */ memcpy(&pMob[mobid].AutoTrade, m, sizeof(MSG_SendAutoTrade)); pMob[mobid].TradeMode = 1; pMob[mobid].Leader = conn; pMob[mobid].IsSummon = 2; pUser[conn].Ingame.Lojinha = 1; pMob[conn].CheckLojinha = 600; if (mobid <= 0) { SendClientMessage(conn, "Não foi possível abrir a loja."); pUser[conn].Ingame.Lojinha = 0; pUser[conn].TradeMode = 0; return; } /* =============================== ENVIA PACOTE DE LOJA AO CLIENT =============================== */ MSG_CreateMobTrade sm; memset(&sm, 0, sizeof(MSG_CreateMobTrade)); sm.Score.Con = 0; GridMulticast(posX, posY, (MSG_STANDARD*)&sm, 0); /* =============================== FINALIZA =============================== */ RemoveTrade2(conn); SendClientMessage(conn, "Sua AutoLoja foi aberta com sucesso!"); } int CreateMobStore em GetFunc.cpp > int CreateMobStore(char* MobName, int PosX, int PosY, char* folder, int Type, int indexMob, int conn) { int tmob = indexMob; if (tmob == 0) { char temp[1024]; sprintf_s(temp, "err,no emptymob create %s", MobName); Log(temp, "-system", 0); return -1; } ReadMob(&pMob[tmob].MOB, "npc"); strncpy(pMob[tmob].MOB.MobName, MobName, NAME_LENGTH); memset(&pMob[tmob].PartyList, 0, sizeof(pMob[tmob].PartyList)); memcpy(&pMob[tmob].MOB, &pMob[conn].MOB, sizeof(STRUCT_MOB)); strncpy(pMob[tmob].MOB.MobName, pMob[conn].MOB.MobName, NAME_LENGTH); pMob[tmob].MOB.MobName[NAME_LENGTH - 1] = 0; pMob[tmob].MOB.BaseScore.Merchant = 0; for (int i = 0; i < NAME_LENGTH; i++) { if (pMob[tmob].MOB.MobName == 95) // '_' pMob[tmob].MOB.MobName = 32; // espaço if (pMob[tmob].MOB.MobName == '@') pMob[tmob].MOB.MobName = 0; } memset(pMob[tmob].Affect, 0, sizeof(pMob[tmob].Affect)); for (int i = 0; i < MAX_SEGMENT; i++) { if (pMob[tmob].MOB.Equip[0].sIndex != 220 && pMob[tmob].MOB.Equip[0].sIndex != 219 && pMob[tmob].MOB.Equip[0].sIndex != 358) { pMob[tmob].SegmentListX = PosX + rand() % 5 - 2; pMob[tmob].SegmentListY = PosY + rand() % 5 - 2; } else { pMob[tmob].SegmentListX = PosX; pMob[tmob].SegmentListY = PosY; } } if (pMob[tmob].MOB.Equip[0].sIndex == 220 || pMob[tmob].MOB.Equip[0].sIndex == 219) { if (pMob[tmob].MOB.Equip[0].sIndex == 219) { pMob[tmob].MOB.Guild = g_pGuildZone[4].ChargeGuild; pMob[tmob].MOB.GuildLevel = 0; } } pMob[tmob].MOB.Equip[0].sIndex = 230; pMob[tmob].MOB.Equip[6].sIndex = 0; pMob[tmob].MOB.Equip[7].sIndex = 0; pMob[tmob].MOB.Equip[14].sIndex = 0; pMob[tmob].MOB.BaseScore.Con = 400; pMob[tmob].GenerateIndex = -1; pMob[tmob].Formation = 0; pMob[tmob].RouteType = Type; pMob[tmob].Mode = 4; //pMob[tmob].TradeMode = 1; pMob[tmob].SegmentDirection = 0; pMob[tmob].IsSummon = 1; pMob[tmob].Leader = conn; // dono da loja pMob[tmob].WaitSec = Type == 0 ? 10 : 40; pMob[tmob].LastTime = CurrentTime; pMob[tmob].Leader = 0; pMob[tmob].GetCurrentScore(tmob); pMob[tmob].MOB.CurrentScore.Hp = pMob[tmob].MOB.CurrentScore.MaxHp; if (NewbieEventServer && pMob[tmob].MOB.CurrentScore.Level < 120) pMob[tmob].MOB.CurrentScore.Hp = 3 * pMob[tmob].MOB.CurrentScore.Hp / 4; pMob[tmob].SegmentProgress = Type == 0 ? 0 : 4; memset(pMob[tmob].EnemyList, 0, sizeof(pMob[tmob].EnemyList)); int px = pMob[tmob].SegmentListX[0]; int py = pMob[tmob].SegmentListY[0]; int mobslot = GetEmptyMobGrid(tmob, &px, &py); if (mobslot == 0) { char temp[1024]; sprintf_s(temp, "err,No empty mobgrid:%s x:%d y:%d", MobName, px, py); Log(temp, "-system", 0); pMob[tmob].Mode = 0; pMob[tmob].MOB.MobName[0] = 0; strncpy(pMob[tmob].Tab, "#VEMPROROGUE", 26); pMob[tmob].GenerateIndex = indexMob; return -2; } pMob[tmob].SegmentX = px; pMob[tmob].TargetX = px; pMob[tmob].LastX = px; pMob[tmob].SegmentY = py; pMob[tmob].TargetY = py; pMob[tmob].LastY = py; int skillnum = pMob[tmob].MOB.BaseScore.MaxMp; if (skillnum) { SetAffect(tmob, skillnum, 30000, 200); SetTick(tmob, skillnum, 30000, 200); } MSG_CreateMob sm; memset(&sm, 0, sizeof(MSG_CreateMob)); GetCreateMob(tmob, &sm); sm.CreateType |= 2; pMobGrid[py][px] = tmob; // === PARTE CRÍTICA PARA VIRAR LOJA === pMob[tmob].IsSummon = 2; SendGridMob(conn); // 🔥 seller / dono SendGridMob(tmob); // 🔥 a própria loja pMob[tmob].IsSummon = 1; GridMulticast(px, py, (MSG_STANDARD*)&sm, 0); // ==================================== return TRUE; } RemoveTrade2 em Server.cpp > void RemoveTrade2(int conn) { if (conn <= 0 || conn >= MAX_USER) return; if (pUser[conn].Mode != USER_PLAY) return; memset(&pUser[conn].Trade, 0, sizeof(MSG_Trade)); for (int i = 0; i < MAX_TRADE; i++) pUser[conn].Trade.InvenPos = -1; SendClientSignal(conn, conn, 900); if (pUser[conn].TradeMode) { int posX = pMob[conn].TargetX; int posY = pMob[conn].TargetY; MSG_CreateMob sm; memset(&sm, 0, sizeof(MSG_CreateMob)); GetCreateMob(conn, &sm); GridMulticast(posX, posY, (MSG_STANDARD*)&sm, 0); pUser[conn].TradeMode = 1; } } ainda tem getfunc.h , server.h mas só pra declarar as int no caso. Seja humilde e me ajude por favor.
  4. Hoje
  5. O servidor também está, acabei de testar. @ DestinyServer2 , peço que traga um feedback para mantermos o tópico ainda nessa área.
  6. Bom dia @ fodex3, peço que traga um feedback para mantermos o tópico ainda nessa área.
  7. DOWNLOAD: [Hidden Content]
  8. Servidor se encontra offline. - 30/01/2026 - 01:09min.
  9. Site ON, porém 99,9% não está funcionando. (0,1% somente por estar online) Servidor (launcher) offline. - 30/01/2026 - 00:56min.
  10. 30/01/2026 - 00:44: Servidor se encontra off.
  11. Ontem
  12. O lockfile do client está no AppData agora e o do lol está na pasta que o jogo está instalado
  13. Hello Guys Download link: [Hidden Content] __________________ Selling combo high quality with guarantee➖ Selling: EMAIL: PASS USER: PASS MAILLIST AOL, YAHOO, HOTMAIL, OUTLOOK, FRANCE, UK, GERMANY, USA, ESPAIN, ITALY, CANADA, AUSTRALIA… To buy msg me TELEGRAM: @KOCsupport
  14. O que tá acontecendo com o site? O aplicativo está desatualizado. Estou tentando contato há meses com o dono, mas sem sucesso. Quero realizar a compra do pacote VIP, mas fico receoso de "perder" a grana.
  15. DOWNLOAD: [Hidden Content]
  16. Mensagem do administrador do servidor retiradas do grupo oficial do WhatsApp: Resumindo: O mesmo passou por problemas médicos, realizou uma cirurgia recente e precisa OBRIGATORIAMENTE de repouso de no mínimo 30 dias. Ficando inviável a continuação online do servidor, mesmo a hospedam está paga até setembro; Pois o servidor ficaria sem conteúdo durante um tempo. O mesmo decidiu dar uma pausa no servidor, e com previsão de retorno em meados de Março, com tudo renovado. (Servidor renovado do zero, Estrutura organizada, Gameplay reformulada, nova inauguração, Energia Nova). Sobre os donate e apoio do servidor: Quando retornar o mesmo pretende fazer um cálculo de cashback sobre algum porcentual de donate, como forma de respeito a quem ajudou o servidor financeiramente. O mesmo agradece as mensagens a ti desejadas de boa recuperação e de uma volta breve. Mensagem resumidamente do ADMINISTRADOR G2K - WYD FIGHT CLUB
  17. Hello Guys Telegram channel : [Hidden Content] Website: [Hidden Content] __________________ Download link: [Hidden Content] __________________ Selling combo high quality with guarantee➖ Selling: EMAIL: PASS USER: PASS MAILLIST AOL, YAHOO, HOTMAIL, OUTLOOK, FRANCE, UK, GERMANY, USA, ESPAIN, ITALY, CANADA, AUSTRALIA… To buy msg me TELEGRAM: @KOCsupport
  18. [hide][Hidden Content]] FRESH DATA AVAILABLE FOR SELL ON TELEGRAM
  1. Mais Resultados
×
×
  • 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.