Jump to content

Oceanid

Members
  • Posts

    80
  • Joined

  • Last visited

Posts posted by Oceanid

  1. Theres a couple ways you could do it. You can do it in game using the command @mapflag or you can add it to the map flags folder inside the npc folder and load it like a npc.

    //===== rAthena Script =======================================
    //= Mapflag: Disable drops.
    //===== By: ==================================================
    //= rAthena Dev Team
    //===== Current Version: =====================================
    //= 1.2
    //===== Compatible With: =====================================
    //= rAthena Project
    //===== Description: ========================================= 
    //= Disables drops on all maps.
    //===== Additional Comments: ================================= 
    //= 1.0 Initial script.
    //============================================================
    
    
    //===== Maps =====================
    
    guild_vs5	mapflag	nodrop

    Just add this to the map flags folder then you need to add the file location to scripts_mapflags.conf like you would if you were adding npc's. This way you can add more maps to it in the future if you need to.

     

    This link also gives you a list of all the map flags you can use:

     

    http://rathena.org/wiki/Mapflag

  2. It's been a while but if I did this right it should work.

     
    if(countitem(7227) >= 100) {
    
    				delitem 7227, 100;
                            	costume .@Part; // Convert the Headgear
                            	mes "[Clown]";
                            	mes "Done, enjoy your costume headgear.";
                          		close;
    			mes “[Clown]”;
    			mes “I’m sorry but you only have “+countitem(7227)+”TCG Cards.”;
    			mes “You need at least 100 TCG cards to convert your headgear.";
    			close;
    			}
    
    
     

    This is the new script.

    // -------------------------------------------------------------------------------
    //      Script Name : Headgear to Costume converter >> Costume to Headgear converter
    // -------------------------------------------------------------------------------
    // Description :
    // - Allows a user to convert the equipped headgear (on Top, Mid or Low) into a
    //   costume item. It will remove any card and refine of the Item.
    // - Allows a user to restore the equipped costume headgear (on Top, Mid or Low)
         into its original form. It will not return any card or refine of the item.
    // -------------------------------------------------------------------------------
    -       script  Costume Clown   -1,{
            mes "[Clown]";
            mes "Here you can convert your headgears into a Costume Headgear or restore to its Original form.";
            switch(select("I want to convert.:I want to restore.:No thanks.")) {
            case 1:
                            next;
                            mes "Please, select what to convert.";
                            mes "Remember, cards and refine will be removed.";
                            next;
                                    setarray .@Position$[1],"Top","Mid","Low";
                                    setarray .@Position[1],     1,    9,   10;
                                    set .@Menu$,"";
                            for( set .@i, 1; .@i < 5; set .@i, .@i + 1 )
                            {
                                    if( getequipisequiped(.@Position[.@i]) )
                                    set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]";
                                    set .@Menu$, .@Menu$ + ":";
                            }
                            set .@Part, .@Position[ select(.@Menu$) ];
                            if( !getequipisequiped(.@Part) )
                            {
                                    mes "[Clown]";
                                    mes "Your not wearing anything there...";
                                    close;
                            }
                            mes "[Clown]";
                            mes "You want to Costume your " + getitemname(getequipid(.@Part)) + "?";
                            next;
                            if( select("Yes, proceed:No, I am sorry.") == 2 )
                            {
                                    mes "[Clown]";
                                    mes "Need some time to think about it, huh?";
                                    mes "Alright, I can understand.";
                                    close;
                            }
    			if(countitem(7227) >= 100) {
    
    				delitem 7227, 100;
                            	costume .@Part; // Convert the Headgear
                            	mes "[Clown]";
                            	mes "Done, enjoy your costume headgear.";
                          		close;
    			mes “[Clown]”;
    			mes “I’m sorry but you only have “+countitem(7227)+”TCG Cards.”;
    			mes “You need at least 100 TCG cards to convert your headgear.";
    			close;
    			}
            case 2:	
                            next;
                            mes "Please, select what to restore.";
                            mes "Remember, I will only restore it back without refine and cards.";
                            next;
                                    setarray .@Position$[1],"Top","Mid","Low";
                                    setarray .@Position[1],     13,    12,   11;
                                    set .@Menu$,"";
                            for( set .@i, 1; .@i < 5; set .@i, .@i + 1 )
                            {
                                    if( getequipisequiped(.@Position[.@i]) )
                                    set .@Menu$, .@Menu$ + .@Position$[.@i] + "-" + "[" + getequipname(.@Position[.@i]) + "]";
                                    set .@Menu$, .@Menu$ + ":";
                            }
                            set .@Part, .@Position[ select(.@Menu$) ];
                            if( !getequipisequiped(.@Part) )
                            {
                                    mes "[Clown]";
                                    mes "Your not wearing anything there...";
                                    close;
                            }
                            mes "[Clown]";
                            mes "You want to restore your " + getitemname(getequipid(.@Part)) + "?";
                            next;
                            if( select("Yes, proceed:No, I am sorry.") == 2 )
                            {
                                    mes "[Clown]";
                                    mes "Need some time to think about it, huh?";
                                    mes "Alright, I can understand.";
                                    close;
                            }
                            a = getequipid(.@Part);                
                            delitem a,1;
                            getitem a,1;
                           
                            mes "[Clown]";
                            mes "Done, enjoy your restored headgear.";
                            close;
            case 3:
                    mes "[Clown]";
                    mes "Very well. Return at once if you seek my services.";
                    close;
            }
    }
    // --------------------------------------------------------------------------
    // Use duplicates to put your npc on different cities
    // --------------------------------------------------------------------------
    prontera,155,181,4      duplicate(Costume Clown)        Costume Clown#1 715
    

    I don't have a server to test it so let me know if it errors.

  3. Try this:

    Structure of Database:
    // ID,AegisName,Name,Type,Buy,Sell,Weight,ATK,DEF,Range,Slots,Job,Class,Gender,Loc,wLV,eLV,Refineable,View,{ Script },{ OnEquip_Script },{ OnUnequip_Script }
    

    This is the structure that the item_db is written in, each one corresponds to a word or a number.

     

    For example:

    12016,Speed_Up_Potion,Speed Potion,2,2,,100,,,,,0xFFFFFFFF,63,2,,,,,,[{ sc_start SC_SpeedUp1,5000,0; }],{},{}
    

    using the speed potion you want to take the code I put in brackets at the end [{ sc_start SC_SpeedUp1,5000,0; }] and put it with the item you want to have this buff.

    2401,Sandals,Sandals,4,400,,200,,5,,0,0xFFFFFFFF,63,2,64,,0,1,0,{},{ sc_start SC_SpeedUp1,5000,0; },{}
    
    

    Using the sandals you would put  the line of code from above in the second bracket at the end so that the buff only applies once the item is equipped. 

     

     

    This link will explain each part of the db structure in item_db:

     

    http://rathena.org/wiki/Custom_Items

  4. ID,Sprite_Name,kROName,iROName,LV,HP,SP,EXP,JEXP,Range1,ATK1,ATK2,DEF,MDEF,STR,AGI,VIT,INT,DEX,LUK,Range2,Range3,Scale,Race,Element,Mode,Speed,aDelay,aMotion,dMotion,MEXP,MVP1id,MVP1per,MVP2id,MVP2per,MVP3id,MVP3per,Drop1id,Drop1per,Drop2id,Drop2per,Drop3id,Drop3per,Drop4id,Drop4per,Drop5id,Drop5per,Drop6id,Drop6per,Drop7id,Drop7per,Drop8id,Drop8per,Drop9id,Drop9per,DropCardid,DropCardper
    
    

    I know it's cluttered but this is the order in which things are organized for each monster.

    1001,SCORPION,Scorpion,Scorpion,16,153,1,108,81,1,33,40,16,5,12,15,10,5,19,5,10,12,0,4,23,0x3191,200,1564,864,576,0,0,0,0,0,0,0,[990,70,904,5500,757,57,943,210,7041,100,508,200,625,20,0,0,0,0,4068,1]
    
    

    That last bit of code are the numbers for the drops. The first one being the item id and the second one being the rate at which you want the item to drop. If you're just changing drops those two numbers are the only ones you need to change.

     

     

    This link will explain each part of the db structure if you need to change anything else.

     

    http://rathena.org/wiki/Custom_Mobs

  5. To make it so players can use these commands you need to go to \conf\groups.conf and look for these lines of code:

    groups: (
    {
    	id: 0 /* group 0 is the default group for every new account */
    	name: "Player"
    	level: 0
    	inherit: ( /*empty list*/ )
    	commands: {
    		/* no commands by default */
    
    

    Then remove the comment  under commands "command:" and put the commands you want players to be able to use.

  6. Try this:

    recovery <type>{,<option>,<revive_flag>{,<map name>}};
     Description
    
    This command will revive and fully restore the HP/SP of the selected characters. It returns 1 upon successful use.
    
    type	             option
    0: Player	Character ID number
    1: Party	Party ID number
    2: Guild	Party ID number
    3: Map	Map name (a string)
    4: All	None (takes <revive_flag> as option)
    
    If no option is specified, the invoking player's character ID, party ID, guild ID, or map will be used.
    <revive_flag> determines the action:
    flag	Description
    1	Revive and heal all players (default)
    2	Heal living players only
    4	Revive dead players only
    
    
    <map name> can optionally be used to define a single map to execute the command on for types 1 (party) and 2 (guild).
    
  7. Can you post the file you changed already

     

    EDIT:

     

    First, open \src\map\battle.c and look for this line:

    { "max_lv", &battle_config.max_lv, 99, 0, 127,
    

    Change 127 to what you want your max level to be.

     

    Next, go to \src\map\map.h and look for this line:

    #define MAX_LEVEL 99
    

    Once again change 99 to what you want your max level to be

     

    Now go to the db folder and delete the file "exp. txt" and rename your "exp2.txt" to "exp. txt"

     

    Lastly change the levels in your new exp. txt to match your max base and job level. (only change final job classes. i.e. 2nd or third job depending on your server.)

  8. If you've added the npc's to the emulator (I assume to the npc folder) then you need to add them to one of the 8 .conf files located in the npc folder.

    //npc: location/location/file.txt
    

    This is format for when you add npc's to the .conf files (more locations may be necessary)

    npc: npc/custom/warper.txt
    

    Make sure to remove the "//" so the npc is active. Then in game use the @loadnpc command to load the npc.

     

    Ex. @loadnpc custom/warper.txt

     

    Hope this helped

  9. oh, just few hours ago Holiness from hercules forum told me about this in PM

    I see, its from this topic

    https://github.com/HerculesWS/Hercules/commit/a686eea9469d52afa4a3d2360e5382f9044de009

    now just wait euphy to fix this in rathena

     

    //= Currently does not allow for "insurance", or "splitting"
    does anyone knows what is this ?

    maybe a wiki link

     

    They are terms in blackjack.

     

    Insurance is a side bet that the dealer has blackjack and is treated independently of the main wager.

     

    Split (only available as the first decision of a hand): If the first two cards have the same value, the player can split them into two hands, by moving a second bet equal to the first into an area outside the betting box.

  10. Next time post in the right section.

     

    The file is located in rAthena/conf/batttle/homunc.conf

    //--------------------------------------------------------------
    // rAthena Battle Configuration File
    // Originally Translated by Peter Kieser <[email protected]>
    // Made in to plainer English by Ancyker
    //--------------------------------------------------------------
    // Note 1: Value is a config switch (on/off, yes/no or 1/0)
    // Note 2: Value is in percents (100 means 100%)
    // Note 3: Value is a bit field. If no description is given,
    //         assume unit types (1: Pc, 2: Mob, 4: Pet, 8: Homun)
    //--------------------------------------------------------------
    
    // Homunculus setting (Note 3)
    // Activates various 'quirks' that makes them behave unlike normal characters.
    // 0x01: Can't be targetted by support skills (except for their master)
    // 0x04: Mobs will always go after them instead of players until attacked
    // 0x08: Copy their master's speed on spawn/map-change
    // 0x10: They display luk/3+1 instead of their actual critical in the
    //       stat window (by default they don't crit)
    // 0x20: Their Min-Matk is always the same as their max
    // 0x40: Skill re-use delay is reset when they are vaporized.
    // 0x80: Skill re-use delay is reset when they are warped (by skill or item) with player.
    hom_setting: 0x3D
    
    // The rate a homunculus will get friendly by feeding it. (Note 2)
    homunculus_friendly_rate: 100
    
    // Can you name a homunculus more then once? (Note 1)
    hom_rename: no
    
    // Intimacy needed to use Evolved Vanilmirth's Bio Explosion
    hvan_explosion_intimate: 45000
    
    // Show stat growth to the owner when an Homunculus levels up
    homunculus_show_growth: yes
    
    // Does autoloot work, when a monster is killed by homunculus only?
    homunculus_autoloot: yes
    
    // Should homunculi Vaporize when Master dies?
    homunculus_auto_vapor: yes
    
    // Max level for regular Homunculus
    homunculus_max_level: 99
    
    // Max level for Homunculus S
    homunculus_S_max_level: 150
    
    // Growth level for Homunculus S
    // This is the level at which homunculus S can use their growth tables
    // Without this, a shuffle causes all levels of a Homunculus S to use their
    // growth tables, causing imbalanced stats
    homunculus_S_growth_level: 99
    
    
×
×
  • Create New...