Witam. Mam problem mam klase zwykła a chce by była premium
Kod klasy zwykłej
Spoiler
#include <amxmodx>
#include <amxmisc>
#include <codmod>
#include <fun>
#include <engine>
#include <hamsandwich>
#include <fakemeta>
#include <cstrike>
new sprite;
new ilosc_blyskawic[33],poprzednia_blyskawica[33];
new const gszSound[] = "ambience/thunder_clap.wav";
new const nazwa[] = "Zeus";
new const opis[] = "Posiada 7 Błyskawic,1/15 z wszystkich broni, 1/1 z kosy, 1,5x wieksze dmg Famas 10x podskok oraz mniejsza grawitacja";
new const bronie = (1<<CSW_M4A1)|(1<<CSW_FAMAS);
new const zdrowie = 200;
new const kondycja = 200;
new const inteligencja = 200;
new const wytrzymalosc = 200;
new ma_klase[33]
new skoki[33];
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
register_event("ResetHUD", "ResetHUD", "abe");
RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
RegisterHam(Ham_Spawn, "player", "fwSpawn_Grawitacja", 1);
register_forward(FM_CmdStart, "fwCmdStart_MultiJump");
register_event("Damage", "Damage_Wyrzucenie", "b", "2!=0");
RegisterHam(Ham_TakeDamage, "player", "fwTakeDamage_JedenCios");
}
public plugin_precache()
{
sprite = precache_model("sprites/lgtning.spr");
precache_sound(gszSound);
}
public cod_class_enabled(id)
{
entity_set_float(id, EV_FL_gravity, 400.0/800.0);
give_item(id, "weapon_smokegrenade");
ilosc_blyskawic[id] = 7;
ma_klase[id] = 1;
return COD_CONTINUE;
}
public cod_class_disabled(id)
{
ma_klase[id] = 0;
ilosc_blyskawic[id] = 0;
entity_set_float(id, EV_FL_gravity, 1.0);
}
public cod_class_skill_used(id) {
if(!is_user_alive(id)) return PLUGIN_HANDLED;
if(!ilosc_blyskawic[id]) {
return PLUGIN_HANDLED;
}
new ofiara, body;
get_user_aiming(id, ofiara, body);
if(is_user_alive(ofiara)){
if(get_user_team(ofiara) == get_user_team(id)) {
return PLUGIN_HANDLED;
}
if(poprzednia_blyskawica[id]+5.0>get_gametime()) {
client_print(id,print_chat,"Blyskawicy mozesz uzyc raz na 5 sek.");
return PLUGIN_HANDLED;
}
poprzednia_blyskawica[id] = floatround(get_gametime());
ilosc_blyskawic[id]--;
puscBlyskawice(id, ofiara, 100.0, 0.5);
}
return PLUGIN_HANDLED;
}
stock Create_TE_BEAMENTS(startEntity, endEntity, iSprite, startFrame, frameRate, life, width, noise, red, green, blue, alpha, speed) {
message_begin( MSG_BROADCAST, SVC_TEMPENTITY )
write_byte( TE_BEAMENTS )
write_short( startEntity ) // start entity
write_short( endEntity ) // end entity
write_short( iSprite ) // model
write_byte( startFrame ) // starting frame
write_byte( frameRate ) // frame rate
write_byte( life ) // life
write_byte( width ) // line width
write_byte( noise ) // noise amplitude
write_byte( red ) // red
write_byte( green ) // green
write_byte( blue ) // blue
write_byte( alpha ) // brightness
write_byte( speed ) // scroll speed
message_end()
}
puscBlyskawice(id, ofiara, Float:fObrazenia = 55.0, Float:fCzas = 1.0){
//Obrazenia
new ent = create_entity("info_target");
entity_set_string(ent, EV_SZ_classname, "blyskawica");
cod_inflict_damage(id, ofiara, fObrazenia, 1.0, ent, DMG_SHOCK);
remove_entity(ent);
//Piorun
Create_TE_BEAMENTS(id, ofiara, sprite, 0, 10, floatround(fCzas*10), 150, 5, 200, 200, 200, 200, 10);
//Dzwiek
emit_sound(id, CHAN_WEAPON, gszSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
emit_sound(ofiara, CHAN_WEAPON, gszSound, VOL_NORM, ATTN_NORM, 0, PITCH_NORM);
}
public ResetHUD(id) {
if(ma_klase[id] == 1) {
ilosc_blyskawic[id] = 7;
}
}
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
if(!is_user_connected(idattacker))
return HAM_IGNORED;
if(!ma_klase[idattacker])
return HAM_IGNORED;
if(!(damagebits & (1<<1)))
return HAM_IGNORED;
if(get_user_weapon(idattacker) & CSW_FAMAS)
{
damage*=1.5;
}
if(ma_klase[idattacker] && random_num(1,12) == 1)
cod_inflict_damage(idattacker, this, float(get_user_health(this))-damage+1.0, 0.0, idinflictor, damagebits);
return HAM_IGNORED;
}
public fwSpawn_Grawitacja(id)
{
if(ma_klase[id])
entity_set_float(id, EV_FL_gravity, 400.0/800.0);
}
public fwCmdStart_MultiJump(id, uc_handle)
{
if(!is_user_alive(id) || !ma_klase[id])
return FMRES_IGNORED;
new flags = pev(id, pev_flags);
if((get_uc(uc_handle, UC_Buttons) & IN_JUMP) && !(flags & FL_ONGROUND) && !(pev(id, pev_oldbuttons) & IN_JUMP) && skoki[id])
{
skoki[id]--;
new Float:velocity[3];
pev(id, pev_velocity,velocity);
velocity[2] = random_float(265.0,285.0);
set_pev(id, pev_velocity,velocity);
}
else if(flags & FL_ONGROUND)
skoki[id] = 10;
return FMRES_IGNORED;
}
public Damage_Wyrzucenie(id)
{
new idattacker = get_user_attacker(id);
if(!is_user_alive(idattacker))
return;
if(!ma_klase[idattacker])
return;
if(random_num(1, 10) != 1)
return;
client_cmd(id, "drop");
}
public fwTakeDamage_JedenCios(id, ent, attacker)
{
if(is_user_alive(attacker) && ma_klase[attacker] && get_user_weapon(attacker) == CSW_KNIFE)
{
cs_set_user_armor(id, 0, CS_ARMOR_NONE);
SetHamParamFloat(4, float(get_user_health(id) + 1));
return HAM_HANDLED;
}
return HAM_IGNORED;
}
/* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
*{\\ rtf1\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ lang1045\\ f0\\ fs16 \n\\ par }
*/


Dodatki SourceMod












