Шапка. SetVariantString

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

  1. Alnet

    Alnet

    Сообщения:
    39
    Симпатии:
    0
    Здравствуйте, написал свой плагин шапок, но столкнулся с той-же проблемой что и все скриптеры которые пытались сделать шапки для CSGO.

    Выяснилось что не все модели имеют forward - голову... (что странно т.к она есть и в ее можно убить игрока с этой моделью) - Сразу прошу читателя поправить меня если я сделал не верное утверждение.

    Пытаюсь привязать шапку SetVariantString("forward"); к ГОЛОВЕ - ниче не выходит (мое предположение по этому поводу выше)

    Можно попробовать SetVariantString("primary"); к СПИНЕ - тут как не кручу-верчу не могу подобрать нужные Ang и Pos чтоб посадить ее на голову.. Да и когда почти подобрал - шапка в один момент сама почему-то разворачивается не так как надо и не становится в исходное положение(

    Можно оставить шапку в ногах и поднять ее на голову, но при этом она будет спадать при прыжке или присесте..

    Я буду еще ковыряться и искать самое оптимальное решение этой задачи, но хотел бы поинтересоваться у вас, может быть вы уже нашли решение? Если да - то поделитесь пожалуйста и заодно объясните почему вы выбрали этот вариант.
     
  2. Primo

    Primo Где мои манеры

    Сообщения:
    1.192
    Симпатии:
    310
    PHP:
            decl Float:m_fHatOrigin[3];
            
    decl Float:m_fHatAngles[3];
            
    decl Float:m_fForward[3];
            
    decl Float:m_fRight[3];
            
    decl Float:m_fUp[3];
            
    GetClientAbsOrigin(client,m_fHatOrigin);
            
    GetClientAbsAngles(client,m_fHatAngles);
          
            
    m_fHatAngles[0] += 0.0;
            
    m_fHatAngles[1] += 70.0;
            
    m_fHatAngles[2] += 0.0;
          
            new 
    Float:m_fOffset[3];
            
    m_fOffset[0] = 0.0;
            
    m_fOffset[1] = 0.0;
            
    m_fOffset[2] = 0.0;
          
            
    GetAngleVectors(m_fHatAnglesm_fForwardm_fRightm_fUp);
          
            
    m_fHatOrigin[0] += m_fRight[0]*m_fOffset[0]+m_fForward[0]*m_fOffset[1]+m_fUp[0]*m_fOffset[2];
            
    m_fHatOrigin[1] += m_fRight[1]*m_fOffset[0]+m_fForward[1]*m_fOffset[1]+m_fUp[1]*m_fOffset[2];
            
    m_fHatOrigin[2] += m_fRight[2]*m_fOffset[0]+m_fForward[2]*m_fOffset[1]+m_fUp[2]*m_fOffset[2];
          

            new 
    m_iEnt CreateEntityByName("prop_dynamic_override");
            
    DispatchKeyValue(m_iEnt"model"model);
            
    DispatchKeyValue(m_iEnt"spawnflags""256");
            
    DispatchKeyValue(m_iEnt"solid""0");
            
    SetEntPropEnt(m_iEntProp_Send"m_hOwnerEntity"client);
          
            
    DispatchSpawn(m_iEnt);  
            
    AcceptEntityInput(m_iEnt"TurnOn"m_iEntm_iEnt0);

            
    TeleportEntity(m_iEntm_fHatOriginm_fHatAnglesNULL_VECTOR);
              
            
    SetVariantString("!activator");
            
    AcceptEntityInput(m_iEnt"SetParent"clientm_iEnt0);
              
            
    SetVariantString("facemask");
            
    AcceptEntityInput(m_iEnt"SetParentAttachmentMaintainOffset"m_iEntm_iEnt0);

    Потому что так работает.