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

Fox RM

Проверенные
  • Постов

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

  • Посещение

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

    119

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

  1. Элементарные скрипты, писать минуту от силы =\

    -	script	announce_lvl	-1,{
    OnPCBaseLvUpEvent:
    if(BaseLevel == 10) goto level;
    level:
    announce "Игрок "+strcharinfo(0)+" взял 10 уровень!!! Теперь он Отец сервера!",8;
    end;
    }

    А на счет выбивания карт, помоему можно в Conf включить это.

    • Upvote 2
  2. Мда,Наота ты ебанутый человек окда? Объяснять ничего не буду,не поймешь из-за чего - твои проблемы.

    Если ты называешь Наоту !@#$%ым , тогда скажи мне ,чем ты лучше его?, на мой взгляд ты в разы хуже чем он ,даже слово трудно подобрать характеризующее тебя.

    • Upvote 1
    • Downvote 1
  3. Где mapflag noequip просто блокирует текущий эквип

    99 - раздевает чара и блокирует эквип

    1-10 снимает вещь из указанных слотов блокирует весь эквип (слоты считал сверху вниз, слева направо)

    Index: map/clif.c
    ===================================================================
    --- map/clif.c (revision 13936)
    +++ map/clif.c (working copy)
    @@ -8088,6 +8088,35 @@
    clif_mercenary_skillblock(sd);
    }

    + if(map[sd->bl.m].flag.noequip) {
    + if( map[sd->bl.m].flag.noequip == 1 && sd->equip_index[EQI_HEAD_TOP] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_HEAD_TOP],1);
    + if( map[sd->bl.m].flag.noequip == 2 && sd->equip_index[EQI_HEAD_MID] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_HEAD_MID],1);
    + if( map[sd->bl.m].flag.noequip == 3 && sd->equip_index[EQI_HEAD_LOW] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_HEAD_LOW],1);
    + if( map[sd->bl.m].flag.noequip == 4 && sd->equip_index[EQI_ARMOR] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_ARMOR],1);
    + if( map[sd->bl.m].flag.noequip == 5 && sd->equip_index[EQI_HAND_R] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_HAND_R],1);
    + if( map[sd->bl.m].flag.noequip == 6 && sd->equip_index[EQI_HAND_L] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_HAND_L],1);
    + if( map[sd->bl.m].flag.noequip == 7 && sd->equip_index[EQI_GARMENT] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_GARMENT],1);
    + if( map[sd->bl.m].flag.noequip == 8 && sd->equip_index[EQI_SHOES] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_SHOES],1);
    + if( map[sd->bl.m].flag.noequip == 9 && sd->equip_index[EQI_ACC_R] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_ACC_R],1);
    + if( map[sd->bl.m].flag.noequip == 10 && sd->equip_index[EQI_ACC_L] >= 0 )
    + pc_unequipitem(sd,sd->equip_index[EQI_ACC_L],1);
    + if( map[sd->bl.m].flag.noequip == 99 ) {
    + int i;
    + for(i=0;i<11;i++)
    + if(sd->equip_index[i] >= 0)
    + pc_unequipitem(sd,sd->equip_index[i],1);
    + }
    + }
    +
    if(sd->state.connect_new) {
    int lv;
    sd->state.connect_new = 0;
    @@ -8970,6 +8999,10 @@
    clif_clearunit_area(&sd->bl,1);
    return;
    }
    +
    + if (map[sd->bl.m].flag.noequip)
    + return;
    +
    index = RFIFOW(fd,2)-2;
    if (index < 0 || index >= MAX_INVENTORY)
    return; //Out of bounds check.
    @@ -9014,6 +9047,9 @@
    return;
    }

    + if (map[sd->bl.m].flag.noequip)
    + return;
    +
    if (sd->state.storage_flag)
    ; //You can equip/unequip stuff while storage is open.
    else if (pc_cant_act(sd))
    Index: map/map.h
    ===================================================================
    --- map/map.h (revision 13936)
    +++ map/map.h (working copy)
    @@ -463,6 +463,7 @@
    unsigned nochat :1;
    unsigned partylock :1;
    unsigned guildlock :1;
    + unsigned noequip :12;
    } flag;
    struct point save;
    struct npc_data *npc[MAX_NPC_PER_MAP];
    Index: map/npc.c
    ===================================================================
    --- map/npc.c (revision 13936)
    +++ map/npc.c (working copy)
    @@ -2897,6 +2897,17 @@
    map[m].flag.partylock=state;
    else if (!strcmpi(w3,"guildlock"))
    map[m].flag.guildlock=state;
    + else if (!strcmpi(w3,"noequip")) {
    + if( state )
    + {
    + if( sscanf(w4, "%d", &state) == 1 )
    + map[m].flag.noequip = state;
    + else
    + map[m].flag.noequip = 100;
    + }
    + else
    + map[m].flag.noequip = 0;
    + }
    else
    ShowError("npc_parse_mapflag: unrecognized mapflag '%s' (file '%s', line '%d').\n", w3, filepath, strline(buffer,start-buffer));

    • Upvote 5
  4. 1)Hatred

    Открываем eA/src/map/pc.c и ищем это:

    //Attempts to set a mob.
    int pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
    {
    int class_;
    if (!sd || !bl || pos < 0 || pos > 2)
    return 0;
    if (sd->hate_mob[pos] != -1)
    { //Can't change hate targets.
    clif_hate_info(sd, pos, sd->hate_mob[pos], 0); //Display current
    return 0;
    }

    class_ = status_get_class(bl);
    if (!pcdb_checkid(class_)) {
    unsigned int max_hp = status_get_max_hp(bl);
    if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
    return 0;
    if (pos != status_get_size(bl))
    return 0; //Wrong size
    }
    sd->hate_mob[pos] = class_;
    pc_setglobalreg(sd,hate_var[pos],class_+1);
    clif_hate_info(sd, pos, class_, 1);
    return 1;
    }

    Заменяем этот кусок на это:

    /Attempts to set a mob. 
    int pc_set_hate_mob(struct map_session_data *sd, int pos, struct block_list *bl)
    {
    int class_;
    if (!sd || !bl || pos < 0 || pos > 2)
    return 0;
    sd->hate_mob[pos] = -1;
    class_ = status_get_class(bl);
    if (!pcdb_checkid(class_)) {
    unsigned int max_hp = status_get_max_hp(bl);
    if ((pos == 1 && max_hp < 6000) || (pos == 2 && max_hp < 20000))
    return 0;
    if (pos != status_get_size(bl))
    return 0; //Wrong size
    }
    sd->hate_mob[pos] = class_;
    pc_setglobalreg(sd,sg_info[pos].hate_var,class_+1);
    clif_hate_info(sd, pos, class_, 1);
    return 1;
    }

    2)Feeling

    Открываем eA/src/map/skill.c и находим это:

    case SG_FEEL:
    //AuronX reported you CAN memorize the same map as all three. [Skotlex]
    if (sd) {
    if(!sd->feel_map[skilllv-1].index)
    clif_parse_ReqFeel(sd->fd,sd, skilllv);
    else
    clif_feel_info(sd, skilllv-1, 1);
    }
    break;

    Заменяем этот кусок на это:

    	case SG_FEEL:
    //AuronX reported you CAN memorize the same map as all three. [Skotlex]
    if (sd) {
    clif_parse_ReqFeel(sd->fd,sd, skilllv);
    }
    break;

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