Jump to content

Recommended Posts

Posted (edited)

Saludos, si ese fue el post que revise pero no concuerdan las fuentes de mi src :/

¿Lo que no concordará es lo del mob.c verdad?

Es porque lo han cambiado.

	sv_readdb(dbsubpath1, "mob_avail.txt", ',', 2, 12, -1, &mob_readdb_mobavail, i);
	sv_readdb(dbsubpath2, "mob_race2_db.txt", ',', 2, MAX_RACE2_MOBS, -1, &mob_readdb_race2, i);
	sv_readdb(dbsubpath1, "mob_item_ratio.txt", ',', 2, 2+MAX_ITEMRATIO_MOBS, -1, &mob_readdb_itemratio, i);
	sv_readdb(dbsubpath1, "mob_chat_db.txt", '#', 3, 3, MAX_MOB_CHAT, &mob_parse_row_chatdb, i);
	sv_readdb(dbsubpath2, "mob_random_db.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath2, "mob_branch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath2, "mob_poring.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath2, "mob_boss.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath1, "mob_pouch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath1, "mob_classchange.txt", ',', 4, 4, -1, &mob_readdb_group, i );

Tal vez si lo remplazas por esto añadiendo tu txt :

    sv_readdb(dbsubpath1, "mob_avail.txt", ',', 2, 12, -1, &mob_readdb_mobavail, i);
    sv_readdb(dbsubpath2, "mob_race2_db.txt", ',', 2, MAX_RACE2_MOBS, -1, &mob_readdb_race2, i);
    sv_readdb(dbsubpath1, "mob_item_ratio.txt", ',', 2, 2+MAX_ITEMRATIO_MOBS, -1, &mob_readdb_itemratio, i);
    sv_readdb(dbsubpath1, "mob_chat_db.txt", '#', 3, 3, MAX_MOB_CHAT, &mob_parse_row_chatdb, i);
    sv_readdb(dbsubpath2, "mob_random_db.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_branch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_poring.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_boss.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_superboss.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath1, "mob_pouch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath1, "mob_classchange.txt", ',', 4, 4, -1, &mob_readdb_group, i );

Y luego aumentando el MAX_RANDOMMONSTER en mob.h a no ser que lo hayan cambiado.

Edited by zwaken
  • 5 years later...
Posted (edited)
On 6/3/2016 at 6:06 PM, Waken said:

¿Lo que no concordará es lo del mob.c verdad?

Es porque lo han cambiado.


	sv_readdb(dbsubpath1, "mob_avail.txt", ',', 2, 12, -1, &mob_readdb_mobavail, i);
	sv_readdb(dbsubpath2, "mob_race2_db.txt", ',', 2, MAX_RACE2_MOBS, -1, &mob_readdb_race2, i);
	sv_readdb(dbsubpath1, "mob_item_ratio.txt", ',', 2, 2+MAX_ITEMRATIO_MOBS, -1, &mob_readdb_itemratio, i);
	sv_readdb(dbsubpath1, "mob_chat_db.txt", '#', 3, 3, MAX_MOB_CHAT, &mob_parse_row_chatdb, i);
	sv_readdb(dbsubpath2, "mob_random_db.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath2, "mob_branch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath2, "mob_poring.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath2, "mob_boss.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath1, "mob_pouch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
	sv_readdb(dbsubpath1, "mob_classchange.txt", ',', 4, 4, -1, &mob_readdb_group, i );

Tal vez si lo remplazas por esto añadiendo tu txt :


    sv_readdb(dbsubpath1, "mob_avail.txt", ',', 2, 12, -1, &mob_readdb_mobavail, i);
    sv_readdb(dbsubpath2, "mob_race2_db.txt", ',', 2, MAX_RACE2_MOBS, -1, &mob_readdb_race2, i);
    sv_readdb(dbsubpath1, "mob_item_ratio.txt", ',', 2, 2+MAX_ITEMRATIO_MOBS, -1, &mob_readdb_itemratio, i);
    sv_readdb(dbsubpath1, "mob_chat_db.txt", '#', 3, 3, MAX_MOB_CHAT, &mob_parse_row_chatdb, i);
    sv_readdb(dbsubpath2, "mob_random_db.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_branch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_poring.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_boss.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath2, "mob_superboss.txt", ',', 4, 4, -1, &mob_readdb_group,);
    sv_readdb(dbsubpath1, "mob_pouch.txt", ',', 4, 4, -1, &mob_readdb_group, i );
    sv_readdb(dbsubpath1, "mob_classchange.txt", ',', 4, 4, -1, &mob_readdb_group, i );

Y luego aumentando el MAX_RANDOMMONSTER en mob.h a no ser que lo hayan cambiado.

en las nuevas versiones no existe al parecer el MAX_RANDOMMONSTER  en el mob.h, si no que tiene que agregar uno custom en este enum.
en mob.h
enum e_random_monster : uint16 {
    MOBG_Branch_Of_Dead_Tree = 0,
    MOBG_Poring_Box,
    MOBG_Bloody_Dead_Branch,
    MOBG_Red_Pouch_Of_Surprise,
    MOBG_ClassChange,
    MOBG_Taekwon_Mission,
    MOBG_SupperBoss,
};

y luego agregarlo en mob_summon.yml
Body:
  - Group: SupperBoss,
    Default: MAYA
    Summon:
      - Mob: MAYA
        Rate: 100000
      - Mob: DEVILING
        Rate: 700000

 

y hacer el mob_supperbox.txt
y agregar los mvps con la siguente extructura

MobID,DummyName,Rate

y al final hacer esto.

 

Declararlo en script_constants.hpp

/* mob random groups */
	export_constant(MOBG_Branch_Of_Dead_Tree);
	export_constant(MOBG_Poring_Box);
	export_constant(MOBG_Bloody_Dead_Branch);
	export_constant(MOBG_Red_Pouch_Of_Surprise);
	export_constant(MOBG_YOUR_Branch);
	export_constant(MOBG_ClassChange);

el problema que estoy teniendo es que si no agregas un MVP al inicio cuando hace la Build despues de esos cambios, como que el proyecto ya no vuelve a recibir en ese grupo, los nuevos mvps.
y no he podido solucionar eso, solo me recibe cambios de rates en los MVPs que estaban originalmente en el grupo.

Edited by f_fman
Posted
On 7/9/2021 at 6:04 AM, f_fman said:

en las nuevas versiones no existe al parecer el MAX_RANDOMMONSTER  en el mob.h, si no que tiene que agregar uno custom en este enum.
en mob.h
enum e_random_monster : uint16 {
    MOBG_Branch_Of_Dead_Tree = 0,
    MOBG_Poring_Box,
    MOBG_Bloody_Dead_Branch,
    MOBG_Red_Pouch_Of_Surprise,
    MOBG_ClassChange,
    MOBG_Taekwon_Mission,
    MOBG_SupperBoss,
};

y luego agregarlo en mob_summon.yml
Body:
  - Group: SupperBoss,
    Default: MAYA
    Summon:
      - Mob: MAYA
        Rate: 100000
      - Mob: DEVILING
        Rate: 700000

 

y hacer el mob_supperbox.txt
y agregar los mvps con la siguente extructura


MobID,DummyName,Rate

y al final hacer esto.

 

Declararlo en script_constants.hpp


/* mob random groups */
	export_constant(MOBG_Branch_Of_Dead_Tree);
	export_constant(MOBG_Poring_Box);
	export_constant(MOBG_Bloody_Dead_Branch);
	export_constant(MOBG_Red_Pouch_Of_Surprise);
	export_constant(MOBG_YOUR_Branch);
	export_constant(MOBG_ClassChange);

el problema que estoy teniendo es que si no agregas un MVP al inicio cuando hace la Build despues de esos cambios, como que el proyecto ya no vuelve a recibir en ese grupo, los nuevos mvps.
y no he podido solucionar eso, solo me recibe cambios de rates en los MVPs que estaban originalmente en el grupo.

Aquí te la resumieron: https://rathena.org/board/topic/128953-custom-branch-group-new-rathena/#comment-399104

 

Posted (edited)

Hola buenas noches;

Para este caso tengo una idea simple para los que no tengan conocimiento metiendo mano al src (No se preocupen todos aprenden en su momento^^)

Para este caso tome un item usable(Para este ejemplo Aloe Vera De la carpeta db/pre-re/item_db.txt)y lo modifique de la siguiente manera

606,Aloebera,Aloevera,11,1500,,100,,,,,0xFFFFFFFF,7,2,,,,,,{ if(strcharinfo(3)=="prontera") { message strcharinfo(0),"No Puedes abrir este objeto en este mapa";end; }else{ callfunc "invocador_custom"; }},{},{}

Para este caso borre el efecto de la aloe vera(el original) y le inserte mi script. Explicarlo es simple si estas en prontera no te dejara abrir el item y si no estas en mapa que en este caso es prontera haces el llamado a la funcion "invocador_custom".

Ahora vamos a crear un archivo en la carpeta custom y le pondremos funciones_customizadas.txt(Le pueden poner el nombre que sea xD)

Y dentro de ese archivo le agregan el siguiente codigo:

function	script	invocador_custom	{
setarray .MVP_List[0],1038,1039,1046,1059,1086,1087,1112,1115,1147,1150,1157,1159,1190,1251,1252,1272,1312,1373,1389,1399,1418,1492,1502,1511,1583,1623,1630,1646,1647,1648,1649,1650,1651,1658,1685,1688,1708,1719,1734,1751,1768,1779,1785,1802,1832,1871,1874,1885,1917,1980,2022,2068,2087,2131,2156,2165;
set .Monster,rand(57);
atcommand "@monster "+ .MVP_List[.Monster];
end;
}

Posteriormente vas a el archivo script_custom.conf (carpeta npc) y agregas la siguiente linea:

npc: npc/cutom/funciones_customizadas.txt

NOTA: Si quieren agregarle delay al item vayan a la carpeta db/pre-re  y luego al archivo item_delay.txt y ingresan al final esto.

606,5000 //<-- 5 Seg delay

La diferencia de usar este sistema a que menciona los demas que aca no generas la chance de que uno salga mas y otro menos  esto es random, se puede modificar para que uno tenga mas chance pero seria mas largo el codigo.

Espero que a cualquiera le sirva esta idea un saludo a todos y cuidense.

 

Edited by AlvaroNiel
  • Upvote 1

Join the conversation

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

Guest
Reply to this topic...

×   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.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...