Fox RM Опубликовано 4 августа, 2011 Жалоба Поделиться Опубликовано 4 августа, 2011 Где 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;+ }elseShowError("npc_parse_mapflag: unrecognized mapflag '%s' (file '%s', line '%d').\n", w3, filepath, strline(buffer,start-buffer)); 5 Ссылка на комментарий Поделиться на другие сайты Поделиться
Enwteyn Опубликовано 24 октября, 2012 Жалоба Поделиться Опубликовано 24 октября, 2012 на каких ревизия будет работать? Ссылка на комментарий Поделиться на другие сайты Поделиться
JingleRo-Support Опубликовано 24 октября, 2012 Жалоба Поделиться Опубликовано 24 октября, 2012 revision 13936(с нее начиная) Ссылка на комментарий Поделиться на другие сайты Поделиться
Enwteyn Опубликовано 24 октября, 2012 Жалоба Поделиться Опубликовано 24 октября, 2012 revision 13936(с нее начиная)сможешь залить diff? Ссылка на комментарий Поделиться на другие сайты Поделиться
Magnum Опубликовано 24 октября, 2012 Жалоба Поделиться Опубликовано 24 октября, 2012 совет чтобы убрать говнокод и улучшить функционал: сделай чтение параметра как битовое поле 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
unknown Опубликовано 15 ноября, 2012 Жалоба Поделиться Опубликовано 15 ноября, 2012 Тыкнул спасибку. Полезно. Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения