-
Posts
316 -
Joined
-
Days Won
16
Dynamic Things's Achievements
-
Era para o ter publicado aqui antes mas não tem havido muito tempo, não venho trazer nada de novo para alguns. Download Creditos: Evilsystem
-
Já foi publicado a algum tempo, a tempos começei a trabalhar no código disso, mas no entretanto dropei a meio porque arranjei algo melhor, no entretanto se alguém quiser o código posso o disponibilizar. Imagens Preview: Download
- 5 replies
-
- 31
-
Visto que estão a tentar vender isso... Deixo ai Re-Up para quem quiser. É apenas o design (PSD). Download
-
Deixo ai para download, quem quiser dar utilidade, no download contém as armas para demonstração convertidos para a versão do granny 2.9.12.0, as texturas e os projetos de cada arma em formato FBX. Atenção que não é algo para se sacar meter no cliente e usar, pois os ficheiros de demonstração deixados não funcionaram corretamente. É necessário a correção da posição das armas. (algo relativamente fácil de se fazer, mas requer alguma pratica e tempo ).. https://mega.nz/#!5PpzgKLA!uJxj55fztOu0d7IpSW4oHZzZM-hx6A1zuduO2DdDcS8 Preview
- 3 replies
-
- 14
-
Dynamic Things changed their profile photo
-
When you index the directory zone you are already indexing all subdirectories that the folder contain, you can do it like the following example CEterPackManager::Instance().RegisterPack("pack/zone", "*");
-
Visual Studio 2015 (Community + Professional + Enterprise)
Dynamic Things posted a topic in Download
View File Visual Studio 2015 (Community + Professional + Enterprise) Microsoft Visual Studio é um ambiente de desenvolvimento integrado (IDE) da Microsoft para desenvolvimento de software especialmente dedicado ao .NET Framework e às linguagens Visual Basic (VB), C, C++, C# (C Sharp) e F# (F Sharp). Também é um produto de desenvolvimento na área web, usando a plataforma do ASP.NET, como websites, aplicativos web, serviços web e aplicativos móveis. As linguagens com maior frequência nessa plataforma são: VB.NET (Visual Basic.Net) e o C♯ (lê-se C Sharp). 1 Link - Community 2 Link - Professional 3 Link - Enterprise Key para o versão profissional: HMGNV-WCYXV-X7G9W-YCX63-B98R2 Key para o versão Enterprise: 2XNFG-KFHR8-QV3CP-3W6HT-683CH Submitter Dynamic Things Submitted 01/28/19 Category Software -
Version 2015
28 downloads
Microsoft Visual Studio é um ambiente de desenvolvimento integrado (IDE) da Microsoft para desenvolvimento de software especialmente dedicado ao .NET Framework e às linguagens Visual Basic (VB), C, C++, C# (C Sharp) e F# (F Sharp). Também é um produto de desenvolvimento na área web, usando a plataforma do ASP.NET, como websites, aplicativos web, serviços web e aplicativos móveis. As linguagens com maior frequência nessa plataforma são: VB.NET (Visual Basic.Net) e o C♯ (lê-se C Sharp). 1 Link - Community 2 Link - Professional 3 Link - Enterprise Key para o versão profissional: HMGNV-WCYXV-X7G9W-YCX63-B98R2 Key para o versão Enterprise: 2XNFG-KFHR8-QV3CP-3W6HT-683CH -
Boas ppl, já tenho isto para mim a algum tempo mas como não vejo muitos a falarem disso por ai decidi publicar. Passando agora ao tópico, neste tutorial tenho como objetivo de mostrar como podem passar a indexar os teus patchs sem a necessidade de terem um ficheiro index no vosso cliente. Muito bem uma vez explicado o que se pretende fazer vamos ver os prós e os contras que isto pode trazer: Prós: Obriga a qualquer pessoa que tente adicionar novo patch ao cliente a ter de o adicionar a source do binário para o fazer. Permitira uma melhor reorganização da base do cliente. Contras: Quando queremos adicionar algum patch novo temos de o adicionar ao binário e voltar a compilar. Como o fazer? No ficheiro userinterface.cpp procurar pelo seguinte: bool PackInitialize(const char * c_pszFolder) E vão encontrar a seguinte função: bool PackInitialize(const char * c_pszFolder) { NANOBEGIN if (_access(c_pszFolder, 0) != 0) return true; std::string stFolder(c_pszFolder); stFolder += "/"; std::string stFileName(stFolder); stFileName += "Index"; CMappedFile file; LPCVOID pvData; if (!file.Create(stFileName.c_str(), &pvData, 0, 0)) { LogBoxf("FATAL ERROR! File not exist: %s", stFileName.c_str()); TraceError("FATAL ERROR! File not exist: %s", stFileName.c_str()); return true; } CMemoryTextFileLoader TextLoader; TextLoader.Bind(file.Size(), pvData); bool bPackFirst = TRUE; const std::string& strPackType = TextLoader.GetLineString(0); if (strPackType.compare("FILE") && strPackType.compare("PACK")) { TraceError("Pack/Index has invalid syntax. First line must be 'PACK' or 'FILE'"); return false; } #ifdef _DISTRIBUTE Tracef("¾Ë¸²: ÆÑ ¸ðµåÀÔ´Ï´Ù.\n"); //if (0 == strPackType.compare("FILE")) //{ // bPackFirst = FALSE; // Tracef("¾Ë¸²: ÆÄÀÏ ¸ðµåÀÔ´Ï´Ù.\n"); //} //else //{ // Tracef("¾Ë¸²: ÆÑ ¸ðµåÀÔ´Ï´Ù.\n"); //} #else bPackFirst = FALSE; Tracef("¾Ë¸²: ÆÄÀÏ ¸ðµåÀÔ´Ï´Ù.\n"); #endif CTextFileLoader::SetCacheMode(); #if defined(USE_RELATIVE_PATH) CEterPackManager::Instance().SetRelativePathMode(); #endif CEterPackManager::Instance().SetCacheMode(); CEterPackManager::Instance().SetSearchMode(bPackFirst); CSoundData::SetPackMode(); // Miles ÆÄÀÏ ÄݹéÀ» ¼ÂÆà std::string strPackName, strTexCachePackName; for (DWORD i = 1; i < TextLoader.GetLineCount() - 1; i += 2) { const std::string & c_rstFolder = TextLoader.GetLineString(i); const std::string & c_rstName = TextLoader.GetLineString(i + 1); strPackName = stFolder + c_rstName; strTexCachePackName = strPackName + "_texcache"; CEterPackManager::Instance().RegisterPack(strPackName.c_str(), c_rstFolder.c_str()); CEterPackManager::Instance().RegisterPack(strTexCachePackName.c_str(), c_rstFolder.c_str()); } CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str()); NANOEND return true; } E agora nessa função vamos começar por fazer o seguinte: Vamos comentar o seguinte /* std::string stFileName(stFolder); stFileName += "Index"; CMappedFile file; LPCVOID pvData; if (!file.Create(stFileName.c_str(), &pvData, 0, 0)) { LogBoxf("FATAL ERROR! File not exist: %s", stFileName.c_str()); TraceError("FATAL ERROR! File not exist: %s", stFileName.c_str()); return true; } CMemoryTextFileLoader TextLoader; TextLoader.Bind(file.Size(), pvData); */ E agora dentro da nossa função vamos procurar pelo seguinte e comenta-lo /* const std::string& strPackType = TextLoader.GetLineString(0); if (strPackType.compare("FILE") && strPackType.compare("PACK")) { TraceError("Pack/Index has invalid syntax. First line must be 'PACK' or 'FILE'"); return false; } */ e por ultimo para remover o index com sucesso procuramos e comentamos o seguinte /* std::string strPackName, strTexCachePackName; for (DWORD i = 1; i < TextLoader.GetLineCount() - 1; i += 2) { const std::string & c_rstFolder = TextLoader.GetLineString(i); const std::string & c_rstName = TextLoader.GetLineString(i + 1); strPackName = stFolder + c_rstName; strTexCachePackName = strPackName + "_texcache"; CEterPackManager::Instance().RegisterPack(strPackName.c_str(), c_rstFolder.c_str()); CEterPackManager::Instance().RegisterPack(strTexCachePackName.c_str(), c_rstFolder.c_str()); } */ Agora com a nossa função sem a verificação do ficheiro index deverá estar assim: bool PackInitialize(const char * c_pszFolder) { NANOBEGIN if (_access(c_pszFolder, 0) != 0) return true; std::string stFolder(c_pszFolder); stFolder += "/"; /* std::string stFileName(stFolder); stFileName += "Index"; CMappedFile file; LPCVOID pvData; if (!file.Create(stFileName.c_str(), &pvData, 0, 0)) { LogBoxf("FATAL ERROR! File not exist: %s", stFileName.c_str()); TraceError("FATAL ERROR! File not exist: %s", stFileName.c_str()); return true; } CMemoryTextFileLoader TextLoader; TextLoader.Bind(file.Size(), pvData); */ bool bPackFirst = TRUE; /* const std::string& strPackType = TextLoader.GetLineString(0); if (strPackType.compare("FILE") && strPackType.compare("PACK")) { TraceError("Pack/Index has invalid syntax. First line must be 'PACK' or 'FILE'"); return false; } */ #ifdef _DISTRIBUTE Tracef("¾Ë¸²: ÆÑ ¸ðµåÀÔ´Ï´Ù.\n"); #else bPackFirst = FALSE; Tracef("¾Ë¸²: ÆÄÀÏ ¸ðµåÀÔ´Ï´Ù.\n"); #endif CTextFileLoader::SetCacheMode(); #if defined(USE_RELATIVE_PATH) CEterPackManager::Instance().SetRelativePathMode(); #endif CEterPackManager::Instance().SetCacheMode(); CEterPackManager::Instance().SetSearchMode(bPackFirst); CSoundData::SetPackMode(); // Miles ÆÄÀÏ ÄݹéÀ» ¼ÂÆà /* std::string strPackName, strTexCachePackName; for (DWORD i = 1; i < TextLoader.GetLineCount() - 1; i += 2) { const std::string & c_rstFolder = TextLoader.GetLineString(i); const std::string & c_rstName = TextLoader.GetLineString(i + 1); strPackName = stFolder + c_rstName; strTexCachePackName = strPackName + "_texcache"; CEterPackManager::Instance().RegisterPack(strPackName.c_str(), c_rstFolder.c_str()); CEterPackManager::Instance().RegisterPack(strTexCachePackName.c_str(), c_rstFolder.c_str()); } */ CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str()); NANOEND return true; } agora para adicionarem novos patchs ao binário fazem da seguinte forma: acima do seguinte CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str()); adicionamos os nossos patchs, como por exemplo: CEterPackManager::Instance().RegisterPack("pack/item1", "*"); CEterPackManager::Instance().RegisterPack("pack/pc1", "*"); CEterPackManager::Instance().RegisterPack("pack/pc2", "*"); CEterPackManager::Instance().RegisterRootPack((stFolder + std::string("root")).c_str()); Em caso de algum erro deixem nos comentários que posso ter me esquecido de alguma coisa. Cumprimentos, Dynamic Things
-
Crystal Dungeon, Mushroom Run & Water Dungeon
Dynamic Things replied to Dynamic Things's topic in Mapas
Não tenho serverside de todas elas mas existem algumas files publicas onde podes tirar a parte serverside vou dar uma vista de olhos se encontrar actualizo o tópico -
Deixo ai uma montada do rip pelo plechitoCZ Download: Link
- 1 reply
-
- 1
-
[Armadura] Ridack Set 19, 18 & DaneWorker set SNS
Dynamic Things posted a topic in Armas e Armaduras
Mekie ppl, deixo ai 3 armaduras que ainda não estava aqui no forum Download Download Download Bye Bye -
Boas ppl, deixo ai 3 mapas que ja andam publicados mas alguns deles incompletos deixo ai os 3 completos testados por mim Download 1: Link Download 2: Link Download 3: Link
-
Não te esqueças de declarar m_MetinPositionVector no PythonMiniMap.h TInstanceMarkPositionVector m_MetinPositionVector;