public client_PreThink(id)
{
if(!is_user_alive(id) || is_user_hltv(id))
return PLUGIN_CONTINUE
static entlist[3], entlist2[3]
if(find_sphere_class(id, "turret", 12.0, entlist, 2))
{
client_print(id, 3,"ent: %d | it: %d | gmtim: %d | gspr: %d", entlist[0], is_turret(entlist[0]), gMenuTurretsInMenu[id], gShowPlayerRange[id])
if(((is_turret(entlist[0])) && (SentryOwner(entlist[0]) == id) && !(pev_valid(pev(entlist[0], pev_sentry_ranger))) && (!gMenuTurretsInMenu[id]) && (!gShowPlayerRange[id])))
{
client_print(0, 3, "poszlo")
CreateRanger(entlist[0])
}
if(get_gametime() > ThinkInfoTime[id]+2.0)
{
static nick[33], szTemp[128], szTurret[64], id2
id2 = SentryOwner(entlist[0])
get_user_name(id2, nick, 32)
formatex(szTemp, 127, "Wiezyczka gracza: %s", nick)
if(gTurretsType[id2][SentryId(entlist[0])])
{
formatex(szTurret, 63, "^nTyp : %s^nAmunicja : %d", gTurretName[gTurretsType[id2][SentryId(entlist[0])]], gTurretsAmmo[id2][SentryId(entlist[0])])
add(szTemp, 127, szTurret)
}
ThinkInfoTime[id] = get_gametime()
set_hudmessage(0, 255, 0, 0.31, 0.79, 1, 6.0, 2.0, _, _, 2)
ShowSyncHudMsg(id, gSync4, szTemp)
}
}
else if(!gMenuTurretsInMenu[id] && (pev_valid(entlist[0]) && pev_valid(pev(entlist[0], pev_sentry_ranger))) && gShowPlayerRange[id])
{
remove_entity(pev(entlist[0], pev_sentry_ranger))
gShowPlayerRange[id] = 0
}
if(g_iOwnedEnt[id] && IsMovingEnt[id])
{
static Float:Origin[3], Float:Origin2[3], GOrigin[3]
get_user_origin(id, GOrigin, 3)
IVecFVec(GOrigin, Origin)//origin
IVecFVec(GOrigin, Origin2)//turn
get_origin_from_dist_player(id, 45.0, Origin)
Origin[2]-=36.0
set_pev(g_iOwnedEnt[id], pev_origin, Origin)
sentry_turntotarget2(g_iOwnedEnt[id], Origin, Origin2)
Origin[2]+=36.0
if(is_turret_stuck(g_iOwnedEnt[id]) || ((find_sphere_class(g_iOwnedEnt[id], "turret", 47.5, entlist2, 2)) && (entlist2[0] != g_iOwnedEnt[id])) || (bsent && find_ent_in_sphere(bsent, Origin2, 30.0)))
{
client_print(id, print_center, "Nie mozesz tutaj postawic tej wiezyczki!")
CanDropTurret[id] = false
}
else
{
CanDropTurret[id] = true;
}
entity_set_float(g_iOwnedEnt[id], EV_FL_nextthink, 0.0)
}
return PLUGIN_CONTINUE
}
Sory za tyle nawiasów, ale dla mnie ma być true albo false Problem polelga na tym, że gdy postawie pierwszą wieżyczkę to wszystko świetnie działą. Dobra nie tak. 1. - Postawiam 1 wieżyczkę 2. - Wszystko śmiga 3. - Postawiam 2 wieżyczkę 4. - Gra sobie Kpi• Wchodzę w wieżyczkę i się nie wykonuje to:
if(((is_turret(entlist[0])) && (SentryOwner(entlist[0]) == id) && !(pev_valid(pev(entlist[0], pev_sentry_ranger))) && (!gMenuTurretsInMenu[id]) && (!gShowPlayerRange[id])))Jednak wszystko temu przeczy! wycinek z konsoli:
ent: 89 | it: 1 | gmtim: 0 | gspr: 0 ent: 89 | it: 1 | gmtim: 0 | gspr: 0 ent: 89 | it: 1 | gmtim: 0 | gspr: 0 ent: 89 | it: 1 | gmtim: 0 | gspr: 0 ent: 89 | it: 1 | gmtim: 0 | gspr: 0a powinno być:
ent: 89 | it: 1 | gmtim: 0 | gspr: 0 ent: 89 | it: 1 | gmtim: 0 | gspr: 0 ent: 89 | it: 1 | gmtim: 0 | gspr: 0 poszlo a [...]Czyli powinno się wykonać, jednak nawet nie wykonuje się. Tak jest w przypadku postawienia powyżej 2 wieżyczek. 1 wieżyczka działa świetnie, jest tak jak być powinno. Pojawia się 2 wieżyczka i gra zaczyna sobie jaja robić
public CreateRanger(ent)
{
client_print(0,3,"a")
if(!pev_valid(ent) || !is_turret(ent) || pev_valid(pev(ent, pev_sentry_ranger)))
return PLUGIN_CONTINUE;
new id = SentryOwner(ent);
client_print(0, 3, "%d %d %d %d", ent, pev(ent,pev_sentry_ranger), gShowPlayerRange[id], id)
if(!is_user_alive(id) || gShowPlayerRange[id])
return PLUGIN_CONTINUE
static Float:Origin[3];
pev(ent, pev_origin, Origin)
new ranger = create_entity( "info_target" );
entity_set_string(ranger, EV_SZ_classname, "ranger" );
entity_set_model(ranger, "sprites/TD/circle.spr" );
entity_set_origin(ranger, Origin );
new Float:range = gTurretsRange[id][SentryId(ent)] / 250.0;
set_pev(ranger, pev_scale, range)
set_rendering(ranger, kRenderFxNoDissipation, 0,0,0, kRenderGlow, 255)
set_pev(ent, pev_sentry_ranger, ranger)
Origin[2] -=50
entity_set_aim_range(ranger, Origin)
gShowPlayerRange[id] = 1
return PLUGIN_CONTINUE
}edit: Macie wycinek z konsoli
http://wklej.org/id/1029174/Połapiecie się o co biega.


Dodatki SourceMod




Temat jest zamknięty









