Na moim CoD modzie istnieje klasa, która od awansu na 200lvlu oferuje użycie nalotu z killstreaka (airstrike) raz na rundę. Jednak z jakiegoś powodu mogę go użyć raz na mapę (po 1 sukcesywnym użyciu nalotu wyświetla się komunikat, że wykorzystałem już wszystkie naloty). Czy jakaś dobra dusza mogłaby pomóc w przerobieniu skryptu tak aby nalot działał 1 raz na rundę? Oto on:
///////////////NALOT////////////////
public cod_class_skill_used(id)
{
if(!ilosc[id])
{
client_print(id, print_center, "Wykorzystales juz wszystkie naloty !");
return PLUGIN_CONTINUE;
}
else
{
if(poprzedni_nalot[id] + 10.0 > get_gametime())
{
client_print(id, print_center, "Nalot mozesz wezwac co 10 sekund!");
}
else
{
if (is_user_alive(id))
{
ilosc[id]--;
poprzedni_nalot[id] = floatround(get_gametime());
CreateNalot(id);
client_print(id,print_center,"Pozostal%s ci jeszcze %d nalot%s",((ilosc[id]==1)?"":"o"),ilosc[id],((ilosc[id]==1)?"":(ilosc[id]<0 && ilosc[id]>0)?"t":"ow"))
}
}
}
return PLUGIN_CONTINUE;
}
public CreateNalot(id)
{
new num, players[32];
get_players(players, num, "gh");
for(new a = 0; a < num; a++)
{
new i = players[a];
if(get_user_team(id) != get_user_team(i))
client_cmd(i, "spk sound/mw/air_enemy.wav");
else
client_cmd(i, "spk sound/mw/air_friend.wav");
}
set_task(1.0, "CreateBombs", id+997, _, _, "a", 3);
CreatePlane(id);
nalot[id] = false;
}
public CreateBombs(taskid)
{
new id = (taskid-997);
new radlocation[3];
PobraneOrigin[0] += random_num(-300,300);
PobraneOrigin[1] += random_num(-300,300);
PobraneOrigin[2] += 50;
for(new i=0; i<15; i++)
{
radlocation[0] = PobraneOrigin[0]+1*random_num(-150,150);
radlocation[1] = PobraneOrigin[1]+1*random_num(-150,150);
radlocation[2] = PobraneOrigin[2];
new Float:LocVec[3];
IVecFVec(radlocation, LocVec);
create_ent(id, "bomb", "models/p_hegrenade.mdl", 2, 10, LocVec);
}
}
public CreatePlane(id)
{
new Float:Origin[3], Float:Angle[3], Float:Velocity[3], ent;
get_user_origin(id, PobraneOrigin, 3);
velocity_by_aim(id, 1000, Velocity);
entity_get_vector(id, EV_VEC_origin, Origin);
entity_get_vector(id, EV_VEC_v_angle, Angle);
Angle[0] = Velocity[2] = 0.0;
Origin[2] += 200.0;
create_ent(id, "samolot", "models/cod_plane.mdl", 2, 8, Origin, ent);
entity_set_vector(ent, EV_VEC_velocity, Velocity);
entity_set_vector(ent, EV_VEC_angles, Angle);
emit_sound(ent, CHAN_ITEM, "mw/jet_fly1.wav", 1.0, ATTN_NORM, 0, PITCH_NORM);
set_task(4.5, "del_plane", ent+5731);
}
public del_plane(taskid)
remove_entity(taskid-5731);
public touchedrocket(ent, id)
{
if(!is_valid_ent(ent))
return PLUGIN_CONTINUE;
bombs_explode(ent, 65.0, 150.0);
return PLUGIN_CONTINUE;
Użytkownik Sparky Sharky edytował ten post 16.04.2012 10:37