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

Fox RM

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

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

  • Посещение

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

    119

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

  1. Продам в связи с недостатком времени . Рисовалось для своего сервера  , также кому интересно, продаю серверную и клиентскую часть, более подробно в ЛС или скайп.

    Скрытый текст

    h7iw2qradi8u337zg.jpg

    Скрытый текст

    2pbklh8sy91qr8xzg.jpg

    Скрытый текст

    3lighowh3gfv39fzg.jpg

     

  2. Такая же ситуация была, в итоге пришлось ждать ;), привязывай счет, достаточно быстро привязывают, а так , наврятле кто-то поможет), сколько тебе вывести нужно?

  3. А куда именно во флаксе вводить база данных я устоновил флакс

    Теперь в той же папке конфига ищем файл с именем servers.php. С этим файлом я думаю проблем не возникнет, так как он отвечает за привязку к базе. Прописываем логины и пароли к базе, сохраняемся, выходим.
  4. - Разработка дизайна сайта

    - Создание рекламных баннеров

    - Загрузочные картинки.

    - Разработка логотипа в игре [scr_logo]

    - Оформление форума.

    - Разработка дизайна для патчера [Thor, Neoncube, Jikari]

    - Ремэйд дизайнов

    По поводу цен, а также возникших вопросов, пишем в Skype или в личку.

    • Upvote 4
  5. Открываешь ea/src/map/atcommand.c , ищешь эти строки:


    #include "../custom/atcommand.inc"
    /**
    * Fills the reference of available commands in atcommand DBMap
    **/

    Перед ними вставляешь это:


    /* @ipban by Griniy. */
    /* Updated by Oxxy */
    ACMD_FUNC(ipban)
    {
    struct map_session_data *pl_sd;
    char *modif_p, *data, *last_ip;
    int month, value = 0;
    char ip[16];
    nullpo_retr(-1, sd);

    memset(atcmd_output, '\0', sizeof(atcmd_output));
    memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));

    if(!message || !*message || sscanf(message, "%199s %99[^\n]", atcmd_output, atcmd_player_name) < 2) {
    clif_displaymessage(fd, msg_txt(1600));
    return -1;
    }

    atcmd_output[sizeof(atcmd_output)-1] = '\0';

    modif_p = atcmd_output;
    month = 0;
    while (modif_p[0] != '\0') {
    value = atoi(modif_p);
    if(value == 0)
    modif_p++;
    else {
    if(modif_p[0] == '-' || modif_p[0] == '+')
    modif_p++;

    while(modif_p[0] >= '0' && modif_p[0] <= '9') {
    modif_p++;
    if(modif_p[0] == 'm') {
    month = value;
    modif_p++;
    } else if (modif_p[0] != '\0') {
    modif_p++;
    }
    }
    }
    }

    if(month == 0) {
    clif_displaymessage(fd, msg_txt(1601));
    return -1;
    }

    if(SQL_ERROR == Sql_Query(mmysql_handle, "SELECT `last_ip` From `login`, `char` WHERE login.account_id = char.account_id AND char.name = '%s'", atcmd_player_name ) )
    Sql_ShowDebug(mmysql_handle);

    if(Sql_NumRows(mmysql_handle) == 0) {
    clif_displaymessage(fd, msg_txt(1602));
    Sql_FreeResult(mmysql_handle);
    return -1;
    }

    Sql_NextRow(mmysql_handle);

    Sql_GetData(mmysql_handle, 0, &data, NULL); last_ip = data;
    strcpy(ip, last_ip);
    Sql_FreeResult(mmysql_handle);

    if(Sql_NumRows(mmysql_handle) > 0) {
    clif_displaymessage(fd, msg_txt(1603));
    Sql_FreeResult(mmysql_handle);
    return -1;
    } else
    Sql_FreeResult(mmysql_handle);

    if(SQL_ERROR == Sql_Query(mmysql_handle, "INSERT INTO `ipbanlist` (`list`,`btime`,`rtime`,`reason`) VALUES ('%s', NOW() , NOW() + INTERVAL %d MONTH ,'AtCommand ban for user name : %s')", ip, month, atcmd_player_name))
    Sql_ShowDebug(mmysql_handle);

    if(map_nick2sd(atcmd_player_name))
    clif_GM_kick(sd, map_nick2sd(atcmd_player_name));

    return 0;
    }

    и это :


    /* @unbaip by Griniy */
    /* Updated by Oxxy */
    ACMD_FUNC(unbanip)
    {
    char *data, *last_ip, ip[16], output[255];
    nullpo_retr(-1, sd);
    memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
    if (!message || !*message || (sscanf(message, "%23[^\n]", atcmd_player_name) < 1)) {
    clif_displaymessage(fd, msg_txt(1604));
    return -1;
    }

    if( SQL_ERROR == Sql_Query(mmysql_handle, "SELECT `last_ip` FROM `login`, `char` WHERE login.account_id = char.account_id AND char.name = '%s'",atcmd_player_name) ) {
    Sql_ShowDebug(mmysql_handle);
    Sql_FreeResult(mmysql_handle);
    return -1;
    }

    if( Sql_NumRows(mmysql_handle) == 0 ) {
    clif_displaymessage(fd, msg_txt(1602));
    Sql_FreeResult(mmysql_handle);
    return -1;
    }

    Sql_NextRow(mmysql_handle);
    Sql_GetData(mmysql_handle, 0, &data, NULL); last_ip = data; strcpy(ip, last_ip);
    if( SQL_ERROR == Sql_Query(mmysql_handle, "SELECT * FROM `ipbanlist` WHERE `list` = '%s'",ip) ) {
    Sql_ShowDebug(mmysql_handle);
    Sql_FreeResult(mmysql_handle);
    return -1;
    }
    if( Sql_NumRows(mmysql_handle) == 0 ) {
    clif_displaymessage(fd, msg_txt(1605));
    Sql_FreeResult(mmysql_handle);
    return -1;
    }
    if( SQL_ERROR == Sql_Query(mmysql_handle, "DELETE FROM `ipbanlist` WHERE `list` = '%s'",ip) ) {
    Sql_ShowDebug(mmysql_handle);
    Sql_FreeResult(mmysql_handle);
    return -1;
    }
    sprintf(output, msg_txt(1606),atcmd_player_name);
    clif_displaymessage(fd, output);
    return 0;
    }

    Далее открываешь ea/src/map/map.c и ищешь эту строку:


    #define MAP_MAX_MSG 1600

    Меняешь на эту:


    #define MAP_MAX_MSG 2000

    Далее заходишь в ea/conf/map_msg_add.conf и добавляешь эти строки:


    1600: Please, enter ban time and a player name (usage: @ipban <time> <name>).
    1601: Invalid time for ban command.
    1602: Unknown character name. Please check it and repeat.
    1603: This characters is already banned by IP.
    1604: Please, enter a player name to unban (usage: @unbanip <name>).
    1605: No character with such name was found in Banlist.
    1606: Character %s was succesfully unbanned.

    После, компилируешь.

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