Назад

запрет detach в городах

Автор: Cole McCormick: Дата: 12.27.2008

src/map/map.h

unsigned partylock :1;

unsigned guildlock :1;

+unsigned nodetach :1;


src/map/npc.c
else if (!strcmpi(w3,"guildlock"))

    map[m].flag.guildlock=state;

+else if (!strcmpi(w3,"nodetach"))

+    map[m].flag.nodetach=state;


src/map/script.c
MF_GUILDLOCK,   //45

+MF_NODETACH


case MF_GUILDLOCK:              script_pushint(st,map[m].flag.guildlock); break;

+case MF_NODETACH:              script_pushint(st,map[m].flag.nodetach); break;


case MF_GUILDLOCK:     map[m].flag.guildlock=1; break;

+case MF_NODETACH:     map[m].flag.nodetach=1; break;


case MF_GUILDLOCK:     map[m].flag.guildlock=0; break;

+case MF_NODETACH:     map[m].flag.nodetach=0; break;


src/map/atcommand.c
//======================

//by Anarchist

//modified by dersd

//mapflag by poiuty

//@detach

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

int atcommand_offline( const int fd, struct map_session_data* sd, const char* command, const char* message)

{

+    int m;

nullpo_retr(-1, sd);



+m = sd->bl.m;

+if (map[m].flag.nodetach) {

+    clif_displaymessage(fd, "Вам недоступна команда @detach на этой локации.");

+    return 1;

+}



sd->state.monster_ignore = 1;

sd->state.autotrade = 1;

clif_authfail_fd(fd, 15);

return 0;

}


db/const.txt
mf_guildlock    45

+mf_nodetach    46


by Anarchist & poiuty

Автор: Cole McCormick: Дата: 12.30.2008

//by Anarchist
//modified by dersd //потомучто ту так написано)

Автор: poiuty: Дата: 12.30.2008



Читаем тему.

Начальный код был:

//======================
//by Anarchist
//modified by dersd
//@detach
//======================
int atcommand_detach( const int fd, struct map_session_data* sd, const char* command, const char* message)
{
nullpo_retr(-1, sd);
int bb;
if (!message || !*message || (sscanf(message, "%d", &bb) != 1)) {
clif_displaymessage(fd, "usage: @detach 1");
return -1;
}
if(bb != 1) {
clif_displaymessage(fd, "usage: @detach 1");
return -1;
}
sd->state.monster_ignore = 1;
sd->state.autotrade = 1;
clif_authfail_fd(fd, 15);
return 0;
}

Автор: Cole McCormick: Дата: 12.30.2008

я непойму что ты этим хочешь сказать? все как у тебя утя также написано
//by Anarchist
//modified by dersd

Автор: poiuty: Дата: 12.30.2008

ты на код вообще смотришь?

Автор: Cole McCormick: Дата: 12.30.2008

ну я заметил, что он исправлен. но ты то что конкретно хочешь? все с точностью как у тебя.

Автор: poiuty: Дата: 12.30.2008

нахера копировать с пирата и пытаться доказать мне что проверку ставил dersd.
Эта проверка вообще легкотня.Но мне ппц бесит тупой копирайт.Хотя сам пишешь


"При копировании матерьяла, с нашего сайта (если увас получиться) ссылка на источник обязательна."

Так будь поставь его "(с)".Символ в символ.Взял с ПР.И говорит еще что-то.

Не убирал бы //poiuty ничего бы не написал.

Автор: Cole McCormick: Дата: 12.30.2008

ты сам усебя непоставил откуда брал.

Автор: poiuty: Дата: 12.30.2008

Originally posted by sergeidead;4475
ты сам усебя непоставил откуда брал.


проверку и мапфлаг я сам писал=))))
почему я должен указывать?если я сам написал.

Автор: Cole McCormick: Дата: 12.30.2008

скрипт то изначально нетвой был.

Автор: poiuty: Дата: 12.30.2008

ппц.Детач лежит на еА.Ты какую тему сделал?
" запрет detach в городах "

Я тебе что говорю что открыл Америку и написал детач?
Я тебе говорю,что выложил как я у себя сделал мапфлаг на детач.

Автор: Cole McCormick: Дата: 12.30.2008

одно и тоже... твой копирайт я давно поставил.

Автор: poiuty: Дата: 12.30.2008

//by Anarchist,modified by dersd,mapflag by poiuty

=)))))))))))))))

Автор: Cole McCormick: Дата: 12.30.2008

готово, сказал бы сразу что хочешь...

Автор: dimjke: Дата: 01.06.2011

[Error]: npc_parse_mapflag: unrecognized mapflag 'nodetach' (file 'npc/server
/test.txt', line '2').

Мапфлаг не грузится, хотя делал всё по гайду. При компиле тоже ошибок не было.Что мне делать, кто подскажет?

Автор: Kill Spirit: Дата: 01.06.2011

Можно было проще простого.

if (map[m].flag.autotrade) {

clif_displaymessage(fd, "Вам недоступна команда @detach на этой локации.");

return 1;

}