Сегодня задался вопросом как реализовать систему VIP в проекте...
Иными словами мне интересно как она реализована в Ewix т.е если ты не VIP ты не можешь выбрать определённых персонажей...
Подскажет кто как это реализовать?

Принятый ответ

в карте делаем список ников VIP игроков и если игрок есть в списке то позволяем ему выбрать героя
подробнее там
2
28
9 лет назад
2
в карте делаем список ников VIP игроков и если игрок есть в списке то позволяем ему выбрать героя
подробнее там
Принятый ответ
2
32
9 лет назад
2
Ой расцветете читерство махровым цветом...
Нейм спуферы давным давно доступны.
0
6
9 лет назад
0
Нужно хранить ники не в открытую, а в виде хэшей. Ну и в том же эвиксе еще необходим файл для активации.
0
28
9 лет назад
0
Нужно хранить ники не в открытую, а в виде хэшей
а смысл если мы всеравно знаем ник VIP игрока
BaHeK:
файл для активации
делается за 5 минут кривыми руками
если руки прямые то карта его сама генерирует
0
6
9 лет назад
0
Ники випов в карте не будут написаны, по хешу вычислить ник практически невозможно. Так что тут два варианта - это встретить випа в игре или узнать ники из других источников. Так что не всё так просто.
Доп. файл, тоже далеко не каждый сможет сделать.
0
28
9 лет назад
0
Так что тут два варианта - это встретить випа в игре или узнать ники из других источников.
достаточно глянуть справку в разделе разработчики
кроме того о том что в игре есть випы мы скорее всего узнаем когда их встретим
и в карту не так уж и много людей играет чтобы долго искать випа
0
6
9 лет назад
0
В таком случае нужно будет ещё добавить пароль для авторизация випа. Естественно хранить его тоже в виде хэша.
0
32
9 лет назад
0
Нужно хранить ники не в открытую, а в виде хэшей. Ну и в том же эвиксе еще необходим файл для активации.
Насколько помню ломанули, хз конечно работает сейчас или нет...
0
6
9 лет назад
0
quq_CCCP, да взломали, потому что плохая там система была.
Я же предлагаю сделать проверку
    if StringHash(GetPlayerName(p)) == 123456 and StringHash(GetEventPlayerChatString()) == 23456 then
    	call activate_VIP(p)
    endif
Очевидный плюс - из кода карты невозможно будет определить ник и пароль.
0
32
9 лет назад
0
BaHeK:
quq_CCCP, да взломали, потому что плохая там система была.
Я же предлагаю сделать проверку
    if StringHash(GetPlayerName(p)) == 123456 and StringHash(GetEventPlayerChatString()) == 23456 then
    	call activate_VIP(p)
    endif
Очевидный плюс - из кода карты невозможно будет определить ник и пароль.
Хеш от строки вроде не зависит от содержания строки, аналог функции на RB S2Ix которая возвращает номер строки в таблице строк, но вот нет гарантий что по этому адресу всегда будет ник игрока.
0
6
9 лет назад
0
Хеш от строки вроде не зависит от содержания строки
Единственное от чего он зависит это как раз от содержания строки. Для одинаковых строк он всегда один и тот же.
аналог функции на RB S2Ix которая возвращает номер строки в таблице строк, но вот нет гарантий что по этому адресу всегда будет ник игрока
Совершенно неверно.
0
32
9 лет назад
Отредактирован quq_CCCP
0
BaHeK:
Хеш от строки вроде не зависит от содержания строки
Единственное от чего он зависит это как раз от содержания строки. Для одинаковых строк он всегда один и тот же.
аналог функции на RB S2Ix которая возвращает номер строки в таблице строк, но вот нет гарантий что по этому адресу всегда будет ник игрока
Совершенно неверно.
Про первое это естественно, строки кешируются, 2 строки с одним и тем же содержанием равны, так уж устроен варкравт.
Второе не проверял, поэтому хз.
0
28
9 лет назад
Отредактирован nvc123
0
Про первое это естественно, строки кешируются, 2 строки с одним и тем же содержанием равны, так уж устроен варкравт.
причём тут это?
речь скорее всего идёт про хэш функции
например md5
BaHeK, это всё работает лишь до тех пор пока не встретишь випа
в вар3 нету достаточно надёжного метода реализовать аутентификацию
а если ты хост и пишешь все данные по вар3 то ещё проще взломать
да и не будет никто для какой то карты в которую максимум пару тысяч играет реализовывать нечто подобное
0
6
9 лет назад
0
nvc123, но вариант со StringHash более чем надежен. Средний взломщик такую систему не сможет взломать. Ради проверки можешь сам попробовать подобрать строку, StringHash которой равен, ну скажем, 12345.
0
33
9 лет назад
0
BaHeK, но речь же о том, что если ты встретишь VIPа в игре и узнаешь, что это он, никто не помешает тебе назваться его никнеймом в дальнейшем =)
2
6
9 лет назад
2
Кет, я писал еще, что необходимо випу ввести пароль.
Чтобы оставить комментарий, пожалуйста, войдите на сайт.