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. | /* Plugin generated by AMXX-Studio */
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <ColorChat>
#define CZAS_NOCLIP 10
new const nazwa[] = "Duch Pulkownika";
new const opis[] = "Przenikanie przez sciany (10sek)";
new bool:uzyl[33];
new msg_bartime;
public plugin_init()
{
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_perk(nazwa, opis);
register_event("ResetHUD", "ResetHUD", "abe");
msg_bartime = get_user_msgid("BarTime");
}
public cod_perk_enabled(id)
{
uzyl[id] = false;
}
public cod_perk_used(id)
{
if(!is_user_alive(id))
return PLUGIN_CONTINUE;
if(uzyl[id])
{
ColorChat(id, RED, "Juz wykorzystales perk!");
return PLUGIN_CONTINUE;
}
set_pev(id, pev_movetype, MOVETYPE_NOCLIP);
set_bartime(id, CZAS_NOCLIP);
set_task(CZAS_NOCLIP.0, "WylaczNoclip", id);
uzyl[id] = true;
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
uzyl[id] = false;
public WylaczNoclip(id)
{
if(!is_user_connected(id))
return;
set_pev(id, pev_movetype, MOVETYPE_WALK);
new Float:origin[3];
pev(id, pev_origin, origin);
if (!is_hull_vacant(origin, pev(id, pev_flags) & FL_DUCKING ? HULL_HEAD : HULL_HUMAN, id))
user_silentkill(id);
}
stock bool:is_hull_vacant(const Float:origin[3], hull,id)
{
static tr;
engfunc(EngFunc_TraceHull, origin, origin, 0, hull, id, tr)
if (!get_tr2(tr, TR_StartSolid) || !get_tr2(tr, TR_AllSolid))
return true;
return false;
}
public set_bartime(id, czas)
{
message_begin(MSG_ONE, msg_bartime, _, id);
write_short(czas);
message_end();
} |