Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

Отключение "velocity"

, Как правильно закомментировать velocity.
Статус пользователя Slavik
сообщение 1.11.2017, 22:31
Сообщение #1


Стаж: 12 лет

Сообщений: 185
Благодарностей: 13
Полезность: < 0

Как правильно вырезать код? Ниже часть кода плагина выбора ножей для игроков. С ножом, игроки которые используют обычный скрипт бхоп или у кого настроен прыжок на колёсико, прыгают значительно быстрее чем положено.
Решил проблему тем, что закомментировал данную строку "// velocity[2] += KNIFE_JUMP" и всё как бы устраивает, но подозреваю что так же нужно убрать рядом еще строки, так как они возможно не выполняют не какой функции и просто не нужны. Пожалуйста проверьте и скажите, как убрать правильно данную функцию. Спасибо.

Код:

public CPlayer__PreThink(id)
{
if (!is_user_alive(id)) return
if (zp_get_user_zombie(id)) return
if (get_user_weapon(id) != CSW_KNIFE)
{
if (zp_get_user_survivor(id)) set_user_gravity(id, FL_gravity_surv)
else set_user_gravity(id, FL_gravity)
return
}

new knife
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife = KNIFE_SURVIVOR) : (knife = KNIFE_USER(id))

set_user_maxspeed(id, KNIFE_SPEED)
set_user_gravity(id, KNIFE_GRAV)

if (!(entity_get_int(id, EV_INT_button) & IN_JUMP)) return
if (entity_get_int(id, EV_INT_oldbuttons) & IN_JUMP) return

new flags = entity_get_int(id, EV_INT_flags)

if (!(flags & FL_ONGROUND)) return
if (flags & FL_WATERJUMP) return
if (entity_get_int(id, EV_INT_waterlevel) > 1) return

new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)

// velocity[2] += KNIFE_JUMP
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя DeMNiX
сообщение 2.11.2017, 8:06
Сообщение #2


Стаж: 13 лет

Сообщений: 263
Благодарностей: 113
Полезность: 646

Slavik, можно сделать так:
Код:
   new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)
velocity[0] *= 0.95; // сокращение вектора скорости на 5%
velocity[1] *= 0.95; // без учета Z конечно же
velocity[2] += KNIFE_JUMP // таким образом можно оставить высокий прыжок, сократив скорость
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
}


я бы сделал так: если скорость игрока ниже чем 220(к примеру), то позволять ему прыгать выше, если скорость выше чем 220, ничего не делать
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Slavik
сообщение 2.11.2017, 20:53
Сообщение #3


Стаж: 12 лет

Сообщений: 185
Благодарностей: 13
Полезность: < 0

DeMNiX, Спасибо. Но я хочу просто отключить это функцию да и всё=) Можно ли просто закомментировать это?:
Код:

new Float:velocity[3]
entity_get_vector(id, EV_VEC_velocity, velocity)

velocity[2] += KNIFE_JUMP
entity_set_vector(id, EV_VEC_velocity, velocity)
entity_set_int(id, EV_INT_gaitsequence, 6)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя BlackSignature
сообщение 3.11.2017, 20:33
Сообщение #4


Стаж: 15 лет
Город: Москва

Сообщений: 36
Благодарностей: 106
Полезность: < 0

Код:
public CPlayer__PreThink(id)
{
if (!is_user_alive(id) || zp_get_user_zombie(id)) return
if (get_user_weapon(id) != CSW_KNIFE)
{
zp_get_user_survivor(id) ? set_user_gravity(id, FL_gravity_surv) : set_user_gravity(id, FL_gravity)
return
}

/* new knife
(KNIFE_SURV && zp_get_user_survivor(id)) ? (knife = KNIFE_SURVIVOR) : (knife = KNIFE_USER(id)) */

set_user_maxspeed(id, KNIFE_SPEED)
set_user_gravity(id, KNIFE_GRAV)
}


Написание и правка плагинов, услуги гаранта
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: