Dodanie teleportu 10s po rozpoczeciu rundy...
NEQU# 27.01.2015
Witam. Proszę o ustawienie w klasie teleportu, tak aby można było go użyć dopiero 10s po rozpoczęciu rundy.
Spoiler
#include
#include
#include
#include
//#include
#define DMG_BULLET (1<<1)
new const nazwa[] = "Szturmowiec";
new const opis[] = "Posiada teleport (Mozna uzyc co 10s)";
new const bronie = 1<new const zdrowie = 20;
new const kondycja = 10;
new const inteligencja = 0;
new const wytrzymalosc = 5;
new bool:uzyl[33];
new bool:ma_klase[33];
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");
}
public cod_class_enabled(id, wartosc)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 10s");
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, 750.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 ( 10.0, "ResetHUD", id )
set_task ( 10.0, "InfoTel", id )
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
{
uzyl[id] = false;
}
public InfoTel(id)
{
client_print(id, print_center, "Mozesz uzyc Teleportacji");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
#include
#include
#include
//#include
#define DMG_BULLET (1<<1)
new const nazwa[] = "Szturmowiec";
new const opis[] = "Posiada teleport (Mozna uzyc co 10s)";
new const bronie = 1<new const zdrowie = 20;
new const kondycja = 10;
new const inteligencja = 0;
new const wytrzymalosc = 5;
new bool:uzyl[33];
new bool:ma_klase[33];
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");
}
public cod_class_enabled(id, wartosc)
{
ma_klase[id] = true;
}
public cod_class_disabled(id)
{
ma_klase[id] = false;
}
public cod_class_skill_used(id)
{
if (!uzyl[id]==false)
{
client_print(id, print_center, "Teleport mozna uzywac co 10s");
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, 750.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 ( 10.0, "ResetHUD", id )
set_task ( 10.0, "InfoTel", id )
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
{
uzyl[id] = false;
}
public InfoTel(id)
{
client_print(id, print_center, "Mozesz uzyc Teleportacji");
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/
NieWiemMamMac@ 30.01.2015
Sprawdź
Spoiler
#include <amxmodx> #include <amxmisc> #include <codmod> #include <fakemeta> #include <xs> //#define DMG_BULLET (1<<1) new const nazwa[] = "Szturmowiec"; new const opis[] = "Posiada teleport (Mozna uzyc co 10s)"; new const bronie = 1<new const zdrowie = 20; new const kondycja = 10; new const inteligencja = 0; new const wytrzymalosc = 5; new bool:uzyl[33]; new bool:ma_klase[33]; new bool:moze public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("HLTV", "NowaRunda", "a", "1=0", "2=0"); register_event("ResetHUD", "ResetHUD", "abe"); } public cod_class_enabled(id, wartosc) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; } public NowaRunda() { moze = false; set_task(10.0,"Odblokuj") } public Odblokuj() moze = true; public cod_class_skill_used(id) { if(!moze) { client_print(id, print_center, "Teleportu mozna uzywac po 10 sekundach od rozpoczecia rundy"); return PLUGIN_CONTINUE; } if (!uzyl[id]==false) { client_print(id, print_center, "Teleport mozna uzywac co 10s"); 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, 750.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 ( 10.0, "ResetHUD", id ) set_task ( 10.0, "InfoTel", id ) return PLUGIN_CONTINUE; } public ResetHUD(id) { uzyl[id] = false; } public InfoTel(id) { client_print(id, print_center, "Mozesz uzyc Teleportacji"); }
Użytkownik NieWiemMamMac@ edytował ten post 30.01.2015 00:04
NEQU# 31.01.2015
Sprawdź
Spoiler#include <amxmodx> #include <amxmisc> #include <codmod> #include <fakemeta> #include <xs> //#define DMG_BULLET (1<<1) new const nazwa[] = "Szturmowiec"; new const opis[] = "Posiada teleport (Mozna uzyc co 10s)"; new const bronie = 1<new const zdrowie = 20; new const kondycja = 10; new const inteligencja = 0; new const wytrzymalosc = 5; new bool:uzyl[33]; new bool:ma_klase[33]; new bool:moze public plugin_init() { register_plugin(nazwa, "1.0", "QTM_Peyote"); cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc); register_event("HLTV", "NowaRunda", "a", "1=0", "2=0"); register_event("ResetHUD", "ResetHUD", "abe"); } public cod_class_enabled(id, wartosc) { ma_klase[id] = true; } public cod_class_disabled(id) { ma_klase[id] = false; } public NowaRunda() { moze = false; set_task(10.0,"Odblokuj") } public Odblokuj() moze = true; public cod_class_skill_used(id) { if(!moze) { client_print(id, print_center, "Teleportu mozna uzywac po 10 sekundach od rozpoczecia rundy"); return PLUGIN_CONTINUE; } if (!uzyl[id]==false) { client_print(id, print_center, "Teleport mozna uzywac co 10s"); 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, 750.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 ( 10.0, "ResetHUD", id ) set_task ( 10.0, "InfoTel", id ) return PLUGIN_CONTINUE; } public ResetHUD(id) { uzyl[id] = false; } public InfoTel(id) { client_print(id, print_center, "Mozesz uzyc Teleportacji"); }
Dziala, a czy da rade jakoś zrobić, żeby tak czesto nie bugował się w ziemi/scianie/skrzyniach ? może być to nawet jakiś plugin który odbugowuje to. np. jeżeli ktoś zbuguje się to plugin automatycznie odbuguje go(w tym samym miejscu)