←  Prośby o modyfikacje silników/klas/perków

AMXX.pl: Support AMX Mod X i SourceMod

»

Klasa
Prośba o przerobienie klasy Duch.

Atroven - zdjęcie Atroven 13.01.2014

/* Plugin generated by AMXX-Studio */





#include <amxmodx>

#include <codmod>

#include <fakemeta>

#include <colorchat>



#define CZAS_NOCLIP 10



new bool:ma_klase[33];



new const nazwa[] = "Duch";

new const opis[] = "Uzyj, aby przechodzic przez sciany";

new const bronie = 1<<CSW_AK47;

new const zdrowie = 10;

new const kondycja = 20;

new const inteligencja = 0;

new const wytrzymalosc = 5;



new bool:uzyl[33];



new msg_bartime;



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");

msg_bartime = get_user_msgid("BarTime");

}



public cod_class_enabled(id)

{

ma_klase[id] = true;

uzyl[id] = false;

}



public cod_class_disabled(id)

{

ma_klase[id] = false;

}



public cod_class_skill_used(id)

{

if(!is_user_alive(id) || !ma_klase[id])

return PLUGIN_CONTINUE;



if(uzyl[id])

{

ColorChat(id, RED, "Juz wykorzystales moc diabla!");

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();

}

 

Witam proszę o przerobienie tej klasy aby ducha można by używać 10 sekund (podstawowo) ale 3 razy na runde. A dodatkowo jeśli ktoś by umiał to aby strzelał duchami (3 duchy) "http://amxx.pl/topic...1-klasa-umarly/" (Duch czyli teleport na E , a duszki dopiero po skonczeniu tej mocy lub na C"

Odpowiedz

Atroven - zdjęcie Atroven 14.01.2014

refresh

Odpowiedz

  • +
  • -
Dziobak? - zdjęcie Dziobak? 14.01.2014

Sprawdź :

/* Plugin generated by AMXX-Studio */





#include <amxmodx>

#include <codmod>

#include <fakemeta>

#include <colorchat>



#define CZAS_NOCLIP 10



new bool:ma_klase[33];



new const nazwa[] = "Duch";

new const opis[] = "Uzyj, aby przechodzic przez sciany";

new const bronie = 1<<CSW_AK47;

new const zdrowie = 10;

new const kondycja = 20;

new const inteligencja = 0;

new const wytrzymalosc = 5;



new bool:uzyl[33];



new msg_bartime;



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");

msg_bartime = get_user_msgid("BarTime");

}



public cod_class_enabled(id)

{

ma_klase[id] = true;

uzyl[id] = false;

}



public cod_class_disabled(id)

{

ma_klase[id] = false;

}



public cod_class_skill_used(id)

{

if(!is_user_alive(id) || !ma_klase[id] || random (2))

return PLUGIN_CONTINUE;



if(uzyl[id])

{

ColorChat(id, RED, "Juz wykorzystales moc diabla!");

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();

}
Odpowiedz