Jump to content

Pillows

Members
  • Posts

    26
  • Joined

  • Last visited

Posts posted by Pillows

  1. Got this working on older eA Revisions.

    Replace "USESKILL_FAIL_LEVEL" with "0" without the quotations, and replace "LOG_TYPE_VENDING" with ""V"" including the quotations. Look at your output build in Visual Studio to know where to replace them, it should tell you the line number where the errors are.

     

    Since you have to put the patch in manually, I'd suggest downloading a .diff reader. I use GVIM. All the manual additions are straightforward, don't change any of it, except the changes above, even if it looks like it doesn't fit with the rest of the parameters.

     

    Be careful of the itemdb.c addition, make sure the code is above:

    /*======================================
    
      * Applies gender restrictions according to settings. [Skotlex]
    
      *======================================*/

    If all is done correctly, the only warning that comes up is "warning C4020: 'pc_delitem' : too many actual parameters", but you can ignore this. Or you can just remove the ",6", since you're using the eA_patch, to get rid of the warning.

  2.  

     

    thanks for this, i was looking for complete src mods for this charm system but i wasn't able to find one because eA was already down.

     

    Tested and worked perfectly!

    You just forget to add the correct item_db script so anyone can use this.

    #####,Charm,Charm,12,50,,0,,,,,0xFFFFFFFF,15,2,,,60,,,{ bonus bAllStats,100; },{},{}

    But still, not working in Gunslinger & Ninja

    I wish someone will provide fix for Gunslinger & Ninja problem in Charms Mod

    Oh, I never noticed. I have no idea why the original modification left out those classes.

    I came up with a fix, let me know if there's any more problems.

     

    Replace (status.c):

    if ( sd->inventory_data[i]->script && sd->inventory_data[i]->elv <= sd->status.base_level && ( 1 << sd->class_ & MAPID_BASEMASK ) & sd->inventory_data[i]->class_base[ sd->class_ & JOBL_2_1? 1: sd->class_ & JOBL_2_2? 2:0 ] && ( 1 << ( sd->class_ & JOBL_UPPER? 1: sd->class_ & JOBL_BABY? 2:0 ) ) & sd->inventory_data[i]->class_upper ) {
    

    With this:

    if ( sd->inventory_data[i]->script && sd->inventory_data[i]->elv <= sd->status.base_level && sd->inventory_data[i]->class_upper ) {
    

    Updated original post!

     

    Thanks for this !

    But already fixed mine by getting my old src code for status.c file.

    this is the codes that I get somewhere here in rA or in eA forum.

     

    From :

    if ( sd->inventory_data[i]->script && sd->inventory_data[i]->elv <= sd->status.base_level && ( 1 << sd->class_ & MAPID_BASEMASK ) & sd->inventory_data[i]->class_base[ sd->class_ & JOBL_2_1? 1: sd->class_ & JOBL_2_2? 2:0 ] && ( 1 << ( sd->class_ & JOBL_UPPER? 1: sd->class_ & JOBL_BABY? 2:0 ) ) & sd->inventory_data[i]->class_upper ) {

    To :

    if ( sd->inventory_data[i]->script && 0 < sd->status.base_level && sd->inventory_data[i]->class_upper ) {
    run_script( sd->inventory_data[i]->script, 0, sd->bl.id, 0 );

     

    That's the same line of code.

  3. thanks for this, i was looking for complete src mods for this charm system but i wasn't able to find one because eA was already down.

     

    Tested and worked perfectly!

    You just forget to add the correct item_db script so anyone can use this.

    #####,Charm,Charm,12,50,,0,,,,,0xFFFFFFFF,15,2,,,60,,,{ bonus bAllStats,100; },{},{}

    But still, not working in Gunslinger & Ninja

    I wish someone will provide fix for Gunslinger & Ninja problem in Charms Mod

    Oh, I never noticed. I have no idea why the original modification left out those classes.

    I came up with a fix, let me know if there's any more problems.

     

    Replace (status.c):

    if ( sd->inventory_data[i]->script && sd->inventory_data[i]->elv <= sd->status.base_level && ( 1 << sd->class_ & MAPID_BASEMASK ) & sd->inventory_data[i]->class_base[ sd->class_ & JOBL_2_1? 1: sd->class_ & JOBL_2_2? 2:0 ] && ( 1 << ( sd->class_ & JOBL_UPPER? 1: sd->class_ & JOBL_BABY? 2:0 ) ) & sd->inventory_data[i]->class_upper ) {
    

    With this:

    if ( sd->inventory_data[i]->script && sd->inventory_data[i]->elv <= sd->status.base_level && sd->inventory_data[i]->class_upper ) {
    

    Updated original post!

  4. All credit goes to digitalhamster, fixed by ~AnnieRuru~.

    Reposting for personal reasons since Ea has been offline and I happen to have saved a web cache of the pages.
    The topic is old, so you have to manually add the modifications. Plus, the spacings didn't copy out too well.

    The modification works through the item's bonus script in your item_db/db2. Charm's effect don't work if you do not add type (12/etc.), job, upper, and gender in itemdb/db2. Charms will only work with items having type = 12/? on item_db/db2, so your other items won't be affected by this, just the ones you choose.

    Make sure type is set according to your mmo.h.
    For example:

    +++ common/mmo.h (working copy)
    @@ -175,6 +175,7 @@
    IT_UNKNOWN2,//9
    IT_AMMO, //10
    IT_DELAYCONSUME,//11
    + IT_CHARM,
    IT_CASH = 18,

    Looking at IT_CHARM, type is set to 12.

    Item stacking

    Add this if you want to enable item IDs to stack. It will treat each item as a separate item, in its own item slot. Example: Apple (5) will be in different items slots in your inventory and its effects will stack with each other when the code below is added.

    Same item effects on different item IDs will stack regardless of enabling/disabling this modification.

     

    Add this if you want items to stack:

     

    Go to itemdb.c:

    /*==========================================
     * Returns if given item's type is stackable.
     *------------------------------------------*/
    int itemdb_isstackable(int nameid)
    {
      int type=itemdb_type(nameid);
      switch(type) {
    	  case IT_WEAPON:
    	  case IT_ARMOR:
    	  case IT_PETEGG:
    	  case IT_PETARMOR:
    +         case IT_CHARM:
    		  return 0;
    

    And again, right below it:

    /*==========================================
     * Alternate version of itemdb_isstackable
     *------------------------------------------*/
    int itemdb_isstackable2(struct item_data *data)
    {
      nullpo_retr(0, data);
      switch(data->type) {
    	  case IT_WEAPON:
    	  case IT_ARMOR:
    	  case IT_PETEGG:
    	  case IT_PETARMOR:
    +         case IT_CHARM:
    		  return 0;
    

    Fixed version:
    Src for Renewal (manually add): Charms.txt

    Edited Annie's fix for older eA revisions: eA_Charms.txt

     

    Don't try to update this as a .diff, just a suggestion.

    • Love 1
  5. Here's the problem. Card remover, even having a over-weight check, drops equipped items (the one they want to remove cards) when the player has too many item slots occupied in their inventory, as long as they are not over-weight. Is it possible to check if the player has reach the maximum number of items slots in their inventory before proceeding?

    I don't know if equipment with cards causes a problem, but I would guess that as long as the it checks for the limit to be 4 slots under the maximum, there should be no way to abuse the system.

  6. I understand that casting Holy Light on other players causes them to lose Kyrie Elesion, however this doesn't work if the player is wearing Holy Armor or some type of full resist. How can I edit this so that Holy Light will always dispel Kyrie no matter what?

     

    Also, is there a way to make Sonic Blow deal twice the damage in one blow? Similar to Bowling Bash.

  7. I thought about doing it via script, but then I figured it would cause some server problems with latency.

     

    I'm not really sure where to edit this, I tried looking at job_db1 and it did nothing. What do the weapon values for job_db1 do anyway?

    Adding stat bonuses per level isn't ideal for a higher rate server, so that's out of the question.

     

    Can anyone help?

  8. double check any source modification that you added recently..

    if it's just simply the files missing..just redownload it here

    trunk/db/re/item_noequip.txt

    and you need the restricted mapflag to work..

    trunk/conf/mapflag/restricted.txt

    I know restricted works, also I had an older backup of my server and noticed item_noequip.txt is missing there as well. I have already made another item_noequip.txt and it doesn't work. I even tried editing the default restrictions in item_noequip.txt

    I have made some source modifications in the past, but I don't recall any of them.

  9. I have confirmed that my item_noequip.txt no longer works. I have also noticed that the file was suddenly deleted, it may have happened when I recompiled the server but I'm not too sure. What I'm asking for is if anyone knows the source sections that supports item_noequip.txt to function? The restricted mapflag works as well as skill_nocast_db.txt. If you don't know the source snippets is there any other methods to replace item_noequip.txt?

  10. For anyone wondering how to patch it manually, the "-2443" won't help you find it. "-2443" & "+2443" are simply where the lines are located to begin editing. The "6" in "-2443,6" is the boundary of the number of the original lines to be edited, the "22" is how many lines there will be altogether AFTER editing the lines (original and empty lines included). Lines to be edited always begin at the line right after "@@####@@".

    "+" means to add or replace the original lines with the new line. Ex. +"this is the new line to replace the old one/add a new line" (without the "" of course)

    Same with "-", which is to erase that line.

    If you have a different revision far off from the one given in the code, chances are the "@@ -2443,6 etc." won't find the correct lines. We can manually patch it.

    Do you see any lines in between "@@ numbers @@"s that don't have a "+" or a "-" at the beginning of the line? That's because it's from the original un-edited lines, which means you can just "ctrl+f" those un-edited lines if your revision has it that is. After editing the whole thing, make sure that the lines amount to exactly the number from the "@@"s, which is "@@ -2443,6 +2443,22 @@". The final amount is ALWAYS the number after the comma from this line with the "+" sign in: "@@+number,number". Remember, each segment to be edited is separated by the "@@ numbers @@" lines, and it will tell you in the beginning of that segment what file must be edited and where it's located.

    If your revision does not have some of the original lines, do not try to include the rest of the original. If it has none of them and you can't locate the lines, try opening up the a src file (the one you're trying to edit) that has a revision close (preferrably newer) to the one that is given. Don't worry if the ending number doesn't match up if you have a revision a lot older than the one given. Just make sure you are pasting in the right place.

    An easy, simple-wording guide I suppose. I hope to see this in later revisions, if that they would allow it. Extremely useful.

    Also, if downloading and opening the file corrupted the positioning of the lines, and it's hard to read, use this https://www.assembla...mage_v1.1.patch

    And, kinda obvious, from "+[space]text", make sure it's "+[TAB]text" when copy and pasting. Tab in according to how much spacing there is.

    • Upvote 1
×
×
  • Create New...

Important Information

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