NewWars 875 Posted April 25, 2017 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? Spoiler As 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? Spoiler Para 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? Spoiler Para 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 alteradas Infelizmente 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? Spoiler Bem, é 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 6 Metin2 Legacy, .тιαgσ, FelipeSantos and 3 others reacted to this Share this post Link to post Share on other sites
Canadas 107 Posted March 5, 2018 Boas , eu queria saber como colocar a receber o yang no iventário e não no chão! Obrigado , mais uma vez pelas vossas hospitalidades! Share this post Link to post Share on other sites