BfWriteByte

WorldDelete

Участник
Сообщения
27
Реакции
3
В общем, не работает ни Парашут, ни другой плагин. Пишет что типу BfWruteByte not found. Что с этим по советуете делать?
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Искать версию плагина для CS:GO. BfWriteByte не работает в csgo. Тут используется protobuf вместо него. Ну либо переписывать.
 

Drumanid

Нестандартное звание
Сообщения
1,862
Реакции
1,748
PHP:
#include <sourcemod>
#include <sdktools>
#pragma semicolon 1

#define PARACHUTE_MODEL "models/parachute/parachute_ice_v2.mdl"
#define NO_PARACHUTE -1

new g_iParachute_Ent[MAXPLAYERS+1] = {NO_PARACHUTE, ...};
new g_iVelocity = -1;

public OnPluginStart() g_iVelocity = FindSendPropOffs("CBasePlayer", "m_vecVelocity[0]");

public OnMapStart() PrecacheModel(PARACHUTE_MODEL, true);

public Action:OnPlayerRunCmd(iClient, &buttons, &impulse, Float:vel[3], Float:angles[3], &weapon)
{
    if (IsPlayerAlive(iClient))
    {
        static bool:_bInUse[MAXPLAYERS+1],
            Float:_fVelocity[MAXPLAYERS+1][3];

        GetEntDataVector(iClient, g_iVelocity, _fVelocity[iClient]);
        if(!_bInUse[iClient] && (buttons & IN_USE) && !(GetEntityFlags(iClient) & FL_ONGROUND))
        {
            if(_fVelocity[iClient][2] < 0.0)
            {
                _fVelocity[iClient][2] = (_fVelocity[iClient][2] >= -100.0) ? -100.0:(_fVelocity[iClient][2] +50.0);
                TeleportEntity(iClient, NULL_VECTOR, NULL_VECTOR, _fVelocity[iClient]);
                SetEntDataVector(iClient, g_iVelocity, _fVelocity[iClient]);
                SetEntityGravity(iClient, 0.1);
                _bInUse[iClient] = true;
                if(g_iParachute_Ent[iClient] == NO_PARACHUTE) g_iParachute_Ent[iClient] = CreateParachute(iClient);
            } else KillParachute(iClient);
        }
        else if (!(buttons & IN_USE) && _bInUse[iClient])
        {
            SetEntityGravity(iClient, 1.0);
            _bInUse[iClient] = false;
            KillParachute(iClient);
        }
        else if(_fVelocity[iClient][2] >= 0.0)
        {
            SetEntityGravity(iClient, 1.0);
            KillParachute(iClient);
        }
    }
    return Plugin_Continue;
}

CreateParachute(iClient)
{
    new iEntity = CreateEntityByName("prop_physics");
    decl String:sBuffer[64];

    FormatEx(sBuffer, sizeof(sBuffer), "%i_%i", iClient, iEntity);
    DispatchKeyValue(iClient, "targetname", sBuffer);
    DispatchKeyValue(iEntity, "model", PARACHUTE_MODEL);
    SetEntityMoveType(iEntity, MOVETYPE_NOCLIP);
    DispatchSpawn(iEntity);

    decl Float:or[3],
        Float:ang[3],
        Float:fForward[3],
        Float:fRight[3],
        Float:fUp[3];
   
    GetClientAbsOrigin(iClient, or);
    GetClientAbsAngles(iClient, ang);
   
    GetAngleVectors(ang, fForward, fRight, fUp);
    new Float:dest_vector[3] = {0.0, -10.0, 0.0};

    or[0] += fRight[0]*dest_vector[0] + fForward[0]*dest_vector[1] + fUp[0]*dest_vector[2];
    or[1] += fRight[1]*dest_vector[0] + fForward[1]*dest_vector[1] + fUp[1]*dest_vector[2];
    or[2] += fRight[2]*dest_vector[0] + fForward[2]*dest_vector[1] + fUp[2]*dest_vector[2];
   
    TeleportEntity(iEntity, or, NULL_VECTOR, NULL_VECTOR);

    ActivateEntity(iEntity);

    SetVariantString(sBuffer);
    AcceptEntityInput(iEntity, "SetParent", iEntity, iEntity, 0);

    return iEntity;
}

KillParachute(iClient)
{
    if(g_iParachute_Ent[iClient] != NO_PARACHUTE)
    {
        if(IsValidEntity(g_iParachute_Ent[iClient])) AcceptEntityInput(g_iParachute_Ent[iClient], "Kill");
        g_iParachute_Ent[iClient] = NO_PARACHUTE;
    }
}
 
Сверху Снизу