Страница 1 от 2
Защита на [NickName] по [SteamId]
Публикувано на: 08 Юни 2020, 00:06
от gadinkata
Здравейте,имам нужда от плъгин,който да защити никовете на админите ми по стеам ид,за да неможе никой друг освен тях,примерно в плъгина искам да защити никът "gadinkata" със стеам "STEAM_0:1:84315484",обобщавам искам играч с ник "gadinkata" да бъде допуснат,само ако стеам ид-то отговаря на това което съм задал стеам "STEAM_0:1:84315484".Ако може с Ini файл в който да се добавят никът и стеам идто,който да бъдат защитени,ако ви е сложно,може да напишете един прост код,с 1 ник и стеами, просто да видя как се получава,ще ви дам един мой който се опитах да направя,но не успях
Код за потвърждение: Избери целия код
#include <amxmodx>
#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "IOCOCVETI"
new Trie:g_steamlog
enum _:SteamLogs
{
NickId[32],
SteamId[34]
}
new const g_eSteamLogs[] [SteamLogs] =
{
{"Gadinkata", "STEAM_0:1:84315484"}
}
public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
g_steamlog = TrieCreate()
}
public plugin_end()
TrieDestroy(g_steamlog)
public client_authorized(id)
{
new szSteam[34], szName[32]
get_user_name(id, szName, charsmax(szName))
get_user_authid(id, szSteam, charsmax(szSteam))
if(TrieKeyExists(g_steamlog, szSteam) && TrieKeyExists(g_steamlog, szName))
{
TrieGetString(g_steamlog, szSteam, NickId, charsmax(NickId))
TrieGetString(g_steamlog, szName, SteamId, charsmax(SteamId))
}
}
Защита на [NickName] по [SteamId]
Публикувано на: 08 Юни 2020, 00:20
от impossible
В ussr.ini можеш да дадеш права по Steamid
Освен това си го има в AmXmodx пакета няма как да се влезне с Ник на админ без да напишеш паролата зададена от user.ini
И след това да се напише в конзолата Setinfo _pw и паролата ще изпише "You have no entry to the server"
Защита на [NickName] по [SteamId]
Публикувано на: 08 Юни 2020, 00:54
от sf4n
Това е адски ненужно, както потребителя над мен е споменал, само и единствено ако се напише паролата, която е зададена от user.ini може да се влезе с твоя ник, отделно, че със steamid правата ти деистват няколко дена и след това изчезват ако си non-steam, просто няма нужда от излишни плъгини, все пак можеш да пробваш да си добавиш права от user.ini със steamid.
Защита на [NickName] по [SteamId]
Публикувано на: 08 Юни 2020, 09:57
от atmax
Пробвай това, не съм сигурен дали ще работи. За сега без файл, нека първо видим, дали ще тръгне така!
Код за потвърждение: Избери целия код
#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 Steam ID is Protected!^"", get_user_userid(id))
}
}
else
{
server_cmd("kick #%i ^"Your Steam ID is Protected!^"", get_user_userid(id))
}
return PLUGIN_HANDLED
}
Защита на [NickName] по [SteamId]
Публикувано на: 08 Юни 2020, 21:22
от gadinkata
atmax написа: ↑08 Юни 2020, 09:57
Пробвай това, не съм сигурен дали ще работи. За сега без файл, нека първо видим, дали ще тръгне така!
Код за потвърждение: Избери целия код
#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 Steam ID is Protected!^"", get_user_userid(id))
}
}
else
{
server_cmd("kick #%i ^"Your Steam ID is Protected!^"", get_user_userid(id))
}
return PLUGIN_HANDLED
}
Работи,но допуска само играч отговарящ на никът и стеамид-то,а аз искам всеки да може да влиза,но,ако играч се опита да влезе с тоя ник,да провери дали неговото стеамид съвпада с горе посоченото,ако съвпада да го допусне с този ник,ако не съвпада да го кикне
Защита на [NickName] по [SteamId]
Публикувано на: 08 Юни 2020, 22:52
от Drea<M>40BG ;]]
viewtopic.php?f=21&t=48 защо не пробваш с това?
Защита на [NickName] по [SteamId]
Публикувано на: 09 Юни 2020, 12:43
от atmax
Знам та, че си пробваш някакви плъгинчета, защото ти е кеф, но не можа ли толкоз да смениш 1-2 реда..
Код за потвърждение: Избери целия код
#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_tSteamWhiteList, szAuthID))
{
if(TrieKeyExists(g_tNameWhiteList, szName))
{
return PLUGIN_CONTINUE
}
else
{
server_cmd("kick #%i ^"Your SteamID/Name is Protected!^"", get_user_userid(id))
}
}
else
{
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
Пробвай това, дали ще отговори на очакванията ти..
Защита на [NickName] по [SteamId]
Публикувано на: 09 Юни 2020, 20:47
от gadinkata
atmax написа: ↑09 Юни 2020, 12:43
Знам та, че си пробваш някакви плъгинчета, защото ти е кеф, но не можа ли толкоз да смениш 1-2 реда..
Код за потвърждение: Избери целия код
#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_tSteamWhiteList, szAuthID))
{
if(TrieKeyExists(g_tNameWhiteList, szName))
{
return PLUGIN_CONTINUE
}
else
{
server_cmd("kick #%i ^"Your SteamID/Name is Protected!^"", get_user_userid(id))
}
}
else
{
return PLUGIN_CONTINUE
}
return PLUGIN_HANDLED
}
Пробвай това, дали ще отговори на очакванията ти..
Опитай пак,сега дапуска всички други,останали играчим,допуска и мен,но само ако въведа никът gadinkata,неми позволява, да играя с друг ник,също така и другите играчи ги до пуска с никът gadinkata,не може ли да се ползва и TrieSetString TrieGetString и същевременно equal за сравнение никове или стеам.Дай друго предложение,ще ти взема 2 каси с бира
И хвани ми пиши в скайп малко
Нужно ми е за админите,че някой играчи влизат с техните никове,а аз съм ги направил по стеам,ако съм искал да ги направя по ник,че да ги защитя,но set info _pw командата е лесно за хакване във всеки един сървър който влезеш,за това предпочитам стеам,трудно се копира стеама на играч
Защита на [NickName] по [SteamId]
Публикувано на: 09 Юни 2020, 21:19
от atmax
Размени мястото на тези двете условия:
Код за потвърждение: Избери целия код
if(TrieKeyExists(g_tSteamWhiteList, szAuthID))
{
if(TrieKeyExists(g_tNameWhiteList, szName))
{
А и много по-лесно се копира steamid отколкото да му вземеш паролата.. Даже за steamid не е нужно да ги викам в други сървъри мога за минута да копирам всяко едно id в игра..
Ако искаш може да пробваш по IP, по-добре от steamid
Защита на [NickName] по [SteamId]
Публикувано на: 09 Юни 2020, 21:24
от JackEyedJones
Код за потвърждение: Избери целия код
#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;
}
Въобще защо си тръгнал с Trie структура да го правиш не знам.
До автора на темата, през users.ini се защитава най-лесно. Хората са го казали. Инак, почти си го направил. 50% само.
Untested, but give it a shot.