PDA

Просмотр полной версии : [Вопрос] Ключ от дома



vovandolg
30.12.2015, 16:22
1.


if(PlayerInfo[playerid][pPhousekey] != 1622) return 1;
Действие();
return 1;

2.

if(PlayerInfo[playerid][pPhousekey] != 1622 || PlayerInfo[playerid][pPhousekey] != 666 || PlayerInfo[playerid][pPhousekey] != 228) return 1;
Действие();
return 1;


1 вариант срабатывает, а вот второй не хочет почему то, в чём трабла может быть?

Daniel_Cortez
30.12.2015, 17:12
1 вариант срабатывает, а вот второй не хочет почему то, в чём трабла может быть?
В том, что переменная не может быть равна трём значениям сразу.

vovandolg
30.12.2015, 17:51
В том, что переменная не может быть равна трём значениям сразу.
А как замутить чтобы код был покороче и работал при более 2 значениях?
Не всё же перебирать, домов около 2к, да ну..

ziggi
30.12.2015, 21:16
А как замутить чтобы код был покороче и работал при более 2 значениях?
Не всё же перебирать, домов около 2к, да ну..

По всей видимости, автор кода подразумевал вместо логического ИЛИ (||) логическое И (&&).

vovandolg
31.12.2015, 00:00
мм как написано так и было, мне надо чтобы эти три дома были только или прибавить там ещё несколько, по одному тонна кода получится..

Роуди.
11.01.2016, 19:04
if(PlayerInfo[playerid][pPhousekey] != 1622 && PlayerInfo[playerid][pPhousekey] != 666 && PlayerInfo[playerid][pPhousekey] != 228)

или я не правильно понял?

vovandolg
11.01.2016, 19:20
if(PlayerInfo[playerid][pPhousekey] != 1622 && PlayerInfo[playerid][pPhousekey] != 666 && PlayerInfo[playerid][pPhousekey] != 228)

или я не правильно понял?

Если у тебя нету одного из трёх ключей то return 1;
Я через switch замучу, будет работать думаю...

DeimoS
11.01.2016, 21:28
Если у тебя нету одного из трёх ключей то return 1;
Я через switch замучу, будет работать думаю...

Код Роуди будет работать как надо. А Вам бы я советовал вникнуть в эту тему и понять почему именно так надо было делать, а не иначе. Условия - одно из самых элементарных и самых основных частей любого ЯП, а Вы не умеете с ними работать...

Роуди.
11.01.2016, 21:32
Если у тебя нету одного из трёх ключей то return 1;
Я через switch замучу, будет работать думаю...

Так получается, судя по тому что я отписал:
Если у игрока нету ключа 1622 и 666 и 228, то вернет единичку. Вроде бы вы этого и хотели

vovandolg
12.01.2016, 04:15
Так получается, судя по тому что я отписал:
Если у игрока нету ключа 1622 и 666 и 228, то вернет единичку. Вроде бы вы этого и хотели

йоо...
Да что тут не понятно, я хотел сделать так чтобы хозяины 3 домов могли открывать ворота, а другим высветилась единица, кортез уже описал почему не работал код и я потом сделал через switch, что есть получилось и работает как часы.
Тема решена, обсуждать какой криворукий или тугой не надо, закрывайте тему:lol: