Jump to content

themon

Members
  • Content Count

    517
  • Joined

  • Last visited

  • Days Won

    6

Posts posted by themon


  1. [cbox]Index: conf/battle/battle.conf
    ===================================================================
    --- conf/battle/battle.conf (revision 17156)
    +++ conf/battle/battle.conf (working copy)
    @@ -141,3 +141,10 @@
    // range. For example, Sonic Blow requires a 2 cell distance before autocasting is allowed.
    // This setting also affects autospellwhenhit.
    autospell_check_range: no
    +
    +// [Cydh]
    +// If you want to player can't warp, go, recalled, relog on battle for a while
    +// You can use this to give them delay
    +// Battle means while player attacking, using skills, receiving damage
    +// Delay in milisecond
    +prevent_warponbattle: 5000
    Index: conf/msg_conf/map_msg.conf
    ===================================================================
    --- conf/msg_conf/map_msg.conf (revision 17156)
    +++ conf/msg_conf/map_msg.conf (working copy)
    @@ -1409,5 +1409,8 @@
    // @skillid (extension)
    1398: -- Displaying first %d partial matches:

    +// warpgo delay
    +1399: You must wait %.1f sec. before %s.
    +
    //Custom translations
    import: conf/import/msg_conf.txt
    Index: src/map/atcommand.c
    ===================================================================
    --- src/map/atcommand.c (revision 17156)
    +++ src/map/atcommand.c (working copy)
    @@ -379,6 +379,7 @@
    unsigned short mapindex;
    short x = 0, y = 0;
    int16 m = -1;
    + int diff_tick, tick = gettick(); //warp on battle

    nullpo_retr(-1, sd);

    @@ -392,6 +393,14 @@
    return -1;
    }

    + //warp on battle
    + if((diff_tick = DIFF_TICK(sd->canwarp_tick,tick)) > 0 && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE))
    + {
    + sprintf(atcmd_output, msg_txt(1555), diff_tick/1000., command);
    + clif_displaymessage(fd, atcmd_output);
    + return -1;
    + }
    +
    mapindex = mapindex_name2id(map_name);
    if (mapindex)
    m = map_mapindex2mapid(mapindex);
    @@ -1676,6 +1685,7 @@
    int town;
    char map_name[MAP_NAME_LENGTH];
    int16 m;
    + int diff_tick, tick = gettick(); //warp on battle

    const struct {
    char map[MAP_NAME_LENGTH];
    @@ -1730,6 +1740,14 @@
    return 0;
    }

    + //warp on battle
    + if((diff_tick = DIFF_TICK(sd->canwarp_tick,tick)) > 0 && !pc_has_permission(sd, PC_PERM_WARP_ANYWHERE))
    + {
    + sprintf(atcmd_output, msg_txt(1555), diff_tick/1000., command);
    + clif_displaymessage(fd, atcmd_output);
    + return -1;
    + }
    +
    memset(map_name, '0', sizeof(map_name));
    memset(atcmd_output, '0', sizeof(atcmd_output));

    @@ -2669,6 +2687,7 @@
    *
    *------------------------------------------*/
    ACMD_FUNC(recall) {
    + int diff_tick, tick = gettick(); //warp on battle
    struct map_session_data *pl_sd = NULL;

    nullpo_retr(-1, sd);
    @@ -2684,6 +2703,14 @@
    return -1;
    }

    + //warp on battle
    + if((diff_tick = DIFF_TICK(sd->canwarp_tick,tick)) > 0 && !pc_has_permission(pl_sd, PC_PERM_WARP_ANYWHERE))
    + {
    + sprintf(atcmd_output, msg_txt(1555), diff_tick/1000., "recall this player");
    + clif_displaymessage(fd, atcmd_output);
    + return -1;
    + }
    +
    if ( pc_get_group_level(sd) < pc_get_group_level(pl_sd) )
    {
    clif_displaymessage(fd, msg_txt(81)); // Your GM level doesn't authorize you to preform this action on the specified player.
    Index: src/map/battle.c
    ===================================================================
    --- src/map/battle.c (revision 17156)
    +++ src/map/battle.c (working copy)
    @@ -5898,6 +5898,7 @@
    { "skill_trap_type", &battle_config.skill_trap_type, 0, 0, 1, },
    { "item_restricted_consumption_type", &battle_config.item_restricted_consumption_type,1, 0, 1, },
    { "max_walk_path", &battle_config.max_walk_path, 17, 1, MAX_WALKPATH, },
    + { "prevent_warponbattle", &battle_config.prevent_warponbattle, 10000, 0, INT_MAX, }, //warp on battle
    };
    #ifndef STATS_OPT_OUT
    /**
    Index: src/map/battle.h
    ===================================================================
    --- src/map/battle.h (revision 17156)
    +++ src/map/battle.h (working copy)
    @@ -486,6 +486,8 @@
    int skill_trap_type;
    int item_restricted_consumption_type;
    int max_walk_path;
    +
    + int prevent_warponbattle; //warp on battle
    } battle_config;

    void do_init_battle(void);
    Index: src/map/pc.c
    ===================================================================
    --- src/map/pc.c (revision 17156)
    +++ src/map/pc.c (working copy)
    @@ -982,6 +982,7 @@
    sd->cantalk_tick = tick;
    sd->canskill_tick = tick;
    sd->cansendmail_tick = tick;
    + sd->canwarp_tick = tick; //warp on battle

    for(i = 0; i < MAX_SKILL_LEVEL; i++)
    sd->spirit_timer = INVALID_TIMER;
    @@ -6505,6 +6506,7 @@
    elemental_set_target(sd,src);

    sd->canlog_tick = gettick();
    + sd->canwarp_tick = gettick() + battle_config.prevent_warponbattle; //warp on battle
    }

    /*==========================================
    @@ -6842,6 +6844,11 @@
    //Reset "can log out" tick.
    if( battle_config.prevent_logout )
    sd->canlog_tick = gettick() - battle_config.prevent_logout;
    +
    + //warp on battle
    + if( battle_config.prevent_warponbattle )
    + sd->canwarp_tick = gettick() - battle_config.prevent_warponbattle;
    +
    return 1;
    }

    Index: src/map/pc.h
    ===================================================================
    --- src/map/pc.h (revision 17156)
    +++ src/map/pc.h (working copy)
    @@ -216,6 +216,7 @@
    unsigned int cansendmail_tick; // [Mail System Flood Protection]
    unsigned int ks_floodprotect_tick; // [Kill Steal Protection]
    unsigned int bloodylust_tick; // bloodylust player timer [out/in re full-heal protection]
    + unsigned int canwarp_tick; //delay for player when warp after attacking, receving damage, or using skill. //warp on battle

    struct {
    short nameid;
    Index: src/map/skill.c
    ===================================================================
    --- src/map/skill.c (revision 17156)
    +++ src/map/skill.c (working copy)
    @@ -7276,6 +7276,8 @@
    int dx[9]={-1, 1, 0, 0,-1, 1,-1, 1, 0};
    int dy[9]={ 0, 0, 1,-1, 1,-1,-1, 1, 0};
    int j = 0;
    + int diff_tick, tick = gettick(); //warp on battle
    + char output[CHAT_SIZE_MAX]; //warp on battle
    struct guild *g;
    // i don't know if it actually summons in a circle, but oh well. ;P
    g = sd?sd->state.gmaster_flag:guild_search(status_get_guild_id(src));
    @@ -7287,6 +7289,13 @@
    if ((dstsd = g->member.sd) != NULL && sd != dstsd && !dstsd->state.autotrade && !pc_isdead(dstsd)) {
    if (map[dstsd->bl.m].flag.nowarp && !map_flag_gvg2(dstsd->bl.m))
    continue;
    + //warp on battle
    + if((diff_tick = DIFF_TICK(sd->canwarp_tick,tick)) > 0 && !pc_has_permission(dstsd, PC_PERM_WARP_ANYWHERE))
    + {
    + sprintf(output, msg_txt(1555), diff_tick/1000., "get called by EMERGENCY CALL");
    + clif_displaymessage(dstsd->fd, output);
    + continue;
    + }
    if(map_getcell(src->m,src->x+dx[j],src->y+dy[j],CELL_CHKNOREACH))
    dx[j] = dy[j] = 0;
    pc_setpos(dstsd, map_id2index(src->m), src->x+dx[j], src->y+dy[j], CLR_RESPAWN);
    Index: src/map/unit.c
    ===================================================================
    --- src/map/unit.c (revision 17156)
    +++ src/map/unit.c (working copy)
    @@ -1368,6 +1368,9 @@
    else
    skill_castend_id(ud->skilltimer,tick,src->id,0);

    + if(sd) //warp on battle
    + sd->canwarp_tick = gettick() + battle_config.prevent_warponbattle;
    +
    return 1;
    }

    @@ -1505,6 +1508,10 @@
    ud->skilltimer = INVALID_TIMER;
    skill_castend_pos(ud->skilltimer,tick,src->id,0);
    }
    +
    + if(sd) //warp on battle
    + sd->canwarp_tick = gettick() + battle_config.prevent_warponbattle;
    +
    return 1;
    }

    @@ -1586,6 +1593,9 @@
    unit_stop_attack(src);
    return 0;
    }
    + //warp on battle
    + if(battle_config.prevent_warponbattle)
    + sd->canwarp_tick = gettick() + battle_config.prevent_warponbattle;
    }
    if( battle_check_target(src,target,BCT_ENEMY) <= 0 || !status_check_skilluse(src, target, 0, 0) ) {
    unit_unattackable(src);
    @@ -1879,7 +1889,14 @@
    struct block_list *bl;
    bl = map_id2bl(id);
    if(bl && unit_attack_timer_sub(bl, tid, tick) == 0)
    + {
    + //warp on battle
    + TBL_PC* sd = (TBL_PC*)bl;
    + if(sd && battle_config.prevent_warponbattle)
    + sd->canwarp_tick = gettick() + battle_config.prevent_warponbattle;
    +
    unit_unattackable(bl);
    + }
    return 0;
    }

    [/cbox]


  2.  

    //============================================================

    //= Hercules Readme File

    //===== By: ==================================================

    //= Hercules Dev Team

    //===== Description: =========================================

    //= Basic information and installation guide with links to

    //= various forum posts and Wiki articles.

    //============================================================

     

    ============================

    || Table of Contents ||

    ============================

    || 1. What is Hercules? ||

    || 2. Prerequisites ||

    || 3. Installation ||

    || 4. Troubleshooting ||

    || 5. Helpful Links ||

    || 6. More Documentation ||

    ============================

     

     

    ============================

    || 1. What is Hercules? ||

    ============================

    Hercules is a collaborative software development project revolving around the

    creation of a robust massively multiplayer online role playing game (MMORPG)

    server package. Written in C, the program is very versatile and provides NPCs,

    warps and modifications. The project is jointly managed by a group of volunteers

    located around the world as well as a tremendous community providing QA and

    support. Hercules is a continuation of the original Athena project.

     

     

     

    ============================

    || 2. Prerequisites ||

    ============================

    Before installing Hercules there are certain tools and applications you will need.

    This differs between the varying operating systems available, so the following

    is broken down into Windows and Linux prerequisites.

     

    Windows

    * TortoiseGIT (http://code.google.com/p/tortoisegit/)

    * MSysGit (http://code.google.com/p/msysgit/downloads/list?can=2)

    * MySQL (http://www.mysql.com/downloads/mysql/)

    * MySQL Workbench (http://www.mysql.com/downloads/workbench/)

    * MS Visual C++ (http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express)

     

    Linux (names of packages may require specific version numbers on certain distributions)

    * gcc

    * make

    * mysql

    * mysql-devel

    * mysql-server

    * pcre-devel

    * git

    * zlib-devel

     

     

     

    ============================

    || 3. Installation ||

    ============================

    This section is a very brief set of installation instructions. For more concise guides

    relevant to your Operation System, please refer to the Wiki (links at the end of this file).

     

    Windows

    * Install prerequisites

    * Create a folder to download Hercules into (e.g. C:Hercules)

    * Right click this folder and select "Git Clone".

    * Paste the GIT URL into the box: https://github.com/HerculesWS/Hercules.git

    * Open MySQL Workbench and create an instance to connect to your MySQL Server

    * Create a database (hercules), a user (hercules), give permissions (GRANT SELECT,INSERT,UPDATE,DELETE)

    and then login using the new user

    * Use MySQL Workbench to run the .sql files in /sql-files/ on the new Hercules database

     

    Linux

    (For CentOS) Step 1: yum install gcc make mysql mysql-devel mysql-server pcre-devel zlib-devel

    Step 2: rpm -Uvhhttp://repo.webtatic.com/yum/centos/5/latest.rpm

    Step 3: yum install --enablerepo=webtatic git-all

    Step 4: yum install --enablerepo=webtatic --disableexcludes=main git-all

    (For Debian) Type: apt-get install git make gcc libmysqlclient-dev zlib1g-dev libpcre3-dev

    * Type: mysql_secure_installation

    * Start your MySQL server

    * Setup a MySQL user: CREATE USER 'hercules'@'localhost' IDENTIFIED BY 'password';

    * Assign permissions: GRANT SELECT,INSERT,UPDATE,DELETE ON `hercules_rag`.* TO 'hercules'@'localhost';

    * Type: git clone https://github.com/HerculesWS/Hercules.git ~/Hercules

    * Insert SQL files: mysql --user=root -p hercules_rag < trunk/sql-files/main.sql (and others)

    * Type: cd trunk && ./configure && make clean && make sql

    * When you're ready, type: ./athena-start start

     

     

     

    ============================

    || 4. Troubleshooting ||

    ============================

    If you're having problems with starting your server, the first thing you should

    do is check what's happening on your consoles. More often that not, all support issues

    can be solved simply by looking at the error messages given.

     

    Examples:

     

    1.) You get an error on your map-server_sql that looks something like this:

    [Error]: npc_parsesrcfile: Unable to parse, probably a missing or extra TAB in

    file 'npc/custom/jobmaster.txt', line '17'. Skipping line...

    * w1=prontera,153,193,6 script

    * w2=Job Master

    * w3=123,{

    * w4=

     

    If you look at the error, it's telling you that you're missing (or have an extra) TAB.

    This is easily fixed by looking at this part of the error: * w1=prontera,153,193,6 script

    If there was a TAB where it's supposed to be, that line would have prontera,153,193,6 at w1

    and 'script' at w2. As there's a space instead of a TAB, the two sections are read as a

    single parameter.

     

    2.) You have a default user/password warning similar to the following:

    [Warning]: Using the default user/password s1/p1 is NOT RECOMMENDED.

    [Notice]: Please edit your 'login' table to create a proper inter-server user/pa

    ssword (gender 'S')

    [Notice]: and then edit your user/password in conf/map-server.conf (or conf/impo

    rt/map_conf.txt)

     

    Relax. This is just indicating that you're using the default username and password. To

    fix this, check over the part in the installation instructions relevant to the `login` table.

     

    3.) Your Map Server says the following:

    [Error]: make_connection: connect failed (socket #2, error 10061: No connection

    could be made because the target machine actively refused it.

    )!

     

    If this shows up on the map server, it generally means that there is no Char Server available

    to accept the connection.

     

     

     

    ============================

    || 5. Helpful Links ||

    ============================

    The following list of links point to various help files within the GIT, articles or

    pages on the Wiki or topics within the Hercules forum.

     

    * Hercules Forums

    http://herc.ws/board/

     

    * GIT Repository URL:

    https://github.com/HerculesWS/Hercules

     

    * Hercules IRC Channel

    irc.rizon.net

    Channel: #Hercules

     

     

     

    ============================

    || 6. More Documentation ||

    ============================

    Hercules has a large collection of help files and sample NPC scripts located in /doc/

     

    * Scripting

    It is recommended to look through /doc/script_commands.txt for help, pointers or

    even for ideas for your next NPC script. Most script commands have a usage example.

     

    * @commands

    In-game, Game Masters have the ability to use Atcommands (@) to control players,

    create items, spawn mobs, reload configuration files and even control the weather.

    For an in-depth explanation, please see /doc/atcommands.txt

     

    * Permissions

    The Hercules emulator has a permission system that enables certain groups of players

    to perform certain actions, or have access to certain visual enhancements or in-game

    activity. To see what permissions are available, they are detailed in /doc/permissions.txt

     

    There are more files in the /doc/ directory that will help you to create scripts or update the

    mapcache, or even explain how the job system and item bonuses work. Before posting a topic asking

    for help on the forums, we recommend that all users take the time to look over this directory.

     

     

     

    test this

    https://www.mediafire.com/folder/6xqxlxdx7leth/Ragnarok Main folder

    https://www.mediafire.com/folder/sqrrrqa797mre/GRF FILES

     

    this is my ready made

    https://www.mediafire.com/folder/hg3wqu9a1cc7w/ready made

     

     

     


  3. player.conf

     

    // Maximum atk speed. (Default 190, Highest allowed 199)

    max_aspd: 190

     

    // Same as max_aspd, but for 3rd classes. (Default 193, Highest allowed 199)

    max_third_aspd: 199

     

    // Maximum walk speed rate (200 would be capped to twice the normal speed)

    max_walk_speed: 300

     

    // Maximum HP. (Default is 1000000)

    max_hp: 1000000

     

    // Maximum SP. (Default is 1000000)

    max_sp: 1000000

     

    // Max limit of char stats. (agi, str, etc.)

    max_parameter: 99

     

    // Same as max_parameter, but for 3rd classes.

    max_third_parameter: 220

     

    // Same as max_parameter, but for baby classes.

    max_baby_parameter: 80

     

    // Same as max_parameter, but for baby 3rd's.

    max_baby_third_parameter: 150

     


  4. i changed with xvii32 the system folder, now is sabaro folder and the iteminfo.lua to itemsaba.lua i am testing your exe and the problem is taht, my exe, but i dont know where is the problem. cand u tell me wich diff did u use?

    I'm currently using 2013-12-30aRagexe.exe but still apply the same diff all the time

     

    [cbox]64 @ Bug Fix (Recommended)

    33 Always Call SelectKoreaClientInfo() (Recommended)

    51 Ascii & Arial on All Langtypes (Recommended)

    97 Cancel to Login Window (Recommended)

    8 Custom Window Title

    9 Disable 1rag1 type parameters (Recommended)

    15 Disable HShield (Recommended)

    14 Disable Hallucination Wavy Screen (Recommended)

    61 Disable Packet Encryption (Recommended)

    13 Disable Ragexe Filename Check (Recommended)

    34 Enable /showname (Recommended)

    68 Enable 64k Hairstyle

    205 Enable Monster tables

    49 Enable Multiple GRFs (Recommended)

    24 Fix Camera Angles (Recommended)

    71 Ignore Missing File Error

    72 Ignore Missing Palette Error

    204 Increase Attack Display

    28 Increase Headgear ViewID

    32 Increase Zoom Out Max

    36 Read msgstringtable.txt (Recommended)

    37 Read questid2display.txt (Recommended)

    38 Remove Gravity Ads (Recommended)

    39 Remove Gravity Logo (Recommended)

    73 Remove Hourly Announce (Recommended)

    84 Remove Serial Display (Recommended)

    40 Restore Login Window (Recommended)

    44 Translate Client (Recommended)

    45 Use Custom Aura Sprites

    48 Use Plain Text Descriptions (Recommended)

    47 Use Ragnarok Icon[/cbox]


  5.  

    RO/System/iteminfo.lub you can also use iteminfo.lua to avoid conflict in updating your sakray but you must diff your client load iteminfo.lua befor lub

     

    It is categorize in your Ragnarok in Folder Files

    hey im using 2013 ragexe then i am trying to add more items i put the item and collection in the right place then i add the sprites in their right location then in my luafiles/datainfo i have accessoryid.lua and accessoryid.lub and accename.lua and accename.lub i add the item on that 4 file 

     

    in accename.lua and lub i add 

      [ACCESSORY_IDs.ACCESSORY_Heart_Ring] = "Heart_Ring",
     
    in accessoryid.lua and lub i add
      ACCESSORY_Heart_Ring = 1004,
     
    then i my itemdb2 i add
     

    Id: 26000
    AegisName: "Heart_Ring"
    Name: "Heart Ring"
    Type: 5
    Buy: 10
    Weight: 15
    Def: 0
    Upper: 63
    Loc: 4096
    View: 1004
    },
    {

     

    but when i @item it fails no items is being made

    accessoryid

    ACCESSORY_BUSHY_MOUSTACHE = 1004,

     

    did you add this ACCESSORY_Heart_Ring = 1004, or edit ACCESSORY_BUSHY_MOUSTACHE = 1004,?

     

    if you add it maybe that is the conflict .

     

    or maybe try to add this also in your accname_eng.lub

    [ACCESSORY_IDs.ACCESSORY_Heart_Ring] = "_Heart_Ring",

     

    check mine

    http://upaste.me/7db810081a2f77a99

    http://upaste.me/3c5c10082dcf35d8c

    http://upaste.me/2085100798c5d45e1


  6. clif.h
    enum CASH_SHOP_TABS {
     CASHSHOP_TAB_NEW    = 0,
     CASHSHOP_TAB_POPULAR  = 1,
     CASHSHOP_TAB_LIMITED  = 2,
     CASHSHOP_TAB_RENTAL    = 3,
     CASHSHOP_TAB_PERPETUITY = 4,
     CASHSHOP_TAB_BUFF    = 5,
     CASHSHOP_TAB_RECOVERY  = 6,
     CASHSHOP_TAB_ETC    = 7,
      CASHSHOP_TAB_SPECIAL   = 8,  //Discounted Items
     CASHSHOP_TAB_MAX,
    };
     
    [cbox]//====================================================
    //= _ _ _
    //= | | | | | |
    //= | |_| | ___ _ __ ___ _ _| | ___ ___
    //= | _ |/ _ '__/ __| | | | |/ _ / __|
    //= | | | | __/ | | (__| |_| | | __/__
    //= _| |_/___|_| ___|__,_|_|___||___/
    //=
    //= http://herc.ws/board/
    //================= More Information =================
    //= http://herc.ws/board/topic/367-introducing-cash-shop-support/
    //====================================================
    // This file handles the entire Cashshop. You can simply
    // add in any amount of items you like within each category.
    // Please keep in mind that the Cashshop does not work
    // with ragexere clients.
    // Categories can be empty or even missing, but, if
    // present, their names must be kept as cat_, where
    // is a valid tab index, as descripbed in 'enum
    // CASH_SHOP_TABS' in clif.c (normally 0 through 7)
    //====================================================

    cash_shop: (
    {
    cat_0: { //New
    Apple:100
    ID531:250
    }

    cat_1: { //Popular
    ID513:100
    Banana_Juice:250
    }

    cat_2: { //Limited
    Grape:100
    ID533:250
    }

    cat_3: { //Rental
    ID515:100
    Carrot_Juice:250
    }

    cat_4: { //Permanent
    Green_Herb:100
    ID510:250
    }

    cat_5: { //Scroll
    ID501:100
    ID502:250
    }

    cat_6: { //Usable
    White_Potion:150
    Blue_Potion:500
    }

    cat_7: { //Other
    ID909:400
    ID907:500
    }

    cat_8: { //Special
    ID909:400:10 //10% discount
    ID907:500:15 //15% discount
    }
    }
    )[/cbox]


  7.  

    themon, your first capture did not capture the pet egg o_O,

     

      HEADER_CZ_REQUEST_TIME =  0x88A, // shuffled (0x7E, tick send)

      HEADER_ZC_NOTIFY_TIME =  0x7f,

      HEADER_ZC_PAR_CHANGE =  0xb0,

     

     

      HEADER_CZ_SELECT_PETEGG =  0x1a7,

      HEADER_SC_NOTIFY_BAN =  0x81,

     

    Edit:

    so, it seems the client is sending  FF FF  instead of the egg id ?

    Neo, there was a client 1 week before this date that was unpacked also, maby can we (you ;)) release that client too ?

     

    Thanks

     

    18-12-2013 => http://www.mediafire.com/download/gka7gobcuxx0iq9/2013-12-18bRagexe.rar

    23-12-2013 => http://www.mediafire.com/download/cc4vfdrdd4r15hb/2013-12-23cRagexe.rar

    30-12-2013 => http://www.mediafire.com/download/usy52ffv57tprtm/2013-12-30aRagexe.zip

     

    these are the only 3 non packed clients we have.

     

    Yommy can u get the packet dbs :P

    30-12-2013 Ragexe client works great and I see that they removed the line in the clif.c that causing the pet hatch error "clif->authfail_fd(fd, 0);"

×
×
  • Create New...

Important Information

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