-
Tempo do item sumir do chão.
Bom dia galera, alguém pode me ajudar onde fica a parte que define o tempo do item desaparecer no chão ? E a quantidade que cai máxima no mapa ? Pq as vezes simplesmente quando enche demais o chão para de aparecer itens que estão dropando e só relogando para voltar.
-
Pivot CrossBow
Ninguém para dar essa força ?
-
🖥️ PT | Ainda é um bom mercado ?
Conselho do Alucard é pura verdade. Eu estou a 4 anos em uma Source só, já corrigi tanto problema e adicionei tantas coisas que não da nem para mencionar. Peguei source Vazada a uns 6 anos atras e comecei corrigir e estudar me baseando no original, mas é tanto bug e tanto código mal feito que tem hora que vc quer desanimar. Ainda estou com servidor aberto e tentando o sonho de ter o servidor top, mas é um caminho foda demais e cheio de obstáculos cada vez mais cabuloso. Mas hoje como o Alucard disse ai, cheio de players tóxicos e que só quer zuar, e vc tem que saber filtrar e não dar ouvidos e nem se vender para ninguém. Assim você tem sucesso a longo prazo, pq de um dia pro outro priston nenhum ficou bom.
-
Problema no Reconnect
Bom dia galera! Estou tendo um problema no reconnect na source do PKDosCria, Fronzen derivados!! Eu já tirei o return na parte do addreconnect na csocketserver.cpp e quando sumulo desconectar e o cliente manda o pacote de retorno ele entra no addreconnect mas não chama o TryReconnectUser. Não ta entrando nesse case. case smTRANSCODE_CONT_OBJSERIAL: lpTransChatMessage = (TRANS_CHATMESSAGE*)psPacket; if (SOCKETSERVER->TryReconnectUser(lpPlayInfo->lpsmSock, lpTransChatMessage->szMessage, lpTransChatMessage->dwIP)) { lpPlayInfo->TransInfoFlag = TRUE; } else { DISCONNECTUSER(lpsmSock); goto quit; } break;Já conferi as #Define estão iguais nos dois Struct tbm estão iguais. Mas o pacote que o cliente manda nunca chega nessa case para chamar o tryreconnect. Qualquer ajuda já agradeço.
-
Cor nos items da Quest do 100
Consegui entender a lógica. Eu tinha resolvido quando eu comecei a ver o Aging e o Mix. Mas valeu a ideia foi exatamente o que eu fiz e deu certo!
-
Cor nos items da Quest do 100
Bom dia galera! Uso a Source PKDosCria, Frozen etc... Derivados !! Percebi que com essa Engine não funciona mais colocar o codigo RGB direto no item do 100 na OpenItem. Percebi tbm que ela usa XML para isso. itemQuestMaterial = new Graphics::Material(); itemQuestMaterial->Load("game\\materials\\items\\itemquest100.xml", true); Porém itemQuestMaterial nunca é chamado em lugar nenhum no código para definir quem é item da Quest do 100 para aplicar o efeito. Alguém tem uma ideia de onde colocar para ele funcionar de forma certa igual já funciona os itens com Aging e Mix ? Agradeço qualquer ajuda ^^
-
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