Jump to content

kaeyih

Members
  • Posts

    27
  • Joined

  • Last visited

Posts posted by kaeyih

  1. I have a Pre re server with 4 slotted cards. I would like to modify the Element DEF Formula in the source so that..

    1) wearer of more than 100% Element resist will remained heal when get hit by Monster's damage. (negative damage)
    2) wearer of more than 100% Element resist will not get healed in PVP, would prefer as a null or a miss. 



    I have been searching around for answers.. Would appreciate it someone can help me on solving this. 
    I know its somewhere in battle.c but i really dont know how to modify it. 

     

    {{Previous are attack part, u can refer to map/battle.c 
    
    @@ line 864  Affected by target DEF bonuses
    
    	// Affected by target DEF bonuses
    			else if( tsd && !nk[NK_IGNOREDEFCARD] && !(left&2) ) {
    				if( !nk[NK_IGNOREELEMENT] ) { // Affected by Element modifier bonuses
    					int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[rh_ele] + tsd->subele_script[ELE_ALL];
    
    					for (const auto &it : tsd->subele2) {
    						if (it.ele != rh_ele)
    							continue;
    						if (!(((it.flag)&flag)&BF_WEAPONMASK &&
    							((it.flag)&flag)&BF_RANGEMASK &&
    							((it.flag)&flag)&BF_SKILLMASK))
    							continue;
    						ele_fix += it.rate;
    					}
    					cardfix = cardfix * (100 - ele_fix) / 100;
    
    					if( left&1 && lh_ele != rh_ele ) {
    						int ele_fix_lh = tsd->subele[lh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[lh_ele] + tsd->subele_script[ELE_ALL];
    
    						for (const auto &it : tsd->subele2) {
    							if (it.ele != lh_ele)
    								continue;
    							if (!(((it.flag)&flag)&BF_WEAPONMASK &&
    								((it.flag)&flag)&BF_RANGEMASK &&
    								((it.flag)&flag)&BF_SKILLMASK))
    								continue;
    							ele_fix_lh += it.rate;
    						}
    						cardfix = cardfix * (100 - ele_fix_lh) / 100;
    					}
    
    					cardfix = cardfix * (100 - tsd->subdefele[s_defele] - tsd->subdefele[ELE_ALL]) / 100;
    				}
    				cardfix = cardfix * (100 - tsd->subsize[sstatus->size] - tsd->subsize[SZ_ALL]) / 100;
    				cardfix = cardfix * (100 - tsd->subrace2[s_race2]) / 100;
    				cardfix = cardfix * (100 - tsd->subrace[sstatus->race] - tsd->subrace[RC_ALL]) / 100;
    				cardfix = cardfix * (100 - tsd->subclass[sstatus->class_] - tsd->subclass[CLASS_ALL]) / 100;
    				for (const auto &it : tsd->add_def) {
    					if (it.id == s_class) {
    						cardfix = cardfix * (100 - it.val) / 100;
    						break;
    					}
    				}
    				if( flag&BF_SHORT )
    					cardfix = cardfix * (100 - tsd->bonus.near_attack_def_rate) / 100;
    				else	// BF_LONG (there's no other choice)
    					cardfix = cardfix * (100 - tsd->bonus.long_attack_def_rate) / 100;
    				if( tsd->sc.data[SC_DEF_RATE] )
    					cardfix = cardfix * (100 - tsd->sc.data[SC_DEF_RATE]->val1) / 100;
    				APPLY_CARDFIX(damage, cardfix);
    			}
    			break;
    
    		case BF_MISC:
    			// Affected by target DEF bonuses
    			if( tsd && !nk[NK_IGNOREDEFCARD] ) {
    				if( !nk[NK_IGNOREELEMENT] ) { // Affected by Element modifier bonuses
    					int ele_fix = tsd->subele[rh_ele] + tsd->subele[ELE_ALL] + tsd->subele_script[rh_ele] + tsd->subele_script[ELE_ALL];
    
    					for (const auto &it : tsd->subele2) {
    						if (it.ele != rh_ele)
    							continue;
    						if (!(((it.flag)&flag)&BF_WEAPONMASK &&
    							((it.flag)&flag)&BF_RANGEMASK &&
    							((it.flag)&flag)&BF_SKILLMASK))
    							continue;
    						ele_fix += it.rate;
    					}
    					if (s_defele != ELE_NONE)
    						ele_fix += tsd->subdefele[s_defele] + tsd->subdefele[ELE_ALL];
    					cardfix = cardfix * (100 - ele_fix) / 100;
    				}
    				cardfix = cardfix * (100 - tsd->subsize[sstatus->size] - tsd->subsize[SZ_ALL]) / 100;
    				cardfix = cardfix * (100 - tsd->subrace2[s_race2]) / 100;
    				cardfix = cardfix * (100 - tsd->subrace[sstatus->race] - tsd->subrace[RC_ALL]) / 100;
    				cardfix = cardfix * (100 - tsd->subclass[sstatus->class_] - tsd->subclass[CLASS_ALL]) / 100;
    				cardfix = cardfix * (100 - tsd->bonus.misc_def_rate) / 100;
    				if( flag&BF_SHORT )
    					cardfix = cardfix * (100 - tsd->bonus.near_attack_def_rate) / 100;
    				else	// BF_LONG (there's no other choice)
    					cardfix = cardfix * (100 - tsd->bonus.long_attack_def_rate) / 100;
    				APPLY_CARDFIX(damage, cardfix);
    			}
    			break;
    	}
    
    #undef APPLY_CARDFIX
    
    	return (int)cap_value(damage - original_damage, INT_MIN, INT_MAX);
    }

     

  2. I have a question
    All monsters have different size, Large, Medium Small and demihumans are usually medium size.

    If we put a script into Equipment, When u wear this armor, ur size become Small. Anyone know what should i write in script?

    This doesnt work... so anyone can guide me pls? 
    { bonus bDefSize,Size_Small;},{},{} 


     

  3. On 3/5/2021 at 2:20 PM, aferny said:

    Hi guys,

     

    We have the 2018 client. And were having problems with the switching of armors. Say im wearing 1 tao 1 GR with 1m HP then  i switch to 1 tao 1 Angeling  my hp goes down to 600k. 

    On other servers i've played the HP stays the same. I guess coz it was a 2015 client?

     

    Can anyone guide me where i can do these changes if possible.

     

    Thanks!

     

    Hi @aferny, have u found out the solution for this? Im facing the same issue.... =(
     

  4. Hi, when i change armor in my server, the HP dont remain the same but instead, when swithching to another taogunka slotted armor, the remaining HP changed to no taogunka level. 
    Anyone know where to change this setting so that I wear another armor, my hp wont reduce to the non tao gunka calculation level




     

    screenAquaRO133.jpg

    screenAquaRO134.jpg

  5. Hi everyone, I just found a very good solution to monitor and organize your palettes for each jobs. 
    I cant help but to share this way of renaming palettes to every single jobs/ costumes  / etc
    Some of you might know this way already, but just sharing because all other posts have been helping me out. 

    For example 
    Assassin Cross Palettes 
    건너_숍_남_1.pal

    Renaming into 
    건너_숍_남_1_1.pal
    건너_숍_남_1_2.pal
    건너_숍_남_1_3.pal

    and Renaming into other Jobs Costume like 

    Arc Bishop 
    아크비숍_남_1.pal
    아크비숍_남_1_1.pal
    아크비숍_남_1_2.pal


    Or If you have All of the jobs and not gonna sort it out, just change 

    아크비숍_남_1.pal
    건너_숍_남_1_1.pal
    그리폰로얄_남_5_1.pal 


    to

    아크비숍_남_2.pal
    건너_숍_남_1_2.pal
    그리폰로얄_남_5_2.pal 






    This way you can monitor what jobs or which costume is missing and can copy paste, rename it in and instance. 

     

    • Upvote 2
  6. Hi I am using 20180620 RagexeRE as default. I know is a pretty stable version but I want a client with hairstyle..
    So i decided to change to 20181107 which consider quite close. 

    I tried changing confiq\packets 

    and tried custom\define_pre

    Compiled successful, but it wouldnt read my 20181107 client version. 

    Can anyone assist me what did i missed out? 

    I've been searching the website whole day now but i cant find a good solution.. 
    Most of the links outdated.. 

    Anyone please help me!

  7. hi guys, 

    im setting up skills for my monsters to hit me. 
    1) Fire bolt (fire)
    2) Lord of Vermilion (wind)
    3) Storm Gust (water)
    4) Meteor Storm (fire)

    Wanna ask why am i blocking all the skills with Deviling Cards? Not null, but damage 2 all the way with only deviling card on valkyrie Mantau 

    Apparently if I put warm wind to the monsters then they only start damage me. Are monster skills including fire bolts are in neutral by default? 

    Anyone encountered this issue before? 

    my mdef 0+358

  8. Thank you for all your replies. Really appreicated!

    Ok I have tried out the script but I dont really understand how to edit it. 
    losttower1b is my custommap that added in and is working. 

    This is what I've written

    losttower1b,111,262,0,0	monster	MH_COELACANTH_Y_A1	20787,1,90000,0,0
    losttower1b,111,384,0,0	monster	MH_COELACANTH_Y_A2	20788,1,90000,0,0
    losttower1b,291,384,0,0	monster	MH_COELACANTH_Y_A3	20789,1,90000,0,0
    losttower1b,288,263,0,0	monster	MH_COELACANTH_Y_A4	20790,1,90000,0,0
    //losttower1b,199,327,0,0	monster	MH_BAKONAWA	20863,1,90000,0,0
    
    -	script	Losttower1b	-1,{
    OnInit:
    	set .bspawn,0;				//Where the kills will be saved(don't change)
    	set .bneed,4;				//Kills needed
    	set .bossid,20863;			//Boss ID
    	set .minibossid,20787;		//Mini Boss ID
    	set .reward,512;			//Reward for killing the Boss
    	set .map$,"losttower1b";			//Name of the map you kill mini bosses
    	end;
    	
    OnNPCKillEvent:
    	if (killedrid == .minibossid){
    		set .bspawn,.bspawn +1;
    		if (.bspawn >= .bneed){
    			mapannounce .map$,"The map boss has appeared!",0;
    			monster .map$,199,331,10,10,"MH_BAKONAWA",.bossid,1,"BOSSSPAWN::OnBossKill";
    			set .bspawn, 0;
    		}
    	}
    	end;
    
    OnBossKill:
    	mapannounce "The player "+strcharinfo(0)+" has killed the boss!",
    	getitem (.reward,1),
    	end;
    }

    But i end up getting these errors 


    [Warning]: script: buildin_getmapxy: Invalid type 0.
    [Debug]: Source (NPC): Gold Room Warper at ordeal_1-2 (0,0)
    [Warning]: script: buildin_getmapxy: Invalid type 0.
    [Debug]: Source (NPC): Gold Room Warper at ordeal_1-2 (0,0)
    [Warning]: script: buildin_getmapxy: Invalid type 0.
    [Debug]: Source (NPC): Gold Room Warper at ordeal_1-2 (0,0)
    [Info]: Pinging SQL server to keep connection alive...
    [Info]: Pinging SQL server to keep connection alive...
    [Info]: Pinging SQL server to keep connection alive...
    [Warning]: script: buildin_getmapxy: Invalid type 0.
    [Debug]: Source (NPC): Gold Room Warper at ordeal_1-2 (0,0)
    [Warning]: Unexpected type for argument 4. Expected string.
    [Debug]: Data: number value=10
    [Warning]: Unexpected type for argument 6. Expected number.
    [Debug]: Data: string value="MH_BAKONAWA"
    [Debug]: Function: monster
    [Debug]: Source (NPC): Losttower1b (invisible/not on a map)
    [Warning]: NPC event parameter deprecated! Please use 'NPCNAME::OnEVENT' instead of '20863'.
    [Debug]: Source (NPC): Losttower1b (invisible/not on a map)
    [Warning]: buildin_monster: Attempted to spawn non-existing monster class 10
    [Debug]: Source (NPC): Losttower1b (invisible/not on a map)




    I am trying to make players kill 4 mini boss on same map 4 different fixed location to spawn the boss. 
    Mini boss 
    20787,
    20788,
    20789,
    20790,

    Boss spawn 
    MH_BAKONAWA 
    20863
     

  9. Hi everyone. I'm a newbie here, 

    I want to make to kill 4 mini boss, and spawn the main boss in the middle. 

    I already set coordinations for 4 mini boss for fix spawn every 15 minutes. 

    But for the boss, how should I set it? 

    No clue at all... Anyone can help me? 

     

    Let's say

    miniboss monster ID 5000

    Miniboss2 monster ID 5001

    Miniboss3 monster ID 5002

    Miniboss4 monster ID 5003

    Boss monster ID 5004

    Mobskill done, 

    Mobdb done. 

    The only problem is how to script the boss to spawn after killed 4 mini boss? 

×
×
  • Create New...