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

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

  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Увеличение частей тела
Увеличение частей тела
хвостег Дата: Четверг, 31.07.2014, 02:24:35 | Сообщение # 16
Сообщений: 161
Репутация: 53 [ +/- ]
Не понимаю о чем ты говоришь.
m_flModelScale это и есть Property name.
 
horr0r Дата: Четверг, 31.07.2014, 03:28:36 | Сообщение # 17
Сообщений: 149
Репутация: 40 [ +/- ]
хвостег, ну, точнее не проперти, а класс).
Код
FindSendPropOffs(const String:cls[], const String:prop[])

Или этот оффсет можно использовать без поиска? Т.е. SetEntProp?
 
хвостег Дата: Четверг, 31.07.2014, 11:40:25 | Сообщение # 18
Сообщений: 161
Репутация: 53 [ +/- ]
Код

SetEntPropFloat(client, Prop_Send, "m_flModelScale", 2.0);
 
Darkeneez Дата: Четверг, 31.07.2014, 20:33:25 | Сообщение # 19
Сообщений: 221
Репутация: 18 [ +/- ]
Цитата horr0r ()
Странно. Реально есть такое). Анализируя данный плагин, я понял, что за эти параметры отвечают два оффсета:
1) m_flModelScale - изменяет размер всей модели.
2) m_flHeadScale - изменяет размер головы.
Однако, в списке всех оффсетов я их не нашел. (http://www.bailopan.net/table_dump.txt)
Проверил, в css он не работает. То есть, плагин выдает ошибку, что оффсет не найден.
Поэтому его нужно будет найти. Это крайне сложно сделать, потому-что мы не знаем его "property" :(.

Работает. Писал плагин наркотиков на джайл, один из них назывался "Растишка", он уменьшал и увеличивал модельку.

Добавлено (31.07.2014, 20:33:25)
---------------------------------------------

Код
public ResizePlayer(client)
{
  new random = GetRandomInt(1, 4);
  if (random == 1)
  {
   SetEntPropFloat(client, PropType:0, "m_flModelScale", 0.9, 0);
  }
  if (random == 2)
  {
   SetEntPropFloat(client, PropType:0, "m_flModelScale", 0.95, 0);
  }
  if (random == 3)
  {
   SetEntPropFloat(client, PropType:0, "m_flModelScale", 1.1, 0);
  }
  if (random == 4)
  {
   SetEntPropFloat(client, PropType:0, "m_flModelScale", 1.05, 0);
  }
  return 0;
}


Исходников нет, только плагин остался, разбирайте
 
dases2003 Дата: Пятница, 01.08.2014, 07:10:40 | Сообщение # 20
Сообщений: 107
Репутация: 1 [ +/- ]
Плагин не твой...
https://alliedmods.net/showthread.php?t=193255
 
Darkeneez Дата: Пятница, 01.08.2014, 07:26:32 | Сообщение # 21
Сообщений: 221
Репутация: 18 [ +/- ]
Цитата dases2003 ()
Плагин не твой...
https://alliedmods.net/showthread.php?t=193255


Функция в плагине

Код
stock bool:ResizePlayer(const client, const String:szScale[] = "0.0", const bool:bLog = false, const iOrigin = -1, const String:szTime[] = "0.0", const bool:bCheckStuck = false)
{
  new Float:fScale = StringToFloat(szScale), Float:fTime = StringToFloat(szTime);
  decl String:szOriginalScale[16];
  strcopy(szOriginalScale, sizeof(szOriginalScale), g_szClientCurrentScale[client]);
   
  if (fScale == 0.0)
  {
   if (g_fClientCurrentScale[client] != g_fClientLastScale[client])
   {
    SetEntPropFloat(client, Prop_Send, "m_flModelScale", g_fClientLastScale[client]);
    //SetEntPropFloat(client, Prop_Send, "m_flStepSize", 18.0 * g_fClientLastScale[client]);
    g_fClientCurrentScale[client] = g_fClientLastScale[client];
    strcopy(g_szClientCurrentScale[client], sizeof(g_szClientCurrentScale[]), g_szClientLastScale[client]);
   }
   else
   {
    SetEntPropFloat(client, Prop_Send, "m_flModelScale", 1.0);
    //SetEntPropFloat(client, Prop_Send, "m_flStepSize", 18.0);
    g_fClientCurrentScale[client] = 1.0;
    strcopy(g_szClientCurrentScale[client], sizeof(g_szClientCurrentScale[]), "1.0");
   }
  }
  else
  {
   SetEntPropFloat(client, Prop_Send, "m_flModelScale", fScale);
   //SetEntPropFloat(client, Prop_Send, "m_flStepSize", 18.0 * fScale);
   g_fClientCurrentScale[client] = fScale;
   strcopy(g_szClientCurrentScale[client], sizeof(g_szClientCurrentScale[]), szScale);
  }
   
  if (g_bHitboxAvailable)
  {
   UpdatePlayerHitbox(client);
  }
   
  if (bCheckStuck && IsPlayerAlive(client) && IsPlayerStuck(client))
  {
   ResizePlayer(client, szOriginalScale);
   return false;
  }
   
  if (fScale != 1.0 && fScale != 0.0)
  {
   g_fClientLastScale[client] = fScale;
   strcopy(g_szClientLastScale[client], sizeof(g_szClientLastScale[]), szScale);
  }
   
  if (fTime > 0.0)
  {
   g_hClientResizeTimers[client] = CreateTimer(fTime, ResizeTimer, GetClientUserId(client));
  }
   
  if (bLog)
  {
   if (iOrigin > -1)
   {
    if (fTime > 0.0)
    {
     LogAction(iOrigin, client, "\"%L\" resized \"%L\" to %s for %s seconds.", iOrigin, client, g_szClientCurrentScale[client], szTime);     
    }
    else
    {
     LogAction(iOrigin, client, "\"%L\" resized \"%L\" to %s.", iOrigin, client, g_szClientCurrentScale[client]);
    }
   }
   else
   {
    LogAction(0, client, "\"%L\" was resized to %s.", client, g_szClientCurrentScale[client]);
   }
  }
  return true;
}


Моя

Код
public ResizePlayer(client)  
{  
   new random = GetRandomInt(1, 4);  
   if (random == 1)  
   {  
    SetEntPropFloat(client, PropType:0, "m_flModelScale", 0.9, 0);  
   }  
   if (random == 2)  
   {  
    SetEntPropFloat(client, PropType:0, "m_flModelScale", 0.95, 0);  
   }  
   if (random == 3)  
   {  
    SetEntPropFloat(client, PropType:0, "m_flModelScale", 1.1, 0);  
   }  
   if (random == 4)  
   {  
    SetEntPropFloat(client, PropType:0, "m_flModelScale", 1.05, 0);  
   }  
   return 0;  
}


Я наверное лучше знаю, что я лично своими руками писал. Гуляй
 
horr0r Дата: Пятница, 01.08.2014, 13:32:42 | Сообщение # 22
Сообщений: 149
Репутация: 40 [ +/- ]
Darkeneez, зачем так все сложно???
Куча проверок ненужных.
Код

stock ResizePlayer(client) return SetEntPropFloat(client, Prop_Send, "m_flModelScale", float(GetRandomInt(90, 115))/100.0, 0);

Вот и вся функция.
//
Жееесть :)

Прикрепления: 0346280.jpg(219.6 Kb)


Сообщение отредактировал horr0r - Пятница, 01.08.2014, 13:47:45
 
Darkeneez Дата: Пятница, 01.08.2014, 15:23:13 | Сообщение # 23
Сообщений: 221
Репутация: 18 [ +/- ]
Цитата horr0r ()
Darkeneez, зачем так все сложно???
Куча проверок ненужных.
Код

stock ResizePlayer(client) return SetEntPropFloat(client, Prop_Send, "m_flModelScale", float(GetRandomInt(90, 115))/100.0, 0);

Вот и вся функция.
//
Жееесть :)

Молодой был, глупый, один из первых плагинов))
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Увеличение частей тела
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: