Tudo que Xandão Dev postou
-
Distribuidor
Exatamente eu vi tudo isso, porém existe alguma forma de fazer um reload no .dat do postbox sem ter que relogar ?
-
Distribuidor
Boa noite galera. Estou querendo resolver um bug que to quebrando a cabeça aqui para entender pq toda vez que recebo item no distribuidor eu consigo pegar só uma vez ai se recebo dnv tem que relogar para pegar o proximo. Queria entender como faço para atualizar em tempo real sem ter que ficar relogando toda hora. Minha Source é base Frozen. Agradeço quem puder dar uma força
-
limite de itens no bau
Entendi, vou procurar usar essa pratica que vc esta falando então! Valeu
-
Reliquias
Especifica melhor o que vc precisa amigo ?
-
limite de itens no bau
Bom dia galera ! Eu estou estudando a função de Salvar itens no bau mas me deparei um limite de 32 Itens só no bau, tipo se vc colocar 32 Sheltons ainda sobrará slots ali visualmente mas não entra mais nada além de 32 Itens e tem mais espaço de peso. vendo essa função aqui: int SaveWareHouse(sWAREHOUSE* lpWareHouse, TRANS_WAREHOUSE* lpTransWareHouse) { TRANS_WAREHOUSE TransWareHouse; TRANS_THROW_ITEMS TransThrowItems; sWAREHOUSE WareHouseCheck; int CompSize; int cnt; DWORD dwChkSum; char szComp1, szComp2; int flag; if ( lpTransWareHouse ) flag = 1; else flag = 0; if ( !flag && QuitSave ) return FALSE; for( cnt=0;cnt<300;cnt++) { if ( !lpWareHouse->WareHouseItem[cnt].Flag ) { ZeroMemory( &lpWareHouse->WareHouseItem[cnt] , sizeof(sITEM ) ); } } CompSize = EecodeCompress( (BYTE )lpWareHouse , (BYTE )TransWareHouse.Data , sizeof(sWAREHOUSE) , sizeof( sITEM )*100 ); //¿ë·® ýũ if ( !flag && CompSize>(smSOCKBUFF_SIZE-256) ) return FALSE; if ( flag && CompSize>(smSOCKBUFF_SIZE-140) ) return FALSE; DecodeCompress( (BYTE )TransWareHouse.Data , (BYTE )&WareHouseCheck , sizeof(sWAREHOUSE) ); szComp1 = (char *)lpWareHouse; szComp2 = (char *)&WareHouseCheck; dwChkSum = 0; for( cnt=0;cnt<sizeof(sWAREHOUSE);cnt++ ) { if ( szComp1[cnt]!=szComp2[cnt] ) { return FALSE; } else { dwChkSum += szComp1[cnt]*(cnt+1); } } //â°í°¡ ¿·ÈÀ»¶§¿Í ´ÝÇûÀ»¶§ÀÇ µ·ÀÇ Â÷¸¦ °Ë»çÇϱâ À§ÇÑ º¯¼ö WareHouseSubMoney += (CompWareHouseMoney-lpWareHouse->Money); CompWareHouseMoney = 0; if (!flag) { //µ¥ÀÌŸ ¼¹ö¿¡ ¾ÆÀÌÅÛ ÀúÀå ¿ä±¸ ( º¹»ç ¾ÆÀÌÅÛ ¹æÁö ) SendSaveMoney(); //µ· TransThrowItems.ThrowItemCount = 0; for( cnt=0;cnt<THROW_ITEMS_MAX;cnt++) { if ( lpWareHouse->WareHouseItem[cnt].Flag ) { TransThrowItems.ThrowItems[TransThrowItems.ThrowItemCount].dwCode = lpWareHouse->WareHouseItem[cnt].sItemInfo.CODE; TransThrowItems.ThrowItems[TransThrowItems.ThrowItemCount].dwHead = lpWareHouse->WareHouseItem[cnt].sItemInfo.ItemHeader.Head; TransThrowItems.ThrowItems[TransThrowItems.ThrowItemCount].dwChkSum = lpWareHouse->WareHouseItem[cnt].sItemInfo.ItemHeader.dwChkSum; TransThrowItems.ThrowItemCount++; } } //µ¥ÀÌŸ ¼¹ö¿¡ ¾ÆÀÌÅÛ ÀúÀå ¿ä±¸ ÃÖ´ë 32°³ µ¿½Ã ( º¹»ç ¾ÆÀÌÅÛ ¹æÁö ) SendSaveThrowItems( &TransThrowItems ); } TransWareHouse.code = smTRANSCODE_WAREHOUSE; TransWareHouse.size = sizeof(TRANS_WAREHOUSE)-(sizeof(sWAREHOUSE)-CompSize); TransWareHouse.DataSize = CompSize; TransWareHouse.dwChkSum = dwChkSum; TransWareHouse.wVersion[0] = Version_WareHouse; TransWareHouse.wVersion[1] = 0; if ( !flag ) { //µ· ÀúÀå ( ¼¹ö¿¡¼ »ç¿ëÇÒ ³»¿ë / ºÒ·¯¿Ã¶§´Â ¼¹ö¿¡¼ ÃʱâÈ ÇØÁà¾ß ÇÔ ) TransWareHouse.WareHouseMoney = lpWareHouse->Money ^ (dwChkSum^smTRANSCODE_WAREHOUSE); TransWareHouse.UserMoney = lpCurPlayer->smCharInfo.Money ^ (dwChkSum^smTRANSCODE_WAREHOUSE); } TransWareHouse.dwTemp[0] = 0; TransWareHouse.dwTemp[1] = 0; TransWareHouse.dwTemp[2] = 0; TransWareHouse.dwTemp[3] = 0; TransWareHouse.dwTemp[4] = 0; dwLastWareHouseChkSum = dwChkSum; //ÃÖÁ¾ ÀúÀå â°í ÄÚµå if ( flag ) { memcpy( lpTransWareHouse , &TransWareHouse , sizeof(TRANS_WAREHOUSE) ); return TRUE; } if ( TransWareHouse.size>smSOCKBUFF_SIZE ) TransWareHouse.size = smSOCKBUFF_SIZE; if ( smWsockDataServer ) { smWsockDataServer->Send2( (char *)&TransWareHouse , TransWareHouse.size , TRUE ); SaveGameData(); //°ÔÀÓÀ» ÀúÀå return TRUE; } return FALSE; } Percebi que THROW_ITEMS_MAX = 32 porém se eu aumento ainda sim não funciona. Alguém tem alguma ideia melhor de aumentar o limite ?
-
VL em Grupo
Pow valeu em cara, eu só não tinha prestado atenção nessa parte !lpCharSelPlayer && no cliente rsrs. Mas é vivendo e aprendendo. Muito obrigado pela ajuda tamo junto ^^
-
VL em Grupo
Boa Tarde Galera ! Minha Sacer só manda VL se clicar no Personagem especificio. Gostaria de colocar para mandar para todo o grupo de uma vez que estiver perto igual skill do Valor por exemplo. Procurei bastante na Source já mas ainda não encontrei como copiar a ideia do Valor. Source Base FrozenPK
-
Auto Loot de Gold
Valeu pela ajuda ^^
-
Auto Loot de Gold
Boa tarde galera !!! Alguém poderia me dar uma ideia de como adicionar um Premium para ativar AutoLoot de Gold ? Source minha é Base FrozenPK
-
Pivot CrossBow
Bom dia galera, Alguém de vcs sabe como resolver esse pivot dos arcos CrossBow ? Eles estão inseridos na tabela de crossbow porém não fica certo na mão.
-
Monstros de MF 1 2 3 MD1
Exatamente, não existe no oficial. Esses mapas são antigos em kk' 2009 pra cima se não me engano.
-
Adicionar animação das montarias nos char novos
Na verdade eu to estudando, mas se alguém já tiver um noção maior e puder me ajudar seria mais tranquilo.
-
Adicionar animação das montarias nos char novos
Boa noite galera. Como eu faço para adicionar as montarias nos personagens novos Xamã e Assassina na Source Frozen ? Elas estão renderizando somente nas 8 classes antigas.
-
Adicionar mais items no MIX
Encontrei onde muda no código para adicionar mais itens no MIX. Só alterar nessa linha aqui a quantidade que quer que o código percorra na leitura. for (i = 0; i < MAX_CRAFTITEM_INFO; i++) { for (j = 0; j < 10; j++) { //¹«±â ÄÚµå °Ë»ç // Era 8 alterei para 10 Não esquecer de alterar essa linha aqui tbm para compilar certo quando adicionar mais armas no mix. DWORD MainItemCode[10]; // Era 8 alterei para 10 Fazendo somente isso já consegue fazer o mix aceitar mais itens.
-
Adicionar mais items no MIX
Adicionar no aging foi mais facil. o Mix é meio embaralhado os códigos.
-
Adicionar mais items no MIX
No meu caso os MIX funcionam perfeitamente até as 8 Armas originais antes de existir as novas classes. Ai preciso só saber onde adiciona para aceitar as novas armas de assassina e xamã.
-
Adicionar mais items no MIX
O meu é direto na source, não uso SQL.
-
Adicionar mais items no MIX
Boa tarde galera, eu estou adicionando a Assassina e o Xamã na minha source (Base Frozen) e queria saber como adicionar mais itens no mix. Exemplo aqui: { 1, { sinWA1, sinWC1, sinWH1, sinWM1, sinWP1, sinWS1, sinWS2, sinWT1, sinWD1, sinWN1 }, adicionei a Adaga e o Fantasma, porém não reconhece no mix ainda. Só esta lendo até a sinWT1 lança. Eu até aumentei a struct para aceitar adicionar as 2 armas. ///// Å©·¡ÇÁÆ® ¾ÆÀÌÅÛ struct sCRAFTITEM_INFO { int iMixType; DWORD MainItemCode[10]; //Á¶ÇÕÇÒ ¾ÆÀÌÅÛ ÄÚµå int AddItem[25]; //Ãß°¡ÇÒ ¾ÆÀÌÅÛ (½©ÅÒ) int PlusElementCode[8]; //Ãß°¡µÉ ¿äÀÎ float AddElement[8]; //Ãß°¡µÈ ¼öÄ¡ int ElementKind[8]; //¼öÄ¡ÀÇ ±âÁØ (+ % ¼Ò¼ö) char Doc[256]; //¼³¸í };Porém ainda tem outra parte do código que não achei para aceitar a sinWD1 e sinWN1.
-
Bug Visual de Armadura
Mas isso só acontece para quem esta vendo, eu consigo ver o personagem pelado certinho. Só na tela do outro jogador que fica na Array 15.
-
Bug Visual de Armadura
A parte onde está os fica os .ini estão tudo iguais no Server.exe e Game.exe. O Problema que ela sempre quando tiro a armadura ele ao inves de ir para EX:A001.ini ele vai para o array "A015.ini"
-
Bug Visual de Armadura
Boa tarde galera Estou tendo um problema na Source do PKDosCria Quando eu tiro a armadura e fica na "NUDE" sem armadura a skin aparece certo pra mim que estou sem armadura. Porém pro cara que esta vendo eu mostra que estou usando a armadura do 70 DA116 ao inves de mostrar que estou sem armadura. OBS: Isso acontece com todas as Classes. Alguém pode me dar uma ideia do que seria isso ?
-
Players Fantasmas ao Ligar o Server.exe
Consegui resolver, descobri que era um mapa bugado ai marcava players dentro dele fantasma. Troquei os arquivos do mapa resolveu! Fica a dica quem tiver com mapa renderizando errado, troque para um mapa 100% funcional.
-
Players Fantasmas ao Ligar o Server.exe
Como faço isso ?
-
Players Fantasmas ao Ligar o Server.exe
Ele crasha ao abrir o server.exe OnServer.cpp //DC1 if (dwWaitTime < dwPlayServTime || (rsPlayInfo[cnt].dwHopeDisconnectTime && rsPlayInfo[cnt].dwHopeDisconnectTime < dwPlayServTime)) { if(rsPlayInfo[cnt].lpsmSock) { wsprintf(szTempBuff, "ID( %s ) Name( %s ) IP( %s ) TimeOut Message\r\n", rsPlayInfo[cnt].szID, rsPlayInfo[cnt].szName, rsPlayInfo[cnt].lpsmSock->szIP); Record_TempLogFile(szTempBuff); <<<<< Crashou aqui } DISCONNECTUSER(rsPlayInfo[cnt].lpsmSock); } Mas as vezes tbm crasha aqui na Socket.cpp BOOL SocketData::SendPacket(Packet* p, BOOL bEncrypted) { if (!p || !pcSendMutex || bClosing) return FALSE;
-
Players Fantasmas ao Ligar o Server.exe
Galera eu estou com um problema na source com Base Elemental, Fronze, PKDosCria etc... que quando eu vou ligar o server ele mostra 1 ou 2 players fantasmas e crasha o server.exe ai tem que ficar ligando até estabilizar e depois de ligar pode largar on que não crasha mais. Alguém tem noção de onde vem esse bug ?