ACTUALIZADO 04/2021
PARTE 1
Explicación por mi
Créditos a: Nilsonmax Programas Juegos MAX y BESTPRODUCTION
Para Los nuevos.. es como montar un Windows en VirtualBox, solo que no hay pasos de instalación (es mas rápido si es que descargan uno ya hecho) de ahí
es solo configurar 2 programas y abrir el cliente, editando un pequeño texto en Pack
Semi Español, nivel max 120 versión 40k,32 bits (la que les enseñare), funciona 12/2020 probado por mi
En la misma pagina pueden encontrar el VDI 64 bits y el cliente full español, pero es solo una versión de test antigua no actual
DESCARGA
1- Debes iniciar sesión para ver el contenido del enlace en esta publicación. (que es el aqui enseño es la pagina de Nilsonmax)
2- Debes iniciar sesión para ver el contenido del enlace en esta publicación. si o si necesario y Debes iniciar sesión para ver el contenido del enlace en esta publicación. y root corregido Debes iniciar sesión para ver el contenido del enlace en esta publicación. para después utilizar
3- Virtualbox (Freeware buscar de la pagina oficial)
4- Hamachi (Opcional, multijugador a distancia, buscar de la pagina oficial)
5- WinSCP (Freeware solo necesario en la Parte 2, para edición)
6- Notepad++/Bloc de notas (para editar los textos y archivos .py)
7- Navicat MySQL 5.5 o otro superior premium de preferencia (de youtube mediafire :v)
8- PortMap (Freeware para abrir puertos 80 y 3306)
9- EterNexus File Archiver(esto es para extraer y editar archivos, no es necesario en esta parte solo en la Parte 2, lo encontraran en el Makepack o pueden descargarlo en otro post)
DATOS DE ACCESO: (Aclarar que utilice el BESTPRO 40k)
ESPA VDI freebsd 12.1=>usuario: root clave: 0424nilmary
ESPA Navicat freebsd 12.1=>usuario: remoto clave: R1.mo_To
BESTPRO 40k VDI freebsd 9.2=>usuario: root clave: dev
BESTPRO 40k Navicat freebsd 9.2=>usuario: root clave: /*bestproduction*/
clientes en ambos: usuario: nilsonmax clave:12345678
Video para entender de Brayan y NietzSche(El Cliente .es antiguo):
Pueden ignorar gran parte del video de Nietzsche. solo ver el virtual box como monta el vdi que ip se pone navicat y como cambia el root, solo eso, ya si quieren hacerlo desde 0 configurando su BSD etc pueden verlo completo
**
Otra opción
*Debes iniciar sesión para ver el contenido del enlace en esta publicación.(Debes iniciar sesión para ver el contenido del enlace en esta publicación.)*
Editar nombres de NPC, descripciones de los objetos, traducir armas, cambiar nombres de items, editar valor de ataque de las armas defensa de armadura (MySQL y Item proto) abajo
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
ANEXO
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Otros files/en español y 40k una alternativa al español de arriba
Debes iniciar sesión para ver el contenido del enlace en esta publicación. Mas info en el post bien explicado y detallado, y en el esta el post original de Arribal2
Debes iniciar sesión para ver el contenido del enlace en esta publicación. (dice ser la versión final)
Pagina Oficial Para Profundizar mas y si quieren comprar su producción y la versión final ( Debes iniciar sesión para ver el contenido del enlace en esta publicación.)
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Tomen nota de estos programas(estan al inicio del post) y entren en Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Si quieren editar quest (para cambiar algunas cosas como lo que da el baúl de aprendizaje, misiones, bienvenidas) (WinSCP usr /home/game/share/locale/germany/quest) , drop de yang(MySQL), porcentaje y que objetos dropean mobs y metines (WinSCP), introducir nuevas armaduras escudos(cliente root, MySQL y WinSCP)
ACLARACIONES
Según describió puedes descargar otro cliente y igual seria compatible
excepto por algunos que necesitas cambiar la MySQL ver pagina 4 de: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Esto ha sido solo lo básico, hay clientes mas avanzados con mas equipos y implementaciones
Ahora ya depende de ustedes quizá mas adelante les muestre otras cosas, nos vemos
Files HOVSA los cuales vi que muchos no pudieron entrar por algún motivo, acá dejo la VDI, el servidor prende y se puede entrar a la cuenta. Cambiar la ip de la VDI a la que te sirva
Los files que montaron se deben configurar varias líneas del source del binario y del cliente lo cual no se realizo. El archivo Binario y Source es el mismo que estaba en el post anterior
Info del VDI
Verificando el VDI se debe realizar el siguiente procedimiento para que no saque error de mysql
* Vamos a la ruta var/db/mysql y borramos los siguientes archivos
auto.cnf
ib_logfile0
ib_logfile1
ibdata1
Xbastian.org.err
Xbastian.org.pid
* En la maquina virtual colocamos el comando
service mysql-server restart
* reboot
y listo ya nos vamos a la ruta
/m2_svfiles/main
y colocamos comando en la maquina virtual
sh admin_panel.sh
1 para prender
3 para limpiar
Screen dentro del juego
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación. con mysql 5.6 por si la necesitan para otro server. Descargar VDI GCC8 11.3 MYSQL 5.7
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Se actualiza con una nueva VDI con mysql 5.7 y se arregla el error que sacaba al intentar compilar las quest que era un error de libreria
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.:V source mainline+libs listo para compilar solo deben tener gcc48
game: game/src && gmake clean
game: gmake -j20
db: db/src && gmake clean
db: gmake -j20
si quieren no usen el clean pero la primera vez si :v despues si quieren no.
@chaya25 debes compilar el game&db y eliminar los que tienes en share
Escribimos en putty:
# portsnap fetch extract
Esperamos un rato a que termine y luego ponemos lo siguiente:
# cd /usr/ports/databases/mysql55-server/# make install clean
Nos saldrá un menú:bueno apretamos enter empezara a cargar y volverá el mismo menú,iremos a cancel, cargara devuelta.
Cuando acabe de cargar escribimos:
# ee /etc/rc.conf
Vamos abajo del todo con la flecha y en una nueva linea escribiremos
# mysql_enable="YES"
Apretamos escape 2 veces la "A" así se guarda y escribimos:
# reboot
Ahora accedemos al servidor devuelta escribimos lo siguiente:
# sysinstall
Nos saldrá un menu esten atentos adonde iremos:
configure -- distributions -- lib32 -- FTP -- Main site. apretamos yes.
Cuando termine de cargar accedemos a nuestro dedicado pero esta ves vía FTP (firezilla & wincp) Meteremos las librerías que les dejo en adjunto.
Las metemos de la siguiente manera:
Las que están dentro de la carpeta usrlib32 ira en cd /usr/lib32.Las que están dentro de la carpeta usrlib irán en cd /usr/lib.Las que están dentro de libxec irán en cd /libxec.
Las que vallan dentro de "libexec": Tendrán que borrar las que hay dentro de libexec y luego meter las que yo os dejo.PD: solo borrar las que yo os he dejado en esa carpeta.
Bueno una ves que las hallamos puesto escribimos en putty lo siguiente:
# cd /usr/ports/misc/compat7x# make install clean
Y listo servidor instalado perfectamente!Ahora solo falta meter los files y descomprimirlos.
Como siempre Desmint Trayendo cosas de calidad, esta vez les traigo un FreeBSD 12.1 con MariaDB 10.3 Esto, debido a que he visto muchos post de que requieren BSD para compilar source game. Pues sin mas que decir, este FreeBSD esta mas preparado (no mas que mi BSD) que tu novia cuando le dices que vayan a ver Netflix, les dejo la descripción de la BSD
Datos:
ID: root
PASS: rakonda
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
¡OJO! Su tamaño es de 7.5GB
Vídeo de como cambiar el idioma del teclado.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Link: Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Login: root
Pw: dev
Hola aqui queria compartiros otra guia mia no se si estara posteada en zone para vosotros
1.Entramos en navicat Player y mob_proto
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
2.Buscamos el NPC que queramos hacer tienda
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
3.En el sitio que pone on_click cambiais por 1 sera para hacerlo tienda
4.Vamos a Shop y al abrilo Añadimos una linea nueva
5.En la linea os pedirá el numero para el shop_item que seria el nombre del NPC y el comando del NPC que haremos tienda
6.Por ultimo nos vamos a Shop_item y ponemos una nueva linea con el numero 34 y comando del item que querais poner y cantidad
Hola zoneros, hoy les vengo a traer la quest de las catacumbas del diablo, 100% probada por mi, esta es la quest de BlackYuko. Cuenta con los portales como el oficial, en un máximo de 99% del oficial.
Quest:
--**
--** Script Catacumbas del Diablo.
--** by BlackYuko Skype: manu___88
--**
quest catacombe begin
state start begin
--**
--** Funciones
--**
function GetScriptData(data)
local map_data = {['map_index'] = 15, -- index del mapa de catacumbas
['x'] = 3072, ['y'] = 12032, -- coordenadas X y Y, las del mapa catacumbas
['drop_frequency'] = 1000, -- frecuencia en los mob para que dropeen la llave cristal del alma
['min_lev'] = 100, -- nivel minimo para entrar a catacumbas,
['close_time'] = 60, -- tiempo (minutos) para estar en catacumbas
['testa_ristretta'] = 30320, -- vnum item de entrada que pide
['chiave_anime_cristallo'] = 30311, -- vnum item llave cistal del alma
['totem_smorfia'] = 30312, -- vnum totem
['forziere_azrael'] = 219, -- vnum drop al matar al azrael
['min_drop_lev'] = 100, -- nivel minimo para dropeo de la llave cristal
['max_drop_lev'] = 210} -- nivel maximo para dropeo de la lalve cristal
return rawget(map_data, data)
end
function IsInDungeon(pc_index)
local map_index = catacombe.GetScriptData('map_index')
return (pc.in_dungeon() and pc_index >= map_index*10000 and pc_index < (map_index+1)*10000)
end
function CanDrop(pc_level)
return (pc_level >= catacombe.GetScriptData('min_drop_lev') and pc_level <= catacombe.GetScriptData('max_drop_lev'))
end
--**
--** NPC - Guardian entrada a catacumbas
--**
when 20351.chat."GM: Catacumbas Abrir" with pc.is_gm() begin
say_title("GM: Catacumbas Abrir")
say("¿Quieres abrir las Catacumbas?[ENTER]")
local s = select("Si","No")
if s == 2 then
return
end
say_title("GM: Abrir Catacumbas")
say("Operación Completada.[ENTER]")
game.set_event_flag("catacomb_next_open", 1)
end
when 20351.chat."Entrada a Catacumbas" begin
local mob_race = npc.get_race()
local min_lev = catacombe.GetScriptData('min_lev')
say_title(mob_name(mob_race))
if pc.get_level() < min_lev then
say("Debes tener el mínimo Nivel "..min_lev)
say("Para entrar.[ENTER]")
return
end
if pc.count_item(catacombe.GetScriptData('testa_ristretta')) == 0 then
say("Tienes que tener este Item para")
say("Entrar:[ENTER]")
say_item_vnum(catacombe.GetScriptData('testa_ristretta'))
return
end
if get_time() < game.get_event_flag("catacomb_next_open") then
say("Las Catacumbas están cerradas.[ENTER]")
return
end
say("Hola aventurero. Las catacumbas del diablo")
say("son un lugar muy peligroso.[ENTER]")
local s = select("Entrar","No Entrar")
if s == 2 then
return
end
say_title(mob_name(mob_race))
say("Ok Viajero, ahora será telestrasportado.")
say("Preste mucha atención.[ENTER]")
wait()
pc.warp((catacombe.GetScriptData('x')+80)*100, (catacombe.GetScriptData('y')+60)*100)
end
--**
--** Primer Piso
--**
when login with pc.get_map_index()== catacombe.GetScriptData('map_index') begin
pc.set_warp_location(15, 3152, 12092)
end
when logout with pc.get_map_index()== catacombe.GetScriptData('map_index') begin
pc.delqf("mob_killed")
end
when 2501.kill or 2502.kill or 2503.kill or 2504.kill with pc.get_map_index()== catacombe.GetScriptData('map_index') begin
pc.setqf("mob_killed", pc.getqf("mob_killed")+1)
if math.mod(pc.getqf("mob_killed"), catacombe.GetScriptData('drop_frequency')) == 0 then
game.drop_item_with_ownership(catacombe.GetScriptData('chiave_anime_cristallo'), 1)
end
end
when 30101.take with item.get_vnum() == catacombe.GetScriptData('chiave_anime_cristallo') and pc.get_map_index() == catacombe.GetScriptData('map_index') begin
say_title(mob_name(30101))
if get_time() < game.get_event_flag("catacomb_next_open") then
say("Las Catacumbas están cerradas.[ENTER]")
return
end
if party.is_party() and not party.is_leader() then
say("Sólo arrastra el objeto sobre")
say("El NPC.[ENTER]")
return
end
pc.remove_item(item.get_vnum(), 1)
say("Abrieron el seloo hacia.")
say("El paso a la segunda planta.[ENTER]")
if party.is_party() then
say("Serán llevados, suerte viejeros.[ENTER]")
end
wait()
game.set_event_flag("catacomb_next_open", get_time()+60*catacombe.GetScriptData('close_time'))
pc.setqf("is_master", 1)
timer("enter_floor_2", 2)
end
--**
--** Entrada dungeon y timer
--**
when login with catacombe.IsInDungeon(pc.get_map_index()) begin
pc.set_warp_location(15, 3152, 12092)
if pc.getqf("is_master") == 1 then
timer("start_timer", 2)
end
end
when logout with catacombe.IsInDungeon(pc.get_map_index()) begin
pc.remove_item(catacombe.GetScriptData('totem_smorfia'), pc.count_item(catacombe.GetScriptData('totem_smorfia')))
pc.remove_item(catacombe.GetScriptData('chiave_anime_cristallo'), pc.count_item(catacombe.GetScriptData('chiave_anime_cristallo')))
pc.delqf("is_master")
end
when start_timer.timer begin
d.notice("Les que da "..catacombe.GetScriptData('close_time').." minutos de su tiempo.")
d.notice("para complezar Catacumbas!")
notice_all("Las Catacumbas se cerrarán en "..catacombe.GetScriptData('close_time').." minutos a partir de ahora.")
server_timer("catacomb_open", 60*catacombe.GetScriptData('close_time'), pc.get_map_index())
end
when catacomb_open.server_timer begin
notice_all("Las Catacumbas están abiertas de nuevo.!")
if d.select(get_server_timer_arg()) then
clear_server_timer("catacomb_open", get_server_timer_arg())
d.notice("Tiempo Acabado, serán sacados de Catacumbas.")
d.exit_all()
end
end
--**
--** Segundo piso
--**
when enter_floor_2.timer begin
d.new_jump_all(15, 3617, 12075)
d.regen_file("data/dungeon/catacumbas/dc_regen_ebene2.txt")
d.setf("catacomb_floor", 2)
end
when 30103.take with item.get_vnum() == catacombe.GetScriptData('testa_ristretta') and catacombe.IsInDungeon(pc.get_map_index()) and d.getf("catacomb_floor") == 2 begin
if pc.getqf("is_master") == 1 then
pc.remove_item(item.get_vnum(), 1)
d.notice("Serán llevados a la siguente planta")
timer("enter_floor_3", 3)
else
d.notice("Solo el guerrero fuerte podrá poner el item.")
end
end
--**
--** Tercer piso
--**
when enter_floor_3.timer begin
d.jump_all(3572, 12760)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/catacumbas/dc_regen_ebene3.txt")
d.setf("catacomb_floor", 3)
d.notice("Buscar el metin correcto para avanzar!")
local coord_metin = {{1340,348},{1243,357},{1334,151},{1252,148},{1149,148},{1139,244},{1148,355}}
local right_metin = math.mod(os.time(),table.getn(coord_metin))+1
for i = 1,table.getn(coord_metin) do
if i == right_metin then
local v = d.spawn_mob(8025, coord_metin[i][1], coord_metin[i][2])
d.set_unique("real", v)
--chat(coord_metin[i][1].." "..coord_metin[i][2])
else
d.spawn_mob(8025, coord_metin[i][1], coord_metin[i][2])
end
end
end
when 8025.kill with catacombe.IsInDungeon(pc.get_map_index()) and d.getf("catacomb_floor") == 3 begin
if d.is_unique_dead("real") then
d.notice("El metin destruido es el correcto!")
d.notice("Serán llevados a la siguiente planta.")
timer("enter_floor_4", 3)
else
d.notice("El metin destruido es falso.")
end
end
--**
--** Cuarto Piso
--**
when enter_floor_4.timer begin
d.jump_all(3369, 12354)
d.clear_regen()
d.kill_all()
local map_n = math.mod(os.time(),4)+1
d.regen_file("data/dungeon/catacumbas/piano_4_"..map_n.."_catacombe.txt")
d.setf("catacomb_floor", 4)
d.notice("Encontrar el camino correcto para avanzar!")
end
when 20352.chat."Avanzar a la Sig. Planta" with catacombe.IsInDungeon(pc.get_map_index()) and d.getf("catacomb_floor") == 4 begin
if pc.getqf("is_master") == 1 then
say("Muy bien, has conseguido llegar hasta aquí.")
say("En la siguiente planta te enfrentarás con el")
say("jefe de las catacumbas.[ENTER]")
wait()
setskin(0)
d.notice("Serán llevados a la siguiente planta.")
timer("enter_floor_5", 3)
else
say("Sólo el guerrero del grupo o subida podrá recompensar.[ENTER]")
end
end
--**
--** Quinto Piso
--**
when enter_floor_5.timer begin
d.jump_all(3917, 12431)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/catacumbas/dc_regen_ebene5.txt")
d.setf("catacomb_floor", 5)
d.setf("correct_killed", 0)
d.notice("Encontrar y matar al Tártaro correcto para avanzar!")
local coord_boss = {{848,570},{678,832},{685,632},{1031,637},{1003,856}}
local right_boss = math.mod(os.time(),table.getn(coord_boss))+1
for i = 1,table.getn(coord_boss) do
if i == right_boss then
local v = d.spawn_mob(2591, coord_boss[i][1], coord_boss[i][2])
d.set_unique("real", v)
--chat(coord_boss[i][1].." "..coord_boss[i][2])
else
d.spawn_mob(2591, coord_boss[i][1], coord_boss[i][2])
end
end
end
when 2591.kill with catacombe.IsInDungeon(pc.get_map_index()) and d.getf("catacomb_floor") == 5 begin
if d.is_unique_dead("real") and d.getf("correct_killed") == 0 then
d.setf("correct_killed", 1)
d.notice("El Tártaro correcto fue destruido!")
d.notice("Arrastra el Totém al pilar o NPC!")
game.drop_item_with_ownership(catacombe.GetScriptData('totem_smorfia'), 1)
else
d.notice("El Tártaro es falso, no es el correcto.")
end
end
when 30102.take with item.get_vnum() == catacombe.GetScriptData('totem_smorfia') begin
pc.remove_item(item.get_vnum(), 1)
d.notice("Serán llevados a la siguiente planta!")
timer("enter_floor_6", 3)
end
--**
--** Sexto Piso
--**
when enter_floor_6.timer begin
d.jump_all(4372, 12732)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/catacumbas/dc_regen_ebene6.txt")
d.setf("catacomb_floor", 6)
d.notice("Mata al Caronte para avanzar!")
end
when 2597.kill with catacombe.IsInDungeon(pc.get_map_index()) and d.getf("catacomb_floor") == 6 begin
notice_all(" ".. pc.get_name() .." Ha destruido la Muerte!")
notice_all("Felicitaciones Guerrero.")
d.notice("El Caronte fue destruido!")
d.notice("Serán llevados a la última planta, Suerte!")
timer("enter_floor_7", 3)
end
--**
--** Septimo Piso
--**
when enter_floor_7.timer begin
d.jump_all(3146, 13142)
d.clear_regen()
d.kill_all()
d.regen_file("data/dungeon/catacumbas/dc_regen_ebene7.txt")
d.setf("catacomb_floor", 7)
d.notice("Acaba con Azrael!")
end
when 2598.kill with catacombe.IsInDungeon(pc.get_map_index()) and d.getf("catacomb_floor") == 7 begin
if catacombe.CanDrop(pc.get_level()) then
game.drop_item_with_ownership(catacombe.GetScriptData('forziere_azrael'), 1)
end
notice_all("El Personaje o el Grupo de ".. pc.get_name() .." ha destruido al Azrael!")
d.clear_regen()
d.notice("Han acabado con el Mal del Azrael, FELICITACIONES!")
d.notice("Tienen 20 segundos, y serán sacados de la mazmorra.")
timer("exit_catacomb", 20)
end
when exit_catacomb.timer begin
d.exit_all()
end
end
end
Por general cambian el index del mapa que es 15 (en mi caso), ustedes lo cambian por su número de index, es totalmente editable, cuenta con activación de las catacumbas por un gm.
Poner en quest_functions:
DragonLair.startRaid
GetScriptData(data)
IsInDungeon(pc_index)
CanDrop(pc_level)
catacombe.CanDrop
catacombe.GetScriptData
game.drop_item_with_ownership
os.time
rawget
Introducir en player-->query-->new query: Estos son los portales.
Sí, muy tonta la pregunta, pero no pasa nada, imagino que eres nuevo.
Depende, si utilizas la versión con "Packets" tienes que modificar el source de tu servidor, sin los "packets" creo recordar ,que solo tienes que modificar los archivos que indica la descarga, la parte de python, descompilando los archivos de la carpeta locale.
He estado haciendo una quest para los que les da pereza andar con comandos de mutear y esas cosas, tambien puse todos lo que se me ocurrieron, si se me paso alguno, decirlo y lo añado.
Para poder usar la parte de banear gente, hace falta tener lo del mysql para quest, podeis encontrarlo Debes iniciar sesión para ver el contenido del enlace en esta publicación. , no se si funcionara la quest sin eso...
Debes iniciar sesión para ver el contenido del enlace en esta publicación. para descargar la quest
Descripcion de opciones:
Halloween: Lo que hace es invocar unos npcs para halloween, deben ser configurados en la quest. Como usar el comando "/m"
Dia/noche: creo que no hace falta explicacion xD
Rates: para poner cualquier rate para reinos o por separado. Pronto rates para gremios xD
Bloquear chat: como su nombre dice, es para silenciar el chat, para quitar el silencio o ver la lista de silenciados.
Navidad: Para activar/desactivar cualquier evento de navidad, como la nieva, el arbol de navidad, los villancicos, Santa Claus, venta de fuegos artificiales, etc
Banear: Banea/Desbanear la cuenta de la persona que quieras, pero necesitas implementar mysql para quest, Debes iniciar sesión para ver el contenido del enlace en esta publicación..
Teleport: Para que te teletrasportes hacia una persona, o para traerlo hacia ti.
Recordad:
No os olvideis de poner vuestros datos y esas cosas en las funciones de mysql_query() al final de la quest hay 4 funciones parecidas a la siguiente, en "root" es el usuario del navicat(suele ser root), en PassNavicat, pos eso, la pass xD, en account no tocarle, y en ipNavicat, es la ip del server, los datos esos, van entre comillas como estan puestos ahy, si las quitais os dara error.
mysql_query("Update account.account set account.status = 'OK' WHERE account.id ="..id.account_id[1].."" ,"root","PassNavicat", "account", "IPNavicat")
Si teneis alguna duda, preguntaros, y recordad que nunca esta de mas dar las gracias xD
1- Mediante el make.sh que viene por defecto en los files de metin2 y que para usarlo para cargar una nueva quest tendreis que hacer lo siguiente:
- Encendeis vuestro servidor hasta despues de logearos.
- Poneis el siguiente comando (o el mismo pero con la ruta en la que este la carpeta quest en vuestros files)
cd /home/game/quest
- Meteis vuestra nueva quest (por ejemplo logeo.quest)
- Ahora abris el archivo locale_list , que puede tener un nombre diferente dependiendo de los files, pero sera algo acabado en (_list).
- Al final del archivo, poneis el nombre de vuestra nueva quest, con el .quest incluido (logeo.quest por ejemplo), LE DAIS UN ENTER AL FINAL DEL ARCHIVO, guardais y cerrais.
- Ahora solo teneis que volver al bsd, y poner:
chmod 777 make.sh && sh make.sh
- Una vez hecho eso ya estara cargada vuestra nueva quest.
- Inconvenientes de este metodo: Cargais la lista entera de quests.
*Si haceis esto con el servidor encendido, poned reload q con vuestro gm y ya estara funcionando la nueva quest.
Bros gracias por tomarse la molestia de responder ! mis mayores agradecimientos
la quest de los 2 funcionaron perfecto pero lo que pasa es que tengo los GUARDIANES DE HABILIDADES bug y las quest como que al no ver q el pj no tiene ninguna habilidad escogida simplemente se cancela XD
Muy buenas, en el día de hoy vengo a hacer un aporte el cual es el sistema de duelo táctico oficial del servidor pvp internacional "Rop2". Hago esto público debido a que prefiero que lo tenga todo el mundo antes de que la gente se aproveche.
El sistema solo cuenta con la parte del source, la parte del cliente deberéis programarla ustedes.
También dejo la quest del budokan táctico funcional con este sistema para todo aquel que no la tenga.
Amigos estos son archivos de pago que les publico a ustedes valor 300 euros estrabajo de mierda del alex como ustedes loconocen me an contado como es esta mierda.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
SER AGREGO AL TEMA SOURCE Y TODOS LOS ARCHIVOS SALUDOS
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
CON MUCHO CARIÑO PARA TODOS ( CONSEJO PARA LA VIDA NO NOS PEGUEMOS DE CHUCHERIAS)
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
SERVI FILES METIN2 PANDORA CON SOURCE AVISAR QUINES VENDAN ESTE ARCHIVO PARA DAÑARLES EL FACEBOOK O HACERLO FAMOSOS
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
SUVIRE LO FALTANTE APENAS TENGA BUEN INTERNET SALUDOS
Buscando por el baul de los recuerdos me he acordado de la guia de mi amigo narcotico de hace taaaaaanto tiempo sobre como implementar ese mapa y un par dellos mas, asi que aqui la tienes.
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
Por increible que parezca el link de la descarga todavía seguía activo pero por si no tienes cuenta en 4shared te lo dejo en mega:
Debes iniciar sesión para ver el contenido del enlace en esta publicación.
- Descargar el vdi Debes iniciar sesión para ver el contenido del enlace en esta publicación.
- lo montáis y os metéis (user: root pass: dev)
- Abrís el ftp y editáis el "Makefile" de /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src
- en SVN_VERSION ponéis como queréis que se llame vuestra versión
SVN_VERSION = 123456
- buscáis esto
$(OBJDIR)/version.o: version.cpp @$(CC) $(CFLAGS) -D__USER__="$(USER)" -D__HOSTNAME__="$(HOSTNAME)" -D__PWD__="$(PWD)" -D__P4_VERSION__="$(P4_VERSION)" -c $< -o $@ @echo compile $<
lo cambiáis por
$(OBJDIR)/version.o: version.cpp @$(CC) $(CFLAGS) -D__P4_VERSION__="$(SVN_VERSION)" -c $< -o $@ @echo compile $<
añadís debajo de
LIBDIR += -L/usr/local/lib
esto
LIBDIR += -L/usr/local/lib/mysql
- Dentro de /usr/src/mainline_released/mainline_sg/Srcs/Server/game/src editáis el archivo "version.cpp" borrando lo que hay por
#include <stdio.h> void WriteVersion(){#ifndef __WIN32__ FILE* fp = fopen("VERSION.txt", "w"); if (fp) { fprintf(fp, "game revision: 123456n"); fclose(fp); }#endif}
- Volvemos a la consola y ponemos:
cd /usr/src/mainline_released/mainline_sg/Srcs/Server/game/srcgmake -j20
(Ultimo y más dificil) - Esperar a que se compile