Peršokti į turinį
  • ŽAIDIMAI
  • , ŽAIDIMAI
  • ŽAIDIMAI

thetime


Dark Angel

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5250 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Recommended Posts

Ikeliu sma normalaus jeigu neveiks tai gali istikruju buti kad nuo PC priklauso siuo atveju nuo vdso kaip ten is tikruju nezinau pasiziuresi , bet as lieku prie tos nuomones kad nuo vds priklauso.

/* AMX Mod X
*   TimeLeft Plugin
*
* by the AMX Mod X Development Team
*  originally developed by OLO
*
* This file is part of AMX Mod X.
*
*
*  This program is free software; you can redistribute it and/or modify it
*  under the terms of the GNU General Public License as published by the
*  Free Software Foundation; either version 2 of the License, or (at
*  your option) any later version.
*
*  This program is distributed in the hope that it will be useful, but
*  WITHOUT ANY WARRANTY; without even the implied warranty of
*  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
*  General Public License for more details.
*
*  You should have received a copy of the GNU General Public License
*  along with this program; if not, write to the Free Software Foundation,
*  Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*
*  In addition, as a special exception, the author gives permission to
*  link the code of this program with the Half-Life Game Engine ("HL
*  Engine") and Modified Game Libraries ("MODs") developed by Valve,
*  L.L.C ("Valve"). You must obey the GNU General Public License in all
*  respects for all of the code used other than the HL Engine and MODs
*  from Valve. If you modify this file, you may extend this exception
*  to your version of the file, but you are not obligated to do so. If
*  you do not wish to do so, delete this exception statement from your
*  version.
*/

#include 

new g_TimeSet[32][2]
new g_LastTime
new g_CountDown
new g_Switch

public plugin_init()
{
register_plugin("TimeLeft", AMXX_VERSION_STR, "AMXX Dev Team")
register_dictionary("timeleft.txt")
register_cvar("amx_time_voice", "1")
register_srvcmd("amx_time_display", "setDisplaying")
register_cvar("amx_timeleft", "00:00", FCVAR_SERVER|FCVAR_EXTDLL|FCVAR_UNLOGGED|FCVAR_SPONLY)
register_clcmd("say timeleft", "sayTimeLeft", 0, "- displays timeleft")
register_clcmd("say thetime", "sayTheTime", 0, "- displays current time")

set_task(0.8, "timeRemain", 8648458, "", 0, "b")
}

public sayTheTime(id)
{
if (get_cvar_num("amx_time_voice"))
{
	new mhours[6], mmins[6], whours[32], wmins[32], wpm[6]

	get_time("%H", mhours, 5)
	get_time("%M", mmins, 5)

	new mins = str_to_num(mmins)
	new hrs = str_to_num(mhours)

	if (mins)
		num_to_word(mins, wmins, 31)
	else
		wmins[0] = 0

	if (hrs < 12)
		wpm = "am "
	else
	{
		if (hrs > 12) hrs -= 12
		wpm = "pm "
	}

	if (hrs) 
		num_to_word(hrs, whours, 31)
	else
		whours = "twelve "

	client_cmd(id, "spk ^"fvox/time_is_now %s_period %s%s^"", whours, wmins, wpm)
}

new ctime[64]

get_time("%m/%d/%Y - %H:%M:%S", ctime, 63)
client_print(0, print_chat, "%L:   %s", LANG_PLAYER, "THE_TIME", ctime)

return PLUGIN_CONTINUE
}

public sayTimeLeft(id)
{
if (get_cvar_float("mp_timelimit"))
{
	new a = get_timeleft()

	if (get_cvar_num("amx_time_voice"))
	{
		new svoice[128]
		setTimeVoice(svoice, 127, 0, a)
		client_cmd(id, "%s", svoice)
	}
	client_print(0, print_chat, "%L:  %d:%02d", LANG_PLAYER, "TIME_LEFT", (a / 60), (a % 60))
}
else
	client_print(0, print_chat, "%L", LANG_PLAYER, "NO_T_LIMIT")

return PLUGIN_CONTINUE
}

setTimeText(text[], len, tmlf, id)
{
new secs = tmlf % 60
new mins = tmlf / 60

if (secs == 0)
	format(text, len, "%d %L", mins, id, (mins > 1) ? "MINUTES" : "MINUTE")
else if (mins == 0)
	format(text, len, "%d %L", secs, id, (secs > 1) ? "SECONDS" : "SECOND")
else
	format(text, len, "%d %L %d %L", mins, id, (mins > 1) ? "MINUTES" : "MINUTE", secs, id, (secs > 1) ? "SECONDS" : "SECOND")
}

setTimeVoice(text[], len, flags, tmlf)
{
new temp[7][32]
new secs = tmlf % 60
new mins = tmlf / 60

for (new a = 0;a < 7;++a)
	temp[a][0] = 0

if (secs > 0)
{
	num_to_word(secs, temp[4], 31)

	if (!(flags & 8)) 
		temp[5] = "seconds "	/* there is no "second" in default hl */
}

if (mins > 59)
{
	new hours = mins / 60

	num_to_word(hours, temp[0], 31)

	if (!(flags & 8))
		temp[1] = "hours "

	mins = mins % 60
}

if (mins > 0)
{
	num_to_word(mins, temp[2], 31)

	if (!(flags & 8))
		temp[3] = "minutes "
}

if (!(flags & 4))
	temp[6] = "remaining "

return format(text, len, "spk ^"vox/%s%s%s%s%s%s%s^"", temp[0], temp[1], temp[2], temp[3], temp[4], temp[5], temp[6])
}

findDispFormat(time)
{
for (new i = 0; g_TimeSet[i][0]; ++i)
{
	if (g_TimeSet[i][1] & 16)
	{
		if (g_TimeSet[i][0] > time)
		{
			if (!g_Switch)
			{
				g_CountDown = g_Switch = time
				remove_task(8648458)
				set_task(1.0, "timeRemain", 34543, "", 0, "b")
			}

			return i
		}
	}
	else if (g_TimeSet[i][0] == time)
	{
		return i
	}
}

return -1
}

public setDisplaying()
{
new arg[32], flags[32], num[32]
new argc = read_argc() - 1
new i = 0

while (i < argc && i < 32)
{
	read_argv(i + 1, arg, 31)
	parse(arg, flags, 31, num, 31)

	g_TimeSet[i][0] = str_to_num(num)
	g_TimeSet[i][1] = read_flags(flags)

	i++
}
g_TimeSet[i][0] = 0

return PLUGIN_HANDLED
}

public timeRemain(param[])
{
new gmtm = get_timeleft()
new tmlf = g_Switch ? --g_CountDown : gmtm
new stimel[12]

format(stimel, 11, "%02d:%02d", gmtm / 60, gmtm % 60)
set_cvar_string("amx_timeleft", stimel)

if (g_Switch && gmtm > g_Switch)
{
	remove_task(34543)
	g_Switch = 0
	set_task(0.8, "timeRemain", 8648458, "", 0, "b")

	return
}

if (tmlf > 0 && g_LastTime != tmlf)
{
	g_LastTime = tmlf
	new tm_set = findDispFormat(tmlf)

	if (tm_set != -1)
	{
		new flags = g_TimeSet[tm_set][1]
		new arg[128]

		if (flags & 1)
		{
			new players[32], pnum

			get_players(players, pnum, "c")

			for (new i = 0; i < pnum; i++)
			{
				setTimeText(arg, 127, tmlf, players[i])

				if (flags & 16)
					set_hudmessage(255, 255, 255, -1.0, 0.85, 0, 0.0, 1.1, 0.1, 0.5, -1)
				else
					set_hudmessage(255, 255, 255, -1.0, 0.85, 0, 0.0, 3.0, 0.0, 0.5, -1)

				show_hudmessage(players[i], "%s", arg)
			}
		}

		if (flags & 2)
		{
			setTimeVoice(arg, 127, flags, tmlf)
			client_cmd(0, "%s", arg)
		}
	}
}
}

Nuoroda į komentarą
Dalintis per kitą puslapį

Ši tema yra neaktyvi. Paskutinis pranešimas šioje temoje buvo prieš 5250 dienas (-ų). Patariame sukurti naują temą, o ne rašyti naują pranešimą.

Už neaktyvių temų prikėlimą galite sulaukti įspėjimo ir pranešimo pašalinimo!

Prisijungti prie diskusijos

Palikti atsakymą galite iš karto, o užsiregistruoti vėliau. Jeigu jau turite paskyrą mūsų forume, Prisijunkite.

Svečias
Atsakyti šioje temoje...

×   Įklijuotas tekstas turi teksto formatavimą.   Pašalinti teksto formatavimą

  Galimi tik 75 veidukai.

×   Nuoroda buvo automatiškai įterpta.   Įterpti nuorodą paprastai

×   Jūsų ankstesnis pranešimas buvo atkurtas.   Išvalyti redaktorių

×   Jūs negalite įkelti nuotraukas tiesiogiai.Įkelkite arba įdėkite nuotraukas iš URL.

  • Šiame puslapyje naršo:   0 nariai

    • Nėra registruotų narių peržiūrinčių šį forumą.

Skelbimai


×
×
  • Sukurti naują...