Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Wklejka 131234193514709 dodana przez olek0017, 03.08.2011 04:25
Typ:


timeleft
131234193514709
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
144.
145.
146.
147.
148.
149.
150.
151.
152.
153.
154.
155.
156.
157.
158.
159.
160.
161.
162.
163.
164.
165.
166.
167.
168.
169.
170.
171.
172.
173.
174.
175.
176.
177.
178.
179.
180.
181.
182.
183.
184.
185.
186.
187.
188.
189.
190.
191.
192.
193.
194.
195.
196.
197.
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223.
224.
225.
226.
227.
228.
229.
230.
231.
232.
233.
234.
235.
236.
237.
238.
239.
240.
241.
242.
243.
244.
245.
246.
247.
248.
249.
250.
251.
252.
253.
254.
255.
256.
257.
258.
259.
260.
261.
262.
263.
264.
265.
266.
267.
268.
269.
270.
271.
272.
273.
274.
275.
276.
    /* Plugin generated by AMXX-Studio */
 
#include <amxmodx>
#include <amxmisc>
#include <colorchat>
 
#define PLUGIN "Ilosc rund do konca"
#define VERSION "1.0"
#define AUTHOR "Mochi"
 
new CT = 0
new TT = 0
 
new g_TimeSet[32][2]
new g_LastTime
new g_CountDown
new g_Switch
 
public plugin_init() 
{
    register_plugin(PLUGIN, VERSION, AUTHOR)
    register_clcmd("say timeleft","wys",0)
    register_clcmd("say_team timeleft","wys",0)    
    register_event("SendAudio", "t_win", "a", "2&%!MRAD_terwin")
    register_event("SendAudio", "ct_win", "a", "2&%!MRAD_ctwin")
    register_event("TextMsg", "restart_roundsnum", "a", "2&#Game_will_restart_in")
    register_event("HLTV", "Nowa_Runda", "a", "1=0", "2=0") 
    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 thetime", "sayTheTime", 0, "- displays current time")
    server_cmd("amx_cvar mp_maxrounds 15")
    set_task(0.8, "timeRemain", 8648458, "", 0, "b")
 
}
public ct_win()
{
    CT++
}
public t_win()
{
    TT++
}
 
public restart_roundsnum() 
{
    CT = 0 
    TT = 0
}
public wys(id)
{
    new suma = CT + TT
    new num = get_cvar_num("mp_maxrounds") - suma
    if(num == 3 || num == 2 || num == 4)
    {    
        ColorChat(0,GREY,"Pozostaly: %d rundy",num)
    }
    else if(num == 1)
    {
        ColorChat(0,GREY,"Pozostala: 1 runda")
    }
    else
    {
        ColorChat(0,GREY,"Pozostalo: %d rund",num)
    }
 
}
public Nowa_Runda()
{
    new suma = CT + TT;
    if(suma == 14)
    {
        new name[52]
        new red = random_num(0,255)
        new green = random_num(0,255)
        new blue = random_num(0,255)     
        get_cvar_string("amx_nextmap",name,51)
        set_hudmessage(red, green, blue, 0.1, 0.4)
        show_hudmessage(0, "Next map: %s", name)
        ColorChat(0,GREEN,"<<< OSTATNIA RUNDA >>>")
    }
}
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
}
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)
    }
}
}
}