Spoiler
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>
new const nazwa[] = "Faster";
new const opis[] = "Posiada teleport (Mozna uzyc co 20s)";
new const bronie = 1<<CSW_AK47 | 1<<CSW_FLASHBANG;
new const zdrowie = 0;
new const kondycja = 17;
new const inteligencja = 0;
new const wytrzymalosc = 6;
new bool:uzyl[33],teleport;
public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("ResetHUD", "ResetHUD", "abe");
register_event("InfoTel", "InfoTel", "abe");
}
public cod_class_enabled(id)
{
uzyl[id] = false;
teleport = false;
return COD_CONTINUE;
}
public cod_class_skill_used(id)
{
if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 20s");
return PLUGIN_CONTINUE;
}
if (!teleport)
{
client_print(id, print_center, "Teleport mozna uzywac po 6 sekundach od odrodzenia");
set_task(6.0,"infotele")
return PLUGIN_CONTINUE;
}
if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;
new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);
new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);
engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);
new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);
if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;
new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);
xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 20.0, "ResetHUD", id )
set_task ( 20.0, "infotel", id )
set_task (1.0, "DeathEvent", id)
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
{
if(is_user_alive(id))
uzyl[id] = false;
}
public infotel(id)
client_print(id, print_center, "Mozesz uzyc Teleportacji");
public infotele(id)
teleport =true;
public DeathEvent(id)
{
new id = read_data(2);
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id);
write_short(5<<10); // fade lasts this long duration
write_short(3<<5); // fade lasts this long hold time
write_short(1<<1); // fade type (in / out)
write_byte(255); // red
write_byte(0); // green
write_byte(0); // blue
write_byte(90); // alpha
message_end();
return PLUGIN_CONTINUE;
}
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>
new const nazwa[] = "Faster";
new const opis[] = "Posiada teleport (Mozna uzyc co 20s)";
new const bronie = 1<<CSW_AK47 | 1<<CSW_FLASHBANG;
new const zdrowie = 0;
new const kondycja = 17;
new const inteligencja = 0;
new const wytrzymalosc = 6;
new bool:uzyl[33],teleport;
public plugin_init() {
register_plugin(nazwa, "1.0", "QTM_Peyote");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("ResetHUD", "ResetHUD", "abe");
register_event("InfoTel", "InfoTel", "abe");
}
public cod_class_enabled(id)
{
uzyl[id] = false;
teleport = false;
return COD_CONTINUE;
}
public cod_class_skill_used(id)
{
if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 20s");
return PLUGIN_CONTINUE;
}
if (!teleport)
{
client_print(id, print_center, "Teleport mozna uzywac po 6 sekundach od odrodzenia");
set_task(6.0,"infotele")
return PLUGIN_CONTINUE;
}
if(uzyl[id] || !is_user_alive(id))
return PLUGIN_CONTINUE;
new Float:start[3], Float:view_ofs[3];
pev(id, pev_origin, start);
pev(id, pev_view_ofs, view_ofs);
xs_vec_add(start, view_ofs, start);
new Float:dest[3];
pev(id, pev_v_angle, dest);
engfunc(EngFunc_MakeVectors, dest);
global_get(glb_v_forward, dest);
xs_vec_mul_scalar(dest, 999.0, dest);
xs_vec_add(start, dest, dest);
engfunc(EngFunc_TraceLine, start, dest, 0, id, 0);
new Float:fDstOrigin[3];
get_tr2(0, TR_vecEndPos, fDstOrigin);
if(engfunc(EngFunc_PointContents, fDstOrigin) == CONTENTS_SKY)
return PLUGIN_CONTINUE;
new Float:fNormal[3];
get_tr2(0, TR_vecPlaneNormal, fNormal);
xs_vec_mul_scalar(fNormal, 50.0, fNormal);
xs_vec_add(fDstOrigin, fNormal, fDstOrigin);
set_pev(id, pev_origin, fDstOrigin);
uzyl[id] = true;
set_task ( 20.0, "ResetHUD", id )
set_task ( 20.0, "infotel", id )
set_task (1.0, "DeathEvent", id)
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
{
if(is_user_alive(id))
uzyl[id] = false;
}
public infotel(id)
client_print(id, print_center, "Mozesz uzyc Teleportacji");
public infotele(id)
teleport =true;
public DeathEvent(id)
{
new id = read_data(2);
if(!is_user_connected(id))
return PLUGIN_CONTINUE;
message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, id);
write_short(5<<10); // fade lasts this long duration
write_short(3<<5); // fade lasts this long hold time
write_short(1<<1); // fade type (in / out)
write_byte(255); // red
write_byte(0); // green
write_byte(0); // blue
write_byte(90); // alpha
message_end();
return PLUGIN_CONTINUE;
}
Użytkownik Elite-Skill.eu edytował ten post 09.03.2013 17:23