Tylko trzeba zmienić na piorun, a ja niestety nie umiem mógby ktoś zrobić?
Tworzenie Blyskawicy:
public StworzBlyskawice(id)
{
if (!ilosc_blyskawic_gracza[id])
{
client_print(id, print_center, "Wykrzystales juz wszystkie blyskawice!");
return PLUGIN_CONTINUE;
}
if(poprzednia_blyskawica_gracza[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Blyskawic mozesz uzywac co 2 sekundy!");
return PLUGIN_CONTINUE;
}
if (is_user_alive(id))
{
if(inteligencja_gracza[id] < 1)
client_print(id, print_center, "Aby wzmocnic Blyskawice, zwieksz inteligencje!");
poprzednia_blyskawica_gracza[id] = get_gametime();
ilosc_blyskawic_gracza[id]--;
new Float: Origin[3], Float: vAngle[3], Float: Velocity[3];
entity_get_vector(id, EV_VEC_v_angle, vAngle);
entity_get_vector(id, EV_VEC_origin , Origin);
new Ent = create_entity("info_target");
entity_set_string(Ent, EV_SZ_classname, "Blyskawica");
entity_set_model(Ent, "models/rpgrocket.mdl");
vAngle[0] *= -1.0;
entity_set_origin(Ent, Origin);
entity_set_vector(Ent, EV_VEC_angles, vAngle);
entity_set_int(Ent, EV_INT_effects, 64);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, 5);
entity_set_edict(Ent, EV_ENT_owner, id);
new fEntity
new Float:fl_iNewVelocity[3]
VelocityByAim(id, 500, fl_iNewVelocity)
entity_set_vector(fEntity, EV_VEC_velocity, fl_iNewVelocity)
message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
write_byte(22)
write_short(fEntity)
write_short(sprite_beam)
write_byte(45)
write_byte(4)
write_byte(255)
write_byte(0)
write_byte(0)
write_byte(25)
message_end()
VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
return PLUGIN_CONTINUE;
}Dotyk
public DotykBlyskawicy(ent)
{
if ( !is_valid_ent(ent))
return;
new attacker = entity_get_edict(ent, EV_ENT_owner);
new Float:fOrigin[3], iOrigin[3];
entity_get_vector( ent, EV_VEC_origin, fOrigin);
iOrigin[0] = floatround(fOrigin[0]);
iOrigin[1] = floatround(fOrigin[1]);
iOrigin[2] = floatround(fOrigin[2]);
message_begin(MSG_BROADCAST,SVC_TEMPENTITY, iOrigin);
write_byte(TE_EXPLOSION);
write_coord(iOrigin[0]);
write_coord(iOrigin[1]);
write_coord(iOrigin[2]);
write_short(sprite_blast);
write_byte(32); // scale
write_byte(20); // framerate
write_byte(0);// flags
message_end();
new entlist[33];
new numfound = find_sphere_class(ent, "player", 230.0, entlist, 32);
for (new i=0; i < numfound; i++)
{
new pid = entlist[i];
if (!is_user_alive(pid) || get_user_team(attacker) == get_user_team(pid) || informacje_przedmiotu_gracza[pid][0] == 24)
continue;
ExecuteHam(Ham_TakeDamage, pid, ent, attacker, 55.0+float(inteligencja_gracza[attacker]) , 1);
}
remove_entity(ent);
}


Dodatki SourceMod














