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

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

  • Страница 2 из 2
  • «
  • 1
  • 2
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Броня игрока (Убрать броню)
Броня игрока
TEIN Дата: Воскресенье, 28.07.2013, 11:57:53 | Сообщение # 16
Сообщений: 568
Репутация: 78 [ +/- ]
в корне неправильно
 
Scarface_slv Дата: Воскресенье, 28.07.2013, 13:00:05 | Сообщение # 17
Сообщений: 738
Репутация: 61 [ +/- ]
Как пример, отнимаем по -5 брони при выстреле в игрока.
Я вправду не уверен что он именно это хотел сделать, но пофигу)

Прикрепления: dmg_armor.sp(0.7 Kb)
 
ThRunningMan Дата: Воскресенье, 28.07.2013, 14:21:13 | Сообщение # 18
Сообщений: 140
Репутация: 12 [ +/- ]
Цитата (TEIN)
в корне неправильно

а ну да, это тебе с выше пришло?)))
знатоки...
Зат черезе плаер херт верно ну да конечно, что пу сути одно и тоже...
Я с броней такие же манипуляции делал только я делал для зомби мода и там это работало в функции заражения игрока, пока броня не кончится игркоа нельзя зарозить, н ос каждым ударом броня уменьшалось, и что то все работало удивительно, навреное это чудо какое-то...


Сообщение отредактировал ThRunningMan - Воскресенье, 28.07.2013, 14:22:41
 
Scarface_slv Дата: Воскресенье, 28.07.2013, 14:25:20 | Сообщение # 19
Сообщений: 738
Репутация: 61 [ +/- ]
Цитата (ThRunningMan)
знатоки...

Я тебе что то говорил?
 
panorama Дата: Воскресенье, 28.07.2013, 16:17:20 | Сообщение # 20
Сообщений: 206
Репутация: 2 [ +/- ]
Цитата (ThRunningMan)
public OnClientPutInServer(client)
{
SDKHook(client, SDKHook_OnTakeDamage, OnTakeDamage);
}

public Action:OnTakeDamage(client, &attacker, &inflictor, &Float:damage, &damagetype)
{
new iArmor = GetEntData(client, FindDataMapOffs(client, "m_ArmorValue"), 4); //это собственно получаем сколько у клиента брони по которому стреляют или тот который получает дамаг
new iArmor_dmg = GetRandomInt(20,25); //это задает сколько отнмать брони когда получает дамаг, уже сам настроишь фильтры дамага, ножи там оружие падение и т.д.
new iArmor_raz; // это для получения будующей разницы между нанесенным дамагом броне и тем что имеется
if(iArmor > 0)
{
if(iArmor_dmg <=  iArmor)
{
iArmor_raz = iArmor - iArmor_dmg; //собственно отнимаем установленное количество брони и записываем в перменную
SetEntData(client, FindDataMapOffs(client, "m_ArmorValue"), iArmor_raz, 4, true); // отправляем данные игроку
damage = 0; // меняем дамаг который должен был быть нанесен игроку п окоторому стреляем и отправляем
return Plugin_Change;
}else
{
SetEntData(client, FindDataMapOffs(client, "m_ArmorValue"), 0, 4, true); // это сработает если у игрока брони меньше чем мы хоти у него отнять, тогда установится минимальный порог брони т.е. 0
damage = 0; // и тут также не разрешаем дамажить по хп
return Plugin_Change;
}
}else
return Plugin_Continue; // это сработает когда не выполнится условие что у игркоа етсь броня в нашем случае не нулевая, тогда все повреждения будут засчитываться
}


Всем большое спасибо !!!
Все получилось ! klas


Сообщение отредактировал panorama - Воскресенье, 28.07.2013, 16:18:41
 
Форум » SourceMod >> CS:Source >> CSGO » Обсуждение » Броня игрока (Убрать броню)
  • Страница 2 из 2
  • «
  • 1
  • 2
Поиск: