Отталкивание игроков гравипушкой

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

  1. iamdss

    iamdss

    Сообщения:
    117
    Симпатии:
    0
    Всем привет, снова я с моими вопросами. Теперь моя задача такова. Необходимо сделать так, чтобы игроки могли толкать других игроков гравиганом, как будто это не игроки, а предметы. Кто не в курсе, напомню, что речь о HL2DM. Подскажите, в каком направлении мне искать. Спасибо.
     
  2. AlmazON

    AlmazON деревянный © yand3xmail

    Сообщения:
    4.540
    Симпатии:
    1.984
    Тут наверно проще: через GetClientAimTarget или подобное (trace) наводим на предмет и, если ловит индекс игрока (при выстреле) - значит, толкаем его velosity (TeleportEntity(iClient, const Float:origin[3], const Float:angles[3], const Float:velocity[3])).
     
  3. gibs

    gibs Фитиль народного волненья

    Сообщения:
    538
    Симпатии:
    137
    В сдк хукс есть SDKHook_TraceAttack или аутпуты. Как делать кнокбек уже не однократно описывалось на ам
     
  4. SourceGod

    SourceGod

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

    public OnPluginStart()  

       
    HookEvent("weapon_fire"Fire); //Ловим событие


    public 
    Action:Fire(Handle:event, const String:name[], bool:dontBroadcast

       new 
    client GetClientOfUserId(GetEventInt(event"userid")); 
       if (
    client && IsClientInGame(client)) 
       { 
         
    decl String:stuff[30]; 
      
    GetEventString(event"weapon"stuff30); 
      if (
    StrEqstuff"awp"))  Pussh(client); 
       } 


    Pussh(client)  
    {  
    decl Float:EyeAngles[3];  
    GetClientEyeAngles(clientEyeAngles);  

    decl Float:Push[3];  
    Push[0] = (FloatMul(50.0Cosine(DegToRad(EyeAngles[1]))));  
    Push[1] = (FloatMul(50.0Sine(DegToRad(EyeAngles[1]))));  
    Push[2] = (FloatMul(50.0Sine(DegToRad(EyeAngles[0]))));  
    ScaleVector(Push, -20.0); //20.0 Сила отталкивания

    TeleportEntity(clientNULL_VECTORNULL_VECTORPush);  
    }
     
  5. gibs

    gibs Фитиль народного волненья

    Сообщения:
    538
    Симпатии:
    137
    Оффтоп
     
  6. iamdss

    iamdss

    Сообщения:
    117
    Симпатии:
    0
    Всем спасибо за советы.


    Это как раз первое, что и пришло в голову.

    Посмотрю. С отбрасыванием проблем нет, код готов. Меня просто интересовали все возможные варианты.

    SourceGod, спасибо за код, правда, вряд ли у меня найдётся weapon_fire. Попробую все варианты.
     
  7. SourceGod

    SourceGod

    Сообщения:
    47
    Симпатии:
    0
    gibs, Шо не так? Я ему кинул идею. Код от хвостера

    Добавлено через 3 минуты
    iamdss, weapon fire
    Це все зброї. А в самому коді є
    Назва цієї зброї там написано, weapon_awp міняй її на свою

    Добавлено через 4 минуты
    Блин привычка
    Weapon fire Это все оружия. А в самом коде есть
    Название этого оружия там написано, weapon_awp меняй ее на свою
     
    Последнее редактирование: 10 авг 2015
  8. iamdss

    iamdss

    Сообщения:
    117
    Симпатии:
    0
    Ещё раз спасибо.