Взимане с [TrieSetString]информация от ini.file

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
gadinkata
Извън линия
Потребител
Потребител
Мнения: 259
Регистриран на: 21 Мар 2018, 12:33
Местоположение: Враца
Се отблагодари: 25 пъти
Получена благодарност: 7 пъти
Обратна връзка:

Взимане с [TrieSetString]информация от ini.file

Мнение от gadinkata » 19 Юли 2020, 15:58

Здравейте,трябва ми помощ отностно как да взема информацията вкарана в указателя?
Ще ми трябва loop цикъл зада проверява всички добавени никове и стеам ид-та и да ги сравнява,с тези на играчите.
При проверката която имам в кода,ми изкарва,че в указателя имам запаметени 8 играча,но незнам как да ги вкарам в друга публична функция

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <amxmisc>
#include <cromchat>

#define PLUGIN "New Plug-In"
#define VERSION "1.0"
#define AUTHOR "IOCOCVETI"

enum
{
SECTION_SETTINGS = 1,
SECTION_RANKS
}

enum _:eSettings
{
Prefix[64]
}

new g_eSettings[eSettings]
new szKey[64],szValue[32]
new Trie:g_tRegNameSteam

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)
register_concmd("amx_countkills", "cmdReset", ADMIN_KICK, "-- pokazva kolko elementi sa zapazeni v ukazatelq")
CC_SetPrefix(g_eSettings[Prefix])
}

public plugin_precache()
{
g_tRegNameSteam = TrieCreate()
ReadFile()
}

public end()
{
	TrieDestroy(g_tRegNameSteam)
}
ReadFile()
{
static szFilename[256],iFilePointer
get_configsdir(szFilename, charsmax(szFilename))
add(szFilename, charsmax(szFilename), "/RegNickSteam.ini")
iFilePointer = fopen(szFilename, "rt")
if(iFilePointer)
{
static szData[32],iSection

while(!feof(iFilePointer))
{
fgets(iFilePointer, szData, charsmax(szData))
trim(szData)

if (szData[0] == E0S || szData[0] == ';' || (szData[0] == '/' && szData[1] == '/'))
	continue
	
	switch(szData[0])
	{
		case E0S, ';': continue
			case '[':
			{
				if (szData[strlen(szData) - 1] == ']')
				{
					if (containi(szData, "settings") != -1)
						iSection = SECTION_SETTINGS
						else if (containi(szData, "ranks") != -10)
							iSection = SECTION_RANKS
					}
					else
						continue
				}
				default:
			{
				switch(iSection)
				{
					case SECTION_SETTINGS:
					{
						strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '/')
						trim(szKey)
						trim(szValue)
						
						if (szValue[0] == E0S)
							continue
							
							if (equal(szKey, "PREFIX"))
								copy(g_eSettings[Prefix], charsmax(g_eSettings[Prefix]), szValue)
						}
						case SECTION_RANKS:
						{
							strtok(szData, szKey, charsmax(szKey), szValue, charsmax(szValue), '/')
							trim(szKey)
							trim(szValue)
							
							if (szValue[0] == E0S)
								continue
							
							TrieSetString(g_tRegNameSteam,szKey,szValue)
							
							
						}
					}
				}
			}
		}
		
		fclose(iFilePointer)
	}
}

public client_authorized(id)
{
	new szName[32],szSteam[35],szSteamS[35]
	get_user_name(id,szName,charsmax(szName))
	get_user_authid(id,szSteam,charsmax(szSteam))
	
	if(TrieKeyExists(g_tRegNameSteam, szName))
	{
		TrieGetString(g_tRegNameSteam,szName,szSteamS,charsmax(szSteamS))
		if(!equal(szSteam,szSteamS))
		server_cmd("kick #%i ^"Your SteamID/Name is Protected!^"", get_user_userid(id))
	}
}
public client_infochanged(id)
{
	if (!is_user_connected(id))
	return PLUGIN_HANDLED
	
	new szNames[2][32]
	get_user_name(id, szNames[0], charsmax(szNames[]))
	get_user_info(id, "name", szNames[1], charsmax(szNames[]))
	
	if(!equal(szNames[1],szNames[0]))
	{
		server_cmd("kick #%i ^"Your SteamID/Name is Protected!^"", get_user_userid(id))
		return PLUGIN_HANDLED
	}
	return PLUGIN_CONTINUE
}
public cmdReset(id, iLevel, iCid)
{
    if(!cmd_access(id, iLevel, iCid, 1))
        return PLUGIN_HANDLED
        
    client_print(id, print_console, "* Zapazeni sa ubiistvata na %i igrachi.", TrieGetSize(g_tRegNameSteam))
    return PLUGIN_HANDLED
} 

  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 5 госта