public StworzDucha(id)
{
if (!ilosc_duchow_gracza[id])
{
client_print(id, print_center, "Wykrzystales juz wszystkie duchy!");
return PLUGIN_CONTINUE;
}
if(poprzednia_rakieta_gracza[id] + 2.0 > get_gametime())
{
client_print(id, print_center, "Duchow 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 ducha, zwieksz inteligencje!");
poprzednia_rakieta_gracza[id] = get_gametime();
ilosc_duchow_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, "Ghost");
entity_set_model(Ent, "models/ghost.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, 2);
entity_set_int(Ent, EV_INT_solid, SOLID_BBOX);
entity_set_int(Ent, EV_INT_movetype, MOVETYPE_FLY);
entity_set_edict(Ent, EV_ENT_owner, id);
VelocityByAim(id, 1000 , Velocity);
entity_set_vector(Ent, EV_VEC_velocity ,Velocity);
}
return PLUGIN_CONTINUE;
}
i
public DotykDucha(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,min(150,55.0+float(inteligencja_gracza[attacker])) , 1);
}
remove_entity(ent);
}
I mam model (oczywiście dodałem zmienne globalne oraz do plugin_init). Ale duch nie zadaje obrażeń. Dlaczego?