Я и PAWN | Изучаю, потому что интересно

Сообщения
941
Реакции
188
Помог
4 раз(а)
Minni, Даже так, но я просто конкретно не понимаю, что хочет автор
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
BiZaJe, чтобы на некоторых картах не работали некоторые хуки.
 
Сообщения
702
Реакции
54
Minni, скорее, чтобы все хуки не работали ?
Хам пожалуй удалю оттуда и останутся только reapi хуки.
Надо грубо говоря, чтобы на картах по типу awp_india персонаж не имел способностей и оружие личное не выдавалось ему.
При этом остановив плагин персонажа, самого персонажа нельзя будет взять в меню выбора, по этому надо его зарегать, а функции (хуки, способности) отключить.

Вот для этого и я завёл всю эту движуху с выкл/вкл, циклом на префикс карты, equal на сравнение названия и т.д.
 
Сообщения
225
Реакции
90
Помог
1 раз(а)
Minni, сделать проверку по префиксу и .ini карт исключений с указанием префикса и названия карты :crazy:
 
Сообщения
2,143
Реакции
1,223
Помог
44 раз(а)
equal на сравнение названия
Если equal, то тебе нужно будет сравнивать все карты с полным названием, то бишь твой массив с названиями карт или еще что у тебя там, будет весьма емким. Лучше, как и писалось, сделать поиск вхождений подстроки в строке и при их наличии - отключать. Такой вариант будет менее затратным.
 
Сообщения
702
Реакции
54
Minni, ну мне по сути надо отключить на 3- картах, так что, я думаю ретюрн через equal будет норм, не?
 
Сообщения
941
Реакции
188
Помог
4 раз(а)
Ну если будешь получать полное название карты, то почему бы и нет
 
Сообщения
702
Реакции
54
BiZaJe, а я разве и так не получаю полное название в цикле с префиксами?@irrumabo_me_nomen, тем что, если карта содержит 35хп в названии, то мне надо НЕ регистрировать, а не содержит, пока не разобрался, как сделать.

У меня же строка с оружием ещё, т.е надо если не содержит, тогда чтобы она была, а если содержит, то нет. Одного выключения хуков недостаточно))
 
Сообщения
702
Реакции
54
Вопрос чуть чуть не по теме скриптинга, но по коду, по сути. А что за движуха, когда ты пытаешься задать флаги игроку, в той же ночной випке:
Код:
#include <amxmodx>

new const szStartTime[] = "00:00";  // Начало выдачи флагов
new const szEndTime[] = "10:00";    // Окончание выдачи флагов

public client_putinserver(id)
{
    new iTime = get_systime();
    if(parse_time(szStartTime, "%H:%M") <= iTime || iTime <= parse_time(szEndTime, "%H:%M")) {
        remove_user_flags(id, get_user_flags(id));
        set_user_flags(id, ADMIN_LEVEL_A);
    }
}
А из-за админ лоадера ломается отображение менюхи :D Скрин прикрепил.

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

Вложения

Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
ThePhoenix,
Код:
remove_user_flags(id, get_user_flags(id));
->
Код:
remove_user_flags(id);
https://dev-cs.ru/amxx/amxmodx/remove_user_flags/view - как видно второй аргумент по умолчанию -1, что приведет к удалению всех флагов у игрока.

ломается отображение менюхи
Никак не связано. Скорей всего проблемы в меню

Есть аткой замечательный квар, как amx_default_access. Его и стоит менять на ночное время. Увы лоадеры либо не умеют в его поддержку, либо не умеют реагировать не его изменения. Но именно данных подход будет самым правильным
 
Сообщения
702
Реакции
54
fantom, я пробовал изменение и с лоадером оно совсем не работает, ибо я не считаюсь вип игроком.
На счёт проблемы меню, то я могу доказать обратное, т.к я включал вип меню, работает отлично, потом выдаю флаг, как показал выше, работает уже криво, а дальше выключаю лоадер и работает отлично, но после включения, работает снова криво.

Так что, я понятия не имею, в чём именно дело, но в этой цепочке, лоадер играет роль!
 
Сообщения
2,491
Реакции
2,791
Помог
61 раз(а)
ThePhoenix, проблема либо в лоадере (не реагирует на изменения квара) либо в випке. Скорей всего випка причина и в первую очередь нужно смотреть туда.
И раз вы уже начинаете писать плагины или уже пишите, то должны понимать, что проверять стоит по принципу выдались ли флагы, дебажить, логгировать и т.д.. Но никак не "пробовал и меню не открывалось".
 
Сообщения
702
Реакции
54
fantom, логично, что либо лоадер, либо випка, но каким образом меню випки может поломаться то?
Я флаги отдебажил, они выдались правильно, тем более, что випка заработала, а по квару, я не смотрел, мне не нравится такой способ.
 
Сообщения
702
Реакции
54
Кто-то работал с geoip в последнее время?
У меня чёт не получается вывести никакие данные о себе:

Код:
public test(id)
{
    new name[32], ip[20], country[50], region[50], city[50];
 
    new test[3];
 
    get_user_name(id, name, charsmax(name));
    get_user_ip(id, ip, charsmax(ip), 1);
 
    log_amx("%s %s", name, ip);
 
    geoip_code2_ex(ip, test);
 
    log_amx("%s %s", name, test);
 
    geoip_country_ex(ip, country, charsmax(country));
    geoip_region_name(ip, region, charsmax(region));
    geoip_city(ip, city, charsmax(city));
 
    log_amx("%s %s", name, country);
 
    log_amx("%s %s", name, city);
 
    log_amx("%s %s", name, region);

}
L 07/15/2020 - 22:43:58: [connect_message.amxx] ThePhoenix 10.100.72.159
L 07/15/2020 - 22:43:58: [connect_message.amxx] ThePhoenix
L 07/15/2020 - 22:43:58: [connect_message.amxx] ThePhoenix
L 07/15/2020 - 22:43:58: [connect_message.amxx] ThePhoenix
L 07/15/2020 - 22:43:58: [connect_message.amxx] ThePhoenix
Вроде и вывожу правильно, даже примеры чекнул для убедительности, но ни в какую данные не получаю..
 
Сообщения
20
Реакции
-5
Обратите внимание, если вы хотите заключить сделку с этим пользователем, он заблокирован
Не правильно
 
Сообщения
38
Реакции
8
Твой пример рабочий. дело в адресе. Я пробовал на своем локальном сервере , мне get_user_ip() выдает локальную адресу. Я забил в переменную свой интернет адрес , все работает. Дело все в том какая адреса берется функцией.
1594926580690.png
На твой адрес что ты пробовал , так же нет информации.
 
Сообщения
702
Реакции
54
tapexapex, прикол в том, что на игровом сервере не работает whois rbs, там так же не определяет ни одного игрока по стране. Я конечно таким г не пользуюсь, но тест смог запилить и по этому я думал, что проблема в geoip самом.

Тогда главный вопрос в том, как получить НЕ локальный адрес.

Ещё интересует почему цикл выдаётся значение в 1, когда нет ни у кого прав:
Код:
#include <amxmodx>

public plugin_init()
    register_clcmd("say s", "test");
    
public test(id) {
    new players[32], iNum, have_admins;
    get_players(players, iNum);
    
    for(new i = 0; i <= iNum; ++i)
    {
        if(get_user_flags(players[i]) & ADMIN_MENU)
            have_admins++;
    }

    log_amx("%d - have_admins", have_admins);
}
То ли я дурак, то лижи не едут.
Код:
ThePhoenix : s
L 07/16/2020 - 22:12:27: [test.amxx] 1 - have_admins
ThePhoenix : s
L 07/16/2020 - 22:12:28: [test.amxx] 1 - have_admins
ThePhoenix : s
 
Сообщения
38
Реакции
8
ThePhoenix,
C++:
#include <amxmodx>

public plugin_init()
    register_clcmd("say flag", "flag");
    
public flag(id) {
    new players[32], iNum, have_admins,name[33];
    get_players(players, iNum);
    
    for(new i = 0; i <= iNum; ++i)
    {
        get_user_name(players[i], name, charsmax(name))
        log_amx("player index:%d  name:%s", i, name)
        
        if(get_user_flags(players[i]) & ADMIN_MENU)
        {
            have_admins++
            log_amx("-------------")
            get_user_name(players[i], name, charsmax(name))
            log_amx("Admin flags on %s & index = %d", name, players[i])
        }
    }

    log_amx("%d - have_admins", have_admins);
}

1594992741865.png
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу