Контакты Поиск

[ вход ]
[ последние сообщения ]

  • Страница 1 из 1
  • 1
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Трейлы для WS (Не простая проблема. Многим не по силам...)
Трейлы для WS
Naykon Дата: Пятница, 16.11.2012, 00:34:53 | Сообщение # 1
Сообщений: 439
Репутация: -4 [ +/- ]
У меня возник очень интересный вопрос... ответ на него я скал довольно долго на alliedmods.нет но к сожалению ничего не нашел...
WS вся надежда на вас! С помощью TE_SetupBeamFollow разобрав ваш плагин "Луч за гранатой" я заменил стандартный луч на свой .vtf рисунок... После запуска рисунок отобразился но не корректно, он вращается вокруг своей оси.. а мне нужно чтоб картинка .vtf следовала четко за гранатой и не вращалась (чтоб можно было смотреть на картинку с боку). Если я не ошибаюсь плагин NotD Store корректно все отображает но я хочу понять как он работает.. исходника нету поэтому сам разобраться не могу( За ранее благодарен.
 
Beelzebub Дата: Пятница, 16.11.2012, 09:54:28 | Сообщение # 2
Сообщений: 202
Репутация: 13 [ +/- ]
Code
#pragma semicolon 1
   
#include <sourcemod>
#include <sdktools>
   
new Handle:he_trail,
         LaserIndex,
         bool:need_set_model = true,
         String:he_model[75] = "models/props/cs_italy/bananna.mdl";
   
public OnPluginStart()
{
         HookConVarChange(CreateConVar("he_model", "models/props/cs_italy/bananna.mdl"), cvar_he_model);
         he_trail = CreateConVar("he_trail", "1");
         HookEvent("weapon_fire", weapon_fire);
         CreateConVar("HeGrenade_Projectile", "0.1", "", FCVAR_NOTIFY);
}
   
public OnMapStart()
{
         LaserIndex = PrecacheModel("materials/sprites/laser.vmt", true);
         if (need_set_model) PrecacheModel(he_model, true);
}
   
public cvar_he_model(Handle:var, const String:old[], const String:NewValue[])
{
         if (StrContains(NewValue, "models") == 0 && StrContains(NewValue, ".mdl") != -1)
         {
                 strcopy(he_model, 75, NewValue);
                 ReplaceString(he_model, 75, "\\", "/");
                 PrecacheModel(he_model, true);
                 need_set_model = true;
         }
         else need_set_model = false;
}
   
public weapon_fire(Handle:event, const String:name[], bool:dontBroadcast)
{
         decl String:item[11];
         GetEventString(event, "weapon", item, 11);
         if (StrEqual(item, "hegrenade")) CreateTimer(0.1, ChangeHeModel);
}
   
public Action:ChangeHeModel(Handle:timer)
{
         new index = FindEntityByClassname(-1, "hegrenade_projectile");
         if (index < 1) return;
         if (need_set_model) SetEntityModel(index, he_model);
         if (GetConVarInt(he_trail) == 1)
         {
                 decl color[4];
                 color[1] = 0;
                 color[3] = 255;
                 if (GetEntProp(index, Prop_Data, "m_iTeamNum") == 2)
                 {
                         color[0] = 255;
                         color[2] = 0;
                 }
                 else
                 {
                         color[0] = 0;
                         color[2] = 255;
                 }
                 TE_SetupBeamFollow(index, LaserIndex, LaserIndex, 3.0, 9.0, 4.0, 0, color);
                 TE_SendToAll();
         }
}


не?
 
Naykon Дата: Пятница, 16.11.2012, 11:59:10 | Сообщение # 3
Сообщений: 439
Репутация: -4 [ +/- ]
Да этот плагин я брал за основу и заменил laser.vmt на свое изображение... но оно отображается не коректно.... как я писал в 1 посте.
 
Beelzebub Дата: Пятница, 16.11.2012, 13:29:11 | Сообщение # 4
Сообщений: 202
Репутация: 13 [ +/- ]
Naykon, попробую что ни будь сделать :)

Добавлено (16.11.2012, 13:25:58)
---------------------------------------------
Naykon, дай свой код гранаты полностью. и трейл который вставляешь.

Добавлено (16.11.2012, 13:29:11)
---------------------------------------------

Code
#include <sourcemod>
#include <sdktools>
#include <sdkhooks>

#pragma semicolon 1

#define FragColor  {225,0,0,225}
#define FlashColor  {225,225,225,225}
#define SmokeColor    {0,225,0,225}

new BeamSprite;
new Handle:GTrailsEnabled;
   
public OnMapStart()  
{  
  BeamSprite = PrecacheModel("materials/sprites/crystal_beam1.vmt");
}
public OnPluginStart()
{
  CreateConVar("gt_version", "1.0", "Grenade Trails", FCVAR_PLUGIN|FCVAR_SPONLY|FCVAR_REPLICATED|FCVAR_NOTIFY);
   
  GTrailsEnabled = CreateConVar("gt_enables",  "1",   "Enables/Disables Grenade Trails");  
}
public OnEntityCreated(Entity, const String:Classname[])
{
  if(GetConVarInt(GTrailsEnabled) == 1)
  {
   for(new client=1;client<=MaxClients;client++)
   {  
    if(IsValidClient(client))
     {
      if(strcmp(Classname, "hegrenade_projectile") == 0)
      {
       TE_SetupBeamFollow(Entity, BeamSprite,    0, Float:1.0, Float:10.0, Float:10.0, 5, FragColor);
       TE_SendToAll();
      }
      else if(strcmp(Classname, "flashbang_projectile") == 0)
      {
       TE_SetupBeamFollow(Entity, BeamSprite,    0, Float:1.0, Float:10.0, Float:10.0, 5, FlashColor);
       TE_SendToAll();
      }
      else if(strcmp(Classname, "smokegrenade_projectile") == 0)
      {
       TE_SetupBeamFollow(Entity, BeamSprite,    0, Float:1.0, Float:10.0, Float:10.0, 5, SmokeColor);
       TE_SendToAll();
      }
     }
    }
   }
  }

public IsValidClient( client )  
{  
     if ( !( 1 <= client <= MaxClients ) || !IsClientInGame(client) )  
         return false;  
       
     return true;  
}
 
Naykon Дата: Пятница, 16.11.2012, 14:08:39 | Сообщение # 5
Сообщений: 439
Репутация: -4 [ +/- ]
((


Сообщение отредактировал Naykon - Пятница, 16.11.2012, 15:30:52
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Трейлы для WS (Не простая проблема. Многим не по силам...)
  • Страница 1 из 1
  • 1
Поиск: