Tipo de Conteúdo
Perfis
Fóruns
Atualizações
Quizzes
Raffles
Store
Tudo que combatrw postou
-
não vai chegar a 50 likes, hahaha
-
BASE W2PP CLONE WYD ROGUE (RELEASE + CLIENTE + 2 SOURCE)
combatrw respondeu ao tópico de Mauzyn em WYD - Desenvolvimento
os cara são uns fdp, ficam fazendo isso pra ver se alguem quer pagar pelas correções. -
RELAUNCH PROJETO INFINITY 7.59 BETA ATÉ 17/04
combatrw postou um tópico no fórum em Servidores em Versão Beta-Teste / Projetos
Em 2025 eu lancei meu primeiro servidor, para brincar com meu irmão e meu amigo e virou algo maior. Logo batemos 70 players online, 3 guildas em guerra de torres e foi um tempo divertido. Vamos fazer novamente, só que dessa vez com correções, melhorias e novas mecânicas. O server não tem pay to win e não serei hipócrita de falar que somos diferentes e blá blá blá, doações são bem vindas para manter o projeto vivo, eu não vivo de wyd (e nem pretendo), minha CLT me banca. Sistemas 📌 Ataque Mágico Azul. 📌 Modo Widescreen 📌 Jogo ira possuir 18 slots. Traje Montaria, Cinto, Colar 📌 As Dourada, Prateada e do Vale estarão agrupando os itens agrupaveis. 📌 Colocando Lojinha por 10 minutos receba 1 Pontos de Honra + 1 victory coupon. 📌 Comandos de Armia,Azran,Erion ETC. = Tecla G 📌 Loja donate in game = Tecla D 📌 Drop List in game = Tecla D 📌 Painel de grupos = Letra O 📌 Painel de guilda com missões e loja 📌 Bloqueio de conta para logadores 📌 Passe de batalha = Tecla B 📌 Sistema de token premia por tempo online + loja exclusiva 📌 Composições de cinto e colar nos 3 níveis 📌 Reciclagem/evolução de itens e montarias 📌 Passe vip com bonus exp, drop, e opção de mapa de drop e up diferenciado 📌 Quadro de horários para acompanhar eventos 📌 Painel de boss com opção de teleport 📌 Lojinha Fantasma (15% + exp) 📌 Invocações do BM fora do grupo 📌 Macro Pesadelo 📌 Macro Agua 📌 Ranking ingame 📌 Player Info 📌 Roleta/Sistema "Tigrinho" com premios melhores de acordo com nivel de aposta 📌 Mercado Global (venda em bis, donate, gold) e busque por filtros 📌 Troque tokens por $ (sim, como uma mineração) Guerras e Boss 🛡️ Guerra de Cidade 20hr 🛡️ Guerra de Torres 21hr 🛡️ Guerra entre Reinos 22hr 🛡️ Boss Dark Shadow a cada 4 horas 🛡️ Boss Tarantula a cada 4 horas (premiação) 🛡️ Boss em cada quest a cada 750 mobs mortos (premiação) 🛡️ Boss nas Lans a cada 1.000 mbos mortos (premiação) 🛡️ Boss dinamicos em areas aleatorias e tempo aleatorio (premiação) 🛡️ Arena Real em alguns horários (premiação) Site: [Hidden Content] Discord: [Hidden Content] Whatsapp : [Hidden Content] -
Pessoal, to com esse problema chato de resolver. Abro alguma loja e o painel da loja, com titulo e nome do personagem dono da loja sobrepõe o inventário. Não sei onde está o erro, acredito que seja as fieldscene, mas não sei especificamente o que fazer. Imagem do Erro : Alguém da uma ajuda por favor. Isso ta me atrasando. Meu whats se alguem tiver alguma proposta : 41 984346689
-
Link de download está ativo agora e discord também.
-
É opcional logar várias contas, eu quis dizer que aqui isso é recompensado.
-
Bom dia, tem alguma print do erro? Está normal aqui.
-
BASE W2PP CLONE WYD ROGUE (RELEASE + CLIENTE + 2 SOURCE)
combatrw respondeu ao tópico de Mauzyn em WYD - Desenvolvimento
algum arquivo especifico pra olhar ou alguma função? -
BASE W2PP CLONE WYD ROGUE (RELEASE + CLIENTE + 2 SOURCE)
combatrw respondeu ao tópico de Mauzyn em WYD - Desenvolvimento
Tem um bug, não sei se é no client ou no server, em lojinhas criadas, aparece apenas para o dono da loja, outra conta logada não ve a loja na cidade. Alguem esbarrou nisso? -
WYD COMUNIDADE 7.59 MÉDIO/MÉDIO
combatrw respondeu ao tópico de combatrw em Servidores em Versão Beta-Teste / Projetos
OFFLINE, FAVOR FECHAR -
BASE W2PP CLONE WYD ROGUE (RELEASE + CLIENTE + 2 SOURCE)
combatrw respondeu ao tópico de Mauzyn em WYD - Desenvolvimento
me chama no discord que eu te explico mano, to desenvolvendo essa base. Discord : chad7000 -
BASE W2PP CLONE WYD ROGUE (RELEASE + CLIENTE + 2 SOURCE)
combatrw respondeu ao tópico de Mauzyn em WYD - Desenvolvimento
Essa TM ta crashando depois de um tempo, juntei 5 pessoas pra testar e ela ja crashou umas 3x e sem mensagem de erro. To debugando pra ver se acho a origem do problema. Alguem se deparou com isso também? -
BASE W2PP CLONE WYD ROGUE (RELEASE + CLIENTE + 2 SOURCE)
combatrw respondeu ao tópico de Mauzyn em WYD - Desenvolvimento
Esse client só abre em tela cheia, não abre nas resoluções 800x640 etc. Como arruma isso? -
Bom, agradeço a resposta, mas não entendo nada disso, vou mesmo assim tentar junto a IA uma solução baseado nessas coisas que me disse.
-
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.
- 3 respostas
-
- 11
-
-
Você é um anjo de Deus. Que o Senhor abençoe grandemente sua vida e que 2026 seja um ano de muita vitória para você e sua familia. Se eu puder contribuir ou ajudar com algo seu, eu ficaria muito feliz. Obrigado.
-
Então, como eu comentei anteriormente, a source que eu uso é muito parecida com aquela que voce citou acima, só que mais atual, onde possuo também a source do client exe, vou buscar entender isso que você disse e tentar fazer por ele.
-
Caro amigo, eu uso uma source muito parecida com essa, conheço o arquivo que está mencionando, trata as composições da Ehre, eu pensei em adicionar, mas minha ideia original é criar outro npc com outras composições, isso é mais dificil do que parece. Se fosse fácil realmente a gente veria isso a rodo, ai quando a gente fala com alguem que tem servidor mais lotado o cara enche a boca pra falar " criei novas composições , blá blá blá" . Quando descobrir como vou publicar um tutorial pra ajudar outras pessoas. Abraço.
-
Caro amigo, desculpe pelo caps, fui ignorante. Quanto ao que perguntou se tentei, sim, busquei fazer algo do tipo, porém a Ehre não é declarada como merchant como os outros npcs, eu entendi o que voce quis dizer, eu mesmo ja criei npc de teleporte, de troca de itens, etc, fazendo dessa forma. A Ehre é diferente, ela não é declarada na source do client também, acredito que para criar algo como ela teria que usar o mixlist, ainda não sei como, vou buscar uns tutoriais pra ver se acho uma resposta. Desde já agradeço sua atenção em responder esse post. Abraço.
-
também preciso de ajuda com isso
-
PESSOAL, BOA TARDE, FELIZ NATAL A QUEM LER. EU ESTOU TENTANDO CRIAR UM NPC COMPOSITOR, NO ESTILO DA EHRE, PORÉM QUERO COPIAR O MODELO DE CRIAÇÃO DA SOUL, NO LUGAR DE CONFIGURAR A SOUL SERIA PARA CRIAR COLARES E CINTOS. TIPO JUNTA X ITENS E COMPO O CINTO OU COLAR QUE ESCOLHER, HP, MP, VELO DE ATAQUE, ETC. A BASE QUE ESTOU USANDO É A DO THE NEW WORLD 7.59. TENHO SOURCE DO SERVER E DO CLIENT. SE ALGUEM PUDER ME EXPLICAR MAIS OU MENOS O QUE PRECISO ALTERAR OU CRIAR DO ZERO PARA TER UM NPC ASSIM EU AGRADEÇO. PRO CASO DE NPC QUE SÓ RESPONDE "TRAGA ALGO QUE EU FAÇO ISSO OU AQUILO" EU JA SEI FAZER. O QUE QUERO É O NPC QUE CLICA E APARECE A JANELA PARA ESCOLHER A COMPOSIÇÃO.
-
Problema ao editar composição do npc
combatrw respondeu ao tópico de asdasdasdas123 em WYD - Dúvidas
Pode mostrar como ficou o código da ehre ou algum outro que tenha alterado? eu to tentando criar um novo npc compositor -
INFINITY WYD 7.59 ON BETA!
combatrw respondeu ao tópico de combatrw em Servidores em Versão Beta-Teste / Projetos
ADM, FAVOR FECHAR ESSE TÓPICO -
WYD COMUNIDADE 7.59 MÉDIO/MÉDIO
combatrw postou um tópico no fórum em Servidores em Versão Beta-Teste / Projetos
OFFLINE WYD Comunidade 🔰Versão: 7.59 🔰EXP: MEDIO 🔰Drop: MEDIO 🔰Rates Compositores: MEDIO 📌Sistema RECONNECT: Reconect caso tome DC 📌Sistema de Grupos 📌 Ataque Mágico Azul. 📌 Modo Widescreen 📌 Jogo ira possuir 18 slots. Traje Montaria, Cinto, Colar 📌 A Fada Dourada estará agrupando os itens agrupaveis. 📌 Colocando Lojinha por 5 minutos receba 1 Pontos de Honra. 📌 Comandos de Armia,Azran,Erion ETC. = Tecla D 📌 Loja donate in game = Tecla D 📌 Drop List in game = Tecla D 📌 Comandos Exclusivos = /armia , /pilar , /kefra , etc 📌 KIT ESPECIAL NOVATO SET +11 INICIANTE pelo comando /novato 📌 Sistema criação de Cinto, Colar e Brincos(Faça Crafts) 🟢Ranking PVP In Game 🟢Ranking Level In Game 🟢Painel Pix para envio donate player pra player 🟢DropList In Game 🟢Filtro Drop 🆚Guerra de Torres as 21h 🆚Guerra de Reinos 22h 🛡️ Boss Tarantula a cada 4 horas 🛡️ Boss Dark Shadow a cada 4 horas 🛡️ Boss Frost (guilda) toda Segunda Feira Cada doação recebida é convertida para manutenção do servidor. 🎁 Premiação Especial: 🎁 30K DE DONATE ✨ (1) Fada Vermelha (3 dias) 📦 (5) Baús de Experiência 🍗 (2) Frangos 🐎 (1) Shire – 30 Dias KIT MIGRAÇÃO COMPLETO PARA GUILDAS (CHAME NO WHATSAPP). Link do grupo Whatsapp : [Hidden Content] Site : www.wydmasters.com.br/comunidade/
