Защо даваш съвети ако не знаеш кое е по-добра опция? Аз му казах да ползва Trie структура защото това е най-бързият и най-удачният начин за тази цел. Каква е целта да loop-ваш цял списък всеки път когато играч влезне вместо да провериш дали стойността съответства в trie?JackEyedJones написа: ↑09 Юни 2020, 21:24Въобще защо си тръгнал с Trie структура да го правиш не знам.
Защита на [NickName] по [SteamId]
-
OciXCrom
Извън линия - Администратор
- Мнения: 7206
- Регистриран на: 06 Окт 2016, 19:20
- Местоположение: /resetscore
- Се отблагодари: 117 пъти
- Получена благодарност: 1295 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
-
mi0
Извън линия - AMXX Скриптър
- Мнения: 534
- Регистриран на: 09 Дек 2016, 22:02
- Се отблагодари: 97 пъти
- Получена благодарност: 120 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
В крайна сметка, задължително списък трябва да бъде loop-нат.OciXCrom написа: ↑09 Юни 2020, 21:30Защо даваш съвети ако не знаеш кое е по-добра опция? Аз му казах да ползва Trie структура защото това е най-бързият и най-удачният начин за тази цел. Каква е целта да loop-ваш цял списък всеки път когато играч влезне вместо да провериш дали стойността съответства в trie?JackEyedJones написа: ↑09 Юни 2020, 21:24Въобще защо си тръгнал с Trie структура да го правиш не знам.
Код за потвърждение: Избери целия код
template <typename U>
iterator find(const U & equ)
{
iterator iter;
for (iter=begin(); iter!=end(); iter++)
{
if ( (*iter) == equ )
return iter;
}
return end();
}
aka kurdokoleno
Catch Mod - 87.121.112.232:27021
Catch Mod - 87.121.112.232:27021
-
atmax
Извън линия - Потребител
- Мнения: 492
- Регистриран на: 22 Мар 2018, 15:06
- Се отблагодари: 37 пъти
- Получена благодарност: 43 пъти
Защита на [NickName] по [SteamId]
Това е извън мойте граници Все пак, мисля че е добра идея това с loop-a. Автора ме питаше какво ще се прави ако някой в игра си смени никнейм-а или стийм ид-то няма ли да е по-добре да проверява всички играчи?
Rest in peace my friend I always will remember you!
-
gadinkata
Извън линия - Потребител
- Мнения: 259
- Регистриран на: 21 Мар 2018, 12:33
- Местоположение: Враца
- Се отблагодари: 25 пъти
- Получена благодарност: 7 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Също така Благодарности на atmax за trie версиятаJackEyedJones написа: ↑09 Юни 2020, 21:24Въобще защо си тръгнал с Trie структура да го правиш не знам.Код за потвърждение: Избери целия код
#include <amxmodx> enum _:iNames { g_szNickName[63], g_szSteamId[63] } new const g_iSteamNamesWhitelist[][iNames] = { { "Gadinkata", "STEAM_0:1:84315484" }, { "DrugoIme", "STEAM_0:1:84315485" }, { "TretoIme", "STEAM_0:1:84315486" } } public plugin_init() register_plugin( "SteamID/Name WhiteList", "", ""); public client_authorized(id) { new szAuthID[63], szName[63]; get_user_authid(id, szAuthID, charsmax(szAuthID)); get_user_name(id, szName, charsmax(szName)); for(new i; i < sizeof(g_iSteamNamesWhitelist); i++) { if( equal(szName, g_iSteamNamesWhitelist[i][g_szNickName]) && !equal(szAuthID, g_iSteamNamesWhitelist[i][g_szSteamId]) ) { server_cmd("kick #%i ^"This Name is protected by Steam ID!^"", get_user_userid(id)); return PLUGIN_HANDLED; } } return PLUGIN_CONTINUE; }
До автора на темата, през users.ini се защитава най-лесно. Хората са го казали. Инак, почти си го направил. 50% само.
Untested, but give it a shot.
Код за потвърждение: Избери целия код
#include <amxmodx>
new Trie:g_tSteamWhiteList
new Trie:g_tNameWhiteList
public plugin_init()
{
register_plugin( "SteamID/Name WhiteList", "0.1a", "aTmAx")
g_tSteamWhiteList = TrieCreate()
g_tNameWhiteList = TrieCreate()
TrieSetCell(g_tSteamWhiteList, "STEAM_0:1:84315484", 1)
TrieSetCell(g_tNameWhiteList, "Gadinkata", 1)
}
public plugin_end()
{
TrieDestroy(g_tSteamWhiteList)
TrieDestroy(g_tNameWhiteList)
}
public client_authorized(id)
{
new szAuthID[35]
new szName[32]
get_user_authid(id, szAuthID, charsmax(szAuthID))
get_user_name(id, szName, charsmax(szName))
if(TrieKeyExists(g_tNameWhiteList, szName))
{
if(TrieKeyExists(g_tSteamWhiteList, szAuthID))
{
return PLUGIN_CONTINUE
}
else
{
server_cmd("kick #%i ^"Your SteamID/Name is Protected!^"", get_user_userid(id))
}
}
else
{
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
Колкото до това дали по през user.ini е 100 процента защитено,аз сам си преценявам,със сигорно знам,че паролата на играч може да се вземе във всеки сървър
Ако желаете може да локнете темата
Последно промяна от gadinkata на 10 Юни 2020, 21:30, променено общо 1 път.
-
JackEyedJones
Извън линия - Потребител
- Мнения: 399
- Регистриран на: 10 Сеп 2018, 17:26
- Местоположение: Plovdiv, Bulgaria, Europe, Entire World
- Се отблагодари: 4 пъти
- Получена благодарност: 69 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Залагане на права по Steam ID през users.ini не изисква да им слагаш пароли. Просто го настрой да е по стийм и толкоз. Като не му съвпада ИД-то на дадения играч, ще може да влезе, но няма да има права. Теста на плъгина ми трябва да го направиш само с името gadinkata, другите бяха примерни и ИД-тата на стиймовете не са валидни.
-
gadinkata
Извън линия - Потребител
- Мнения: 259
- Регистриран на: 21 Мар 2018, 12:33
- Местоположение: Враца
- Се отблагодари: 25 пъти
- Получена благодарност: 7 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Всички Админи са ми по стеам,аз за това искам,да им защитя никовете,защото има хора влизат с никовете на админите и им прецакват ранка,за това ми трябва тоя плъгин,знам че има регистър ник, плъгин,но не искам да добавям толкова сложни плъгини,просто който иска защита на ник,ще го добавя и т.н Пак благодаряJackEyedJones написа: ↑10 Юни 2020, 21:27 Залагане на права по Steam ID през users.ini не изисква да им слагаш пароли. Просто го настрой да е по стийм и толкоз. Като не му съвпада ИД-то на дадения играч, ще може да влезе, но няма да има права. Теста на плъгина ми трябва да го направиш само с името gadinkata, другите бяха примерни и ИД-тата на стиймовете не са валидни.
-
mi0
Извън линия - AMXX Скриптър
- Мнения: 534
- Регистриран на: 09 Дек 2016, 22:02
- Се отблагодари: 97 пъти
- Получена благодарност: 120 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Просто в users.ini под всички админи си правиш графа "; Nickove" и добавяш пароли на никовете. Толкова ли е сложно?
aka kurdokoleno
Catch Mod - 87.121.112.232:27021
Catch Mod - 87.121.112.232:27021
-
gadinkata
Извън линия - Потребител
- Мнения: 259
- Регистриран на: 21 Мар 2018, 12:33
- Местоположение: Враца
- Се отблагодари: 25 пъти
- Получена благодарност: 7 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Темата стана банална,моля да бъде заключена,не искам да влизам в подробности,кое правилно или грешно,за мен е грешно да добавям в графа Никове и пароли,защото тая прословута парола,се взима много лесно имам много такива пароли на играчи в списък Заключвайте,създадохте това което ми трябва,от тук натам ще си ъпдейтна плъгина до нужното
-
mi0
Извън линия - AMXX Скриптър
- Мнения: 534
- Регистриран на: 09 Дек 2016, 22:02
- Се отблагодари: 97 пъти
- Получена благодарност: 120 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Само информация за следващите търсещи подобни работи. Има приоритет в users.ini - чете се отгоре-надолу. Хората, които са по-нагоре в списъка, биват пуснати без да се проверява, дали по-надолу има пароли. Можеш да им сложиш парола по-надолу, която дори те не знаят. Ще бъдат логнати по SteamID и паролата няма да им се изисква(те не трябва да я имат, знаят или въвеждат), съответно няма как, някой да я вземе, освен ако не ти влезе в users.ini и не я извади.
aka kurdokoleno
Catch Mod - 87.121.112.232:27021
Catch Mod - 87.121.112.232:27021
-
JackEyedJones
Извън линия - Потребител
- Мнения: 399
- Регистриран на: 10 Сеп 2018, 17:26
- Местоположение: Plovdiv, Bulgaria, Europe, Entire World
- Се отблагодари: 4 пъти
- Получена благодарност: 69 пъти
- Обратна връзка:
Защита на [NickName] по [SteamId]
Играели с никовете на админите, затова иска плъгин. Като иска, да си иска. Щом пише, че има нужното, окей.
-
- Подобни теми
- Отговори
- Преглеждания
- Последно мнение
-
- 8 Отговори
- 4492 Преглеждания
-
Последно мнение от hellmoss
-
- 11 Отговори
- 4311 Преглеждания
-
Последно мнение от Infamous2018
-
- 5 Отговори
- 2516 Преглеждания
-
Последно мнение от Infamous2018
-
- 6 Отговори
- 3126 Преглеждания
-
Последно мнение от truex_88
-
- 2 Отговори
- 1706 Преглеждания
-
Последно мнение от Just
-
- 3 Отговори
- 1080 Преглеждания
-
Последно мнение от petkoivan007
-
- 5 Отговори
- 2207 Преглеждания
-
Последно мнение от Infamous2018
Кой е на линия
Потребители разглеждащи този форум: Google [Bot] и 10 госта