Jump to content
  • 0
Sign in to follow this  
inthepower

Mob_avail no longer supported... E agora!?

Question

Hello guys!

 

  Tudo bem com vocês!? 

 

  Bom, não encontrei uma seção em que meu post fosse enquadrado perfeitamente, então preferi postar aqui, no suporte geral.  O que acontece é: Utilizo a última versão disponível do Hércules e fui adicionar mobs custons ao meu servidor. Porém, notei que o map-server apresenta a seguinte informação:

Citar

[Error]: mob_mobavail_removal_notice: the usage of mob_avail.txt is no longer supported, move your data using tools/mobavailconverter.py and delete the database file to suspend this message.

  Eu não faço a menor ideia de como resolver isso. Fui até a pasta tools e encontrei o arquivo mencionado, nele existe o seguinte conteúdo:

Citar

#!/usr/bin/env python
# -*- coding: utf8 -*-
#
# This file is part of Hercules.
# http://herc.ws - http://github.com/HerculesWS/Hercules
#
# Copyright (C) 2019 Hercules Dev Team
# Copyright (C) 2019 Asheraf
#
# Hercules is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
#

import re
import csv

f = open('../db/re/mob_db.conf')
mob_db = f.read()

with open('../db/mob_avail.txt') as dbfile:
    mob_avail = csv.reader(dbfile, delimiter=',')

    for mob in mob_avail:
        if len(mob) == 0 or mob[0].startswith('//'):
            continue

        mob = [re.sub(r'//.*', '', i).strip() for i in mob]

        mob_id = int(mob[0])
        sprite_id = int(mob[1])
        weapon = 0
        shield = 0
        head_top = 0
        head_mid = 0
        head_bottom = 0
        hair_style = 0
        hair_color = 0
        cloth_color = 0
        gender = 0
        option = 0
        if len(mob) == 3:
            head_bottom = int(mob[2])
        elif len(mob) == 12:
            gender = int(mob[2])
            hair_style = int(mob[3])
            hair_color = int(mob[4])
            weapon = int(mob[5])
            shield = int(mob[6])
            head_top = int(mob[7])
            head_mid = int(mob[8])
            head_bottom = int(mob[9])
            option = int(mob[10])
            cloth_color = int(mob[11])

        s = ''
        s += '\tViewData: {\n'
        s += '\t\tSpriteId: {}\n'.format(sprite_id)
        if weapon != 0:
            s += '\t\tWeaponId: {}\n'.format(weapon)
        if shield != 0:
            s += '\t\tShieldId: {}\n'.format(shield)
        if head_top != 0:
            s += '\t\tHeadTopId: {}\n'.format(head_top)
        if head_mid != 0:
            s += '\t\tHeadMidId: {}\n'.format(head_mid)
        if head_bottom != 0:
            s += '\t\tHeadLowId: {}\n'.format(head_bottom)
        if hair_style != 0:
            s += '\t\tHairStyleId: {}\n'.format(hair_style)
        if hair_color != 0:
            s += '\t\tHairColorId: {}\n'.format(hair_color)
        if cloth_color != 0:
            s += '\t\tBodyColorId: {}\n'.format(cloth_color)
        if gender != 0:
            s += '\t\tGender: SEX_MALE\n'
        if option != 0:
            s += '\t\tOptions: {}\n'.format(option)
        s += '\t}'

        mob_db = re.sub(
            r'(\tId: ' + str(mob_id) + r'\n([\S\s]*?)(?=},))},',
            r'\1' + str(s) + r'\n},',
            mob_db)
    print(mob_db)
 

   Alguém tem alguma ideia de como me ajudar? Muito obrigado. 

Share this post


Link to post
Share on other sites

2 answers to this question

Recommended Posts

  • 1

Se bem me lembro, li algo sobre o Hercules ter embutido a função do mob_avail.txt na mob_db.txt há um certo tempo. Ao que me parece, para resolver o problema é só executar esse arquivo ".py" aí (Instale o Python 3.x no computador caso não o possua) e depois deletar o mob_avail.txt da pasta /db.

Edited by MuddyShadows

Share this post


Link to post
Share on other sites
  • 0
20 horas atrás, MuddyShadows disse:

Se bem me lembro, li algo sobre o Hercules ter embutido a função do mob_avail.txt na mob_db.txt há um certo tempo. Ao que me parece, para resolver o problema é só executar esse arquivo ".py" aí (Instale o Python 3.x no computador caso não o possua) e depois deletar o mob_avail.txt da pasta /db.

Vou testar e logo lhe mando a resposta! Obrigado. 🙂

 

@EDIT

Okay, este erro não aparece mais, obrigado. Foi realmente resolvido. Agora o grande problema é: Meus mobs custom me causam gravity, algo que antes não acontecia.. Agora como fica a instalação dos mobs custons? =/


@edit2

Resolvido,  muito obrigado @MuddyShadows! Você me ajudou muito.

Agora para adicionar os mobs deve ser feito o seguinte:

 

Vamos criar o mob normalmente no mob_db2: 

Citar

{
    Id: 3900
    SpriteName: "kyuubi"
    Name: "Kyuubi"

 (...)

}

Feito isso, faremos as alterações em data/luafiles514/luafiles/datainfo e alteraremos os seguintes arquivos:

jobname NPCIdentity, pode-se alterar os dois arquivos lua e depois salvar em .lub ou então converter com o luac5.1.4

Em jobname adicionaremos: 

Citar

[jobtbl.JT_kyuubi] = "kyuubi",

Este "kyuubi" é o mesmo nome da sprite que fica na pasta data/sprite/¸ó½ºÅÍ > Aqui irá salvar a sprite do mob custom. Note que é o mesmo que usamos em [ SpriteName: "kyuubi" ] pois o emulador fará a leitura através deste nome.

 

Já no NPCIdentity adicionaremos a seguinte linha:

Citar

JT_kyuubi = 3900

Aqui o ID tem que ser o MESMO ID DO MOB! Repito e atenuo MESMO ID DO MOB!

Feito tudo isso, basta dar @reloadmobdb, salvar a GRF e dar @monster 3900. Pronto, irá funcionar 10/10!

 

Tópico resolvido, podem fechar. Obrigado a todos que ajudaram!

Edited by inthepower
Faltava infos.

Share this post


Link to post
Share on other sites
Este tópico já possui mais de 30 dias sem respostas. Por favor, abra um novo tópico

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Seja bem vindo ao Cronus-Emulator.
É sempre um prazer te-lo conosco.
Você pode visualizar nossas áreas de suporte para encontrar suas soluções sem a necessidade de se registrar!
Registrando em nossa comunidade, você poderá conhecer mais sobre nosso projeto, criar tópicos, responder tópicos existentes, baixar milhares de recursos em nosso sistema de downloads, participar de nossa comunidade, customizar seu perfil e muito mais... Se você já possui uma conta, faça seu login - ou crie uma conta. Também temos integração com Google+ e Facebook.

×
×
  • Create New...