Modificare plugin

Modificari necesare ale pluginurilor

Moderators: Moderatori ajutatori, Moderatori, Echipa eXtreamCS.com

Locked
User avatar
ItIsYe
Membru, skill 0
Membru, skill 0
Posts: 39
Joined: 12 Feb 2022, 23:50
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 7 times

10 Aug 2022, 17:03

i have this plugin admin expire time so if i set expire time to one of the admins it will be like this

Code: Select all

"admin" "admin_pw" "abcd" "a" ""10/9/2022" (DD/MM/YYYY)
but i want to add (Hours, minutes, seconds) so when i add admin to be like this

Code: Select all

"admin" "admin_pw" "abcd" "a" ""10/9/2022 - 14:30:00" (DD/MM/YYYY - HH:MM:SS)
help pls :D

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <zb_stocks>
#include <unixtime> 

new Trie:g_tVencimiento

public plugin_init()
{
	register_plugin("admin expiration", "1.0", "kolo")
	
	register_clcmd("say /expire", "Show_Expire_Date")
	register_clcmd("say_team /expire", "Show_Expire_Date")

	RegisterHam(Ham_Spawn, "player", "expire_date", 1);

	g_tVencimiento = TrieCreate()
	CheckAdmins()
}

public expire_date(id)
		set_task(5.0, "Show_Expire_Date", id)

public Show_Expire_Date(id)
{
        if (!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		return PLUGIN_HANDLED;
	}

	new szAuth[32], szExp[12], Name[32]
	get_user_authid(id, szAuth, charsmax(szAuth))
	get_user_name(id, Name, charsmax(Name))
	
	if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
	{
		get_user_name(id, szAuth, charsmax(szAuth))
		
		if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
		{
			get_user_ip(id, szAuth, charsmax(szAuth), 1)
			TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp))
		}
	}
		
	if(szExp[0])
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !texpires on !g%s", Name, szExp)
		return PLUGIN_HANDLED
	}
	else
	{
	}
   	return PLUGIN_HANDLED
}

public Show_Expire_Date(id)
{
        if (!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		return PLUGIN_HANDLED;
	}

	new szAuth[32], szExp[12], Name[32]
	get_user_authid(id, szAuth, charsmax(szAuth))
	get_user_name(id, Name, charsmax(Name))
	
	if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
	{
		get_user_name(id, szAuth, charsmax(szAuth))
		
		if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
		{
			get_user_ip(id, szAuth, charsmax(szAuth), 1)
			TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp))
		}
	}
		
	if(szExp[0])
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !texpires on !g%s", Name, szExp)
	}
	else
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !tis permanent", Name)
	}
   	return PLUGIN_HANDLED
}

CheckAdmins()
{
	new szFile[64], szData[160], szAuth[44], szPw[32], szAccess[32], szFlags[32], szDate[12]
	new iLine, bAdmRemoved
	
	get_configsdir(szFile, charsmax(szFile))
	add(szFile, charsmax(szFile), "/users.ini")
		
	new file = fopen(szFile, "rt")
	
	while(!feof(file))
	{
		fgets(file, szData, charsmax(szData))
		
		trim(szData)
		
		iLine++
		
		if(!szData[0] || szData[0] == ';')
			continue
		
		parse(szData, szAuth, charsmax(szAuth), szPw, charsmax(szPw), szAccess, charsmax(szAccess), szFlags, charsmax(szFlags), szDate, charsmax(szDate))
		
		if(!szDate[0])
			continue
		
		replace_all(szDate, charsmax(szDate), "/", " ")
			
		new szDay[3], szMonth[3], szYear[5]
		parse(szDate, szDay, charsmax(szDay), szMonth, charsmax(szMonth), szYear, charsmax(szYear))
		
		if(get_systime() >= TimeToUnix(str_to_num(szYear), str_to_num(szMonth), str_to_num(szDay), 0, 0, 0, UT_TIMEZONE_SERVER))
		{
			formatex(szData, charsmax(szData), ";^"%s^" Admin Expired in %s/%s/%s", szAuth, szDay, szMonth, szYear)
			write_file(szFile, szData, iLine - 1)
			
			bAdmRemoved = true
		}
		else
		{			
			replace_all(szDate, charsmax(szDate), " ", "/")
			
			TrieSetString(g_tVencimiento, szAuth, szDate)
		}
	}
	
	if(bAdmRemoved)
	{
		server_cmd("amx_reloadadmins")
		server_exec()
	}
	
	fclose(file)
}


/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/
RoyalServer
User avatar
levin
Scripter eXtreamCS
Scripter eXtreamCS
Posts: 3850
Joined: 24 Aug 2011, 12:24
Detinator Steam: Da
CS Status:
Detinator server CS: ☯∴
SteamID: 76561198063679589
Reputatie: Scripter eXtreamCS
Nume anterior: Adryyy
Location: ҳ̸Ҳ̸ҳ
Discord: devilclass
Has thanked: 36 times
Been thanked: 595 times
Contact:

10 Aug 2022, 20:03

"admin" "admin_pw" "abcd" "a" ""10/9/2022" (DD/MM/YYYY)
need to be

Code: Select all

"admin" "admin_pw" "abcd" "a" "10/9/2022" (DD/MM/YYYY)

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <zb_stocks>
#include <unixtime> 

new Trie:g_tVencimiento

public plugin_init()
{
	register_plugin("admin expiration", "1.0", "kolo")
	
	register_clcmd("say /expire", "Show_Expire_Date")
	register_clcmd("say_team /expire", "Show_Expire_Date")

	RegisterHam(Ham_Spawn, "player", "expire_date", 1);

	g_tVencimiento = TrieCreate()
	CheckAdmins()
}

public expire_date(id)
		set_task(5.0, "Show_Expire_Date", id)

public Show_Expire_Date(id)
{
        if (!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		return PLUGIN_HANDLED;
	}

	new szAuth[32], szExp[12], Name[32]
	get_user_authid(id, szAuth, charsmax(szAuth))
	get_user_name(id, Name, charsmax(Name))
	
	if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
	{
		get_user_name(id, szAuth, charsmax(szAuth))
		
		if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
		{
			get_user_ip(id, szAuth, charsmax(szAuth), 1)
			TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp))
		}
	}
		
	if(szExp[0])
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !texpires on !g%s", Name, szExp)
		return PLUGIN_HANDLED
	}
	else
	{
	}
   	return PLUGIN_HANDLED
}

public Show_Expire_Date(id)
{
        if (!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		return PLUGIN_HANDLED;
	}

	new szAuth[32], szExp[12], Name[32]
	get_user_authid(id, szAuth, charsmax(szAuth))
	get_user_name(id, Name, charsmax(Name))
	
	if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
	{
		get_user_name(id, szAuth, charsmax(szAuth))
		
		if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
		{
			get_user_ip(id, szAuth, charsmax(szAuth), 1)
			TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp))
		}
	}
		
	if(szExp[0])
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !texpires on !g%s", Name, szExp)
	}
	else
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !tis permanent", Name)
	}
   	return PLUGIN_HANDLED
}

CheckAdmins()
{
	new szFile[64], szData[160], szAuth[45], szPw[15], szAccess[35], szFlags[5], szDate[25]
	new iLine, bAdmRemoved
	
	get_configsdir(szFile, charsmax(szFile))
	add(szFile, charsmax(szFile), "/users.ini")
		
	new file = fopen(szFile, "rt")
	
	while(!feof(file))
	{
		fgets(file, szData, charsmax(szData))
		
		trim(szData)
		
		iLine++
		
		if(!szData[0] || szData[0] == ';')
			continue
		
		parse(szData, szAuth, charsmax(szAuth), szPw, charsmax(szPw), szAccess, charsmax(szAccess), szFlags, charsmax(szFlags), szDate, charsmax(szDate))
		
		if(!szDate[0])
			continue

		TrieSetString(g_tVencimiento, szAuth, szDate)
		
		replace_all(szDate, charsmax(szDate), "/", " ")
		replace_all(szDate, charsmax(szDate), ":", " ")
		
		new szDay[3], szMonth[3], szYear[5], szHour[3], szMinute[3], szSecond[3]
		parse(szDate, szDay, charsmax(szDay), szMonth, charsmax(szMonth), szYear, charsmax(szYear), szHour, charsmax(szHour), szMinute, charsmax(szMinute), szSecond, charsmax(szSecond))
		
		if(get_systime() >= TimeToUnix(str_to_num(szYear), str_to_num(szMonth), str_to_num(szDay), szHour, szMinute, szSecond, UT_TIMEZONE_SERVER))
		{
			formatex(szData, charsmax(szData), ";^"%s^" Admin Expired in %s/%s/%s %s:%s:%s", szAuth, szDay, szMonth, szYear, szHour, szMinute, szSecond)
			write_file(szFile, szData, iLine - 1)
			
			bAdmRemoved = true

			TrieDeleteKey(g_tVencimiento, szAuth)
		}
	}
	
	if(bAdmRemoved)
	{
		server_cmd("amx_reloadadmins")
		server_exec()
	}
	
	fclose(file)
}


/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/
Nu îmi mai trimiteți PM pe forum! Nu merge să răspund
Pentru ajutor, faceți cerere bine detaliată, completând și respectând modelul corespunzător.
Nu-mi mai dați cereri doar pentru a mă avea în lista de prieteni.
Dacă te ajut, și mă ignori/etc > te adaug în „foe”.
Aveți grijă la cei ce încearcă să mă copieze sau să dea drept mine..Puteți lua legătura cu mine prin STEAM dacă aveți o problemă/nelămurire în acest caz! Cont de forum am doar aici.
În cazul în care utilizați ceva din ce am postat(ex: aici), e bine să fiți la curent cu modificările aduse și de aici, iar dacă sunt ceva probleme nu ezitați să luați legătura cu mine. Actualizarea unor coduri nu se vor afișa public, doar dacă se găsește ceva critic/urgent de remediat, unele fiind coduri vechi iar unele refăcute chiar recent dar private.
* Nume pe cs1.6: eVoLuTiOn \ Nume vechi: eVo
* Atelierul meu - post2819572.html#p2819572 (închis, click link ca să vedeți de ce)
User avatar
ItIsYe
Membru, skill 0
Membru, skill 0
Posts: 39
Joined: 12 Feb 2022, 23:50
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 7 times

11 Aug 2022, 10:43

L E V I N wrote:
10 Aug 2022, 20:03
"admin" "admin_pw" "abcd" "a" ""10/9/2022" (DD/MM/YYYY)
need to be

Code: Select all

"admin" "admin_pw" "abcd" "a" "10/9/2022" (DD/MM/YYYY)

Code: Select all

#include <amxmodx>
#include <amxmisc>
#include <zb_stocks>
#include <unixtime> 

new Trie:g_tVencimiento

public plugin_init()
{
	register_plugin("admin expiration", "1.0", "kolo")
	
	register_clcmd("say /expire", "Show_Expire_Date")
	register_clcmd("say_team /expire", "Show_Expire_Date")

	RegisterHam(Ham_Spawn, "player", "expire_date", 1);

	g_tVencimiento = TrieCreate()
	CheckAdmins()
}

public expire_date(id)
		set_task(5.0, "Show_Expire_Date", id)

public Show_Expire_Date(id)
{
        if (!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		return PLUGIN_HANDLED;
	}

	new szAuth[32], szExp[12], Name[32]
	get_user_authid(id, szAuth, charsmax(szAuth))
	get_user_name(id, Name, charsmax(Name))
	
	if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
	{
		get_user_name(id, szAuth, charsmax(szAuth))
		
		if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
		{
			get_user_ip(id, szAuth, charsmax(szAuth), 1)
			TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp))
		}
	}
		
	if(szExp[0])
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !texpires on !g%s", Name, szExp)
		return PLUGIN_HANDLED
	}
	else
	{
	}
   	return PLUGIN_HANDLED
}

public Show_Expire_Date(id)
{
        if (!(get_user_flags(id) & ADMIN_LEVEL_G))
	{
		return PLUGIN_HANDLED;
	}

	new szAuth[32], szExp[12], Name[32]
	get_user_authid(id, szAuth, charsmax(szAuth))
	get_user_name(id, Name, charsmax(Name))
	
	if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
	{
		get_user_name(id, szAuth, charsmax(szAuth))
		
		if(!TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp)))
		{
			get_user_ip(id, szAuth, charsmax(szAuth), 1)
			TrieGetString(g_tVencimiento, szAuth, szExp, charsmax(szExp))
		}
	}
		
	if(szExp[0])
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !texpires on !g%s", Name, szExp)
	}
	else
	{
		ColorChat(id, "!g%s !tYour !gV.I.P !tis permanent", Name)
	}
   	return PLUGIN_HANDLED
}

CheckAdmins()
{
	new szFile[64], szData[160], szAuth[45], szPw[15], szAccess[35], szFlags[5], szDate[25]
	new iLine, bAdmRemoved
	
	get_configsdir(szFile, charsmax(szFile))
	add(szFile, charsmax(szFile), "/users.ini")
		
	new file = fopen(szFile, "rt")
	
	while(!feof(file))
	{
		fgets(file, szData, charsmax(szData))
		
		trim(szData)
		
		iLine++
		
		if(!szData[0] || szData[0] == ';')
			continue
		
		parse(szData, szAuth, charsmax(szAuth), szPw, charsmax(szPw), szAccess, charsmax(szAccess), szFlags, charsmax(szFlags), szDate, charsmax(szDate))
		
		if(!szDate[0])
			continue

		TrieSetString(g_tVencimiento, szAuth, szDate)
		
		replace_all(szDate, charsmax(szDate), "/", " ")
		replace_all(szDate, charsmax(szDate), ":", " ")
		
		new szDay[3], szMonth[3], szYear[5], szHour[3], szMinute[3], szSecond[3]
		parse(szDate, szDay, charsmax(szDay), szMonth, charsmax(szMonth), szYear, charsmax(szYear), szHour, charsmax(szHour), szMinute, charsmax(szMinute), szSecond, charsmax(szSecond))
		
		if(get_systime() >= TimeToUnix(str_to_num(szYear), str_to_num(szMonth), str_to_num(szDay), szHour, szMinute, szSecond, UT_TIMEZONE_SERVER))
		{
			formatex(szData, charsmax(szData), ";^"%s^" Admin Expired in %s/%s/%s %s:%s:%s", szAuth, szDay, szMonth, szYear, szHour, szMinute, szSecond)
			write_file(szFile, szData, iLine - 1)
			
			bAdmRemoved = true

			TrieDeleteKey(g_tVencimiento, szAuth)
		}
	}
	
	if(bAdmRemoved)
	{
		server_cmd("amx_reloadadmins")
		server_exec()
	}
	
	fclose(file)
}


/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang11274\\ f0\\ fs16 \n\\ par }
*/

Code: Select all

//// admin_expiration.sma
// C:\Users\DUSH\Desktop\scripting\admin_expiration.sma(121) : error 035: argument type mismatch (argument 4)
//
// 1 Error.
// Could not locate output file C:\Users\DUSH\Desktop\scripting\admin_expiration.amx (compile failed).
//
// Compilation Time: 0.28 sec
// ----------------------------------------
User avatar
ItIsYe
Membru, skill 0
Membru, skill 0
Posts: 39
Joined: 12 Feb 2022, 23:50
Detinator Steam: Nu
CS Status: Citesc forumul eXtreamCS.com...!
Fond eXtream: 0
Has thanked: 7 times

16 Aug 2022, 16:03

SOLVED
Locked

Return to “Modificari pluginuri”

  • Information
  • Who is online

    Users browsing this forum: Dot [Bot], Yandex [Bot] and 7 guests