Jump to content

Jaycee KyD

Members
  • Posts

    33
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by Jaycee KyD

  1. hi there anyone can help me in this source code. sample i want to make extra damage if the player equip the item( id code ) in source code not in item_db. 

    EXAMPLE:

    DARKNESSATTACK:
            if (sd->equip_index[EQP_HEAD_TOP] == 19001 ) { skillratio += 500 + 40 * skill_lv;
     break; }
                skillratio += 300 + 40 * skill_lv;
                break;

    this code is not working  if (sd->equip_index[EQP_HEAD_TOP] == 19001 ) is there anyone can help me? thank you in advance

  2. use @inventorylist_bound[]

     

    *getinventorylist;
    
    This command sets a bunch of arrays with a complete list of whatever the
    invoking character has in their inventory, including all the data needed to
    recreate these items perfectly if they are destroyed. Here's what you get:
    
    @inventorylist_id[] - array of item ids.
    @inventorylist_amount[] - their corresponding item amounts.
    @inventorylist_equip[] - whether the item is equipped or not.
    @inventorylist_refine[] - for how much it is refined.
    @inventorylist_identify[] - whether it is identified.
    @inventorylist_attribute[] - whether it is broken.
    @inventorylist_card1[] - These four arrays contain card data for the items.
    @inventorylist_card2[] These data slots are also used to store names
    @inventorylist_card3[] inscribed on the items, so you can explicitly check
    @inventorylist_card4[] if the character owns an item made by a specific
    craftsman.
    @inventorylist_expire[] - expire time (Unix time stamp). 0 means never expires.
    @inventorylist_bound[] - whether it is bound to the character
    @inventorylist_count - the number of items in these lists.
  3. you need to diff a new client then disable nagle algorithm..

    edit conf/battle/skill.conf

    delay_rate: 75

    delay_dependon_agi: yes

    min_skill_delay_limit: 80

    no_skill_delay: 31

     

  4. need level 1 account
    //eathena

    -    script    test    -1,{
    OnPCLoadMapEvent:
    if ( getgmlevel() == 1 )
        getmapxy .@map$,.@x,.@y,0;
        query_sql "SELECT `save_map`, `save_x`, `save_y` FROM `char` WHERE `name` = '"+strcharinfo(0)+"' and `char_id` = "+ getcharid(0)+"", .@mapz$, .@xx, .@yy;
            if (.@map$ == .@mapz$ && .@x == .@xx && .@y == .@yy) {
            percentheal 85,85;
            end;
    }
    }


    need group_id 1 account

    //rathena

    -    script    test    -1,{
    OnPCLoadMapEvent:
    if ( getgroupid() == 1 )
        getmapxy .@map$,.@x,.@y,0;
        query_sql "SELECT `save_map`, `save_x`, `save_y` FROM `char` WHERE `name` = '"+strcharinfo(0)+"' and `char_id` = "+ getcharid(0)+"", .@mapz$, .@xx, .@yy;
            if (.@map$ == .@mapz$ && .@x == .@xx && .@y == .@yy) {
            percentheal 85,85;
            end;
    }
    }


    //eamod
    -    script    test    -1,{
    OnPCLoadMapEvent:
    if ( isPremium() == 1 )
        getmapxy .@map$,.@x,.@y,0;
        query_sql "SELECT `save_map`, `save_x`, `save_y` FROM `char` WHERE `name` = '"+strcharinfo(0)+"' and `char_id` = "+ getcharid(0)+"", .@mapz$, .@xx, .@yy;
            if (.@map$ == .@mapz$ && .@x == .@xx && .@y == .@yy) {
            percentheal 85,85;
            end;
    }
    }
     

    if you save in prontera then die at the prontera the script will not working but if you die in other map then respawn to save points the script 100% working 

  5. try this

    25001,mega potion,mega potion,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ sc_start SC_ITEMSCRIPT,180000,25003; sc_start SC_ITEMSCRIPT,180000,25004; },{},{}
    25002,mega potion,mega potion,2,0,,10,,,,,0xFFFFFFFF,7,2,,,,,,{ bonus2 bResEff,Eff_Stun,10000; bonus2 bResEff,Eff_Freeze,10000; },{},{}

    25003,stun dummy,stun dummy,6,20,,10,,,,,,,,16,,,,,{ bonus2 bResEff,Eff_Stun,10000; },{},{}
    25004,freeze dummy,freeze dummy,6,20,,10,,,,,,,,16,,,,,{ bonus2 bResEff,Eff_Freeze,10000; },{},{}

     

    enemy can dispel item # 25001

    enemy can't dispel item # 25002

    item # 25002

    1. i dont know how long the effect will remove

    2. if you die the effect still there

    3. if you relog the effect will remove

  6. Here's an outline of what you have to do:
    1. decide which database is the "main" one, and which is being merged into the main one.
    2. check the "main" ragnarok databse and find out the highest account_id, char_id, and any other indexs
    3. then in the database that you will merge into the "main" one, you need to run queries to increase the account_id, char_id, and any other important indexes.
    Example: account_id 2000001 + 3000000 = account_id 5000001
    4. do all those queries on each table where `account_id` appears
    5. repeat for `char_id`, etc etc (this solves the problem of duplicate indexes)
    6. also repeat this for duplicate login names and char names
    (ex: if there is a login "test" in your main database, and also a login "test" in the 2nd database
    you could run a query to add a 2 to the end of all duplicates --> "test2"
    7. and do something similar for duplicate char names
    8. now you can just merge that database into your "main" one


    http://www.eathena.ws/board/index.php?showtopic=237661&st=0&p=1296053entry1296053

×
×
  • Create New...