Назад

@dt другой

Автор: Spirit: Дата: 02.02.2009

вобщем немогу найти детач с проверкой на открытие чата, чтобы если у перса чат не открыт ДТ не срабатывала писал "открой чат"*ah*

Автор: dbImOk: Дата: 02.22.2009

наверно так :)

//======================
//@detach by db1mOk
//======================
int atcommand_detach( const int fd, struct map_session_data* sd, const char* command, const char* message)
{
nullpo_retr(-1, sd);
if (!message || !*message) {
clif_displaymessage(fd, "Откройте чат!");
return -1;
}
chat_createpcchat(sd, detach, "",1,true);
sd->state.monster_ignore = 1;
sd->state.autotrade = 1;
clif_authfail_fd(fd, 15);
return 0;
}

Автор: madeisner: Дата: 03.15.2009

chat_createpcchat(sd, detach, "",1,true);
на эту строчку ругается(

Автор: dbImOk: Дата: 03.15.2009

int atcommand_detach(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
        nullpo_retr(-1, sd);
        struct chat_data* cd;

        if (sd->chatID && (cd = (struct chat_data*)map_id2bl(sd->chatID)))
        {
            if (!cd->pub) {
                clif_displaymessage(fd, "You're now detached.");
sd->state.monster_ignore = 1;
                sd->state.autotrade = 1;
                clif_authfail_fd(fd, 15);
            } else
                clif_displaymessage(fd, "You must create a private chatroom to use @detach.");
        } else {
            clif_displaymessage(fd, "You must create a private chatroom to use @detach.");
        }

    return 0;
}

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

хм неплохо)

Автор: madeisner: Дата: 03.16.2009

Простите конечно, но я нуб нубом в сорцах, но вот что выдаёт(
1>..\src\map\atcommand.c(8411) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип"
struct chat_data* cd;

Автор: Sanasol: Дата: 03.16.2009

Что вы паритесь на ea.ws © Легко найти работающий скрипт без ошибок!

Автор: worms0950: Дата: 03.16.2009

Угу там акрус выложил скрипт детача

Автор: dbImOk: Дата: 06.24.2009

Вот рабочий:

/*==========================================
* @detach
* Turns on/off detach for a specific player
*------------------------------------------*/
int atcommand_detach(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
          nullpo_retr(-1, sd);
          struct chat_data* cd;

          if (sd->chatID && (cd = (struct chat_data*)map_id2bl(sd->chatID))) //check if player's chatting
          {
              if (!cd->pub) { // chatroom should be private, not public, comment out if you don't need this check
                  clif_displaymessage(fd, "You're now detached.");
                  sd->state.monster_ignore = 1;  
                  sd->state.autotrade = 1;
                  clif_authfail_fd(fd, 15);
              } else
                  clif_displaymessage(fd, "You must create a private chatroom to use @detach.");
          } else {
              clif_displaymessage(fd, "You must create a private chatroom to use @detach.");
          }

      return 0;
}

Автор: 007asha: Дата: 07.01.2009

Цитата(Sanasol @ 16.3.2009, 16:08)
Что вы паритесь на ea.ws © Легко найти работающий скрипт без ошибок!

Такого сайта нет... :censoree:

Автор: DarkWolf: Дата: 07.02.2009


омг
ea.ws ------

Автор: Eleidan: Дата: 10.30.2009

Цитата madeisner;5251:
Простите конечно, но я нуб нубом в сорцах, но вот что выдаёт(
1>..\src\map\atcommand.c(8411) : error C2143: синтаксическая ошибка: отсутствие ";" перед "тип"
struct chat_data* cd;



У меня тоже самое со всеми версиями детача. Пришлось копипастить Автотрейд.

Может кому понадобится:

atcommand.c

 
/*==========================================
* @detach copypast by Eleidan xD
* detach
*------------------------------------------*/
int atcommand_detach(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
nullpo_retr(-1, sd);
if( sd->chatID ) //check if player's chating
{
if( map[sd->bl.m].flag.autotrade == battle_config.autotrade_mapflag )
{
sd->state.autotrade = 1;
if( battle_config.at_timeout )
{
int timeout = atoi(message);
status_change_start(&sd->bl, SC_AUTOTRADE, 10000, 0, 0, 0, 0, ((timeout > 0) ? min(timeout,battle_config.at_timeout) : battle_config.at_timeout) * 60000, 0);
}
clif_authfail_fd(fd, 15);
} else
clif_displaymessage(fd, "Включите чат.");
}
else
clif_displaymessage(fd, msg_txt(700));
return 0;
}

Далее в этом же файле...
 
{ "autotrade", 10, atcommand_autotrade },
{ "at", 10, atcommand_autotrade },

{ "detach", 10, atcommand_detach },
{ "dt", 10, atcommand_detach },


msg_athena.conf

 
619: Gunslinger
620: Ninja
621: Summer
//...
650: Unknown Job
// @Autotrade
700: Для использования команды @detach откройте чат.

Автор: Cutlet: Дата: 10.30.2009

на кой черт стока мароки??у меня дт в 10 строк,и просто всех устраивает =\

Автор: Мяфк: Дата: 10.30.2009

Тут и есть 10 строк.
Например без этого нельзя:


{ "detach", 10, atcommand_detach },
{ "dt", 10, atcommand_detach },

А это не обязательно:
// @Autotrade
700: Для использования команды @detach откройте чат.

Автор: Cutlet: Дата: 10.30.2009

[COLOR="DeepSkyBlue"]


/*==========================================
* @detach copypast by Eleidan xD
* detach
*------------------------------------------*/
int atcommand_detach(const int fd, struct map_session_data* sd, const char* command, const char* message)
{
nullpo_retr(-1, sd);
if( sd->chatID ) //check if player's chating
{
if( map[sd->bl.m].flag.autotrade == battle_config.autotrade_mapflag )
{
sd->state.autotrade = 1;
if( battle_config.at_timeout )
{
int timeout = atoi(message);
status_change_start(&sd->bl, SC_AUTOTRADE, 10000, 0, 0, 0, 0, ((timeout > 0) ? min(timeout,battle_config.at_timeout) : battle_config.at_timeout) * 60000, 0);
}
clif_authfail_fd(fd, 15);
} else
clif_displaymessage(fd, "Включите чат.");
}
else
clif_displaymessage(fd, msg_txt(700));
return 0;
}

про ету часть говарю =\[/COLOR]

Автор: Eleidan: Дата: 03.08.2010

Скажем так, уровень моего знания в сорцах оценивается где то в 0.4 по 20бальной шкале) а пока нуп)

Автор: Enjoy: Дата: 03.08.2010

Вот если кому то нужно, 100% работающий

//=====Детатч для сп игроков.+Для онлайна.
//======================
//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);

//sd->state.monster_ignore = 1;
sd->state.autotrade = 1;
clif_authfail_fd(fd, 15);
return 0;
}

	{ "dt",					1,1, atcommand_detach },