Jump to content

Bringer

Members
  • Posts

    746
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Bringer

  1. 				if ( sc->data[SC_REFLECTSHIELD] && skill_id != WS_CARTTERMINATION ) {
    					// Don't reflect non-skill attack if has SC_REFLECTSHIELD from Devotion bonus inheritance
    					if (!skill_id && battle_config.devotion_rdamage_skill_only && sc->data[SC_REFLECTSHIELD]->val4)
    						rdamage = 0;
    					else {
    						rdamage += damage * sc->data[SC_REFLECTSHIELD]->val2 / 100;
    						if (rdamage < 1)
    							rdamage = 1;
    					}
    				}
    
    				if (sc->data[SC_DEATHBOUND] && skill_id != WS_CARTTERMINATION && skill_id != GN_HELLS_PLANT_ATK && !(src->type == BL_MOB && is_boss(src))) {
    					if (distance_bl(src,bl) <= 0 || !map_check_dir(map_calc_dir(bl,src->x,src->y), unit_getdir(bl))) {
    						int64 rd1 = 0;

    Find This code and add GS_DESPERADO Make Sure Backup your battle.c

    • Love 1
  2. 6 hours ago, skymia said:

    Can anyone help me in item combo set?

    Example: if i equipped all of those item i can have additional stats, buff or effect...its like dragon nest on completing a full set armors and weapons

    If thers's 1 or 2 more items that players not yet have you will not recieve the additional stats, buff or element effect

    Items: 

    Dragon armor, manteau, shield, shoes

    Valk helm, valk wings, dragon aura

    https://github.com/rathena/rathena/blob/master/db/pre-re/item_combo_db.txt#L66

    SAMPLE Combo

    • Upvote 1
  3. 20 minutes ago, sader1992 said:

    try this

    
    pvp_n_1-2,0,0,0,0	monster	1 Point	1007,60,0,60000,"fabre_punch_main::OnKill_1"
    pvp_n_1-2,0,0,0,0	monster	10 Points	1007,30,0,60000,"fabre_punch_main::OnKill_2"
    pvp_n_1-2,0,0,0,0	monster	-20 Points	1007,50,0,60000,"fabre_punch_main::OnKill_3"
    pvp_n_1-2,0,0,0,0	monster	Super Points	1229,10,0,60000,"fabre_punch_main::OnKill_4"
    
    	OnKill_1:
    		callsub( L_Point,( .point_rate * 1 ) ); // Fabre = 1 Point
    		end;
    		
    	OnKill_2:
    		callsub( L_Point,( .point_rate * 10 ) ); // Fabre = 10 Point
    		end;
    		
    	OnKill_3:
    		callsub( L_Point,( .point_rate * -20 ) ); // Fabre = -20 Point
    		end;
    		
    	OnKill_4:
    		callsub( L_Point, rand( 1,100 ), 1 ); // Fabre = random 1~100 Point
    		end;
    		
    	L_Point:
    		if ( .status == 2 ) {
    			.@value = getarg( 0,0 );
    			
    			
    			query_sql( "INSERT INTO `e_fabre_punch_rank` (`cid`, `name`, `point`) VALUES ( "+getcharid(0)+", '"+escape_sql( strcharinfo(0) )+"', "+.@value+" ) ON DUPLICATE KEY UPDATE `point` = `point` + "+.@value );
    			dispbottom "<Fabre Punch Event> Gained " + .@value + " Point.";
    			if(getarg(1))
    				announce "Super Fabre has been killed by [ " + strcharinfo(0) + " ] for " + .@value + " Point(s) !",bc_map;
    		}
    		else if ( .status == 0 ) {
    			dispbottom "Event not yet start, please wait.";
    		}
    		return;
    }

     

    Announce is Working Fine now BUT Error on map server

    sader.png

  4. Hello i want to only announce when the players Killed the Super Fabre But the problem all monster has been killed announce it
     

    pvp_n_1-2,0,0,0,0	monster	1 Point	1007,60,0,60000,"fabre_punch_main::OnKill_1"
    pvp_n_1-2,0,0,0,0	monster	10 Points	1007,30,0,60000,"fabre_punch_main::OnKill_2"
    pvp_n_1-2,0,0,0,0	monster	-20 Points	1007,50,0,60000,"fabre_punch_main::OnKill_3"
    pvp_n_1-2,0,0,0,0	monster	Super Points	1229,10,0,60000,"fabre_punch_main::OnKill_4"
    
    	OnKill_1:
    		callsub( L_Point,( .point_rate * 1 ) ); // Fabre = 1 Point
    		end;
    		
    	OnKill_2:
    		callsub( L_Point,( .point_rate * 10 ) ); // Fabre = 10 Point
    		end;
    		
    	OnKill_3:
    		callsub( L_Point,( .point_rate * -20 ) ); // Fabre = -20 Point
    		end;
    		
    	OnKill_4:
    		callsub( L_Point, rand( 1,100 ), bc_map ); // Fabre = random 1~100 Point
    		end;
    		
    	L_Point:
    		if ( .status == 2 ) {
    			.@value = getarg( 0,0 );
    			.@announce = getarg( 1,bc_self );
    			
    			query_sql( "INSERT INTO `e_fabre_punch_rank` (`cid`, `name`, `point`) VALUES ( "+getcharid(0)+", '"+escape_sql( strcharinfo(0) )+"', "+.@value+" ) ON DUPLICATE KEY UPDATE `point` = `point` + "+.@value );
    			dispbottom "<Fabre Punch Event> Gained " + .@value + " Point.";
    			if ( .@announce )
    				announce "Super Fabre has been killed by [ " + strcharinfo(0) + " ] for " + .@value + " Point(s) !",.@announce;
    		}
    		else if ( .status == 0 ) {
    			dispbottom "Event not yet start, please wait.";
    		}
    		return;
    }

     

  5. 41 minutes ago, sader1992 said:
    
    prontera,0,0,0	script	yes i am npc	444,{
    	mes"player name?";
    	input .@name$;
    	attachrid(getcharid(3,.@name$))
    	delitem 10013,countitem(10013);
    	detachrid;
    	close;
    }

     

    Can i yess there a menu yes or not and need to input name

  6. Hello i already made a custom skill and is Working Fine
     

    			if(--(sce->val4) >= 0) {
    			status_kill(bl);
    			clif_specialeffect(bl, 450, AREA);
    			break;
    			sc_timer_next(45000+tick,status_change_timer,bl->id, data);
    			return 0;
    		}

    anyone help how to write condition for my New Soul Linker?

    Effect
    giving twice more time for duration and preventing you from dying

  7. the Custom skill is Working Fine Just Like the LOV BUT

    clif_specialeffect(bl, 90, AREA); Not Wokring

    					case JE_LIG: {
    						clif_specialeffect(bl, 90, AREA);
    						int interval = 0, per = interval, ratio = per;
    
    						while((per++) < skill_lv) {
    							ratio += interval;
    							if(per%3 == 0)
    								interval += 20;
    						}
    							if (skill_lv > 9)
    								ratio -= 10;
    							skillratio += ratio;
    						}
    						break;

     

  8. 12 hours ago, Anacondaqq said:

    clif.hpp:

    
    enum send_target : uint8_t {
    	ALL_CLIENT = 0,
    	ALL_SAMEMAP,
    	AREA,				// area
    	AREA_WOS,			// area, without self
    	AREA_WOC,			// area, without chatrooms
    	AREA_WOSC,			// area, without own chatroom
    	AREA_CHAT_WOC,		// hearable area, without chatrooms
    	CHAT,				// current chatroom
    	CHAT_WOS,			// current chatroom, without self
    	PARTY,
    	PARTY_WOS,
    	PARTY_SAMEMAP,
    	PARTY_SAMEMAP_WOS,
    	PARTY_AREA,
    	PARTY_AREA_WOS,
    	GUILD,
    	GUILD_WOS,
    	GUILD_SAMEMAP,
    	GUILD_SAMEMAP_WOS,
    	GUILD_AREA,
    	GUILD_AREA_WOS,
    	GUILD_NOBG,
    	DUEL,
    	DUEL_WOS,
    	SELF,

    A target like what? You need to replace &sd->bl address to target_bl one (this depends on your code).

     

    on the enemy i want to display the special effect on enemy target
    this is my code right now 

    		case PA_newskill:
    			clif_specialeffect(&sd->bl, 494, AREA);
    			skillratio += 100 + 30 * skill_lv;
    			break;

     

  9. i have little question about this

    clif_specialeffect(&sd->bl, 11, AREA_WOS);

    This would show the Endure skill visual effect on given player for everyone in his or her range, except the player him- or herself.

    how about the effect given on the Target?

  10. sd->status.inventory this is not supported anymore on latest rathena

    here the working Src Code for Rogue Link Strip

    	// By pass FCP when using single strip skills by 15%(requires Glistening Coat).
    	if ( sd && tsc && sd->sc.data[SC_SPIRIT] && sd->sc.data[SC_SPIRIT]->val2 == SL_ROGUE && rand()%100 < 75
    	&&
    	( skill_id == RG_STRIPWEAPON && tsc->data[SC_CP_WEAPON] ||
    	skill_id == RG_STRIPSHIELD && tsc->data[SC_CP_SHIELD] ||
    	skill_id == RG_STRIPARMOR && tsc->data[SC_CP_ARMOR] ||
    	skill_id == RG_STRIPHELM && tsc->data[SC_CP_HELM] ) ) {
    	int item_id = 7139; // Glistening Coat
    	int ii;
    	ARR_FIND( 0, MAX_INVENTORY, ii, sd->inventory.u.items_inventory[ii].nameid == item_id );
    	if ( ii < MAX_INVENTORY ) {
    		pc_delitem( sd, ii, 1, 0, 0, LOG_TYPE_CONSUME);
    		switch ( skill_id ) {
    			case RG_STRIPWEAPON:
    				status_change_end( bl, SC_CP_WEAPON, INVALID_TIMER );
    				sc_start(NULL,bl,SC_WEAPON,100,skill_lv,skill_get_time(skill_id,skill_lv)));
    				break;
    			case RG_STRIPSHIELD:
    				status_change_end( bl, SC_CP_SHIELD, INVALID_TIMER );
    				sc_start(NULL,bl,SC_WEAPON,100,skill_lv,skill_get_time(skill_id,skill_lv)));
    				break;
    			case RG_STRIPARMOR:
    				status_change_end( bl, SC_CP_ARMOR, INVALID_TIMER );
    				sc_start(NULL,bl,SC_WEAPON,100,skill_lv,skill_get_time(skill_id,skill_lv)));
    				break;
    			case RG_STRIPHELM:
    				status_change_end( bl, SC_CP_HELM, INVALID_TIMER );
    				sc_start(NULL,bl,SC_WEAPON,100,skill_lv,skill_get_time(skill_id,skill_lv)));
    				break;
    			}
    			clif_skill_nodamage( src, bl, skill_id, skill_lv, i );
    				break;
    				}
    			}

     

×
×
  • Create New...