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

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

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

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

amx_gag ошибка компиляции

Статус пользователя Kolesn1k
сообщение 21.8.2012, 14:24
Сообщение #1
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Нужна помощь знающих людей))
Вообщем ситуация такая:
Переделал плагин amx_gag 1.4.9 с блокировки по steam_id на блокировку ip так как если есть на сервере игрок со steam_id_lan, то при блокировке такого игрока блокируются и все остальные ему подобные. Настройки DProto юзать, чтоб у всех были steam_id не вариант, так как очень бьет по онлайну сервера.
Так вот сама суть проблемы:
Плагин вроде откорректировал, но при компиляции вылезает одна досадна ошибка, хоть невзирая не неё плагин все же компилируется, но он не работает должным образом (то есть открывается меняю, можно выбрать время, флаги, но при выборе игрока попросту ничего не происходит) возможно именно из-за это ошибки. Я в скриптинге всего неделю с лишним и еще даже минимум азов не знаю, подскажите пожалуйста как её избавится и кому не сложно помогите новичку просмотреть код и подсказать ошибки, чтоб плагин работал должным образом.
Прикрепленные файлы:
Прикрепленное изображение

Прикрепленные файлы:
Прикрепленный файл  amx_gag.sma ( 18,04 килобайт ) Кол-во скачиваний: 8
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 21.8.2012, 14:55
Сообщение #2
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Kolesn1k,
У тебя не использовалось функция игрока, т.е. его ID.
Ты выполнял функции ungag и gag без указывание игрока.

Вот попробуй: [attachment=17119:amx_gag.rar]

вроде исправил...

Посмотри сам...

Код
        default: {
            new iPlayer = g_iMenuPlayers[ id ][ g_iMenuPosition[ id ] * PERPAGE + iKey ];
            new player_ip[30]
            
            if( !g_iMenuOption[ id ] )
                client_cmd( id, "amx_ungag #%i", ip );
            else {
                new szFlags[ 4 ];
                get_flags( g_iMenuFlags[ id ], szFlags, 3 );
                
                client_cmd( id, "amx_gag #%i %i %s", ip, ArrayGetCell( g_aGagTimes, g_iMenuOption[ id ] ), szFlags );
            }


начинается функция iPlayer (которая обозначает игрока) и дальше с ней ничего не делается... я дописал чтоб ты узнал его IP и сделал команду amx_ungag [ip] и amx_gag [ip] ... вместо [ip] - будет IP игрока.

Отредактировал: Orty_Hart, - 21.8.2012, 14:58
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 21.8.2012, 19:13
Сообщение #3
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Orty_Hart,
iPLayer не функция, а переменная.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 21.8.2012, 22:13
Сообщение #4
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Цитата(Orty_Hart @ 21.8.2012, 15:55) *
Kolesn1k,
У тебя не использовалось функция игрока, т.е. его ID.
Ты выполнял функции ungag и gag без указывание игрока.

Вот попробуй: [attachment=17119:amx_gag.rar]

вроде исправил...

Посмотри сам...

Код
        default: {
            new iPlayer = g_iMenuPlayers[ id ][ g_iMenuPosition[ id ] * PERPAGE + iKey ];
            new player_ip[30]
            
            if( !g_iMenuOption[ id ] )
                client_cmd( id, "amx_ungag #%i", ip );
            else {
                new szFlags[ 4 ];
                get_flags( g_iMenuFlags[ id ], szFlags, 3 );
                
                client_cmd( id, "amx_gag #%i %i %s", ip, ArrayGetCell( g_aGagTimes, g_iMenuOption[ id ] ), szFlags );
            }


начинается функция iPlayer (которая обозначает игрока) и дальше с ней ничего не делается... я дописал чтоб ты узнал его IP и сделал команду amx_ungag [ip] и amx_gag [ip] ... вместо [ip] - будет IP игрока.


Спасибо, помогло, плагин откомпилировался без единого замечания, только вот беда, что он не блокирует игроков. Вроде все изменил с id на ip, все нормально открывается меню с игроками, кнопки все активны, можно выбрать флаги, время, но при выборе любого игрока попросту ничего не происходит, даже меню на месте остается, как будто действие не происходит, была мысль может в переменных проблема, но ничего не получилось найти ничего такого.
Знаю, что достал вас, что нужно самому учится, но пока не получается, вот пытаюсь у опытных скриптеров опыт перенимать, чтоб прежде не допускать сделаных ошибок
Прикрепленные файлы:
Прикрепленный файл  amx_gag.sma ( 18,1 килобайт ) Кол-во скачиваний: 6
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 22.8.2012, 9:29
Сообщение #5
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Kolesn1k,
Блин, такой кривой плагин...

Вот, возможно правильно.
Попробуй: [attachment=17123:amx_gag.rar]
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 22.8.2012, 18:11
Сообщение #6
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Orty_Hart,
да все та же беда((
консольные команды если писать в ручную выполняются, меню полностью активно, кроме блокировки\разблокировки игроков. При выборе игрока просто ничего не происходит. Я уже не знаю что ему еще нужно, и компилируется без ошибок, а не работает нужным образом
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Orty_Hart
сообщение 22.8.2012, 19:46
Сообщение #7
Стаж: 14 лет

Сообщений: 1399
Благодарностей: 408
Полезность: 725

Kolesn1k,
а что ты пишешь в консоле? напиши сюда. Ты пишешь IP или Ник игрока?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя cstriker
сообщение 22.8.2012, 20:27
Сообщение #8


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

Стаж: 13 лет

Сообщений: 1233
Благодарностей: 586
Полезность: 869

Это не ошибка, а предупреждение/ Ваш K.O.

Отредактировал: kb1337, - 22.8.2012, 20:27
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 22.8.2012, 20:54
Сообщение #9
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Orty_Hart,
amx_gag "nickname""time"
Если так прописать в консоль, то блокируется как я понял по ip так как в меню показывается, что только один игрок со steam_id_lan заблокирован, а не как раньше все
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 22.8.2012, 20:54
Сообщение #10
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

kb1337,
да, но сразу была мысль, что именно из-за неё плагин не работает нужным образом

Отредактировал: Kolesn1k, - 22.8.2012, 20:59
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Surf
сообщение 22.8.2012, 20:57
Сообщение #11


Стаж: 14 лет

Сообщений: 1089
Благодарностей: 501
Полезность: 583

https://c-s.net.ua/forum/topic39692.html?vi...st&p=308401
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 22.8.2012, 21:45
Сообщение #12
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Цитата(Surf @ 22.8.2012, 21:57) *


очень информативно
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 25.8.2012, 16:46
Сообщение #13
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

Поглядел в консоль, что выдает когда выбираешь игрока через меню:
Код
Игрок с таким ником или userid не найден

Это мне кажется основная проблема, из-за чего игроки не блокируются и не разблокируются через меню
Как её можно исправить? И остальном все работает как нужно, блокирует по ip если прописывать через консоль amx_gag "nick""time"
Прикрепленные файлы:
Прикрепленный файл  amx_gag.sma ( 18,06 килобайт ) Кол-во скачиваний: 4
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Kolesn1k
сообщение 25.8.2012, 19:39
Сообщение #14
Стаж: 14 лет

Сообщений: 9
Благодарностей: 1
Полезность: 0

возможно здесь что-то указано неверно?
Код
public client_putinserver( id ) {
    if( CheckGagFlag( id, GAG_VOICE ) )
        set_speak( id, SPEAK_MUTED );
    
    // default flags to "abc"
    g_iMenuFlags[ id ] = GAG_CHAT | GAG_TEAMSAY | GAG_VOICE;
}

public client_authorized( id )
    get_user_ip( id, g_szIp[ id ], 15, 1 );

public client_disconnect( id ) {
    if( TrieKeyExists( g_tArrayPos, g_szIp[ id ] ) ) {
        new szName[ 32 ];
        get_user_name( id, szName, 31 );
        
        new iPlayers[ 32 ], iNum, iPlayer;
        get_players( iPlayers, iNum, "ch" );
        
        for( new i; i < iNum; i++ ) {
            iPlayer = iPlayers[ i ];
            
            if( get_user_flags( iPlayer ) & ADMIN_KICK )
                client_print( iPlayer, print_chat, "Заблокированый игрок ^"%s<%s>^" отключился!", szName, g_szIp[ id ] );
        }
    }
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Тема закрытаНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: