Перейти к содержанию

Sanasol

Administrators
  • Постов

    917
  • Зарегистрирован

  • Посещение

  • Победитель дней

    125

Сообщения, опубликованные Sanasol

  1. Межсерверная связь страдает.

    Если ты в Украине, сайт на котором голосуешь в Москве, а топ в ебенях. То есть шанс что скажет что ты не проголосовал. Как эту проблему решить так и не знаю. Много людей говорят что не голосует, а в следующий раз голосует как ни в чем не бывало.

    • Upvote 2
  2. ………………..,-~*’`¯lllllll`*~,

    …………..,-~*`lllllllllllllllllllllllllll¯`*-,

    ………,-~*llllllllllllllllllllllllllllllllllllllllllll*-,

    ……,-*llllllllllllllllllllllllllllllllllllllllllllllllllllll.\

    ….;*`lllllllllllllllllllllllllll,-~*~-,llllllllllllllllllll\

    …..\lllllllllllllllllllllllllll/………\;;;;llllllllllll,-`~-,

    ……\lllllllllllllllllllll,-*………..`~-~-,…(.(¯`*,`,

    …….\llllllllllll,-~*…………………)_-\..*`*;..)

    ……..\,-*`¯,*`)…………,-~*`~.……………/

    ………|/…/…/~,……-~*,-~*`;……………./.\

    ……../…/…/…/..,-,..*~,.`*~*…………….*…\

    …….|…/…/…/.*`…\………………………)….)¯`~,

    …….|./…/…./…….)……,.)`*~-,…………/….|..)…`~-,

    ……/./…/…,*`-,…..`-,…*`….,---……\…./…../..|………¯```*~-

    ……(……….)`*~-,….`*`.,-~*.,-*……|…/.…/…/…………\

    …….*-,…….`*-,…`~,..``.,,,-*……….|.,*…,*…|……\

    ……….*,………`-,…)-,…………..,-*`…,-*….(`-,…

    • Upvote 2
  3. Находим в battle.c


    if(sc->data[SC_EDP] &&
    skill_num != ASC_BREAKER &&
    skill_num != ASC_METEORASSAULT &&
    skill_num != AS_SPLASHER &&
    skill_num != AS_VENOMKNIFE)
    ATK_ADDRATE(sc->data[SC_EDP]->val3);
    }

    Добавляем && skill_num != MO_EXTREMITYFIST


    if(sc->data[SC_EDP] &&
    skill_num != ASC_BREAKER &&
    skill_num != ASC_METEORASSAULT &&
    skill_num != AS_SPLASHER &&
    skill_num != AS_VENOMKNIFE &&
    skill_num != MO_EXTREMITYFIST)
    ATK_ADDRATE(sc->data[SC_EDP]->val3);
    }

  4. Синтакс:

    <mapname>    mapflag    droprate    <rate>

    Настройка:

    drops.conf

    // Enable the droprate mapflag? (Note 1)
    droprate_mapflag: 1

    Примеры:

    Дроп монстров убиваемых в Пронтере будет урезан в половину.

    т.е. Poring дропает Empty Bottle с шансом 100% (@mi). Если его вызвать в Пронтере шанс будет 50%

     prontera    mapflag    droprate    50

    Дроп монстров убиваемых в Геффене будет удвоен.

    т.е. Fabre дпроает Clover с шансом 10% (@mi). Если его вызвать в Геффене шанс будет 20%

       geffen    mapflag    droprate    200

    Скачать

    дифф

    Index: conf/battle/drops.conf
    ===================================================================
    --- conf/battle/drops.conf (revision 14935)
    +++ conf/battle/drops.conf (working copy)
    @@ -146,3 +146,6 @@
    // 333 = show announces for 3.33% or lower drop chance items
    // 10000 = show announces for all items
    rare_drop_announce: 0
    +
    +// Enable the droprate mapflag? (Note 1)
    +droprate_mapflag: 1
    \ No newline at end of file
    Index: src/map/atcommand.c
    ===================================================================
    --- src/map/atcommand.c (revision 14935)
    +++ src/map/atcommand.c (working copy)
    @@ -4433,6 +4433,8 @@
    strcat(atcmd_output, "PartyLock | ");
    if (map[m_id].flag.guildlock)
    strcat(atcmd_output, "GuildLock | ");
    + if (map[m_id].droprate)
    + strcat(atcmd_output, "DropRate | ");
    clif_displaymessage(fd, atcmd_output);

    switch (list) {
    Index: src/map/battle.c
    ===================================================================
    --- src/map/battle.c (revision 14935)
    +++ src/map/battle.c (working copy)
    @@ -4014,6 +4014,7 @@
    { "display_party_name", &battle_config.display_party_name, 0, 0, 1, },
    { "cashshop_show_points", &battle_config.cashshop_show_points, 0, 0, 1, },
    { "mail_show_status", &battle_config.mail_show_status, 0, 0, 2, },
    + { "droprate_mapflag", &battle_config.droprate_mapflag, 0, 0, 1, },
    // BattleGround Settings
    { "bg_update_interval", &battle_config.bg_update_interval, 1000, 100, INT_MAX, },
    { "bg_short_attack_damage_rate", &battle_config.bg_short_damage_rate, 80, 0, INT_MAX, },
    Index: src/map/battle.h
    ===================================================================
    --- src/map/battle.h (revision 14935)
    +++ src/map/battle.h (working copy)
    @@ -487,6 +487,7 @@
    int display_party_name;
    int cashshop_show_points;
    int mail_show_status;
    + int droprate_mapflag; // [Xantara]

    // [BattleGround Settings]
    int bg_update_interval;
    Index: src/map/map.h
    ===================================================================
    --- src/map/map.h (revision 14935)
    +++ src/map/map.h (working copy)
    @@ -506,6 +506,7 @@
    int jexp; // map experience multiplicator
    int bexp; // map experience multiplicator
    int nocommand; //Blocks @/# commands for non-gms. [Skotlex]
    + int droprate; // [Xantara]
    // Instance Variables
    int instance_id;
    int instance_src_map;
    Index: src/map/mob.c
    ===================================================================
    --- src/map/mob.c (revision 14935)
    +++ src/map/mob.c (working copy)
    @@ -2227,9 +2227,13 @@
    if (sd && sd->sc.data[SC_ITEMBOOST]) // now rig the drop rate to never be over 90% unless it is originally >90%.
    drop_rate = max(drop_rate,cap_value((int)(0.5+drop_rate*(sd->sc.data[SC_ITEMBOOST]->val1)/100.),0,9000));

    + // Drops affected by the mapflag droprate [Xantara]
    + if(map[m].droprate && battle_config.droprate_mapflag)
    + drop_rate = (int)( (drop_rate * map[m].droprate) / 100. );
    +
    // attempt to drop the item
    if (rand() % 10000 >= drop_rate)
    - continue;
    + continue;

    ditem = mob_setdropitem(md->db->dropitem[i].nameid, 1);

    @@ -2354,6 +2358,11 @@
    temp = md->db->mvpitem[i].p;
    if(temp <= 0 && !battle_config.drop_rate0item)
    temp = 1;
    +
    + // Drops affected by the mapflag droprate [Xantara]
    + if(map[m].droprate && battle_config.droprate_mapflag)
    + temp = (int)( (temp * map[m].droprate) / 100. );
    +
    if(temp <= rand()%10000+1) //if ==0, then it doesn't drop
    continue;

    Index: src/map/npc.c
    ===================================================================
    --- src/map/npc.c (revision 14935)
    +++ src/map/npc.c (working copy)
    @@ -3117,6 +3117,15 @@
    map[m].flag.partylock=state;
    else if (!strcmpi(w3,"guildlock"))
    map[m].flag.guildlock=state;
    + else if (!strcmpi(w3,"droprate")) {
    + if (state) {
    + if (sscanf(w4, "%d", &state) == 1)
    + map[m].droprate = state;
    + else
    + map[m].droprate = 100;
    + } else
    + map[m].droprate = 100;
    + }
    else
    ShowError("npc_parse_mapflag: unrecognized mapflag '%s' (file '%s', line '%d').\n", w3, filepath, strline(buffer,start-buffer));

    Index: src/map/script.c
    ===================================================================
    --- src/map/script.c (revision 14935)
    +++ src/map/script.c (working copy)
    @@ -348,7 +348,8 @@
    MF_ALLOWKS,
    MF_MONSTER_NOTELEPORT,
    MF_PVP_NOCALCRANK, //50
    - MF_BATTLEGROUND
    + MF_BATTLEGROUND,
    + MF_DROPRATE
    };

    const char* script_op2name(int op)

    • Upvote 2
×
×
  • Создать...
Яндекс.Метрика