-
Content Count
1,745 -
Joined
-
Last visited
-
Days Won
41
Posts posted by NewWars
-
-
Aqui tens uma FAQ fresca sobre o yang no inventário, aspectos sobre o mesmo e como alterar os limites:
Cumprimentos.
-
Bem-vinda Comunidade da Cyber-Gamers
Este tópico tem o objectivo esclarecer como funciona alguns aspectos sobre o yang que uma personagem tem, como os seu limite máximo e o funcionamento no código.
Como funciona a variável do yang?
SpoilerAs variável do yang é um simples long(signed long) que pode ir de –2,147,483,648 to 2,147,483,647 apesar que as funções que guardam e acessão o valor são INT(unsigned intenger) que pode ir desde o numero 0 até 4,294,967,295 o valor não pode passar do máximo de signed long ou então existiria um overflow.
Este documento esclarece quais os limites dos tipos de variaveis numéricas: https://msdn.microsoft.com/en-us/library/s3f49ktz.aspx
Apesar de ser uma má prática simplesmente funciona pelo facto de existir uma variavél que limita o yang até char a um certo ponto que o overflow aconteça, e essa variável chama-se GOLD_MAX que está no header length.h e de origem tem o valor de 2000000000(2kkk), o que significa que qualquer valor maior que o definido não será feito o processo de mudança do yang porque será maior do que o permitido
Como altero o limite de yang?SpoilerPara editar o limite de yang basta alterar a variável acima referida para qualquer valor desejado mas atenção, o valor numa poderá ser maior do que o a variável pode aguentar, ou seja, se for de origem(long) não poderá passar de 2,147,483,647 que é o máximo permitido desse tipo de variável numérica.
Como altero o tipo de variável do yang?SpoilerPara alterar o tipo de variável do yang terá que alterar TODAS as variáveis referentes ao yang sem excepção, tanto como no game, nas tabelas e na db para o tipo de variável desejada.
Este processo é demorado e requer alguma paciência até encontrar todas as variáveis, uma variável esquecida poderá causar uma falhar enorme no sistema com que faça que certas funções não funcionem, umas são mais criticas que outras mas todas sem excepção teriam que ser alteradasInfelizmente não tenho nenhuma guia com todas as instruções feitas, mas pode ser que no futuro perca o meu tempo para fazer uma.Como desactivo o limite de yang?
SpoilerBem, é possível desactivar este limite simplesmente alterando todas as verificação que verificam se o yang em questão é maior que o limite(GOLD_MAX) mas este passo NÃO É ACONSELHADO pelo facto que ao fazer isto estaria a permitir o overflow da variável que resultaria num crash do core por completo.
FAQ's Relacionadas: Serverfiles | Client | Versões | Source | Iniciar aprendizagem em metin2
A equipa,
Cyber-Gamers.Org
-
Normalmente só é necessário fazer alguma mudança no toolset, a parte disso funciona em qualquer um que seja > 8
Cumprimentos.
-
Algo está errado com a tabela de skills do locale, tenta meter de origem e também tens um erro qualquer no update que não bloqueia o carregamento segundo parece mas nunca se sabe se terá algo a haver
Cumprimentos.
andrezinho00780 reacted to this -
No primeiro problema, terás que identificar como é que os dados chegam até ao cliente pelo servidor, e como são mostrados, tanto poderá ser uma variavél ignorada, como pode ser má passagem do binário para o python, como pode ser ao meter na table para mostrar, indentifica todo o percurso da informação iniciando pelo servidor ou pela parte de python, acho que deve ser a forma mais rápida e indentificar o problema, eliminando as hipoteses mais claras imediatamente.
No segundo problema, identifica o código que trata da finalização da troca e altera para onde supostamente ele deveria ir, o que depende de como funciona o tal banco.
Outra coisa, das proximas vezes tenta ser mais correto ao escrever e a aplicar a cor, levei 10x mais tempo a tentar entender o seguinte:
20 minutos atrás, мαя¢σs ๖ۣۣۜDaniel disse:Erro2: Também tenho outro problema nas lojas que é quando compro algum item, ele vai direto para o inventário o dinheiro e não fica no banco, assim que me conseguirem ajudar nestes dois problemas agradecia.
Cumprimentos.
-
Na primeira duvida, só pelos nomes não dá para saber se o conteúdo é o mesmo que eu ou outra pessoa possa imaginar, os ficheiros que contenham texto mete no pastebin.
Na segunda duvida, os ficheiros que começam com o . são tecnicamente inúteis se não preenchidos, se não estiverem basta apagares, o resto dos scritps de bash basta identificar se fazem a mesma coisa e renomeares, mas invés de fazeres isso recomendo que tenhas um user só para o servidor e que metas os scripts em bin, facilita imenso visto que não é necessário indicar o caminho para o bash, só é necessário executar o nome do bash escrevendo por exemplo, run, shutdown, etc...
Cumprimentos.
-
Basicamente só precisas de saber com o que estas a mexer e aprender um pouco da estrutura de um servidor regular de metin, visto que já tens os conhecimentos básicos que são necessários, vê as FAQ's existentes que cobrem praticamente todos os aspectos básicos:
Cumprimentos.
-
O código e a maneira que foi aplicado é péssimo, scripts comuns postos nas libs que são referentes ao sistema python usado no cliente,
a interface claramente não é completamente original, tem varias alterações significativas parecendo quase uma nova ou subversão da mesma.
Apesar de tudo, os scripts do uiscript são sempre úteis visto que são universais, sempre poupa imenso trabalho.
Cumprimentos.
Dynamic Things reacted to this -
Boas pessoal, desde há 1 ano atrás que descobri o canal do youtube FilthyFrankTV(The Filthy Frank Show) que envolve no género de comédia auto-deprecante, humor negro, musica e etc.
O autor das musicas é o Pink Guy(uma personagem com um fato cor de rosa em que o actor é o Joji MIller(também faz o papel de FilthyFrank, Lemon Guy, Safari Man, Lord Chin Chin, entre outros))
O seu album mais recente, Pink Season veio a trazer uma variedade de musicas excelentes e únicas neste género
Visitem o canal TooDamnFilthy para mais musicas do autor, para quem gosta de comédia e hip-hop em conjunto
Cumprimentos.
-
Boas pessoal, desde há 2 anos atrás que descobri uma nova onda de retro, o estilo é praticamente igual ao retro original só que a qualidade da musica tem se mostrado melhor e mais variada.
O canal de youtube em que mais oiço retro chama-se NewRetroWave, e tem uma imensa variadade de retro, também como synthwave, future synth electro, etc..
Aqui estão algumas musicas que mais gosto e que foram publicadas até recentemente:
SpoilerUm dos meus autores favoritos é o Tonebox, definitivamente um dos melhores no género de future synth, e o meu album favorito do mesmo é o Abiogenesis
SpoilerVisitem o canal NewRetroWave para mais musicas do género, o conteúdo é excelente
Cumprimentos.
morfo2 reacted to this -
Já viste o syserr do canal em que tentaste ver a quest?
Cumprimentos.
-
Vai ao item_proto e verifica se realmente tem um record referente ao item, vê se existe por VNUM,
é óbvio mas verifica se realmente está em uso a base de dados ou os text protos(TXT).
Cumprimentos.
-
Tópico movido
De: Metin2 > Gerenciamento de Servidores e Clientes > Metin2 - Sites
Para: Anúncios e Comércio > ClassificadosIsto é uma mensagem automática
KB CRAZY CHANNEL reacted to this -
Não dás informação sobre o que estás a fazer, nem como é nem o que é especificamente, porque iria alguém ter interesse?
Cumprimentos.
Loading reacted to this -
A função command executa um comando pré-programado na source, por algum motivo executa um comando que dará os items definidos na função na source, o que não faz absolutamente nenhum sentido lá estar.
Retira o código e faz uma tabela e dá os items por ela, faz muito mais sentido ou se tiveres a source, procura por essa string no script que contem essa função, basta dar CTRL + F em todos os ficheiros e procurar a string, e altera lá, mas não recomendo por nada esta ultima opção, não tem prática completamente nenhuma.
Um exemplo simples:
itemTable = { --vnum, count {19, 1}, } for i = 1, table.getn(itemTable) do pc.give_item(itemTable[i][1], itemTable[i][2]) end
Cumprimentos.
-
Tópico movido
De: League of Legends > Gaming > LOL - Geral
Para: Anúncios e Comércio > ClassificadosIsto é uma mensagem automática
-
Bem-vinda Comunidade da Cyber-Gamers
Este tópico tem o objectivo esclarecer o que é necessário para iniciar a aprendizagem num cliente de Metin2.
Quais queres links de download serão colocados no fim do tópico com o nome respectivo ao ficheiros mencionados, assim como tópicos de referencia para facilitar a quem já leu o tópico ou simplesmente quer os recursos.
O que é necessário saber para iniciar?
SpoilerÉ fundamental e obrigatório saber o que é um cliente, um sistema operativo Windows, directorias, pastas, ficheiros.
Como o objectivo é saber para que servem alguns ficheiros e directorias, não é necessário muito mais que um simples compactador/descompactador.
Qual o material necessário para iniciar?SpoilerPara iniciar simplesmente irá ser necessário um cliente e um compactador/descompactador, neste caso vai ser exemplificado com um cliente oficial de 2014 e o compactador EterNexus
Como e onde começar?SpoilerRaiz do cliente:
SpoilerComeçando pela raiz do cliente, vamos analisar para que serve cada ficheiro e pasta presente na raiz:
Começando pelas pastas, a pasta:
SpoilerBGM é destinada a conter ficheiros de musica do jogo,
lib é destinada a conter módulos de python, mais especificamente módulos da mesma versão usada no binário,
miles é destinada a conter módulos de miles que gere o sistema de som usado no binário.
pacl é destinada a conter todo o conteudo do jogo como mapas, icones, sons, modelos, etc.
Nos ficheiros com a extensão .dll:
SpoilerSão simples livrarias dinamicas usadas pelo binário
Nos ficheiros com a extensão .exe, o ficheiro:
Spoilerconfig.exe é destinado para configurações de jogo como resoluções a sons, etc
metin2client_with_pong é o cérebro do cliente tal e qual como o without_pong, mas como diz um tem pong e o outro não, um aspecto de segurança que não iremos abordar neste tópico.
Nos ficheiros com a extensão .cfg:
SpoilerSão simples ficheiros de configuração em texto.
Pasta Pack:
SpoilerNa pasta pack, os arquivos .eix e .epk com o mesmo nome representam um só tecnicamente, sendo .eix o index que contêm a informação do mesmo, e o .epk contêm o conteúdo, para voltarem a ser uma pasta normal, é necessário ter ambos para descompactar.
Simplesmente irei explicar algum conteudo como configurações e scripts, que estão presentes no ficheiro root, uiscript e locale.
Como descompactar usando o EterNexus:SpoilerApós dito isto, iremos usar a ferramenta EterNexus para descompactar os ficheiros mencionados acima, simplesmente arrastando o conteúdo da ferramenta para dentro da pasta pack, ficando como no print seguinte:
Executar o programa EterNexus e descompactar o ficheiro pretendido:
A pasta root:
SpoilerApós descompactar a pasta root, iremos analisar alguns ficheiros:
Nos ficheiros com a extensão .py:
SpoilerEstes ficheiros são scripts(código) em python, que gerem assuntos como a interface do jogo, funcionalidades de teclado e muitos outros aspectos, a finalidade da existência do python é para auxiliar o binário, visto que python é uma linguagem mais flexível e rápida a editar, simplesmente melhor em vários aspectos em geral
Nos ficheiros com a extensão .msm:
SpoilerEstes ficheiros são listas que incluem informação sobre a localização dos modelos, texturas e index's de armaduras e cabelos para serem usados pelo cliente
Nos ficheiros com a extensão .txt:
SpoilerEstes ficheiros são listas simples, nem todos são iguais, alguns são sobre informações de mapas(tamanhos, coordenadas, etc) outros são sobre a localização de mobs ou NPC's e os seus index's
A pasta uiscript:
SpoilerApós descompactar a pasta uiscript, iremos analisar alguns ficheiros:
Nos ficheiros com a extensão .py:
SpoilerEstes ficheiros dictionaries em python que representam como e o que as janelas de jogo devem conter, des imagens a botões, tamanhos e posições, etc
O resto dos ficheiros(txt) são técnicamente inuteis porque não estão a ser usados e estão nos lugares incorretos.
A pasta locale:
SpoilerApós descompactar a pasta locale_en, iremos analisar alguns ficheiros:
Nos ficheiros com a extensão .txt:
SpoilerEstes ficheiros são variaveis que representam uma lingua, outros são textos completos,etc.
Nem todos são iguais, alguns são só texto enquanto outros são informações de habilidades, palavras proibidas, informação de items, etc.
Nos ficheiros sem extensão:
SpoilerEstes ficheiros contêm informações sobre mobs, npcs, items, nomes, etc.
As pastas contêm alguns scripts referentes a uiscript e algumas imagens que diferenciam-se em diferentes linguas usadas no cliente.
Outras pastas:
SpoilerAs outras pastas contêm ficheiros como modelos de monstros, personagens, armas, ícones, imagens etc.
Após reconhecer onde se localizam os ficheiros no cliente, procede-se a procurar como fazer edições desejadas, basta procurar pelo fórum ou pela internet.
Recursos
SpoilerFAQ's Relacionadas: Serverfiles | Client | Versões | Source | Iniciar aprendizagem em metin2
A equipa,
Cyber-Gamers.Org
-
Boas
Reparei que no metin quando se clica(dá focus) em qualquer objecto enquanto se têm algum control que seja editável, como uma caixa de texto ou caixa de lista de escolhas, elas não perdem o focus, aqui está um exemplo do que digo:
Após aplicar algum código, ficou assim:
Como aplicar:SpoilerNo módulo ui.py, procurar a classe :
class Window(object):
e procurar a função:
def OnMouseLeftButtonDown(self):
e adicionar a instrução no fim da função:
self.SetFocus()
ficando:
def OnMouseLeftButtonDown(self): if self.onMouseLeftButtonDownEvent: self.onMouseLeftButtonDownEvent() self.SetFocus()
A seguir, no módulo uiGuild.py
procurar pela classe:
class ComboBox(Window):
e adicionar a função:
def OnKillFocus(self): self.CloseListBox()
Provavelmente existem mais alterações em alguns controlos mas estes foi o que me dei ao trabalho de encontrar, se alguém encontrar algum que avise que adiciono
Cumprimentos.
morfo2 and nagatto reacted to this -
Bem-vinda Comunidade da Cyber-Gamers
Este tópico tem o objectivo esclarecer o que é necessário para iniciar a aprendizagem no desenvolvimento de Metin2.
Visto que em 2017 com a quantidade e diversidade de conteúdo no fórum e na Internet em geral, reparo que muitas pessoas têm dificuldade em ter interesse suficiente para serem autónomos visto à falta de uma guia inicial.
Quais queres links de download serão colocados no fim do tópico com o nome respectivo ao ficheiros mencionados, assim como tópicos de referencia para facilitar a quem já leu o tópico ou simplesmente quer os recursos.
Dito isto, seguimos ao tema principal do tópico:
O que é necessário saber para iniciar?
SpoilerÉ fundamental e obrigatório saber o que é um servidor, um sistema operativo FreeBSD, as linguagens de programação Lua e BASH, directorias, pastas, ficheiros e uma mínima noção de redes.
Todo o tipo de modificação tanto a nível de servidor como cliente requerem quase os mesmos requisitos referidos acima, mas a lógica aplicada é praticamente igual.
Qual o material necessário para iniciar?SpoilerExplicação:
SpoilerNormalmente, os novatos escolhem conteúdo que lhes facilite a aprendizagem ou os seus objectivos, mas essa é uma má ideia.
Usando server files como um exemplo, a maioria de server files disponíveis na internet não se diferenciam muito, mas contando que a estruturação original de servidor é considerada má, ter o risco de ficar pior pelas mão de terceiros é algo que não se deve arriscar, além de mais factores óbvios.
Contudo, nem todos os casos assim são mas sem o conhecimento necessário não é possível confirmar o que será melhor, pior ou igual.
Dito isto, o pensamento óbvio de um iniciante após ler o que está acima seria escolher as server files mais originais possível, como Rain.
Concordaria com esta ideia se estivéssemos no passado, mas já existe o mesmo conteúdo melhorado por isso não vale a pena.
Recomendação:
SpoilerPara server files, recomendo os do AddictMt2 Zeus pelo facto de a sua estruturação ser mais organizada, limpa e trabalhada do que as originais, sem conteúdo extra desnecessário.
Para client, recomendo o client de 2014 do metin2 oficial, visto que é o mais compatível com maior parte dos recursos e é o mais limpo e sem muito conteúdo extra desnecessário.
Para game(cérebro do servidor) recomendo a source mainline, visto que é a mais compatível com maior parte dos recursos.
Para binary(cérebro do client) recomendo a source novaline, visto que é a mais compatível com maior parte dos recursos.
Nas ferramentas, como cliente FTP para aceder ao repostório servidor recomendo o WinSCP,
Como editor de texto recomendo o Notepad++,
Como compactador/descompactor ETER(arquivos com a extensão eix/epk do client) recomendo o EterNexus ou EterManager,
Como conversor de TXT para XML Packed recomendo o dump_proto original,
Como e onde começar?
SpoilerPara iniciar a aprendizagem, deve-se explorar a estruturação geral do servidor e do cliente, para que servem os ficheiros, o que fazem e qual o propósito dos mesmos.
Para estes dois lados, aqui estão tópicos a explicar o essencial sobre cada um deles:
Tópicos em construção.
Recursos
SpoilerFAQ's Relacionadas: Serverfiles | Client | Versões | Source
A equipa,
Cyber-Gamers.Org
-
Boas, deixo aqui uma função básica para gerar cores por nome invés de hex ou rgb como já existe.
def GenerateColorIndexByName(self, colorName): colorDict = { "white" : "FFFFFF", "black" : "000000", "red" : "FF0000", "blue" : "0000FF", "green" : "00FF00", "makara" : "82796F", "teak" : "B99E71", "marzipan" : "F8D090", "pharlap" : "A08784", "corvette" : "F8D09E", } if colorDict.has_key(colorName): return int("0xff" + colorDict[colorName], 0) return int("0xff" + colorDict["white"], 0)
Como podem ver, a lista de cores é curta pela simples razão que não tive tempo de preencher com as cores minimamente necessárias, mas para adicionar cores é bastante simples.
Baseei-me no gerador de cores deste website: http://chir.ag/projects/name-that-color/#6195ED
Se me for requisitado, farei os seguintes passos para adicionar em qualquer cliente, sendo possível usar como argumento nos uiscripts(window scripts)
Cumprimentos.
Dynamic Things and KB CRAZY CHANNEL reacted to this -
Nada que os tópicos existentes não esclareçam, é mais simples do que parece, requer prática e tempo.
Basta aprender uma ou duas linguagens, o resto vem automaticamente quando já tiveres noção de como a programação standard funciona.
O metin não requer C#, mas para ter uma melhor e mais rápida aprendizagem recomendo a aprenderes a mesma ou Python e Lua, saltar para C++ como primeira linguagem é um erro.
Ou então começas de C# para Lua, Python e depois C++, não esquecendo que deves saber coisas mais básicas da informáticas do género o que são ficheiros, extensões, directorias fisicas, directorias virtuais, rede, etc.
Muitas pessoas cometem o erro de ir direito para uma linguagem de programação sem saber o que disse acima, eu próprio cometi esse erro, não tão gravemente mas a diferença de saber isso antes de tocar em programação poderá salvar horas de rodeios com coisas básicas.
Saber inglês e saber INTERPRETAR é fundamental, os compiladores e IDE's queixam-se sempre e dizem quais os erros e soluções são, muitas pessoas também ignoram esse facto, o que leva a horas perdidas sem sentido
Cumprimentos.
OnlZ reacted to this -
BOOST NO LOL
in MOBA
Qual é o motivo de levar boost?
-
18 minutos atrás, .รtгเкє disse:EU tive a pesquisar e assim não dava?
"text" : "Sair", "fontsize" : "LARGE", "color" : codigo da cor,
Só não sei é onde vejo os codigos para a cor
Podes usar RGB ou HTML Color Codes, de acordo com o código:
if value.has_key("r") and value.has_key("g") and value.has_key("b"): window.SetFontColor(float(value["r"]), float(value["g"]), float(value["b"])) elif value.has_key("color"): window.SetPackedFontColor(value["color"]) else: window.SetFontColor(0.8549, 0.8549, 0.8549)
Para a RGB precisas de calcular porque o metin não tem calculo imbutido por default ou então simplesmente vês no site:
https://flying-men.de/metin2-colorpicker/
Para HTML Color Codes qualquer HTML color picker dá:
-
Tens a property tag fontsize em que podes especificar entre 3 variaveis se não me engano, procura no resto dos scripts por "fontsize" que encontras o que está disponível
Esse sistema é um pouco limitado, mas é possivel alterar fácilmente no pythonloader parser na classe ui.py
Cumprimentos.
LOGO CG - Opiniões
in Off-Tópic
Posted
É uma publicação agendada para essa data.
Cumprimentos.