Jump to content

Scanty

Members
  • Posts

    70
  • Joined

  • Last visited

  • Days Won

    2

Posts posted by Scanty

  1. In game?

    If it's in game

    conf/char_athena.conf

    // Set the letters/symbols that you want use with the 'char_name_option' option.
    // Note: Don't add spaces unless you mean to add 'space' to the list.
    char_name_letters: abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890

    add the letter

    á é í ó ú

     

  2. Alright.

    src/map/skill.cpp

    Line: 4113

    				case WL_CHAINLIGHTNING_ATK: {
    						skill_attack(BF_MAGIC,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag); // Hit a Lightning on the current Target
    						skill_toggle_magicpower(src, skl->skill_id); // Only the first hit will be amplified
    						if( skl->type < (4 + skl->skill_lv - 1) && skl->x < 3  )
    						{ // Remaining Chains Hit
    							struct block_list *nbl = NULL; // Next Target of Chain
    							nbl = battle_getenemyarea(src, target->x, target->y, (skl->type>2)?2:3, // After 2 bounces, it will bounce to other targets in 7x7 range.
    									BL_CHAR|BL_SKILL, target->id); // Search for a new Target around current one...
    							if( nbl == NULL )
    								skl->x++;
    							else
    								skl->x = 0;							
    							skill_addtimerskill(src, tick + 651, (nbl?nbl:target)->id, skl->x, 0, WL_CHAINLIGHTNING_ATK, skl->skill_lv, skl->type + 1, skl->flag);
    						}
    					}

     

    This line:

    skill_addtimerskill(src, tick + 651, (nbl?nbl:target)->id, skl->x, 0, WL_CHAINLIGHTNING_ATK, skl->skill_lv, skl->type + 1, skl->flag);

    change: 651 to 100 or a number < 651 is the speed in miliseconds i guess?.  in 100 Chain Lighthing hits are very fast. Save and compile your svr.

  3. Go to db/pre or re/item_flag.txt

    // Flagged Items
    // <ItemID>,<Flag>
    //
    // <Flag>:
    //  1 - As Dead Branch item (will be logged at `branchlog` table and cannot be used at 'nobranch' mapflag)
    //  2 - As item group container, check player's inventory and weight before consumed
    //  4 - GUID Item: When this item is obtained, will generates GUID that cannot be stacked even same or stackable item
    //  8 - Item will be bound item when equipped
    // 16 - Special Broadcast: When item dropped by monster and player loot it, will be broadcasted!
    // 32 - Item will not be removed on consumption. Also supports 'itemskill'
    // NOTE: For removing flag by import file, use "-" to remove the flag. Example, 604,-1 will removes flag 1 from Branch_Of_Dead_Tree

    Search the id for example id: 16396 = HD Elunium 10PC Box

    16393,-1 //HD_Ori_Box5
    16394,-1//HD_Ori_Box10
    16395,-1 //HD_Elu_Box5
    16396,-1 //HD_Elu_Box10

    I remove the mapflag but if you want can you change to 2 or what ever you want. Then use @reload itemdb

    Important: If you already have items non stackeable, you need to create new item to be stackeable. 

    • Upvote 3
  4. Go to db/pre or re/skill_db.txt

    // 06 nk (skill damage properties):
    //    0x01 - No damage skill
    //    0x02 - Has splash area
    //    0x04 - Damage should be split among targets
    //    0x08 - Skill ignores caster's % damage cards (misc type always ignores)
    //    0x10 - Skill ignores elemental adjustments
    //    0x20 - Skill ignores target's defense (misc type always ignores)
    //    0x40 - Skill ignores target's flee (magic type always ignores)
    //    0x80 - Skill ignores target's def cards

    Search Skill id: 2008

    2008,9,6,2,3,0x42,1:1:1:2:2:2:3:3:4:4,10,1,no,0,0x40000,0,weapon,0,0x0,	RK_DRAGONBREATH,Dragon Breath

    0x42 = 0x40 + 0x02. For your purpose i will change to : 0x62 = 0x40+0x20+0x20. 

    Dragon Breath in this case don't ignore caster's % damage cards, like hydra, etc. Change to 0x70 if you want.

    Save and reload skilldb.

     

    • Upvote 1
    • Like 1
  5. src/map/clif.cpp

     

    /// Request to invoke the effect of super novice's guardian angel prayer (CZ_CHOPOKGI).
    /// 01ed
    /// Note: This packet is caused by 7 lines of any text, followed by
    ///       the prayer and an another line of any text. The prayer is
    ///       defined by lines 790~793 in data\msgstringtable.txt
    ///       "Dear angel, can you hear my voice?"
    ///       "I am" (space separated player name) "Super Novice~"
    ///       "Help me out~ Please~ T_T"
    void clif_parse_NoviceExplosionSpirits(int fd, struct map_session_data *sd)
    {
    	if( (sd->class_&MAPID_UPPERMASK) == MAPID_SUPER_NOVICE ) {
    		unsigned int next = pc_nextbaseexp(sd);
    
    		if( next ) {
    			int percent = (int)( ( (float)sd->status.base_exp/(float)next )*1000. );
    
    			if( percent && ( percent%100 ) == 0 ) {// 10.0%, 20.0%, ..., 90.0%
    				sc_start(&sd->bl,&sd->bl, status_skill2sc(MO_EXPLOSIONSPIRITS), 100, 17, skill_get_time(MO_EXPLOSIONSPIRITS, 5)); //Lv17-> +50 critical (noted by Poki) [Skotlex]
    				clif_skill_nodamage(&sd->bl, &sd->bl, MO_EXPLOSIONSPIRITS, 5, 1);  // prayer always shows successful Lv5 cast and disregards noskill restrictions
    			}
    		}
    	}
    }

     

    • Upvote 1
  6. -	script	Flower#0::iceflower	-1,{
    
    if (readJeff >= 1) {
    
    set .@fcast,20;
    		if (countitem(6381)) { // Field Shovel   
    			set .@fcast,.@fcast - 18;
    		}
    		progressbar "ffffff",.@fcast;
            set .@flower,rand(1,15);
            if (.@flower == 1) set .@item2,18747;
            else if (.@flower == 2) set .@item2,518; // Honey
            else if (.@flower == 3) set .@item2,514; // Grape	
            else if (.@flower == 4) set .@item2,510; // Blue Herb
            else if (.@flower == 5) set .@item2,7018; // Young Twig
            else if (.@flower == 6) set .@item2,7871; // Bean Bag
            else if (.@flower == 7) set .@item2,19541; // Costume Romantic White Flower [0]   [Costume Lower Head]
    		else if (.@flower == 8) set .@item2,6079; // Flower Of Alfheim
    		else if (.@flower == 9) set .@item2,7871; // Bean Bag
    		else if (.@flower == 10) set .@item2,905; // Stem
    		else if (.@flower == 11) set .@item2,7018; // Young Twig
    		else if (.@flower == 12) set .@item2,12293; // Dried Yggdrasilberry Heilt 20% SP
    		else if (.@flower == 13) set .@item2,12292; // Unripe Yggdrasilberry Heilt 20% HP
    		else if (.@flower == 14) set .@item2,7871; // Bean Bag
    		else if (.@flower == 15) set .@item2,7033; // Poison Spore
            getitem .@item2,1;
    		delitem 6381,1;
    		initnpctimer;
    		disablenpc strnpcinfo(0);
    		end;
    OnTimer180000:
    	enablenpc strnpcinfo(0);
    	stopnpctimer;
    	end;		
    		
    }
    	mes "..........";
    	close;	
    }
    ice_dun01,242,80,4	duplicate(iceflower)	Flower#1	527
    ice_dun01,53,73,4	duplicate(iceflower)	Flower#2	527
    ice_dun01,289,74,4	duplicate(iceflower)	Flower#3	527
    ice_dun01,239,81,4	duplicate(iceflower)	Flower#4	527

    OnTimer180000 = 3 minutes to show again the npc.

    • Like 1
  7. Option 1: 

    prontera,150,150,4	script	Warper	939,{	
    
    	if (countitem(7338) < 1) 
    	{
    		mes "[Waper]";
    		mes "Sorry, you don't have VIP Badge";
    		close;
    	} else {
    			mes "hello master i'm a vip warper where did you want to warp";
    			next;
    			switch(select("Morning WOE:Evening WOE")) 
    		{
    		case 1:
    			warp "prontera",150,151;
    			break;
    		case 2:
    			warp "prontera",150,152;
    			break;
    		}
    	
    	
    
    			}	
    
    }

     

    Option 2:

    prontera,150,150,4	script	Warper	939,{
    	if (countitem(7338) < 1) 
    	{
    		mes "[Waper]";
    		mes "Sorry, you don't have VIP Badge";
    		close;
    	} else {
    		mes "hello master i'm a vip warper... blaabla.";
    		if (gettime(3)>= 6&&gettime(3)<= 12) {
    		select ("Morning WOE");
    		warp "prontera",150,151; 
    	} 	if (gettime(3)>=13&&gettime(3)<=18) {
    		select ("Evening WOE");
    		warp "prontera",150,152; 
    				}
    		   }
    }

     

  8. specialeffect2 EF_LIGHTSPHERE;
    bonus_script "{ bonus bMaxHPrate,100; bonus bDefRate,-50; bonus bMdefRate,-50; }",180,1024,0,SI_MVPCARD_TAOGUNKA;

    It's only expand the duration, for example

    bonus_script "{ bonus bMaxHPrate,100; bonus bDefRate,-50; bonus bMdefRate,-50; }",5,1024,0,SI_MVPCARD_TAOGUNKA;

    The effect will end in 5sec, but if i use the item when i have 1 sec remaning to end the effect, that script will add 5 more sec.

    But if i use 2 at the same time, the time duration will not stack, exm: i have 4 sec remaning and i use again the time, i got 1 sec because i already have 4 sec . sorry if i confuse you. I'm learning english :(

  9. -	script	Drop_extra	-1,{
    
    OnNPCKillEvent:
    
    
    
    if( rand( 100 ) <= 3 && (Class == Job_Knight || Class == Job_Lord_Knight || Class == Job_Rune_Knight_T)) {
    { .@item_id = F_Rand( 7097,1034 );
    
    getitem .@item_id,1;  }
    end; 
    }
    
    if( rand( 100 ) <= 3 && (Class == Job_Sage || Class == Job_Professor || Class == Job_Sorcerer_T)) {
    { .@item_id = F_Rand( 904,946 );
    
    getitem .@item_id,1;  }
    end; 
    
    }
    
    if( rand( 100 ) <= 3 && (Class == Job_Blacksmith || Class == Job_Whitesmith || Class == Job_Mechanic_T)) {
    { .@item_id = F_Rand( 999,984 );
    
    getitem .@item_id,1;  }
    end; 
    
    }
    
    if( rand( 100 ) <= 3 && (Class == Job_Alchemist || Class == Job_Creator || Class == Job_Genetic_T)) {
    { .@item_id = F_Rand(  7135,7136 );
    
    getitem .@item_id,1;  }
    end; 
    
    }
    
    if ( rand( 100 ) <= 3  && (Class == Job_Assassin || Class == Job_Assassin_Cross || Class == Job_Guillotine_Cross_T)) {
    { .@item_id = F_Rand( 7155,7003 );
    
    getitem .@item_id,1;  }
    end; 
    
    }
    
    }

     

    • Upvote 1
  10. @Emistry Code:

     

    OnNPCKillEvent:
    
    if ( rand( 2 ) ) {
    
    .@item_id = F_Rand( 501,502,503,504,505 );
    
    getitem .@item_id,1;
    
    }
    
    end;

    Just change:

    -	script	Poring_Coin	-1,{
    OnNPCKillEvent:
    
    if ( rand( 100 ) <= 90 ) {
    
    .@item_id = F_Rand( 7539 );
    
    getitem .@item_id,1;
    
    }
    
    end;
    
    }

    Steps:

    1) Create a txt in npc/custom/allmonstersdrop.txt

    2) Put the code.

    3) Save the file.

    4) open  ...\rathena\npc\scripts_custom.conf

    5) add npc: npc/custom/allmonstersdrop.txt

    6)  type @reload script ingame

    7). kill monsters.

    • Like 1
×
×
  • Create New...