Załączone pliki
Użytkownik SAL edytował ten post 16.02.2012 14:22
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.
|
Napisano 16.02.2012 14:22
Użytkownik SAL edytował ten post 16.02.2012 14:22
Napisano 16.02.2012 14:34
#include <amxmodx>
#include <codmod>
#include <fakemeta>
#include <xs>
new const perk_name[] = "Mnich";
new const perk_desc[] = "Dostajesz teleport";
new Odliczanie[33]
new bool:ma_perk[33];
new bool:uzyl[33];
public plugin_init() {
register_plugin(perk_name, "1.0", "QTM_Peyote");
cod_register_perk(perk_name, perk_desc);
register_event("ResetHUD", "ResetHUD", "abe");
}
public cod_perk_enabled(id)
{
uzyl[id] = false;
ma_perk[id] = true;
}
public cod_perk_used(id)
{
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 ( 1.0, "UruchomOdliczanie", id )
set_task ( 12.0, "ResetHUD", id )
return PLUGIN_CONTINUE;
}
public ResetHUD(id)
uzyl[id] = false;
public UruchomOdliczanie(id)
{
Odliczanie[id] = 10 // nasza zmienna + czas ile ma odliczać do zera w tym przypadku 10sekund
if(task_exists(id + 3431))
{
remove_task(id + 3431)
}
set_task(1.0, "Koniec", id + 3431, _, _, "b")
return PLUGIN_CONTINUE
}
public Koniec(task_id)
{
new id = task_id - 3431
set_hudmessage(0, 255, 0, 0.03, 0.76, 2, 0.02, 1.0, 0.01)
show_hudmessage(id, "Za %d mozesz sie Teleportowac", Odliczanie[id]) //Wiadomość pokazana w HUD'zie
Odliczanie[id] -= 1
if(Odliczanie[id] <= 0)
{
if(task_exists(task_id))
{
remove_task(task_id)
}
}
}
0 użytkowników, 0 gości, 0 anonimowych