Ir para solução
Resolvido por fezeRa,
-
Quem Está Navegando 0 membros estão online
Nenhum usuário registrado visualizando esta página.
-
Conteúdo Similar
-
Por Under
Tutorial Completo: Como Adicionar uma Nova Vocação no Canary Server
1. Entendendo a Lógica das Vocações
No servidor Canary, cada vocação representa uma classe de personagem com habilidades, atributos e características específicas. Para que o servidor reconheça uma nova vocação, é necessário:
- Definir um identificador único (ID);
- Registrar o ClientID (usado para exibição no cliente);
- Especificar um BaseID (para herança de características ou evolução);
- Configurar atributos, fórmulas e habilidades no XML.
2. Alterando a Enumeração das Vocações (Código Fonte C++)
Arquivo: `src/creatures/creatures_definitions.hpp`
Adicione os novos IDs no enum `Vocation_t`:
enum Vocation_t : uint16_t { VOCATION_NONE = 0, VOCATION_SORCERER = 1, VOCATION_DRUID = 2, VOCATION_PALADIN = 3, VOCATION_KNIGHT = 4, VOCATION_MASTER_SORCERER = 5, VOCATION_ELDER_DRUID = 6, VOCATION_ROYAL_PALADIN = 7, VOCATION_ELITE_KNIGHT = 8, VOCATION_WARRIOR = 9, VOCATION_ELITE_WARRIOR = 10, VOCATION_LAST = VOCATION_ELITE_WARRIOR };
3. Atualizando o Script de Vocações (Lua)
Arquivo: `data/libs/vocation.lua`
Adicione os novos valores nas três seções do objeto `VOCATION`:
VOCATION = { ID = { WARRIOR = 9, ELITE_WARRIOR = 10, ... }, CLIENT_ID = { WARRIOR = 0, ELITE_WARRIOR = 0, ... }, BASE_ID = { WARRIOR = 5, ... } }
4. Criando Função de Verificação da Nova Vocação
Arquivo: `data/libs/functions/player.lua`
Adicione a seguinte função no final do arquivo:
function Player.isWarrior(self) return table.contains({VOCATION.ID.WARRIOR, VOCATION.ID.ELITE_WARRIOR}, self:getVocation():getId()) end
5. Configurando as Vocações no XML
Arquivo: `data/XML/vocations.xml`
Adicione o bloco de cada nova vocação com os atributos desejados:
<vocation id="9" clientid="0" baseid="5" name="Warrior" description="a warrior" magicshield="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4000" gainhpamount="1" gainmanaticks="6000" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" basespeed="110" soulmax="200" gainsoulticks="15000" fromvoc="5"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation> <vocation id="10" clientid="0" baseid="6" name="Elite Warrior" description="an elite warrior" magicshield="0" gaincap="25" gainhp="15" gainmana="5" gainhpticks="4000" gainhpamount="1" gainmanaticks="6000" gainmanaamount="2" manamultiplier="3.0" attackspeed="2000" basespeed="110" soulmax="200" gainsoulticks="15000" fromvoc="5"> <formula meleeDamage="1.0" distDamage="1.0" defense="1.0" armor="1.0" /> <skill id="0" multiplier="1.1" /> <skill id="1" multiplier="1.1" /> <skill id="2" multiplier="1.1" /> <skill id="3" multiplier="1.1" /> <skill id="4" multiplier="1.4" /> <skill id="5" multiplier="1.1" /> <skill id="6" multiplier="1.1" /> </vocation>
6. Compilando o Servidor
Após todas as alterações, é obrigatório recompilar o servidor para que as novas vocações sejam reconhecidas corretamente.
Conclusão:
Ao seguir todos os passos, suas novas vocações estarão totalmente integradas ao servidor. Você poderá usá-las para personagens.
-
Por BonasxD
Bom galera primeiramente não sei se estou na area correta ou se nao estou, se nao por favor mover para area certa, grato!
Estou com esse erro ao tenta instalar o gesior usando a tfs 0.4 não passa dessa parte ja tentei de tudo e nao sei oque fazer ;(
Testei o mesmo procedimento no meu Windows e Funcionou corretamente agora no meu VM(Ubuntu22) não passa desse erro.
Ja pesquisei por tudo e não sei oque fazer
-
Por Kill of sumoners
Boa noite, estou com um erro ao atacar um player em meu sv eu nao pego pk, nem sai magia, aparece a mensagem "voce so pode usar isso em criaturas"
obs: magia em area acerta e pega pk, apenas as targets ou hits de arma nao vao
-
Por Guilherme HP
ola boa noite, alguem poderia ta me ajudando nesse erro que apareceu na minha vps quando vou abrir o meu game?
[./tfs: error while loading shared libraries: libluajit-5.1.so.2: cannot open shared object file: No such file or directory]
-
-
Estatísticas dos Fóruns
96852
Tópicos519616
Posts
Posts Recomendados
Participe da conversa
Você pode postar agora e se cadastrar mais tarde. Se você tem uma conta, faça o login para postar com sua conta.