Jump to content

Capuche

Developer
  • Posts

    2,403
  • Joined

  • Last visited

  • Days Won

    47

Community Answers

  1. Capuche's post in Custom Branch group new rathena was marked as the answer   
    To add a custom monster summon branch, the steps are:
     Add MOBG_G_D_Branch_01 before MOBG_MAX in https://github.com/rathena/rathena/blob/2f311bd1ef6abf0de642f93690eb37bebbb34d14/src/map/mob.hpp#L116  Add MOBG_G_D_Branch_01 after export_constant(MOBG_TAEKWON_MISSION); in https://github.com/rathena/rathena/blob/2f311bd1ef6abf0de642f93690eb37bebbb34d14/src/map/script_constants.hpp#L4625 After compiling your server should have created a folder named "import". Add your custom branch data in import/mob_summon.yml Header: Type: MOB_SUMMONABLE_DB Version: 1 Body: - Group: G_D_Branch_01 Default: MAYA Summon: - Mob: MAYA Rate: 100000 - Mob: DEVILING Rate: 700000 - Mob: Drake Rate: 700000       4. In import/item_db.yml
    - Id: **** AegisName: name Name: name Type: Usable Buy: 10000 Weight: 200 Flags: BuyingStore: true DeadBranch: true Script: | monster "this",-1,-1,"--ja--",-1-MOBG_G_D_Branch_01,1,"";  
    All other steps are unnecessary (I think you just forgot to compile according to the error in your first post).
  2. Capuche's post in Guild instance was marked as the answer   
    In
    switch(instance_enter( [email protected]$, 170, 36, [email protected]_id, 102)) { "102" should be replaced by the instance id of your guild given by
    instance_id(IM_GUILD)  
  3. Capuche's post in Ask about skill_db.yml was marked as the answer   
    # ItemCost: Item required to cast. (Default: 0) # - Item Item name. # Amount Item amount. How come you came to think that the file could support this when it's not in the documentation 🤔
    hmm............. 🤦‍♂️
  4. Capuche's post in reflect damage how to reduce was marked as the answer   
    https://github.com/rathena/rathena/commit/d4d8130bcf0733d4d9edc4019db02184912c13c0
  5. Capuche's post in GM ID wont bypass mapflag noskill and nowarp was marked as the answer   
    Change skill_unconditional to true
    https://github.com/rathena/rathena/blob/0e42b738c59be3330395e8c79c51500d534fcf55/conf/groups.conf#L290
  6. Capuche's post in cell walkable with hidden npc in it was marked as the answer   
    Well there is no setting like Akkarin said, but this change in map.cpp should allow you to walk on cell where the npcs are hidden/disabled/invisible (untested)
    @@ -553,6 +553,11 @@ int map_count_oncell(int16 m, int16 x, int16 y, int type, int flag) if (type&~BL_MOB) for( bl = mapdata->block[bx+by*mapdata->bxs] ; bl != NULL ; bl = bl->next ) if(bl->x == x && bl->y == y && bl->type&type) { + if (bl->type == BL_NPC) { + struct npc_data *nd = (struct npc_data *)bl; + if (nd && (nd->sc.option&(OPTION_INVISIBLE|OPTION_HIDE) || nd->class_ == JT_FAKENPC || nd->class_ == JT_HIDDEN_WARP_NPC)) + continue; + } if(flag&1) { struct unit_data *ud = unit_bl2ud(bl); if(!ud || ud->walktimer == INVALID_TIMER)  
  7. Capuche's post in About euphys Quest shop. was marked as the answer   
    https://github.com/rathena/rathena/blob/bdd63022a9c479df833304add9537eca7f39b331/conf/battle/items.conf#L139
    set to 0
  8. Capuche's post in How break an equipped weapon? was marked as the answer   
    if (getequipid(EQI_HAND_R) != -1) breakequip(EQI_HAND_R); end; Shorter 🤏 xD
    *breakequip <equipment slot>{,<char_id>}; This command will break and unequip whatever is currently equipped in the invoking character's specified equipment slot. For a full list of possible equipment slots see 'getequipid'. This command will return 1 if an item was broken and 0 otherwise.  
  9. Capuche's post in Some mountable classes are bugged was marked as the answer   
    https://github.com/rathena/rathena/commit/80810e24f820d0f5f92c3c62345de60a863eaf5a
  10. Capuche's post in OnNPCKillEvent not work in instances was marked as the answer   
    The monsters of yours instance probably have their own label.
    monster "place",60,100,"Poring",1002,1; // call OnNPCKillEvent on monster dead monster "place",60,100,"Poring",1002,1,"NPCNAME::OnLabel"; // call OnLabel on monster dead (not OnNPCKillEvent)  
  11. Capuche's post in makeitem2 not dropping on floor was marked as the answer   
    If you're using a version after https://github.com/rathena/rathena/commit/26720f041a3cd0edbaa975bfc70345a30e9bf706
    change
    getmapxy( [email protected]$,[email protected],[email protected],0 ); to
    getmapxy( [email protected]$,[email protected],[email protected],BL_PC );  
  12. Capuche's post in Unofficial Fallen Angel Wing (FAW) Enchantment was marked as the answer   
    Simple note that I merged a version in the main repo while updating eden_iro.txt in https://github.com/rathena/rathena/commit/339e6c67182e5cb344fcd614329f2b7fb048d8bf#diff-ad177424d33f756ef2d34a911a9fb86aR1168
     
  13. Capuche's post in unitskilluseid,unitskillusepos weird workaround to remove cast time was marked as the answer   
    *unitskilluseid <GID>,<skill id>,<skill lvl>{,<target id>,<casttime>}; *unitskilluseid <GID>,"<skill name>",<skill lvl>{,<target id>,<casttime>}; *unitskillusepos <GID>,<skill id>,<skill lvl>,<x>,<y>{,<casttime>}; *unitskillusepos <GID>,"<skill name>",<skill lvl>,<x>,<y>{,<casttime>}; This is the replacement of the older commands, these use the same values for GID as the other unit* commands (See 'GID'). Skill ID is the ID of the skill, skill level is the level of the skill. Cast time is the amount of seconds to add or remove from the skill. Use a positive value to add and negative value to subtract. Using 0 or no value will use the default skill cast time. For the position, the x and y are given in the UnitSkillUsePos. Using 0 or no value will use the default skill cast time.
    Read the docs !
  14. Capuche's post in Have any person Write SHOP script random option on buy item ? was marked as the answer   
    How about https://gist.github.com/Atemo/7b741b940ce324c2fa17b8ccdcd84133/revisions
    The random options are randomly given when purchasing in the script btw.
     
    Mark the shop number as random option shop in
    // ----------------------------------------------------------- // List of Shop ID using random option system. // ----------------------------------------------------------- Shop_Random_Option(1,2); // shop 1 and 2 are using random option system. Set the option given randomly for each slot in
    function get_option_id { // opt slot 1 [email protected][0] = F_Rand( RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET, RDMOPT_DAMAGE_PROPERTY_POISON_TARGET, RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET, RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET, RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET, RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET, RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET, RDMOPT_DAMAGE_PROPERTY_WIND_TARGET, RDMOPT_DAMAGE_PROPERTY_WATER_TARGET, RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET ); // opt slot 2 [email protected][1] = F_Rand( RDMOPT_RACE_DAMAGE_NOTHING, RDMOPT_RACE_DAMAGE_UNDEAD, RDMOPT_RACE_DAMAGE_INSECT, RDMOPT_RACE_DAMAGE_HUMAN, RDMOPT_RACE_DAMAGE_DRAGON, RDMOPT_RACE_DAMAGE_ANGEL, RDMOPT_RACE_DAMAGE_PLANT, RDMOPT_RACE_DAMAGE_DEVIL, RDMOPT_RACE_DAMAGE_ANIMAL, RDMOPT_RACE_DAMAGE_FISHS ); // opt slot 3 // [email protected][2] = // opt slot 4 // [email protected][3] = setarray getarg(0), [email protected][0], [email protected][1], [email protected][2], [email protected][3]; return; } and set the value for each option ID in
    // return a random value depending of the option ID function get_option_value { [email protected]_of_optid = getarraysize( getarg(1) ); for ( [email protected] = 0; [email protected] < [email protected]_of_optid; [email protected]++ ) { [email protected] = getelementofarray( getarg(1), [email protected] ); switch([email protected]) { case RDMOPT_DAMAGE_PROPERTY_NOTHING_TARGET: case RDMOPT_DAMAGE_PROPERTY_POISON_TARGET: case RDMOPT_DAMAGE_PROPERTY_UNDEAD_TARGET: case RDMOPT_DAMAGE_PROPERTY_DARKNESS_TARGET: case RDMOPT_DAMAGE_PROPERTY_TELEKINESIS_TARGET: case RDMOPT_DAMAGE_PROPERTY_SAINT_TARGET: case RDMOPT_DAMAGE_PROPERTY_FIRE_TARGET: case RDMOPT_DAMAGE_PROPERTY_WIND_TARGET: case RDMOPT_DAMAGE_PROPERTY_WATER_TARGET: case RDMOPT_DAMAGE_PROPERTY_GROUND_TARGET: [email protected] = rand(1,20); break; case RDMOPT_RACE_DAMAGE_NOTHING: case RDMOPT_RACE_DAMAGE_UNDEAD: case RDMOPT_RACE_DAMAGE_INSECT: case RDMOPT_RACE_DAMAGE_HUMAN: case RDMOPT_RACE_DAMAGE_DRAGON: case RDMOPT_RACE_DAMAGE_ANGEL: case RDMOPT_RACE_DAMAGE_PLANT: case RDMOPT_RACE_DAMAGE_DEVIL: case RDMOPT_RACE_DAMAGE_ANIMAL: case RDMOPT_RACE_DAMAGE_FISHS: [email protected] = rand(1,20); break; } set getelementofarray( getarg(0), [email protected] ), [email protected]; } return; }  
  15. Capuche's post in I need a script that will lock the castle doors I wish was marked as the answer   
    The title matches the description at least.
    izlude,100,100,0 script I need a script that will 56,{ disablenpc "lock the castle doors I wish"; end; } ordeal_1-1,100,150,0 warp lock the castle doors I wish 1,1,ordeal_1-1,128,150  
  16. Capuche's post in System vending was marked as the answer   
    Re-update your server it has been fixed in https://github.com/rathena/rathena/commit/5908c0484fc3243575afbfc8f231d01f64837052
    To resume mapserv crashed when getmapxy command attempted to retrieve the map of floating npc.
  17. Capuche's post in parse_callfunc: not enough arguments, expected ',' was marked as the answer   
    Add quote to the map name, "[email protected]_pay"
  18. Capuche's post in Whats the difference between these scripts was marked as the answer   
    Nothing, the two do the same thing.
  19. Capuche's post in How to add more shop in quest_shop.txt was marked as the answer   
    setarray .Shops$[1],"Costumes","Equipments","Accessory","etc"; Where are the names of shops 5, 6, 7 ?
  20. Capuche's post in How to make RANDOM OPTION weapon effect with more than 1 random option? was marked as the answer   
    setarray [email protected][0], RDMOPT_WEAPON_ATTR_TELEKINESIS, RDMOPT_VAR_AGIAMOUNT; setarray [email protected][0], 0,3; setarray [email protected][0], 0,0; getitem3 28705,1,1,9,0,0,0,0,0,[email protected],[email protected],[email protected]; should give 2 charms in the item. Fill the arrays.
  21. Capuche's post in Attaching RID to another NPC. was marked as the answer   
    Use doevent instead of donpcevent to keep the RID attached !
  22. Capuche's post in How to separate npc_dynamic_shop.txt shops into a different NPC? was marked as the answer   
    Set your shop in
    // Script Core //============================================================ - script quest_shop -1,{ Call the shop in
    // Shop NPCs -- supplying no argument displays entire menu. // callfunc "qshop"{,<shop ID>{,<shop ID>{,...}}}; //============================================================ prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop"; } // call all shop prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop",1; } // call shop number 1 prontera,164,203,6 script Quest Shop#1 998,{ callfunc "qshop",1,2; } // call shop number 1 and 2  
  23. Capuche's post in Get id of the target when using a skill was marked as the answer   
    * There is currently no script command to retrieve the current target of the unit.
    * <target id> is the GID of the target.
  24. Capuche's post in Disable @storage was marked as the answer   
    Try mapflag notrade
  25. Capuche's post in Temporary Item Array was marked as the answer   
    izlude,128,124,0 script dumb menu A 4_F_01,{ mes "what do you want to do"; while (true) { next; if (select( "^FF0000Add an item^000000", "Close" ) == 2) end; mes "Input Item ID :"; input [email protected]_item; if (getitemname([email protected]_item) == "null") { mes "Invalid item ID " + [email protected]_item; continue; } mes "Input Amount :"; input [email protected]_amount; if ([email protected]_amount == 0) { mes "Invalid amount."; continue; } [email protected]_id[ [email protected] ] = [email protected]_item; [email protected][ [email protected] ] = [email protected]_amount; [email protected]++; mes "Item list :"; for ( [email protected] = 0; [email protected] < [email protected]; [email protected]++ ) mes ([email protected]+1) + "/ x" + [email protected][[email protected]] + " ^ff0000" + getitemname([email protected]_id[[email protected]]) + "^000000"; } }  
×
×
  • Create New...

Important Information

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