Jump to content

Alec4r

Miembro
  • Contador contenido

    21
  • Ingreso

  • Última visita

Mensajes publicados por Alec4r

  1. Alguno ha tenido este problema, o saben como solucionarlo?, estoy usando files de Akron.

    ClientManagerPlayer.cpp: In member function 'void CClientManager::QUERY_PLAYER_LOAD(CPeer*, DWORD, TPlayerLoadPacket*)':
    ClientManagerPlayer.cpp:331: error: 'UPGRADE_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:331: error: 'BOOK_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:331: error: 'STONE_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:393: error: 'UPGRADE_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:393: error: 'BOOK_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:393: error: 'STONE_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp: In member function 'void CClientManager::__RESULT_PLAYER_DELETE(CPeer*, SQLMsg*)':
    ClientManagerPlayer.cpp:1172: error: 'UPGRADE_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:1172: error: 'BOOK_INVENTORY' was not declared in this scope
    ClientManagerPlayer.cpp:1172: error: 'STONE_INVENTORY' was not declared in this scope
    

     

  2. Hola a todos, esta es una quest basica para darle un uso al mob de dragon rojo.

    quest red_dragon_desert begin
    	state start begin
          function setting()
            return {
              ["mob_kill"] = 2191,
              ["spawn_mob_id"] = 2291,
              ["min_party_members"] = 4,
              ["spawn_mob_coordinates"] = {870, 637},
              ["necesaryJobs"] = {[0] = "warrior", [1] = "ninja", [2] = "sura", [3] = "shaman"},
              ["message"] = "El Dragon Rojo ha sido invocado."
            }
          end
    
          when kill with game.get_event_flag("red_dragon_desert") == 0 begin
            local setting = red_dragon_desert.setting()
            local vnum = npc.get_race()
            if vnum == setting.mob_kill then
              if not party.is_party() then
                return
              end
    
              local pids = {party.get_member_pids()}
              local partyMembers = table.getn(pids)
              local readyJobs = {}
    
              if partyMembers < setting.min_party_members then
                return
              end
    
              for i = 1, partyMembers do
                q.begin_other_pc_block(pids[i])
                if setting.necesaryJobs[pc.job] then
                  readyJobs[setting.necesaryJobs[pc.job]] = pc.job
                end
                q.end_other_pc_block()
              end
    
              if table.getn(readyJobs) < table.getn(setting.necesaryJobs) then
                return
              end
    
                  mob.spawn(setting.spawn_mob_id, setting.spawn_mob_coordinates[1], setting.spawn_mob_coordinates[2],1)
                  game.set_event_flag("red_dragon_desert",1)
                  notice_all(setting.message)
              end
          end
    
          when kill with game.get_event_flag("red_dragon_desert") == 1 begin
              local setting = red_dragon_desert.setting()
              local vnum = npc.get_race()
              if vnum == setting.spawn_mob_id then
                  game.set_event_flag("red_dragon_desert",0)
              end
          end
    	end
    end

     

    Explicacion:

    En mob_kill defines el id del mob que quieres que al matar haga spawn el mob que quieras, en este caso es el de la tortuga gigante.

    En spawn_mob_id defines el id del mob que quieres que haga spawn, en este caso dragon rojo.

    En min_party_members defines la cantidad minima de personas que deben estar en la party para que la quest sea valida, esto lo hice con el fin de que se haga en grupo y para poder "invocar el dragon" sea necesario 1 personaje de cada raza en la party.

    En spawn_mob_coordinates defines las coordenadas en donde quieres que haga spawn el mob.

    En necesaryJobs defines que razas son necesarias en la party (la cantidad de razas puede ser menor o igual a min_party_members, nunca mayor).

    En message defines el mensaje que quieres que aparezca por general cuando se "invoque el mob".

  3. En 2/2/2019 a las 13:06, xotakux dijo:

    Si no estoy mal, los chat se crean a partir de lo que hay en las quest, así que si quieres que un npc diga algo tienes que ponerle una quest, creo ! no estoy seguro.

     

    Pues al final me toco implementarlo en la quest, no logre hacer funcionar los .script, debe existir algún comando en un makefile o algo para que funcionen. 

  4. Acabo de añadir un NPC y añadi la carpeta con el id de este en quest/object/id_del_npc y dentro de esta puse la carpeta chat y algunos archivos:

    1. npc_talk.start.0.arg
    2. npc_talk.start.0.script
    3. npc_talk.start.0.when

    El problema es que no reconoce estos archivos y no me abre la ventana con el chat al darle click al NPC.

    Intente añadir una prueba en el archivo npc_talk2.quest, algo como:

    when id_del_npc.chat."Titulo de la opcion del chat" begin
    	say_title ("test")
    	say ("")
    end

    y funciono sin problema, abre la ventana de chat y muestra la conversacion.

    Asi que mi pregunta es, como hago para que tome los archivos que estan dentro de la carpeta chat para mantener todo ordenado para cada NPC.

     

    De antemano muchas gracias.

  5. Tengo un problema, instale los files después de varias configuraciones e intentos sin poder iniciar el cliente ya que me sacaba al intentar iniciar, realice una prueba mandando todo el trafico por la VPN que tiene acceso a el servidor ya que comparten la misma subnet.

    y en vez de usar la ip publica use la IP privada en el cliente, esto funciona de maravilla ya entro al cliente, buscando en Internet decían que la solución para poder usarlo con la ip publica era definir el BIND_IP en los CONFIG.

    Pero esto genera otro error, que este si no le encuentro solución en Internet y es que me dice que no se pudo asignar esa dirección ip.

    Y esto no permite el funcionamiento de los sockets. Alguien sabe como solucionarlo?

    Por otro lado cuales son los requirements para compilar los source ya que en el servidor que estoy usando es 11.1 64bits y no puedo compilarlos.

    Gracias.

  6. hace 11 horas, Dilong dijo:

    Los lenguajes que se usan en metin2 son python (Para la parte del cliente), Lua (Para quest, sistemas que requieran eso etc), C++ (Para el binario del cliente, game y db), mysql
    Asi que los que intenten ayudarte con algo que no tenga que ver con meter armas y armaduras deben saber uno de los lenguajes citados anteriormente

    Hola dilong, yo manejo muchos lenguajes de los que mencionaste principalmente python2.7 y 3, lua nunca lo he usado pero como todo imagino es solo lógica y sintaxis. Igualmente gracias por la info 

  7. Hola,

    Soy DevOps en una compañia, hace muchos años jugue metin2 y siempre quise tener un servidor propio, esta semana en horas libres he intentado utilizar alguno de los files posteados mejorando la infraestructura pero no estoy muy enterado de la logica que maneja la programacion de metin2 por lo tanto por el poco tiempo debo reconocer que si me ha quedado "grande" hacerlo funcionar.

    El plan:

    Crear un servidor utilizando los servicios de AWS (Amazon Web Services) del cual espero encargarme, manejando servidores de contingencia y posibles balanceadores. (el que este interesado con gusto le esplico un poco de la infraestructura que deseo utilizar para mejor rendimiento y seguridad).

    El primer servidor de metin2, deseo que sea mas PVM ya que siempre me ha parecido mas interezante que tan solo PVP, tengo algunas ideas y espero poder desarrollarlas.

    Digo el primer servidor por que el plan es tener multiples servidores uno de ellos 100 a gusto del colaborador.

    El dinero:

    Yo puedo hostear los gastos del primer servidor, el plan es que lo que las ganancias serian 50 - 50. (El colaborador no es necesario que aporte dinero).

    Que estoy buscando:

    Una persona que tenga suficiente conocimiento como para iniciar un servidor de metin2 con unos files base, que sepa lo basico de programacion y que quiera aprender sobre infraestructura.

    Adicionales:

    - que sepa git (basico)

    Cualquiera que este interesado se puede poner en contacto por privado y acordamos una llamada.

    Gracias por la atencion prestada.

     

  8. hace 2 minutos, Xhebas dijo:

    El error que primero mencionas no tiene la verdad gran importancia ya que el servidor corre con eso. Trabajé un tiempo con los files y los dejé con muchas cosas que no te la de por si lo único que me hizo falta fue quitarle esa itwmshop antigua. Imagino descargo los últimos archivos que dejó Dilong para reemplazar

    Hola,

    Vale el problema es que son los unicos errores que me registran los syserror.

    En cuanto a tu pregunta estoy utilizando cada archivo del post de Dilong exactamente este: 

    Y si remplace se especifica.

  9. hace 8 horas, Xhebas dijo:

    Bueno primero es bueno buscar el problema en google antes de hacer un nuevo post con cosas que muchos han posteado durante varios años, aca te dejo el link donde

    Debes iniciar sesión para ver el contenido del enlace en esta publicación.
     dejo como solucionar el error.  

    Por otra parte si no miras bien del porque te saca el cliente es complicado. Si miras en la parte de chat estoy 100% seguro que te sale Diferent Binnary(o alfo asi)  y esto se debe a que cambiaste en la carpeta de Akron2 el nombre del .exe sin antes modificarlo en el Source. 

     

     

     

    Hola eres muy amable,

    Te confirmo antes de hacer la pregunta claro que investigue, esa solucion no me funciono ya que la columna esta vacia, en todos los mobs que estan dando el problema.

    En cuanto al mensaje del chat, nisiquiera ingresa hasta ese punto, simplemente al seleccionar el personaje este me expulsa.

    Igualmente muchas gracias por la respuesta.

  10. Hola a todos,

    Actualmente me encuentro con ganas de realizar un proyecto de metin2, le realice una pregunta a uno de los integrantes de este foro y me recomendo utilizar los files de Akron2 o Astoria.

    Ya he probado distintis files y bd, algunos con bastantes fallos (nisiquiera arrancan) otros con algunos problemas que se pueden visualizar en el syserror.

     

    CONTEXTO:

    Los files se encuentran en un servidor con freebsd 11.1 en AWS con una ip elastica y con su respectivo security group para los puertos necesarios.

    La base de datos esta en mysql5.5.6 se encuentra en un servidor aparte el cual tiene configurados los accesos para el servidor donde se encuentran los files.

    Estos servidores se pueden comunicar por ip privada ya que se encuentran en la misma subnet.

     

    PROBLEMA:

    Luego de realizar varias configuraciones ya que como puedo ver la estructura nunca fue diseñada para utilizarla en multiples nodos.

    Configure el cliente y el CH aparece encendido me hacer LogIn, pero al seleccionar el personaje me saca del cliente, revisando los syserr de todos los servicios principalmente los de ch y game, me muestran los siguientes errores:

    Quote

    SYSERR: Sep 21 13:25:57 :: LoadSkillMotion: Motion: Skill exist but no motion data for index 0 mob 3596 skill 257
    SYSERR: Sep 21 13:25:57 :: LoadSkillMotion: Motion: Skill exist but no motion data for index 1 mob 3596 skill 258
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum(34009) folder(pwahuang1_2)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum(34009) folder(pwahuang1_2)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: pwahuang1_2 have not motlist.txt vnum(34009) folder(pwahuang1_2)
    SYSERR: Sep 21 13:25:57 :: LoadMotion: Motion: Load failed vnum(34063) motion(13) file(data/monster/asek_00/atak.msa)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: lamb_blue_pet have not motlist.txt vnum(34075) folder(lamb_blue_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: lamb_blue_pet have not motlist.txt vnum(34075) folder(lamb_blue_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: lamb_blue_pet have not motlist.txt vnum(34075) folder(lamb_blue_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: lamb_white_pet have not motlist.txt vnum(34076) folder(lamb_white_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: lamb_white_pet have not motlist.txt vnum(34076) folder(lamb_white_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: lamb_white_pet have not motlist.txt vnum(34076) folder(lLamb_white_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: skipia_general_young1 have not motlist.txt vnum(34077) folder(skipia_general_young1)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: skipia_general_young1 have not motlist.txt vnum(34077) folder(skipia_general_young1)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: skipia_general_young1 have not motlist.txt vnum(34077) folder(skipia_general_young1)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: halloween_broom have not motlist.txt vnum(34078) folder(halloween_broom)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: halloween_broom have not motlist.txt vnum(34078) folder(halloween_broom)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: halloween_broom have not motlist.txt vnum(34078) folder(halloween_broom)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: halloween_pumpkin_pet have not motlist.txt vnum(34079) folder(halloween_pumpkin_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: halloween_pumpkin_pet have not motlist.txt vnum(34079) folder(halloween_pumpkin_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: halloween_pumpkin_pet have not motlist.txt vnum(34079) folder(halloween_pumpkin_pet)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: christmas_pet1 have not motlist.txt vnum(34081) folder(christmas_pet1)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: christmas_pet1 have not motlist.txt vnum(34081) folder(christmas_pet1)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: christmas_pet1 have not motlist.txt vnum(34081) folder(christmas_pet1)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: christmas_pet2 have not motlist.txt vnum(34082) folder(christmas_pet2)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: christmas_pet2 have not motlist.txt vnum(34082) folder(christmas_pet2)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: christmas_pet2 have not motlist.txt vnum(34082) folder(christmas_pet2)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: muneco_nieve have not motlist.txt vnum(34083) folder(muneco_nieve)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: muneco_nieve have not motlist.txt vnum(34083) folder(muneco_nieve)
    SYSERR: Sep 21 13:25:57 :: GetMotionFileName: Motion: muneco_nieve have not motlist.txt vnum(34083) folder(muneco_nieve)
     

    Los cuales los vnum de cada uno de los mobs que estan fallando se encuentran en una quest.

    De antemano quedo atento a cualquier solucion y propuestas de files que funcionen, preferiblemente que esten actualizados.

    Si alguien desea tomar el proyecto bienvenido el aporte sera solo de conocimiento ya que el dinero no es problema.

     

    Muchas gracias.

×
×
  • Crear nuevo...