command does not work on dedicated server

Въпроси и проблеми свързани с AMXModX.
Аватар
GGzBoy
Извън линия
Foreigner
Foreigner
Мнения: 63
Регистриран на: 28 Мар 2020, 16:42
Се отблагодари: 16 пъти
Получена благодарност: 1 път

command does not work on dedicated server

Мнение от GGzBoy » 01 Юли 2021, 01:10

I have a problem with the message sent by the plugin locally when I type /date it sends the message normally but when I put the plugin on a host the message doesn't work
I don't know if this is relevant but the permission of the user.ini file is 700

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

#include <amxmodx>
#include <amxmisc>

#define PLUGIN  "admin date"
#define VERSION "1.1"
#define AUTHOR  "Wilian M."

#define FLAG_VIP ADMIN_RESERVATION

new xText[256], xMyDays[33]

public plugin_init()
{
	register_plugin(PLUGIN, VERSION, AUTHOR)

	xRegisterSay("admin", "xShowDays")
	xRegisterSay("date", "xShowDays")

	xCheckDate()
}

public client_disconnected(id) xMyDays[id] = false

public client_authorized(id)
{
	static xUserFlags; xUserFlags = get_user_flags(id)

	if(!(xUserFlags & FLAG_VIP))
		return PLUGIN_HANDLED

	static xAdmin[32], xPass[32], xFlags[32], xAccess[32], xDays[32], xMySteam[64], xMyIp[32], xMyName[32],
	xConfigsName[256], xFilename[256]
	
	get_user_name(id, xMyName, charsmax(xMyName))
	get_user_authid(id, xMySteam, charsmax(xMySteam))
	get_user_ip(id, xMyIp, charsmax(xMyIp), true)

	get_configsdir(xConfigsName, charsmax(xConfigsName))
	formatex(xFilename, charsmax(xFilename), "%s/users.ini", xConfigsName)

	new xFile = fopen(xFilename, "rt")
	
	if(xFile)
	{
		new xData[256]
		
		while(!feof(xFile))
		{
			fgets(xFile, xData, charsmax(xData))
			trim(xData)
			
			switch(xData[0])
			{
				case EOS, ';', '/' && '/': continue
				
				case '"':
				{
					if(xData[strlen(xData)-1] == '"')
					{
						if(parse(xData, xAdmin, charsmax(xAdmin), xPass, charsmax(xPass), xFlags, charsmax(xFlags), xAccess, charsmax(xAccess), xDays, charsmax(xDays)) == 5)
						{
							if(equal(xAdmin, xMyName) || equal(xAdmin, xMySteam) || equal(xAdmin, xMyIp))
							{
								xMyDays[id] = str_to_num(xDays)
							}
							else continue
						}
						else
						{
							xMyDays[id] = -1
							continue
						}
					}
					else continue
				}
			}
		}
		
		fclose(xFile)
	}

	set_task(15.0, "xShowDays", id)
	
	return PLUGIN_CONTINUE
}

public xShowDays(id)
{
	if(!is_user_connected(id))
		return

	new xUserFlags = get_user_flags(id)

	if(!(xUserFlags & FLAG_VIP))
		return

	if(xMyDays[id] == -1)
		client_print_color(id, print_team_default, "^4»» ^1your admin is ^4PERMANENT")
	else if(xMyDays[id] >= 1)
		client_print_color(id, print_team_default, "^4»» ^1left: ^4%d ^1day%s for your admin to expire.", xMyDays[id], xMyDays[id] <= 1 ? "" : "s")
}

public xCheckDate()
{
	new xFilename[256], xConfigsName[256]
	get_configsdir(xConfigsName, charsmax(xConfigsName))
	formatex(xFilename, charsmax(xFilename), "%s/currentdate.ini", xConfigsName)

	if(!file_exists(xFilename))
		write_file(xFilename, ";Day: 00.00.0000")

	new xDate[25], xLine, txtlen = 0
	read_file(xFilename, xLine, xText, charsmax(xText), txtlen);trim(xText)
	
	get_time(";Day: %d.%m.%Y", xDate, charsmax(xDate))
	
	if(equal(xText, xDate))
		return
	else
		write_file(xFilename, xDate, xLine)

	xCheckAdmins()
}

public xCheckAdmins()
{
	new xFilename[256], xConfigsName[256]
	get_configsdir(xConfigsName, charsmax(xConfigsName))
	formatex(xFilename, charsmax(xFilename), "%s/users.ini", xConfigsName)

	new xAdmin[32], xPass[32], xFlags[32], xAccess[32], xDays[32], xData[256], xIdays, xLine = 0

	new xFile = fopen(xFilename, "r")
	
	while(!feof(xFile))
	{
		fgets(xFile, xData, charsmax(xData))
		trim(xData)
		
		xLine ++

		switch(xData[0])
		{
			case EOS, ';', '/' && '/': continue
			
			case '"':
			{
				if(xData[strlen(xData)-1] == '"')
				{
					if(parse(xData, xAdmin, charsmax(xAdmin), xPass, charsmax(xPass), xFlags, charsmax(xFlags), xAccess, charsmax(xAccess), xDays, charsmax(xDays)) == 5)
					{
						xIdays = str_to_num(xDays) -1

						if(xIdays <= 0)
							xIdays = 0

						if(xIdays)
							formatex(xText, charsmax(xText), "^"%s^" ^"%s^" ^"%s^" ^"%s^" ^"%d^"", xAdmin, xPass, xFlags, xAccess, xIdays)
						else
							formatex(xText, charsmax(xText), "; expired! ^"%s^" ^"%s^" ^"%s^" ^"%s^"", xAdmin, xPass, xFlags, xAccess)

						if(xLine)
							write_file(xFilename, xText, xLine-1)
					}
					else continue
				}
				else continue
			}
		}
	}

	fclose(xFile)
	server_cmd("amx_reloadadmins")
}

stock xRegisterSay(szsay[], szfunction[])
{
	new sztemp[64]
	formatex(sztemp, 63 , "say /%s", szsay)
	register_clcmd(sztemp, szfunction)
	
	formatex(sztemp, 63 , "say .%s", szsay)
	register_clcmd(sztemp, szfunction)
	
	formatex(sztemp, 63 , "say_team /%s", szsay)
	register_clcmd(sztemp, szfunction )
	
	formatex(sztemp, 63 , "say_team .%s", szsay)
	register_clcmd(sztemp, szfunction)
}

Аватар
GGzBoy
Извън линия
Foreigner
Foreigner
Мнения: 63
Регистриран на: 28 Мар 2020, 16:42
Се отблагодари: 16 пъти
Получена благодарност: 1 път

command does not work on dedicated server

Мнение от GGzBoy » 02 Юли 2021, 20:49

I managed to fix it was just below the amxx plugin

the author's post was wrong so the message would not send you can close the post thanks

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

Обратно към “Поддръжка / Помощ”

Кой е на линия

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