Jump to content

ThyroDree

Members
  • Content Count

    556
  • Joined

  • Last visited

Posts posted by ThyroDree


  1. I just found this script on rathena, which i think is cool to have it to. LINK

    In this script, you have to custom headgear with no sprite id when equip, it will use callfunc from the script to copy other headgear without getting its effect. Just its looks.

    At this time I have the custom headgear and the script running on Hercules.

     

    Which is surprisingly no error, but the problem is when is tried to copy item look.

    It doesn't show. but the commands works properly.

     

    Item_db2.conf (for custom headgear)

    {
    	Id: 33300
    	AegisName: "Dyna_Upper"
    	Name: "Dyna Upper"
    	Type: 5
    	Buy: 10
    	Def: 0
    	Loc: 256
    	Slots: 4
    	Refine: false
    	Script: <"
    		callfunc "MorphoEquip", 1;
    	">
    },

    On this attached picture, I commanded to Custom Headgear to look Pink Drooping Cat with ID#5232 (upper#5232)

    screenLoki 000.jpg


  2. Anyone can check their Map zone db.conf?

    Because I was adding mapflag that disaable using Yggberry and Yggseed to a certain map.

    Added in Map_zone_db.conf

    {
    	name: "NoPots"
    
    	disabled_skills: {
    	}
    
    	disabled_items: {
    		Wing_Of_Fly: true
    		Yggdrasilberry: true
    		Seed_Of_Yggdrasil: true
    		ID607: true
    		ID608: true
    
    	}
    }

    My npc/mapflag/zone.txt

    guild_vs2	mapflag	zone	NoPots

    yet still can use Yggberry and Seed, also tried changing GM to Normal account (they said GM accnt. can bypass.)

     

    I'm using latest hercules


  3. Hello, I have a root access for my VPS and got the FluxCP for Hercules and put it in var/www/html/fluxcp

    and finished editing to make it work

     

    When i tried install

    ip.address/fluxcp

    It directs me to Debian Default page, also tried change in application.php the     'BaseURI'  => '',   into     'BaseURI'  => 'cp',  

    so It will look like this if i run on web ip.address/cp then says Not Found, The requested URL was not found on this server.

     

    What am i missing? I really don't know where I should put the fluxcp folder


  4. How did you fix this? Almost all mobs on my side, When I see mobs around my character they stop moving. I need to get 1 cell away to make then start moving again or to be aggressive. I have my server file uploaded in VPS how can i fix it with last revision?


  5. My server start to have this error

    [Error]: Sent wrong packet id: 0x2711
    [Error]: --- failed assertion --------------------------------------------
    [Error]: socket.c:2112: '0' in function `socket_validateWfifo'
    [Error]: ./login-server(+0x1d4ef) [0x5582705414ef]
    [Error]: ./login-server(+0x312cc) [0x5582705552cc]
    [Error]: ./login-server(+0x1042c) [0x55827053442c]
    [Error]: ./login-server(+0xbad3) [0x55827052fad3]
    [Error]: ./login-server(+0xbf0d) [0x55827052ff0d]
    [Error]: ./login-server(+0xbb92) [0x55827052fb92]
    [Error]: ./login-server(+0x30586) [0x558270554586]
    [Error]: ./login-server(main+0x2fa) [0x55827052b72a]
    [Error]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7fe3211c72e1]
    [Error]: ./login-server(_start+0x2a) [0x55827052b90a]
    [Error]: --- end failed assertion ----------------------------------------
    [Error]: Skip wrong packet id: 0x2710
    [Error]: --- failed assertion --------------------------------------------
    [Error]: socket.c:824: '0' in function `rfifoskip'
    [Error]: ./login-server(+0x1d4ef) [0x5582705414ef]
    [Error]: ./login-server(+0x2fe09) [0x558270553e09]
    [Error]: ./login-server(+0xbf2d) [0x55827052ff2d]
    [Error]: ./login-server(+0xbb92) [0x55827052fb92]
    [Error]: ./login-server(+0x30586) [0x558270554586]
    [Error]: ./login-server(main+0x2fa) [0x55827052b72a]
    [Error]: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7fe3211c72e1]
    [Error]: ./login-server(_start+0x2a) [0x55827052b90a]
    [Error]: --- end failed assertion ----------------------------------------
    [Error]: Can not connect to login-server.
    [Error]: The server communication passwords (default s1/p1) are probably invalid.
    [Error]: Also, please make sure your login db has the correct communication username/passwords and the gender of the account is S.
    [Error]: The communication passwords are set in /conf/map/map-server.conf and /conf/char/char-server.conf

    It was all good, then after some reloadscript i did during editing inside the game. When i checked the command lines from PuttySSH i found this line and i cant connect to my servevr now :( IP and user pass are all correct in char-server, map server


  6. Quote

    Stalker - cannot copy skill from monster when got attacked 

    Example: Stalker copied a skill from a Wizard Player [Storm Gust Level 10], and went to farm from monster but forgot to use preserve skill. On my suggestion even stalker forgot the preserve skill, it will not copy the skill from monster and lose the storm gust level 10. (Normally he/she will lose the Storm Gust Skill, and gets the skill from monster once he/she got hit) In short, Stalker can only copy skills from player-player not player-monster.
     

    Assassin EDP Skill

    // To:
    case SU_ARCLOUSEDASH:
    	clif->skill_nodamage(src, bl, skill_id, skill_lv,
    		sc_start(src, bl, type, 100, skill_lv, skill->get_time(skill_id, skill_lv)));
    
    	if (sd != NULL && (skill_id == LK_BERSERK || skill_id == MO_EXPLOSIONSPIRITS))
    		status_change_end(src, SC_DPOISON, INVALID_TIMER);
    
    	break;

    Made this and tried to the test server, the EDP skill is not cancelled. (see attached file)

     

     

    Quote

     

    Quote

    Healing Skill max. limit or cap will be 100%. Having 101% or 150% Increase Effectiveness of Healing Skill will be limit to 100% only.

    Modify skill_add_heal_rate in conf/map/battle/skill.conf.

     

    It only set which skill will be affected by HealPower,

    I mean on this is, capping the healpower to 100%, example: bacsojin card give 30% heal power, even Player equip 4 bacsojin cards it will only read 100% heal power instead of 120%.

     

     

    In src/map/status.c have a look at these functions:

    status_base_matk_min()
    
    status_base_matk_max()

    Tried to search this lines, I cant find it on status.c

    On this, I wanted to make look like this

    Bonus to minimum MATK every 5 INT

    Bonus to maximum MATK every 7 INT

     

     

    I have a question, I just want to clarify does.

    SCB_MDEF - Hard Defense? (Equipment Status Defense)

    SCB_MDEF2 - Soft Defense? (Int status defense)

    screenLoki 001.jpg


  7. Hello, Anyone willing to help with my little project.  :D

     

    • Stalker - cannot copy skill from monster when got attacked
    • Stalker - Reject Sword will also work on Spear,  and Axe Weapons (Original effect work only for Sword, Dagger)
    • Assassin X - Enchant Deadly Poison will be cancelled (Specifically), if used Fury/Berserk.
    • Sniper - Blitz Beat will not miss/affected by Pneuma & Reverse Tatami

    SKILLS

    • Healing Skill max. limit or cap will be 100%. Having 101% or 150% Increase Effectiveness of Healing Skill will be limit to 100% only.
    • True Sight Skill (Sniper)I cannot find the source code to modify. Checked battle.c/h skill.c/.h, and status.c
    • Mind Breaker (MATK Buff), Deluge(HP Buff), Violent Gale (Flee Buff), and Volcano (Attack Buff) I can't also find their source code.

    STATS

    • Where can I modify / edit minimum & maximum MATK Formulas (Derives Player Base Level, Status INT)
    • Where can I modify the MATKModifier, the Original Calculation for MATK = (StatusMATK + WeaponMATK + EquipMATK) × MATKModifier, I wanted to make MATK = StatusMATK * MATKModifier (means even I have equipment with high MATK, It wont affected by MATKModifier

     

    It really helps me learn and understand sources by the help of others, cuz Im really trying to analyze, how it works. Above this are the things I can't seem to find or maybe requires additional source codes which is im not yet very good at.

    So, thank you in advance! Be Safe from COVID 19. 👩‍⚕️ 😷


  8. If i wanted on all race, 

    #ifdef RENEWAL
    	sd->race_tolerance[RC_ALL] = max(sd->race_tolerance[RC_ALL], 50);
    #else
    	sd->subrace[RC_ALL] = max(sd->subrace[RC_ALL], 50);
    #endif

    this will make max resist for all Race only 50% right? EDIT: Doesn;t work with RC_ALL (added each one of Race, excluding 

    RC_NonDemiHuman,RC_NonPlayer,RC_DemiPlayer,RC_NonDemiPlayer,RC_All which gives me problem compiling when those are included.)

    Also, im currently using Pre Renewal, does this work also on pre renewal if compiled?


  9. 2 hours ago, Kenpachi said:

    Hi.

     


    • In src/map/status.c -> function status_calc_pc_() find this line (#3099 in current release):status->copy(&sd->battle_status, bstatus);
      
      status->copy(&sd->battle_status, bstatus);

      Add above (replace <your_race_here> with the race you want to modify):

      #ifdef RENEWAL sd->race_tolerance[<your_race_here>] = max(sd->race_tolerance[<your_race_here>], 50); #else sd->subrace[<your_race_here>] = max(sd->subrace[<your_race_here>], 50); #endif
      
      #ifdef RENEWAL
      	sd->race_tolerance[<your_race_here>] = max(sd->race_tolerance[<your_race_here>], 50);
      #else
      	sd->subrace[<your_race_here>] = max(sd->subrace[<your_race_here>], 50);
      #endif


       

    • In src/map/pc.c -> function pc_bonus() find this block:

      case SP_SHORT_WEAPON_DAMAGE_RETURN: if(sd->state.lr_flag != 2) sd->bonus.short_weapon_damage_return += val; break; case SP_LONG_WEAPON_DAMAGE_RETURN: if(sd->state.lr_flag != 2) sd->bonus.long_weapon_damage_return += val; break; case SP_MAGIC_DAMAGE_RETURN: //AppleGirl Was Here if(sd->state.lr_flag != 2) sd->bonus.magic_damage_return += val; break;
      
      		case SP_SHORT_WEAPON_DAMAGE_RETURN:
      			if(sd->state.lr_flag != 2)
      				sd->bonus.short_weapon_damage_return += val;
      			break;
      		case SP_LONG_WEAPON_DAMAGE_RETURN:
      			if(sd->state.lr_flag != 2)
      				sd->bonus.long_weapon_damage_return += val;
      			break;
      		case SP_MAGIC_DAMAGE_RETURN: //AppleGirl Was Here
      			if(sd->state.lr_flag != 2)
      				sd->bonus.magic_damage_return += val;
      			break;

      Replace it with:

      case SP_SHORT_WEAPON_DAMAGE_RETURN: if (sd->state.lr_flag != 2) sd->bonus.short_weapon_damage_return += val; sd->bonus.short_weapon_damage_return = max(sd->bonus.short_weapon_damage_return, 50); break; case SP_LONG_WEAPON_DAMAGE_RETURN: if (sd->state.lr_flag != 2) sd->bonus.long_weapon_damage_return += val; sd->bonus.long_weapon_damage_return = max(sd->bonus.long_weapon_damage_return, 50); break; case SP_MAGIC_DAMAGE_RETURN: //AppleGirl Was Here if (sd->state.lr_flag != 2) sd->bonus.magic_damage_return += val; sd->bonus.magic_damage_return = max(sd->bonus.magic_damage_return, 50); break;
      
      		case SP_SHORT_WEAPON_DAMAGE_RETURN:
      			if (sd->state.lr_flag != 2)
      				sd->bonus.short_weapon_damage_return += val;
      
      			sd->bonus.short_weapon_damage_return = max(sd->bonus.short_weapon_damage_return, 50);
      			break;
      		case SP_LONG_WEAPON_DAMAGE_RETURN:
      			if (sd->state.lr_flag != 2)
      				sd->bonus.long_weapon_damage_return += val;
      
      			sd->bonus.long_weapon_damage_return = max(sd->bonus.long_weapon_damage_return, 50);
      			break;
      		case SP_MAGIC_DAMAGE_RETURN: //AppleGirl Was Here
      			if (sd->state.lr_flag != 2)
      				sd->bonus.magic_damage_return += val;
      
      			sd->bonus.magic_damage_return = max(sd->bonus.magic_damage_return, 50);
      			break;


       

    • In src/map/status.c -> function status_calc_pc_() find this block:

      //Underflow protections. if(sd->dsprate < 0) sd->dsprate = 0; if(sd->castrate < 0) sd->castrate = 0; if(sd->delayrate < 0) sd->delayrate = 0; if(sd->hprecov_rate < 0) sd->hprecov_rate = 0; if(sd->sprecov_rate < 0) sd->sprecov_rate = 0;
      
      	//Underflow protections.
      	if(sd->dsprate < 0)
      		sd->dsprate = 0;
      	if(sd->castrate < 0)
      		sd->castrate = 0;
      	if(sd->delayrate < 0)
      		sd->delayrate = 0;
      	if(sd->hprecov_rate < 0)
      		sd->hprecov_rate = 0;
      	if(sd->sprecov_rate < 0)
      		sd->sprecov_rate = 0;

      Add below:

      sd->delayrate = max(sd->delayrate, 50);
      
      	sd->delayrate = max(sd->delayrate, 50);

     

     

    Don't forget to re-compile. 😉


    ~Kenpachi

     

    Thank you @Kenpachi will try this, sorry for reviving old topics :(


    • How can I put CAP Resistance to a Certain Race? Example instead of 100% resist, i will only cap it to 50% even he/she has equipment with 100% resist.
    • Same goes to Reflect Change (Physical and Magical Reflect) to cap the limit only 50%
    • For Skill Delay, how can I set a general after cast delay cap to 50% (even he/she has equipment with 100% after cast delay, only 50% will apply due to capping.)

     

    On my test server with Edit High Level and stat, I find some job became OP. That's why i think of capping makes it balance to other jobs.


  10. Hello, Anyone uses CentOS 8 to run your server? Is it stable to use? I recently purchased a VPS with CentOS 8 (OVH). But I've struggle looking for latest guide.

    Also looking guide for installing PHPMYADMIN(for SQL edits), and GNOME Desktop for CentOS 8.


    Thank you.


  11. On 6/4/2018 at 1:46 PM, AnnieRuru said:
    
    {
    	Id: 604
    	AegisName: "Branch_Of_Dead_Tree"
    	Name: "Dead Branch"
    	Type: "IT_DELAYCONSUME"
    	Buy: 50
    	Weight: 50
    	BuyingStore: true
    	Script: <"
    		if ( strcharinfo(PC_MAP) == "prontera" ) {
    			monster "this",-1,-1,"--ja--",-1,1,"";
    			delitem 604, 1;
    		}
    		">
    },

    isn't that's the same answer I had said in rathena ?

    getting this error

     

    [Error]: script:op_2: invalid data for operator C_LOR
    [Debug]: Data: number value=0
    [Debug]: Data: string value="06guild_01"
    [Debug]: Source (NPC): FAKE_NPC (invisible/not on a map)
     tried to put 

        if ( strcharinfo(PC_MAP) == "prontera" || "06guild_01" || "morocc" ) {


  12. 20 hours ago, Rebel said:

    This is what im using ..

      Hide contents

    {
        Id: 8016
        AegisName: "Job_Costume_Suit"
        Name: "Job Costume Suit"
        Type: "IT_ARMOR"
        Weight: 100
        Delay: 1000
        Loc: "EQP_SHADOW_ARMOR"
        Upper: "ITEMUPPER_UPPER"
        OnEquipScript: <"
            if ( Class == Job_Lord_Knight && checkmount() ) {
                setoption Option_Dragon1;
            }
            changebase roclass(eaclass()|EAJL_THIRD);
        ">
        OnUnequipScript: <" changebase Class; ">
    },

     

    Does it have skills?/ when equipped?


  13. This is my script for 3rd Class Item Suit

    {
    	Id: 30745
    	AegisName: "Costume_3rdClass"
    	Name: "3rd Class Costume"
    	Type: 5
    	Buy: 1
    	Weight: 10
    	Job: {
    		All: true
    		Novice: false
    	}
    	Loc: 16
    	Script: <" changebase roclass(eaclass()|EAJL_THIRD); ">
    	OnUnequipScript: <" changebase Class; ">
    },

    It will work but If you equip it to your character,  It has 3rd Job Skils to.. I just wanted to have a Appearance of 3rd job  :3


  14. 9 minutes ago, Dastgir said:

    Which revision are you using?

    I don't see that line anywhere nearby, modded? probably sd is null.

    On the line 2131 on battle.c

                    case SN_SHARPSHOOTING:
                    case MA_SHARPSHOOTING:
                        skillratio += 100 + 50 * skill_lv;

                        if( sd->sc.data[SC_SOULLINK] && sd->sc.data[SC_SOULLINK]->val2 == SL_HUNTER)
                        skillratio *= 1.15;
                        break;

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.