Помогите с плагином двойного прыжка

Тема в разделе "Программирование / Скриптинг", создана пользователем QuadXeon, 17 апр 2016.

  1. QuadXeon

    QuadXeon

    Сообщения:
    7
    Симпатии:
    0
    #include <sourcemod>
    #include <sdktools>
    #include <vip>

    #define PLUGIN_VERSION "1.0"

    public Plugin:myinfo = {
    name = "exi.double.jump",
    author = "XeonQuad",
    description = "double.jump",
    version = PLUGIN_VERSION,
    url = "Existance :: Главная"
    }

    new
    Handle:g_cvJumpBoost = INVALID_HANDLE,
    Handle:g_cvJumpEnable = INVALID_HANDLE,
    Handle:g_cvJumpMax = INVALID_HANDLE,
    Float:g_flBoost = 250.0,
    bool:g_bDoubleJump = true,
    g_fLastButtons[MAXPLAYERS+1],
    g_fLastFlags[MAXPLAYERS+1],
    g_iJumps[MAXPLAYERS+1],
    g_iJumpMax

    public OnPluginStart() {
    CreateConVar(
    "sm_doublejump_version", PLUGIN_VERSION,
    "Double Jump Version",
    FCVAR_PLUGIN|FCVAR_NOTIFY
    )

    g_cvJumpEnable = CreateConVar(
    "sm_doublejump_enabled", "1",
    "Enables double-jumping.",
    FCVAR_PLUGIN|FCVAR_NOTIFY
    )

    g_cvJumpBoost = CreateConVar(
    "sm_doublejump_boost", "250.0",
    "The amount of vertical boost to apply to double jumps.",
    FCVAR_PLUGIN|FCVAR_NOTIFY
    )

    g_cvJumpMax = CreateConVar(
    "sm_doublejump_max", "1",
    "The maximum number of re-jumps allowed while already jumping.",
    FCVAR_PLUGIN|FCVAR_NOTIFY
    )

    HookConVarChange(g_cvJumpBoost, convar_ChangeBoost)
    HookConVarChange(g_cvJumpEnable, convar_ChangeEnable)
    HookConVarChange(g_cvJumpMax, convar_ChangeMax)

    g_bDoubleJump = GetConVarBool(g_cvJumpEnable)
    g_flBoost = GetConVarFloat(g_cvJumpBoost)
    g_iJumpMax = GetConVarInt(g_cvJumpMax)
    }

    public convar_ChangeBoost(Handle:convar, const String:oldVal[], const String:newVal[]) {
    g_flBoost = StringToFloat(newVal)
    }

    public convar_ChangeEnable(Handle:convar, const String:oldVal[], const String:newVal[]) {
    if (StringToInt(newVal) >= 1) {
    g_bDoubleJump = true
    } else {
    g_bDoubleJump = false
    }
    }

    public convar_ChangeMax(Handle:convar, const String:oldVal[], const String:newVal[]) {
    g_iJumpMax = StringToInt(newVal)
    }

    public OnGameFrame() {
    if (g_bDoubleJump) {
    for (new i = 1; i <= MaxClients; i++) {
    decl String:group[64];
    VIP_GetGroupName(i, group, 64);
    if (strcmp(group, "platinum", true) == 0)
    {
    if (IsClientInGame(i) && IsPlayerAlive(i))
    {
    DoubleJump(i)
    }
    }
    }
    }
    }

    stock DoubleJump(const any:client) {
    new fCurFlags = GetEntityFlags(client), fCurButtons = GetClientButtons(client)

    if (g_fLastFlags[client] & FL_ONGROUND) {
    if (!(fCurFlags & FL_ONGROUND) && !(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP)
    {
    OriginalJump(client)
    }
    }
    else if (fCurFlags & FL_ONGROUND)
    {
    Landed(client)
    }
    else if (!(g_fLastButtons[client] & IN_JUMP) && fCurButtons & IN_JUMP)
    {
    ReJump(client)
    }

    g_fLastFlags[client] = fCurFlags
    g_fLastButtons[client] = fCurButtons
    }

    stock OriginalJump(const any:client) {
    g_iJumps[client]++
    }

    stock Landed(const any:client) {
    g_iJumps[client] = 0
    }

    stock ReJump(const any:client) {
    if (1 <= g_iJumps[client] <= g_iJumpMax)
    {
    g_iJumps[client]++
    decl Float:vVel[3]
    GetEntPropVector(client, Prop_Data, "m_vecVelocity", vVel)
    vVel[2] = g_flBoost
    TeleportEntity(client, NULL_VECTOR, NULL_VECTOR, vVel)
    }
    }

    После обновления CS:GO перестал работать и родной аддон к VIP'у от ws, и прочие решения в сети.
    Прошу помочь с данным плагином.
    Компилируется нормально.
    Второй прыжок в воздухе попросту не происходит.
     
  2. Drumanid

    Drumanid Дилетант

    Сообщения:
    567
    Симпатии:
    193
    У тебя bhop на сервере стоит?
     
  3. QuadXeon

    QuadXeon

    Сообщения:
    7
    Симпатии:
    0
    Самописный плагин deathrun, да, стоит bhop отдельным плагином для всех.
     
  4. Hejter

    Hejter Mapper Source Engine

    Сообщения:
    1.771
    Симпатии:
    259
    @QuadXeon, что-то мне подсказывает, что данный Double jump плагин - не твой.
     
    QuadXeon нравится это.
  5. Drumanid

    Drumanid Дилетант

    Сообщения:
    567
    Симпатии:
    193
    Двойной прыжок не работает с bhop(ом).
    Раньше работал?
     
    QuadXeon нравится это.
  6. QuadXeon

    QuadXeon

    Сообщения:
    7
    Симпатии:
    0
    Да, раньше работал =)
    Сейчас проверю.
    --- Добавлено позже ---
    А серьезно, проблема решена, огромное спасибо!
    --- Добавлено позже ---
    не мой, адаптация под вип плагин.
     
  7. Drumanid

    Drumanid Дилетант

    Сообщения:
    567
    Симпатии:
    193
    Оффтоп