Цитата(ThePhoenix @ 18.11.2021, 20:19)

User91893452, теперь это как теперь? После каких изменений? Я же не знаю, что именно ты заюзал, что нет.
После этого изменения Код
#if defined DISALLOW_OWN_UPGRADES
else if (sentryLevel == SENTRY_LEVEL_1 && GetSentryPeople(sentry, OWNER) == id) {
if(~get_user_flags(id) & ADMIN_BAN)
{
// Don't print anything here, it could get spammy
//client_print(id, print_center, "")
return
}
sentryLevel = SENTRY_LEVEL_3;
}
#endif
Оставил так, прокачивает после тиммейта на 3-й уровень. Но так же и тиммейта прокачивает сразу до 3 уровня
Код:
sentry_upgrade(id, sentry) {
new sentryLevel = entity_get_int(sentry, SENTRY_INT_LEVEL)
if (entity_get_int(sentry, SENTRY_INT_FIRE) == SENTRY_FIREMODE_NUTS) {
client_print(id, print_center, "This sentry cannot be upgraded.")
return
}
else if (get_user_team(id) != entity_get_int(sentry, SENTRY_INT_TEAM)) {
client_print(id, print_center, "You can only upgrade your own team's sentries.")
return
}
#if defined DISALLOW_OWN_UPGRADES
else if (sentryLevel == SENTRY_LEVEL_1 && GetSentryPeople(sentry, OWNER) == id) {
if(~get_user_flags(id) & ADMIN_BAN)
{
// Don't print anything here, it could get spammy
//client_print(id, print_center, "")
return
}
//sentryLevel = SENTRY_LEVEL_3;
}
#endif
#if defined DISALLOW_TWO_UPGRADES
else if (sentryLevel == SENTRY_LEVEL_2 && GetSentryPeople(sentry, UPGRADER_1) == id) {
if(~get_user_flags(id) & ADMIN_BAN)
{
// Don't print anything here, it could get spammy
//client_print(id, print_center, "")
return
}
}
#endif
if(get_user_flags(id) & ADMIN_BAN)
sentryLevel = SENTRY_LEVEL_3;
if (!sentryLevel)
sentryLevel++
new bool:newLevelIsOK = true, upgraderField
switch (sentryLevel) {
case SENTRY_LEVEL_2: {
entity_set_model(sentry, "models/sentries/sentry2.mdl")
upgraderField = UPGRADER_1
}
case SENTRY_LEVEL_3: {
entity_set_model(sentry, "models/sentries/sentry3.mdl")
upgraderField = UPGRADER_2
}
default: {
// Error... can only upgrade to level 2 and 3... so far! ;-)
newLevelIsOK = false
}
}
if (newLevelIsOK) {
if (cs_get_user_money(id) - g_COST[sentryLevel] < 0) {
client_print(id, print_center, "You don't have enough money to upgrade this sentry gun! (needed $%d)", g_COST[sentryLevel])
return
}
cs_set_user_money(id, cs_get_user_money(id) - g_COST[sentryLevel])
new Float:mins[3], Float:maxs[3]
mins[0] = -16.0
mins[1] = -16.0
mins[2] = 0.0
maxs[0] = 16.0
maxs[1] = 16.0
maxs[2] = 43.0 // 4.0
entity_set_size(sentry, mins, maxs)
emit_sound(sentry, CHAN_AUTO, "sentries/turrset.wav", 1.0, ATTN_NORM, 0, PITCH_NORM)
entity_set_int(sentry, SENTRY_INT_LEVEL, sentryLevel)
entity_set_float(sentry, EV_FL_health, g_HEALTHS[sentryLevel])
entity_set_float(entity_get_edict(sentry, SENTRY_ENT_BASE), EV_FL_health, g_HEALTHS[0])
SetSentryPeople(sentry, upgraderField, id)
if (id != GetSentryPeople(sentry, OWNER)) {
new upgraderName[32]
get_user_name(id, upgraderName, 31)
client_print(GetSentryPeople(sentry, OWNER), print_center, "%s upgraded your sentry to level %d", upgraderName, sentryLevel + 1)
}
}
}
Как сделать чтобы админ тиммейту только на один уровень прокачивал пушку, а не на 3 сразу)
Можно как то реализовать?