View difference between Paste ID: YheqPaLv and ktWwhDGD
SHOW: | | - or go back to the newest paste.
1
#include < amxmodx >
2
#include < hamsandwich >
3
#include < cstrike >
4
5
new const g_CmdStart[][] = {
6
	"say /fw",
7
	"say /first",
8
	"say_team /fw",
9
	"say_team /first"
10
};
11
new const g_CmdStop[][] = {
12
	"say /stop",
13
	"say /stopfw",
14
	"say_team /stop",
15
	"say_team /stopfw"
16
};
17-
new g_FWCount, g_fwActive = false, g_fwAllowMove = false, g_CountVoice[ 21 ], szWinner[ 32 ], g_MixChars[ 6 ], g_LastChars[ 6 ]
17+
new g_FWCount, g_fwActive = false, g_fwAllowMove = false, g_CountVoice[ 21 ], szWinner[ 32 ], g_MixChars[ 6 ], g_LastChars[ 6 ], starter
18
const TASKID = 2502502
19
20
public plugin_init() {
21
	register_plugin("Advanced FirstWrites (Fixed)", "v3", "xDrugz")
22
	
23
	for( new i; i < sizeof g_CmdStart; i++ )
24
		register_clcmd( g_CmdStart[ i ], "fnFwStart" )
25
	for( new i; i < sizeof g_CmdStop; i++ )
26
		register_clcmd( g_CmdStop[ i ], "fnFwStop" )
27
	register_clcmd( "say", "HandleSay" )
28
}
29
30
public fnFwStart( player ) {
31
	if ( !(get_user_flags( player ) & ADMIN_RCON) ) {
32
		ColorChat( player, "Only^4 Admins^1 May Use This Command !" )
33
		return PLUGIN_HANDLED
34
	}
35
	if( !g_fwActive ) {
36
		g_FWCount = 5
37
		ActionTimer( )
38
		g_fwActive = true
39
	}
40
	else {
41
		ColorChat(player, "^"^4First Writes^1^" Activity Already Started !" )
42
	}
43
	return PLUGIN_CONTINUE
44
}
45
46
public fnFwStop( player ) {
47
	if ( !(get_user_flags( player ) & ADMIN_RCON) ) {
48
		ColorChat( player, "Only^4 Admins^1 May Use This Command !" )
49
		return PLUGIN_HANDLED
50
	}
51
	if( g_fwActive ) {
52
		remove_task( TASKID )
53
		g_fwActive = false
54
		g_fwAllowMove = false
55
		ColorChat(0, "^"^4First Writes^1^" Activity Stopped !" )
56
	}
57
	return PLUGIN_CONTINUE
58
}
59
60
public HandleSay( player ) {
61
	new szMessage[ 32 ]
62
	read_args( szMessage, charsmax( szMessage ) )
63
	remove_quotes( szMessage )
64
	
65
	if ( g_fwAllowMove && get_user_team( player ) != 1 ) {
66
		ColorChat( player, "Only^4 Prisoners^1 May Participate !" )
67
		return PLUGIN_HANDLED
68
	}
69
	if( equali( szMessage, g_LastChars ) ) {
70
		if ( g_fwAllowMove ) {
71
			if ( !is_user_connected(player) || !is_user_alive(player) ) {
72
				ColorChat( player, "You Must Be^4 Alive^1 !" )
73
				return PLUGIN_HANDLED
74
			}
75
			get_user_name( player, szWinner, 31 )
76
			cs_set_user_team( player, CS_TEAM_CT )
77
			ExecuteHamB(Ham_CS_RoundRespawn, player );
78
			set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
79
			show_hudmessage( 0, "%s, is the Winner !", szWinner )
80
			ColorChat(0, "^1%s^4 Won^1 And Moved To^4 CT Team^1 !", szWinner )
81
			client_cmd( player, "spk holo/tr_holo_nicejob" )
82
			g_fwAllowMove = false
83
			g_fwActive = false
84
		} 
85
	} 
86
	else {
87
		if ( g_fwAllowMove ) {
88
			client_cmd( 0, "spk scientist/completelywrong" )
89
		}
90
	}
91
	return PLUGIN_CONTINUE
92
}
93
94
public ActionTimer( ) {
95
	new UserName[32]
96
	switch( g_FWCount ) {
97
		case 0: {
98
			g_fwAllowMove = true
99
			formatex(g_MixChars, 5, "%i", random_num(0, 99999))
100
			g_LastChars = g_MixChars
101
			set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
102
			show_hudmessage( 0, "[ %s ]", g_LastChars )
103
			ColorChat(0, "Agreed Number is^4 %s^1 Hurry up !", g_LastChars)
104
			remove_task( TASKID )
105
			set_task( 15.0, "ActionFailed", TASKID )
106
		}
107
		case 1..5: {
108
			set_task( 1.0, "ActionTimer", TASKID )
109
		}
110
	}
111
	if(g_FWCount != 0) {
112
		get_user_name(starter, UserName, 31)
113
		num_to_word(g_FWCount, g_CountVoice, 20)
114-
		show_hudmessage( 0, "Start in %d Seconds !", g_FWCount )
114+
115
		set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 0.5, 0.5)
116
		show_hudmessage( 0, "The First writes will started in %d Secconds^n[By %d]", g_FWCount, UserName )
117
		--g_FWCount
118
	}
119
}
120
121
public ActionFailed( ) {
122
	if( g_fwAllowMove ) {
123
		set_hudmessage(random_num(1, 255), random_num(1, 255), random_num(1, 255), -1.0, 0.30, 0, 4.0, 4.0)
124
		show_hudmessage( 0, "First Writes Activity Failed !" )
125
		ColorChat(0, "^"^4First Writes^1^" Activity Failed !" )
126
		client_cmd( 0, "spk holo/tr_holo_tryagain" )
127
		g_fwAllowMove = false
128
		g_fwActive = false
129
	} 
130
	else {
131
		remove_task( TASKID )
132
	}
133
}
134
135
136
stock ColorChat(index, const Msg[], {Float, Sql, Result,_}:...) {
137
	new Buffer[190], Buffer2[192]
138
	formatex(Buffer2, sizeof(Buffer2)-1, "^3[^1 JailBreak ^3]^1 %s", Msg)
139
	vformat(Buffer, sizeof(Buffer)-1, Buffer2, 3)
140
	if(!index) {
141
		for (new i = 1; i <= get_maxplayers(); i++) {
142
			if(!is_user_connected(i))	continue
143
			message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, i)
144
			write_byte(i)
145
			write_string(Buffer)
146
			message_end()
147
		}
148
		} else {
149
		if(!is_user_connected(index))	return
150
		message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, index)
151
		write_byte(index)
152
		write_string(Buffer)
153
		message_end()
154
	}
155
}