Jump to content

HaureN

Members
  • Posts

    35
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by HaureN

  1. about your file, just change the MaxBaseLevel on line 137, then add the lines bellow to match the new levels, from 100~255 with the Level and the exp necessary

    steps:

    1. on 'src/map/map.hpp'

    #define MAX_LEVEL 255

    2. recompile

    3. on 'db/pre-re/job_exp.yml'

    change MaxBaseLevel from all classes that are on your server, also add the new lines to match level 255 just copy the syntax

    4. on 'db/pre-re/statpoint.yml'

    add new lines like the already on the file, copy the syntax

  2. Glast Heim Challenge Mode[ Items Only ]


    the content of this files are ONLY the ITEMS not the instance not the mobs just the ITEMS and ENCHANTS, i already made a PR but i'll also post here while it isn't merge

     

    https://github.com/haurenburu/ragnarok-content/blob/master/rathena/Old_Glast_Heim_Challenge_Mode.txt


     

    • Upvote 1
    • Love 3
    • Like 1
  3. Nogg Road F3 (Mag_dun03)


    All instructions are on the txt

    things missing:

    * mobs slaves

    * official drop chances

    * enchant system (lapineUI)

    * exp may not be right

    Feels free to dm me on HaureN#3690 or [email protected]

    repo: https://github.com/haurenburu/ragnarok-content/tree/master/rathena/mag_dun03


     

    • Upvote 2
  4. On 3/12/2020 at 6:19 PM, tddupree7 said:

    Mapcache.exe does not exist in the next folder up as stated in this guide so I couldn't update the mapcache

    edit rAthena\conf\sql-files.txt
    execute rAthena\mapcache.bat
     

  5. so i tried to mimic the vituperatum behavior commented the lines 7159~7165 and add case HP_ASSUMPTIO in line 11568 (before VITUPERATUM it self)

    and it works (with pvp on cuz vituperatum was made to target enemies )

    so... i change the flag "BCT_ENEMY"
     

    map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill_castend_nodamage_id);

    to "BCT_ALLY"

    map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ALLY|1, skill_castend_nodamage_id);


    and its working for party xD

    final code:

     

    LINE 7158 
    /*
    	case HP_ASSUMPTIO:
    		if( sd && dstmd )
    			clif_skill_fail(sd,skill_id,USESKILL_FAIL_LEVEL,0);
    		else
    			clif_skill_nodamage(src,bl,skill_id,skill_lv,
    				sc_start(src,bl,type,100,skill_lv,skill_get_time(skill_id,skill_lv)));
    		break;
    	*/
    LINE 11568
    	case HP_ASSUMPTIO:
    		if (flag&1)
    			clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)));
    		else {
    			map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ALLY|1, skill_castend_nodamage_id);
    			clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
    		}
    		break;
    	case AB_VITUPERATUM:
    		if (flag&1)
    			clif_skill_nodamage(src, bl, skill_id, skill_lv, sc_start(src, bl, type, 100, skill_lv, skill_get_time(skill_id, skill_lv)));
    		else {
    			map_foreachinrange(skill_area_sub, bl, skill_get_splash(skill_id, skill_lv), BL_CHAR, src, skill_id, skill_lv, tick, flag|BCT_ENEMY|1, skill_castend_nodamage_id);
    			clif_skill_nodamage(src, bl, skill_id, skill_lv, 1);
    		}
    		break;



    hope you understands

    skill.cpp

  6. let me see if i get it, you want to player be teleported to a specific location when jail is over?

    u can use part of @go command (https://github.com/rathena/rathena/blob/ca56c060cf3d4c11b0f6da9c5d5b2d8e8e5c3d7e/src/map/atcommand.cpp#L1939)

    if (pc_setpos(sd, mapindex_name2id(data[town].map), data[town].x, data[town].y, CLR_TELEPORT) == SETPOS_OK) {
    	clif_displaymessage(fd, msg_txt(sd,0)); // Warped.
    }

    in @unjail (https://github.com/rathena/rathena/blob/ca56c060cf3d4c11b0f6da9c5d5b2d8e8e5c3d7e/src/map/atcommand.cpp#L4957)

    //Reset jail time to 1 sec.
    sc_start(NULL,&pl_sd->bl,SC_JAILED,100,1,1000);
    clif_displaymessage(pl_sd->fd, msg_txt(sd,120)); // A GM has discharged you from jail.
    clif_displaymessage(fd, msg_txt(sd,121)); // Player unjailed.
    return 0;

    i'm not sure but would be something like that(?)

    //Reset jail time to 1 sec.
    pc_setpos(sd, mapindex_name2id(prontera), 150, 150, CLR_TELEPORT); // really not sure
    sc_start(NULL,&pl_sd->bl,SC_JAILED,100,1,1000);
    clif_displaymessage(pl_sd->fd, msg_txt(sd,120)); // A GM has discharged you from jail.
    clif_displaymessage(fd, msg_txt(sd,121)); // Player unjailed.
    return 0;

     

  7. short answer: yes is possible


    you can make a new table on db to store this, then if i remember correctly u can use querysql() on the npc or quest w/e...

    try to find a pvp with rank usually it comes with the scripts to generate a table.

     

    ---------------------------------------
    
    *query_sql("your MySQL query"{, <array variable>{, <array variable>{, ...}}});
    *query_logsql("your MySQL query"{, <array variable>{, <array variable>{, ...}}});
    
    Executes an SQL query. A 'select' query can fill array variables with up to 2 billion rows of
    values, and will return the number of rows (i.e. array size) or -1 on failure.
    
    Note that 'query_sql' runs on the main database while 'query_logsql' runs on the log database.
    
    Example:
    	.@nb = query_sql("select name,fame from `char` ORDER BY fame DESC LIMIT 5", .@name$, .@fame);
    	mes "Hall Of Fame: TOP5";
    	mes "1." + .@name$[0] + "(" + .@fame[0] + ")"; // largest fame value.
    	mes "2." + .@name$[1] + "(" + .@fame[1] + ")";
    	mes "3." + .@name$[2] + "(" + .@fame[2] + ")";
    	mes "4." + .@name$[3] + "(" + .@fame[3] + ")";
    	mes "5." + .@name$[4] + "(" + .@fame[4] + ")";
    
    ---------------------------------------

    src: https://raw.githubusercontent.com/rathena/rathena/master/doc/script_commands.txt
     

     

  8. 1% per refine

    { .@r = getRefine(); bonus2 bSkillAtk, "CR_ACIDDEMOSTRATION", .@r; }

    1% per 2 refines

    { .@r = getRefine(); bonus2 bSkillAtk, "CR_ACIDDEMOSTRATION", .@r/2; }

    if i remember correctly 3/2 in rathena is equal to 1 because it gets the integer value, so on odd number refines it will get a previous bonus.

    if u going to use the refine number more than one time use a variable ?

    • Upvote 1
  9. heya,

    this is my stats on novaRO (still, nova is wrong by 1 point)

    unknown.png

    Stat points (nova)
    unknown.png

    Stat points (rathena)

    image.png.bb7129401deaab66736c248ad78602b3.png

    this is from kro
    unknown.png

    so... i know stats table is not suppose to be right at this point (175 to 200) but any u guys know how to "regenerate" this file or even the "formula" for 175+ stats?
    this is my code on JS to simulate. With my progression, stats exceed 4151 so on the last level a fixed with -4.

    let sum = 3;
    let stat = 100;
    let level = [];
    
    for(let i = 1; i <= 200; i++) {
    	level.push(stat);
    	// 0 ~ 99
    	if (i < 100 && i%5 === 0) { sum++; }
        // 100 ~ 150
        else if (i <= 150 && i%10 === 0) { sum++; }
        // 150 ~ 175
        else if (i > 150 && i < 175 & (i-150)%7 === 0) { sum++; }
        // 175 ~ 20
        else if (i > 175 && i < 200 && (i-200)%5 === 0) { sum++ }
    
        if (i === 199) {
            // supose to be 35
            stat += 31;
            continue;
        }
        stat += sum;
    }

     

  10. heya!

    so guys sorry to ask this HERE but...

    i want to know what the practical differences of rathena and herc, iam backing to ro dev from 2012 and iam in process of choosing the emulator

    obs: i know rathena uses cpp and herc c something like that, but how about other tech differences like that? wish emulator is ahead etc...

    this topic still true?

    thanks!

×
×
  • Create New...