-
Content Count
1,745 -
Joined
-
Last visited
-
Days Won
41
Posts posted by NewWars
-
-
Normalmente quem mete o lycan mete um DEFINE no nucleo e um boolean no cliente(python) para ativar/desativar a raça facilmente sem editar o código inteiro, segundo algumas questões já colocadas antes, para desativar no cliente basta ir a root/constInfo.py e trocar e definir como desativado a variavel WOLFMAN_MAN.
O problema é que se não existir um TOKEN em que possas ativar/desativar o lycan pelas configurações dos nucleos, teras que editar o DEFINE na source, e parece que so existe source para versões especificas dessas files.
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
1 hora atrás, FALKNERY13 disse:Arquivo excluido ;/ pode por de volta?
Atualizado
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Boas comunidade,
Os quest triggers são usados para quando uma ação especifica de um jogador precisa de alguma ação da parte do servidor, como por exemplo ao fazer login mostrar uma mensagem de boas vindas.
Um exemplo em código:
quest boas_vindas begin state start begin when login begin chat("Bem-vindo") end end end
O funcionamento de cada trigger é definido pelo game(nucleo), e cada um tem funções distintas, abaixo deixo todos os triggers existentes de um nucleo mainline limpo:
Spoilerclick -- Ocorre quando se clica em um NPC
kill -- Ocorre quando se mata alguém(personagem, mob, etc)
timer -- Ocorre quando um timer chega á contagem final
levelup -- Ocorre quando uma personagem muda de nivel
login -- Ocorre quando uma personagem entra no jogo
logout -- Ocorre quando uma personagem sai do jogo
button -- Ocorre quando se carrega em uma missão
info -- Ocorre quando se carrega em uma missão no painel de missões
chat -- Ocorre quando se clica em um NPC, e automaticamente inicia um dialogo
in -- Ocorre quando se entra em uma dungeon
out -- Ocorre quando se sai de uma dungeon
use -- Ocorre quando se usa um item
server_timer -- Ocorre quando um timer global chega á contagem final
enter -- Ocorre quando se entra num quest state
leave -- Ocorre quando se sai de um quest state
letter -- Ocorre quando se mostra uma missão
take -- Ocorre quando se dá um item a um NPC
target -- Ocorre quando se passa por uma area marcada
party_kill -- Ocorre quando se mata quando se mata alguém(personagem, mob, etc) em grupo
unmount -- Ocorre quando se desmonta
pick -- Ocorre quando se apanha um item
sig_use -- Ocorre quando se usa um item especial(cofres, bau, etc)
item_informer -- Aciona informação sobre um item para o cliente(improvavél, é uma teoria)Alguns deles desconheço o que fazem ao certo mais vou investigar o código e avisarei quando tiver informação sobre os mesmos.
Cumprimentos.
-
1 minuto atrás, mbcn10ww disse:syserr está completamente vazio
Assegura-te que vês o syserr após o cliente encerrar, se abrires o mesmo ele ira apagar todo o conteudo escrito.
Cumprimentos.
-
Se somente o cliente encerra, então o problema provavelmente estara descrito no syserr.txt, por-favor, mete o arquivo aqui para analisar.
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo de volta á comunidade, caro cyberiano da velha guarda.
Qualquer duvida não hesites em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vinda á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesites em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade, Guru.
Qualquer duvida não hesites em contactar um membro da equipa
Cumprimentos.
deepack reacted to this -
Bem-vindo á comunidade.
Qualquer duvida não hesites em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade.
Qualquer duvida não hesites em contactar um membro da equipa
Cumprimentos.
-
O sistema de hacklog é gerido pelo nucleo do servidor e com base em algumas operações regista o tipo de hack, quanto, posição e id do jogador(algumas coisas se alteram para cada tipo de verificação)
Segundo o código escrito na versão mainline clean, tem as seguintes funções:
Velocidade de ataque:Spoilerbool IS_SPEED_HACK(LPCHARACTER ch, LPCHARACTER victim, DWORD current_time);
Esta função verifica a data do ultimo ataque realizado de uma personagem a outra(ou qualquer outro tipo de instância como monstros, etc) e verifica se o ultimo ataque mais a velocidade de ataque dessa personagem é menor que o proxima tempo em que se pode atacar novamente e anula o dano, além disso regista a quantidade de vezes que aconteceu aumentado o numero por 1, porque isto pode também acontecer por lag ou outro motivo qualquer, chegando a um limite expulsa o jogador do jogo e regista no hacklog, como mostra abaixo:
if (IS_SPEED_HACK_PLAYER(ch))
{
// write hack log
LogManager::instance().SpeedHackLog(ch->GetPlayerID(), ch->GetX(), ch->GetY(), ch->m_speed_hack_count);Combo(combos de ataque básico):
Spoilerbool CheckComboHack(LPCHARACTER ch, BYTE bArg, DWORD dwTime, bool CheckSpeedHack)
Esta função em conjunto com a verificação de movimento verifica se a personagem usa hack de combo, calculando o tempos de ataque disponivel pelos items, bonus etc em conjunto com o tempo das animações do combo, se não for igual faz o mesmo que a verificação de ataque, aumenta a contagem e regista no hacklog como mostra abaixo:
LogManager::instance().HackLog("Hacker", ch);
Velocidade de movimento
Spoilerbool CheckSpeedHack = (false == ch->GetDesc()->IsHandshaking() && dwCurTime - ch->GetDesc()->GetClientTime() > 7000);
Esta operação verifica se o tempo decorrido pelo cliente, a distançia percorrida, se o servidor e cliente estão em "handshaking"(o que acontece quando se faz login e estão a trocar dados essenciais para a ligação se manter) são aceitaveis, se não forem, não regista no hacklog mas regista no syslog(registos não cruciais do nucleo)
NOTA: a verificação de velocidade de movimento está em conjunto com esta verificação na função de mover uma personagem, mas não encontro nenhuma função que registe no hacklog
Teleporte(Warp)
Spoilerconst float fDist = DISTANCE_SQRT((ch->GetX() - pinfo->lX) / 100, (ch->GetY() - pinfo->lY) / 100);
Esta operação verifica se o passo que o jogador deu não é grande de mais, e se passar dos limites de tamanho de um passo, bem, tem calma com a elasticidade, o servidor mete o personagem no mesmo sitio e tranca o movimento do mesmo até que ele faça o proximo passo e regista no hacklog, como mostra abaixo:
const PIXEL_POSITION & warpPos = ch->GetWarpPosition();
if (warpPos.x == 0 && warpPos.y == 0)
LogManager::instance().HackLog("Teleport", ch); // 부정확할 수 있음Eciste também o CRC(integridade de ficheiros) mas estadesativado ou não funciona de todo creio, e os items em loja sempre preço(0 yang) também regista no hacklog.
Estas foram as verificações que vi assim de repente, é capaz existir mais uma ou duas(não mexo no codigo de metin faz algum tempo, muito menos nesta parte logo não me recordo bem) e peço desculpa por não ter sido mais completo, foram meio ao despachar as explicações
Cumprimentos.
-
Bem-vindo á comunidade.
Quando dizes sempre a subir espero que seja para pertenceres a raça superior gaming de PC haha
Qualquer duvida não hesites em contactar um membro da equipa
Cumprimentos.
-
Bem-vindo á comunidade
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
-
Bem-vinda á comunidade
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.
Apresentação
in Apresentações
Posted
Bem-vindo á comunidade.
Qualquer duvida não hesite em contactar um membro da equipa
Cumprimentos.