• 0
Harroybay

Ошибка меню при добавлении Правила

Вопросы

Привет всем. Наверно для вас это будет что-то не обычное, но всё-же это язык pawn)
Для кс 1.6

Такая проблема появилась. Есть в главном моде квар/правило (как хотите называйте)

g_iAlivePlayersNum[g_iUserTeam[id]] >= g_iAllCvars[RESPAWN_PLAYER_NUM][id]

Т.к у меня JailBreak сборка, я захотел во время дуэлей отключить меню привилегий
И решил этим правилом воспользоваться. При 1 зеке меню привилегий не должно открываться
Но т.к без проверки на флаг он не хочет работать, я добавил такую строку

(get_user_flags(id) & ADMIN_ALL)

И получилось вот что:

if((g_iDayMode == 1 || g_iDayMode == 2) && (get_user_flags(id) & ADMIN_ALL) && g_iAlivePlayersNum[g_iUserTeam[id]] >= g_iAllCvars[RESPAWN_PLAYER_NUM]) return Show_privmenu(id);

Но теперь для всех игроков оно вообще не открывается не зависимо сколько игроков или какая привилегия (даже владелец)
Компилируется без ошибок

Поделиться сообщением


Ссылка на сообщение

5 ответов на этот вопрос

  • 0
В 10.07.2020 в 00:28, Harroybay сказал:

if((g_iDayMode == 1 || g_iDayMode == 2) && (get_user_flags(id) & ADMIN_ALL) && g_iAlivePlayersNum[g_iUserTeam[id]] >= g_iAllCvars[RESPAWN_PLAYER_NUM]) return Show_privmenu(id);


А теперь дай объяснение всему условию.

Поделиться сообщением


Ссылка на сообщение
  • 0

g_iDayMode == 1 || g_iDayMode == 2 - это чтобы меню не работало в субботу и воскресенье
&& - это считается как И
(get_user_flags(id) & ADMIN_ALL) - это проверка на флаг. Если у человека нету данного флага - меню не доступно
g_iAlivePlayersNum(g_iUserTeam[id]] - это квар, через который определяется количество игроков заданном в специальном конфиге
>= g_iAllCrvars[RESPAWN_PLAYER_NUM]) - тот самый квар который при 1 зеке (если выставить в конфиге) отключает меню
return Show_privmenu(id); - думаю тут и так понятно. Открывает привилегии меню если проверка на флаг успешно пройдена и игроков больше чем 1

Поделиться сообщением


Ссылка на сообщение
  • 0

А так если вкратце, то данное правило выключает меню во время 1 зека (если выставить в конфиге)

Поделиться сообщением


Ссылка на сообщение
  • 0

@Harroybay попробуйте убрать все условия, кроме одного, чтобы найти из-за какого это все не работает. Большего посоветовать вряд ли получится, ибо лично я вообще не понимаю, что такое квар, зеки и JailBreak. Наверное, Вам стоит обратиться на форум разработчиков CS 1.6

Поделиться сообщением


Ссылка на сообщение
  • 0
В 11.07.2020 в 17:52, DEST сказал:

@Harroybay попробуйте убрать все условия, кроме одного, чтобы найти из-за какого это все не работает. Большего посоветовать вряд ли получится, ибо лично я вообще не понимаю, что такое квар, зеки и JailBreak. Наверное, Вам стоит обратиться на форум разработчиков CS 1.6

Искал уже, ни кто не отвечает. только тут отвечают. А так ладно попробую убрать все условия кроме 1, спасибо за совет :)

Поделиться сообщением


Ссылка на сообщение
Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • Triples
      От Triples
      При компиляции выдает ошибки
      space.pwn(5948) : error 035: argument type mismatch (argument 2) space.pwn(5948) : error 017: undefined symbol "ef" space.pwn(5948) : error 029: invalid expression, assumed zero space.pwn(5948) : fatal error 107: too many error messages on one line  
      Строчка на которую он жалуется
      cef_create_browser(playerid, LOGIN_BROWSER_ID, 'cef.utah-rp.ru/hud', false, false);  
    • Mason
      От Mason
      Всех Приветствую! У меня есть вот такая дверь, мне нужно сделать так чтобы она открывалась на кнопку, дело в том что я знаю про функцию MoveObject и даже попытался сделать так чтобы она открывалась, но когда я захожу в игру и нажимаю на кнопку то ничего не происходит.
      На всякий случай прикладываю код
       
       

    • bogdan@gmail
      От bogdan@gmail
      Приветствую всех. Обращаюсь к вам с вопросом, есть ли у кого то система подразделений внутри фракции? Мне нужна такая система, буду вам благодарен.
       
    • Tookie Johnson
      От Tookie Johnson
      Здравствуйте, не будет ли у кого нибудь системы анти-толкания транспортного средства для всего сервера?
    • phizl
      От phizl
      Доброго времени суток, у меня в моде есть система заточки аксессуаров и она работает, все значения записываются, но по каким-то причинам увеличение урона не срабатывает. У меня есть инклуд weapon-config, до этого в нём не было перехвата функции, я его сделал и по идее дефолтные паблики OnPlayerGiveDamage и OnPlayerTakeDamage щас срабатывают. Буду очень благодарен любой помощи! (К слову, в переменной
      pInfo[playerid][pAcsSharpening] все значения равны 11)
       
      Паблики OnPlayerGiveDamage и OnPlayerTakeDamage в самом моде:
      public OnPlayerGiveDamage(playerid, damagedid, Float:amount, weaponid, bodypart) {     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     return 1; } public OnPlayerTakeDamage(playerid, issuerid, Float:amount, weaponid, bodypart) {     new nodamage;     if(pInfo[playerid][pAcsSharpening][1] != 0)     {         switch(pInfo[playerid][pAcsSharpening][1])         {             case 1..3: nodamage = 0;             case 4: nodamage = 2;             case 5: nodamage = 4;             case 6: nodamage = 5;             case 7: nodamage = 6;             case 8: nodamage = 8;             case 9: nodamage = 10;             case 10: nodamage = 12;             case 11,12: nodamage = 15;         }     }     if(pInfo[playerid][pAcsSharpening][4] != 0)     {         switch(pInfo[playerid][pAcsSharpening][4])         {             case 1..3: nodamage = 0;             case 4..11: nodamage = pInfo[playerid][pAcsSharpening][4]-2;             case 12: nodamage = 9;         }     }     new damage;     switch(pInfo[playerid][pAcsSharpening][2])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][2]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     switch(pInfo[playerid][pAcsSharpening][3])     {         case 0..3: damage = 0;         case 4..11: damage = pInfo[playerid][pAcsSharpening][3]-3;         case 12: damage = 8;     }     amount += (amount / 100) * damage;     if(pInfo[playerid][pAcsSharpening][1] == 0 && pInfo[playerid][pAcsSharpening][4] == 1 || pInfo[playerid][pAcsSharpening][4] == 0 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100) * nodamage;     if(pInfo[playerid][pAcsSharpening][4] == 1 && pInfo[playerid][pAcsSharpening][2] == 1) amount -= (amount / 100)*nodamage*2;     return 1; }  
      Эти же паблики, но в weapon-config с моим перехватом (расположен внизу каждого паблика), мало ли как-то не так сделал