Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Auto Demo Recorder

, помогите исправить
Статус пользователя lamer20
сообщение 6.11.2011, 8:17
Сообщение #1
Стаж: 17 лет

Сообщений: 71
Благодарностей: 13
Полезность: 144

Привет!Скачал я Auto Demo Recorder 2.1,но там для меня много ненужного и поэтому я вырезал с что не надо.Плагин компилит без ошибок и в игре менюшка всплывает,но нажимаешь на пунктик "Да"-никакой записи демо не происходит...

Вот мой код
Код
#include <amxmodx>
#include <amxmisc>

new const PLAGIN[] = "Auto Demo Recorder"
new const VERSIYA[] = "2.1"
new const AVTORG[] = "F4RR3LL"

new
    gpc_cvar1,
    gpc_cvar2

new idofmenu[] = "idofmenu"

new LOGNAME[128]

public plugin_init()
{
    register_plugin(PLAGIN, VERSIYA, AVTORG)
    
    register_menucmd(register_menuid(idofmenu), MENU_KEY_1|MENU_KEY_2, "showMenu")
    
    gpc_cvar1 = register_cvar("adr_cvar1", "1")
    
    gpc_cvar2 = register_cvar("adr_cvar2", "1")
}

new monthyear[12]

public plugin_cfg()
{
    const LEN = 128
    
    new logsdir[LEN]
    get_localinfo("amxx_logs", logsdir, LEN -1)
    
    new papka[LEN]
    format(papka, LEN -1, "recorded_demos")
    
    new direxists[LEN]
    formatex(direxists, LEN -1, "/%s/%s", logsdir, papka)
    if(!dir_exists(direxists))
        mkdir(direxists)
    
    get_time("%d-%m-%Y", monthyear, sizeof monthyear -1)
    
    new fail[LEN]
    formatex(fail, LEN -1, "%s.txt", monthyear)
    
    formatex(LOGNAME, LEN -1, "%s/%s", direxists, fail)
    
    if(!file_exists(LOGNAME))
        write_file(LOGNAME, "")
}

public client_authorized(id)
{
    client_cmd(id, "stop")
}

new bool:nazalknopku[33] = { false, ... }

public client_putinserver(id)
{
    if(!is_user_bot(id) && !is_user_hltv(id))
    {
        if(get_pcvar_num(gpc_cvar1) < 15)
            set_pcvar_num(gpc_cvar1, 15)
        
        nazalknopku[id] = false
        
        remove_task(id+500)
        set_task(get_pcvar_float(gpc_cvar1), "prerecDEMO", id+500)
    }
}

public checkKnopka(id)
{
    id -= 500
    
    if(!is_user_connected(id))
        return
    
    if(!nazalknopku[id])
        recDEMO(id, 0)
}

public prerecDEMO(id)
{
    id -= 500
    
    if(!is_user_connected(id))
        return
    
    if(get_pcvar_num(gpc_cvar2))
    {
        new menuwka[256], len = formatex(menuwka, sizeof menuwka -1, "\rПишем демо?^n^n")
        len += formatex(menuwka[len], sizeof menuwka -1 -len, " \r1. \yJда^n")
        len += formatex(menuwka[len], sizeof menuwka -1 -len, " \r2. \yнет\r(kick)")
        
        show_menu(id, (MENU_KEY_1|MENU_KEY_2), menuwka, 10, idofmenu)
        set_task(11.0, "checkKnopka", id+500)
    }
    else
    {
        recDEMO(id, 0)
    }
}

public showMenu(id, key)
{
    key++
    
    switch(key)
    {
        case 1: recDEMO(id, 0)
        case 2: recDEMO(id, 1)
    }
}

public recDEMO(id, mode)
{
    static nickname[32], ip[16], stim[35]
    get_user_name(id, nickname, sizeof nickname -1)
    get_user_ip(id, ip, sizeof ip -1, 1)
    get_user_authid(id, stim, sizeof stim -1)
    
    if(mode == 1)
    {
        nazalknopku[id] = false
        
        remove_task(id+500)
        
        log_to_file(LOGNAME, "[Player: %s][SteamID: %s - IP: %s] [Demoname: Игрок кикнут]", nickname, stim, ip)
        
        server_cmd("kick #%d  Нельзя играть без записи демо", get_user_userid(id))
        
        return
    }
    
    nazalknopku[id] = true
    
    static hostname[64], hash[34], demoname[350]
    
    get_cvar_string("hostname", hostname, sizeof hostname -1)
    md5(demoname, hash)
    
    
    formatex(demoname, sizeof demoname -1, "%s_%s_%s_%s_%s_%s_%s_MD5-%s.dem", hostname, nickname, monthyear, hash)
    while(replace(demoname, sizeof demoname -1, "/", "-")) {}
    while(replace(demoname, sizeof demoname -1, "\", "-")) {}
    while(replace(demoname, sizeof demoname -1, ":", "-")) {}
    while(replace(demoname, sizeof demoname -1, "*", "-")) {}
    while(replace(demoname, sizeof demoname -1, "?", "-")) {}
    while(replace(demoname, sizeof demoname -1, "<", "-")) {}
    while(replace(demoname, sizeof demoname -1, ">", "-")) {}
    while(replace(demoname, sizeof demoname -1, "|", "-")) {}
    while(replace(demoname, sizeof demoname -1, " ", "_")) {}
    
    client_cmd(id, "stop;wait;wait;record ^"%s.a^"", demoname)
    
    set_hudmessage(0, 255, 255, 0.02, 0.18, 0, 0.5, 8.0, 2.0, 2.0, -1)
    show_hudmessage(id, "Пишем демо!!!^n^n%s", demoname)
    
    if(equal(stim, "VALVE_ID_LAN")
    || equal(stim, "VALVE_ID_PENDING")
    || equal(stim, "STEAM_666:88:666")
    || equal(stim, "WWW.PLAYERS.LV")
    || equal(stim, "STEAM_ID_PENDING")
    || equal(stim, "STEAM_ID_LAN") )
        stim = "UNKNOWN"
    
    log_to_file(LOGNAME, "[Игрок: %s][SteamID: %s - IP: %s] [Demoname: %s]", nickname, stim, ip, demoname)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 6.11.2011, 8:33
Сообщение #2


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

lamer20,
скинь работающий плагин, в котором ты еще не успел ничего испортить

Отредактировал: ZZZombiE, - 6.11.2011, 8:33


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lamer20
сообщение 6.11.2011, 8:48
Сообщение #3
Стаж: 17 лет

Сообщений: 71
Благодарностей: 13
Полезность: 144

Вот

А еще вопрос - как сделать,чтобы не кикало,когда нажимаешь "Нет",а просто через определенное время запись демо начиналось само?
Прикрепленные файлы:
Прикрепленный файл  auto_demo.rar ( 2,51 килобайт ) Кол-во скачиваний: 16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 6.11.2011, 8:49
Сообщение #4


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

ну во-первых
Код
formatex(demoname, sizeof demoname -1, "%s_%s_%s_%s_%s_%s_%s_MD5-%s.dem", hostname, nickname, monthyear, hash)


написано неверно


надо как-то так
Код
    formatex(demoname, sizeof demoname -1, "%s_%s_%s_MD5-%s.dem", hostname, nickname, monthyear, hash)


Отредактировал: ZZZombiE, - 6.11.2011, 8:52


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lamer20
сообщение 6.11.2011, 8:57
Сообщение #5
Стаж: 17 лет

Сообщений: 71
Благодарностей: 13
Полезность: 144

Оо,это я упустил,сейчас проверю-отпишусь!

Да,спасибо,работает!А что насчет второго вопроса?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 6.11.2011, 9:03
Сообщение #6


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

lamer20,
Код
public showMenu(id, key)
{
    key++
    
    switch(key)
    {
        case 1: recDEMO(id, 0)
        case 2: recDEMO(id, 1)
    }
}



Код
case 2: recDEMO(id, 1)
надо заменить на таск, как то так
Код
case 2: set_task( 10.0, "recDEMO" )

но не уверен что заработает, попробуй

Отредактировал: ZZZombiE, - 6.11.2011, 9:03


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lamer20
сообщение 6.11.2011, 9:09
Сообщение #7
Стаж: 17 лет

Сообщений: 71
Благодарностей: 13
Полезность: 144

Когда нажимаешь вариант "Нет",начинается запись демки,потом стоп и через как в сет_таск 10.0 сек начинается опять запись
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 6.11.2011, 9:37
Сообщение #8


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Попробуй тогда так :D

Код
public showMenu(id, key)
{
    key++
    
    switch(key)
    {
        case 1: recDEMO(id, 0)
        case 2: set_task( 10.0, "recDelay" )
    }
}

public recDelay( id )
{
     recDEMO(id, 1)
}


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя lamer20
сообщение 6.11.2011, 9:59
Сообщение #9
Стаж: 17 лет

Сообщений: 71
Благодарностей: 13
Полезность: 144

Нее,что-то не то с плагином :D он начинает писать демо даже если ни один вариант не выбран :D
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: