Русское сообщество по скриптингу

Проверка на флаг работает ошибочно  [Решено]

Все вопросы по скриптингу для AMXX, помощь в редактировании плагинов.

Модераторы: Subb98, liFe iS GoOD

Правила форума
1. Запрещено материться и оскорблять других участников форума.
2. Запрещен флуд, оффтоп, дабл постинг во всех разделах форума, кроме раздела "Болтовня".
3. Запрещено взламывать сайт/форум или наносить любой вред проекту.
4. Запрещено рекламировать другие ресурсы.
5. Запрещено создавать темы без информативного названия. Название темы должно отображать ее смысл.

В данном разделе форума разрешено создавать темы, касающие только скриптинга для AMX Mod X.

Правила при создании новой темы:
1. При вставке кода плагина необходимо использовать тег [code=php].
2. Любые изображения должны быть загружены, как вложения к вашему сообщению.
3. При описании проблемы или запросе на помощь в редактировании плагина обязательно выкладывайте исходник sma плагина.

Проверка на флаг работает ошибочно  [Решено]

Сообщение AoHeaven » 15 сен 2020, 20:27

Здраствуйте, прошу помощи. В плагине проверка на флаг игрока, если флаг ADMIN_LEVEL_F или ADMIN_LEVEL_G, то он будет показывать ему в TAB приставочку VIP.

Код: Выделить всё
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>

#define PLUGIN "VIP_TAB"
#define VERSION "1.0"
#define AUTHOR "CaNiBaL"

public plugin_init()
{
    register_plugin(PLUGIN, VERSION, AUTHOR) 

    register_event
("ResetHUD", "ResetHUD", "be")
}

public ResetHUD(id)
{
    set_task(0.5, "VIP", id + 6910)
}

public VIP(TaskID)
{
    new id = TaskID - 6910 
        if
(get_user_flags(id) & ADMIN_LEVEL_F | ADMIN_LEVEL_G)
        {
            message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
            write_byte(id)
            write_byte(4)
            message_end()
        }

        return PLUGIN_HANDLED  
}

/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1049\\ f0\\ fs16 \n\\ par }
*/
 


Но дело в том что он показывает приставочку VIP даже игрокам без флага, тоесть обычному игроку. Как можно решить? Спасибо заранее
Аватара пользователя
AoHeaven
 
Сообщения: 80
Зарегистрирован: 16 авг 2020, 23:31
Откуда: Украина
Благодарил (а): 33 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Проверка на флаг работает ошибочно

Сообщение Mistrick » 16 сен 2020, 01:11

Почитайте про очередь выполнения операторов.
Аватара пользователя
Mistrick
Скриптер
 
Сообщения: 2903
Зарегистрирован: 04 ноя 2012, 18:15
Благодарил (а): 43 раз.
Поблагодарили: 1222 раз.
Языки программирования: PAWN
С/С++(few above zero)

Re: Проверка на флаг работает ошибочно

Сообщение hren_morjovui » 16 сен 2020, 22:22

Код: Выделить всё
new player_flags get_user_flags(id);
if((
player_flags ADMIN_LEVEL_F) || (player_flags ADMIN_LEVEL_G))
{
}
 
"В этом мире неизбежны три вещи: смерть, налоги и гравитация."
Аватара пользователя
hren_morjovui
 
Сообщения: 198
Зарегистрирован: 29 май 2018, 09:15
Благодарил (а): 72 раз.
Поблагодарили: 19 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn
PHP
jQuery

Re: Проверка на флаг работает ошибочно

Сообщение AoHeaven » 20 сен 2020, 12:03

Спасибо

Добавлено спустя 43 секунды:
А в чём отличие || от |, && от &. В гайдах по скриптингу пишут 2 символа
Аватара пользователя
AoHeaven
 
Сообщения: 80
Зарегистрирован: 16 авг 2020, 23:31
Откуда: Украина
Благодарил (а): 33 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Проверка на флаг работает ошибочно

Сообщение Ragamafona » 20 сен 2020, 14:34

Эта инфа есть в сети, поищи

|| - или
&& - и
& - является ли истиной
| - также добавить/изменить на словах в голову не приходит как объяснить
-> Разработка различных модификаций для CS 1.6.
https://vk.com/ragashop

-> Мои контакты
VK: https://vk.com/felhalas
Telegram: https://t.me/bezbashenui
Discord: Ragamafona#7101
Аватара пользователя
Ragamafona
 
Сообщения: 49
Зарегистрирован: 15 янв 2018, 16:54
Благодарил (а): 0 раз.
Поблагодарили: 19 раз.
Опыт программирования: Больше трех лет
Языки программирования: Pawn
C++
C#

Re: Проверка на флаг работает ошибочно

Сообщение AoHeaven » 20 сен 2020, 16:44

А можно примеры где &&, а где & я не совсем понял, а так спасибо
Аватара пользователя
AoHeaven
 
Сообщения: 80
Зарегистрирован: 16 авг 2020, 23:31
Откуда: Украина
Благодарил (а): 33 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Проверка на флаг работает ошибочно

Сообщение Fedcomp » 20 сен 2020, 17:46

Ice_AngelUA писал(а):А можно примеры где &&, а где & я не совсем понял, а так спасибо

&& для boolean, & для битовых операций (разные вещи). С || и | также.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4805
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 772 раз.
Поблагодарили: 1279 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

Re: Проверка на флаг работает ошибочно

Сообщение fl0wer » 20 сен 2020, 20:40

Аватара пользователя
fl0wer
 
Сообщения: 1672
Зарегистрирован: 27 фев 2011, 21:35
Откуда: Россия, Ижевск
Благодарил (а): 239 раз.
Поблагодарили: 501 раз.
Опыт программирования: Больше трех лет
Языки программирования: C++, Java, PAWN

Re: Проверка на флаг работает ошибочно

Сообщение AoHeaven » 20 сен 2020, 21:34

Fedcomp писал(а):
Ice_AngelUA писал(а):А можно примеры где &&, а где & я не совсем понял, а так спасибо

&& для boolean, & для битовых операций (разные вещи). С || и | также.


Но я видел как в плагинах одним символом сравнивали обычные переменные и нативы
Аватара пользователя
AoHeaven
 
Сообщения: 80
Зарегистрирован: 16 авг 2020, 23:31
Откуда: Украина
Благодарил (а): 33 раз.
Поблагодарили: 0 раз.
Языки программирования: Я ничего не знаю

Re: Проверка на флаг работает ошибочно

Сообщение Fedcomp » 21 сен 2020, 11:55

Ice_AngelUA писал(а):
Fedcomp писал(а):
Ice_AngelUA писал(а):А можно примеры где &&, а где & я не совсем понял, а так спасибо

&& для boolean, & для битовых операций (разные вещи). С || и | также.


Но я видел как в плагинах одним символом сравнивали обычные переменные и нативы

Например? Вообще выше вам дали ссылку на статью, гляньте ее.
Не помогаю в ЛС - есть форум.
Плагины тоже не пишу, на форуме достаточно хороших скриптеров.


"я ставлю зависимости потому что мне приятно" - subb98 @ 2017
Аватара пользователя
Fedcomp
Администратор
 
Сообщения: 4805
Зарегистрирован: 28 авг 2009, 20:47
Благодарил (а): 772 раз.
Поблагодарили: 1279 раз.
Языки программирования: =>
pawn / php / python / ruby
javascript / rust

След.

Вернуться в Скриптинг

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 4

cron