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

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

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

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

2 страниц V   1 2

DeathMath Mode Vote

, Help
Статус пользователя DmitryLe
сообщение 24.1.2014, 17:08
Сообщение #21


Стаж: 13 лет

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

Т.е. не ждать помощи ?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 24.1.2014, 17:50
Сообщение #22
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

Цитата(DmitryLe @ 24.1.2014, 15:23) *
Много народу говорило, что плагин не работает и все ему подобные (которые сделаны через голосования) не работают.



Тогда не смотря на то, что я нажмимаю пункт "2" - выбирается пункт "1".


Протупил, да. Вот тут item < 1 вместо 0 единицу влепил.

Ради интереса протестил плагин на своем локальном серве.
При замене этого участка кода
Код:
public menu_vote( id, Menu, item )
{
if( g_hasvoted[ id ] )
return PLUGIN_HANDLED;

new uName[ 33 ];
get_user_name( id, uName, charsmax( uName ) );

if( item > 1 ) //bugfix
item = 0;

g_vote[ item ]++;

ChatColor( 0, "!g[%s] %L", SERVER_TAG, id, "VOTE_HAS_CHOOSEN", uName, !item ? "Normal" : "OnlyHead" );

for( new i = 1; i <= g_iMaxPlayers; i++ )
{
if( is_user_connected( i ) )
show_menu_vote( i );
}

g_hasvoted[ id ] = true;

return PLUGIN_HANDLED;
}



на этот
Код:
public menu_vote( id, Menu, item )
{
if( g_hasvoted[ id ] )
return PLUGIN_HANDLED;

new uName[ 33 ], num;
get_user_name( id, uName, charsmax( uName ) );
num = item;

if( num != 1 && num != 0 ) //bugfix
num = 0;

g_vote[ num ]++;

ChatColor( 0, "!g[%s] %L", SERVER_TAG, id, "VOTE_HAS_CHOOSEN", uName, !num ? "Normal" : "OnlyHead" );

show_menu_vote( id );

g_hasvoted[ id ] = true;

return PLUGIN_HANDLED;
}


У меня все заработало.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DmitryLe
сообщение 24.1.2014, 18:03
Сообщение #23


Стаж: 13 лет

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

Цитата(Alter @ 24.1.2014, 19:50) *
Протупил, да. Вот тут item < 1 вместо 0 единицу влепил.

Ради интереса протестил плагин на своем локальном серве.
При замене этого участка кода
Код:
public menu_vote( id, Menu, item )
{
if( g_hasvoted[ id ] )
return PLUGIN_HANDLED;

new uName[ 33 ];
get_user_name( id, uName, charsmax( uName ) );

if( item > 1 ) //bugfix
item = 0;

g_vote[ item ]++;

ChatColor( 0, "!g[%s] %L", SERVER_TAG, id, "VOTE_HAS_CHOOSEN", uName, !item ? "Normal" : "OnlyHead" );

for( new i = 1; i <= g_iMaxPlayers; i++ )
{
if( is_user_connected( i ) )
show_menu_vote( i );
}

g_hasvoted[ id ] = true;

return PLUGIN_HANDLED;
}



на этот
Код:
public menu_vote( id, Menu, item )
{
if( g_hasvoted[ id ] )
return PLUGIN_HANDLED;

new uName[ 33 ], num;
get_user_name( id, uName, charsmax( uName ) );
num = item;

if( num != 1 && num != 0 ) //bugfix
num = 0;

g_vote[ num ]++;

ChatColor( 0, "!g[%s] %L", SERVER_TAG, id, "VOTE_HAS_CHOOSEN", uName, !num ? "Normal" : "OnlyHead" );

show_menu_vote( id );

g_hasvoted[ id ] = true;

return PLUGIN_HANDLED;
}


У меня все заработало.

Ошибка в логах пропала, а так все равно не работает HS Only
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 25.1.2014, 12:47
Сообщение #24
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

DmitryLe,
Как ты проверяешь работоспособность?
У меня с ботами все работает просто прекрасно.


Попробуй дождаться начала нового раунда после голосования. И отключить ВСЕ плагины, кроме стандартных.

Отредактировал: Alter, - 25.1.2014, 12:47
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DmitryLe
сообщение 25.1.2014, 12:52
Сообщение #25


Стаж: 13 лет

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

Вот просто меняю карту и жду голосования, жмем хс и все.

Отредактировал: DmitryLe, - 25.1.2014, 12:53
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 25.1.2014, 14:08
Сообщение #26
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

DmitryLe,
Работает ли у тебя HS Only в начале следующего раунда после голосования?

Отредактировал: Alter, - 25.1.2014, 14:08
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DmitryLe
сообщение 25.1.2014, 14:46
Сообщение #27


Стаж: 13 лет

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

Цитата(Alter @ 25.1.2014, 16:08) *
DmitryLe,
Работает ли у тебя HS Only в начале следующего раунда после голосования?

Нет
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 25.1.2014, 21:33
Сообщение #28
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

DmitryLe,
Пробуй копать в сторону конфликтов плагинов. Поотключай их все, оставь только дефолтные и этот.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя DmitryLe
сообщение 25.1.2014, 21:41
Сообщение #29


Стаж: 13 лет

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

Цитата(Alter @ 25.1.2014, 23:33) *
DmitryLe,
Пробуй копать в сторону конфликтов плагинов. Поотключай их все, оставь только дефолтные и этот.

Говорю же, делал так, даже модули отключал левые...
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 25.1.2014, 21:48
Сообщение #30
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

/del/ код нашел

Отредактировал: csnet, - 25.1.2014, 21:49


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 27.1.2014, 18:52
Сообщение #31
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Ох, и намучился же я этим плагином psych.gif

Alter, ошибка 'Run time error 4: index out of bounds' происходила из-за автонажатия кнопки 'Выход' в текущем меню при показе игроку нового. Дада, пусть с виду меню её и не имеет) Т.е. в menu_vote() 'попадал' item = MENU_EXIT (т.е. -3).

Тут выложил модифицированную версию.


DmitryLe, на всякий случай: проблему 'чтобы после голосования HS мод работал' моя версия НЕ решит, потому что ваша проблема - не в плагине.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 1.2.2014, 13:05
Сообщение #32
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

Safety1st,
Понял. Но мой последний предложенный вариант фиксил эту проблему, т.к. проверялось if (num != 1 && num != 0)
Проверил, Ваш плагин работает правильно. Кстати, переменная giHasCloseOption у Вас нигде не используется, поэтому ее можно убрать.

Отредактировал: Alter, - 1.2.2014, 21:38
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 1.2.2014, 15:21
Сообщение #33
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Alter @ 1.2.2014, 15:05) *
мой последний предложенный вариант фиксил эту проблему, т.к. проверялось if (num != 1 && num != 0)

А обоснование у вашего последнего предложенного варианта было? ;) А установка 0 - это вообще не дело: лишний голос не за ту опцию)
Так-то понятно, что массиву не подходят item'ы, кроме 0 и 1. Интереснее было другое - почему)


Цитата(Alter @ 1.2.2014, 15:05) *
Проверил, твой плагин работает правильно. Кстати, переменная giHasCloseOption у тебя нигде не используется, поэтому ее можно убрать.

giHasCloseOption в коде используется. У проголосовавших игроков опция 'Exit' меняется на 'Close'.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 1.2.2014, 21:45
Сообщение #34
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

Цитата(Safety1st @ 1.2.2014, 17:21) *
А обоснование у вашего последнего предложенного варианта было? ;) А установка 0 - это вообще не дело: лишний голос не за ту опцию)
Так-то понятно, что массиву не подходят item'ы, кроме 0 и 1. Интереснее было другое - почему)


Ну да, над обоснованием я не думал. И с установкой переменной num в 0, каюсь, лажанул - нужно было просто выйти из функции.

Цитата
giHasCloseOption в коде используется. У проголосовавших игроков опция 'Exit' меняется на 'Close'.


Я понял, для чего Вы ввели эту переменную. Но Вы нигде не меняете ее значение. Только проверяете:
Код:
if( CheckFlag( giHasVoted, id ) && !CheckFlag( giHasCloseOption, id )) 


Но изначально giHasCloseOption равна 0, поэтому проверка
Код:
!CheckFlag( giHasCloseOption, id )
- бесполезна. И без нее все работает.

Отредактировал: Alter, - 1.2.2014, 21:46
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Safety1st
сообщение 1.2.2014, 22:03
Сообщение #35
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Цитата(Alter @ 1.2.2014, 23:45) *
Ну да, над обоснованием я не думал.

Без обоснования костылю фиксом/решением не стать ;)

Цитата(Alter @ 1.2.2014, 23:45) *
Я понял, для чего Вы ввели эту переменную. Но Вы нигде не меняете ее значение. Только проверяете
...
поэтому проверка
Код:
!CheckFlag( giHasCloseOption, id )
- бесполезна. И без нее все работает.

Понял, исправил, спасибо! Только надо было ратовать за добавление, а не удаление) Эта штука нужна, чтобы пункт меню многократно на один и тот же не менялся.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 2.2.2014, 14:25
Сообщение #36
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

Цитата(Safety1st @ 2.2.2014, 0:03) *
Эта штука нужна, чтобы пункт меню многократно на один и тот же не менялся.


То есть чтобы не задавать лишний раз название пункта?
Но ведь меню с пунктом MENU_CLOSE показывается игроку единожды. И, если игрок нажал его, меню закрывается.
Так что многократной замены этого пункта тут в любом случае не будет.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Safety1st
сообщение 2.2.2014, 15:50
Сообщение #37
Стаж: 14 лет
Город: Moscow

Сообщений: 7228
Благодарностей: 8071
Полезность: 196

Не-а, не единожды. Меню же 'обновляется' с каждым новым голосом.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Alter
сообщение 2.2.2014, 18:23
Сообщение #38
Стаж: 15 лет

Сообщений: 32
Благодарностей: 10
Полезность: 238

Safety1st,
Все, ретируюсь. Не заметил цикл по всем игрокам)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: