Заказать игровой сервер Контакты (заказать плагин/исправить ошибки/другое) Пожертвовать Поиск

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

  • Страница 1 из 1
  • 1
Дать патрон
Darkeneez Дата: Среда, 02.10.2013, 13:17:15 | Сообщение # 1
Сообщений: 221
Репутация: 18 [ +/- ]
Ребят, помогите пожалуйста дать игроку патрон к пистолету и к дробовику. У меня вообще никак не получается...
 
Scarface_slv Дата: Среда, 02.10.2013, 15:07:31 | Сообщение # 2
Сообщений: 737
Репутация: 61 [ +/- ]
Посмотри про m_iAmmo и m_iClip1. И я вообще не понял что у тебя не получается..
 
Nintoler Дата: Среда, 02.10.2013, 18:38:36 | Сообщение # 3
Сообщений: 15
Репутация: 0 [ +/- ]
Код
stock SetWeaponItem(client, const String:ClassName[], q, w, e)
{
  new ov_MyWeapons = FindSendPropOffs("CBasePlayer", "m_hMyWeapons");
  new ov_offset = FindDataMapOffs(client, "m_iAmmo");
  new index = CreateEntityByName("game_player_equip");
  if (index < 1)return;
  DispatchKeyValue(index,    ClassName, "1");
  DispatchSpawn(index);
  ActivateEntity(index);
  AcceptEntityInput(index, "use", client);
  AcceptEntityInput(index, "kill");
  for(new i = 0, weapon; i < 128; i += 4)
  {
   weapon = GetEntDataEnt2(client, ov_MyWeapons + i);
   decl String:ClassWeapon[32]; ClassWeapon[0] = '\0';
   GetEdictClassname(weapon, ClassWeapon, sizeof(ClassWeapon));
   if (weapon > 0 && strcmp(ClassWeapon, ClassName, false) == 0)
   {
    new m_iClip1 = GetEntProp(weapon, Prop_Data, "m_iClip1");
    new ammotype = GetEntProp(weapon, Prop_Data, "m_iPrimaryAmmoType");
    new ammotype2 = GetEntProp(weapon, Prop_Data, "m_iSecondaryAmmoType");
    new m_iPrimaryAmmoType = GetEntData(client, ov_offset + ammotype * 4, 4);
    new m_iSecondaryAmmoType = GetEntData(client, ov_offset + ammotype2 * 4, 4);
    if (m_iClip1 >= 0)
    {
     // q += m_iClip1;
     SetEntProp(weapon, Prop_Data, "m_iClip1", q);
    }
    if (m_iPrimaryAmmoType >= 0)
    {
     // w += m_iPrimaryAmmoType;
     SetEntData(client, ov_offset + ammotype * 4, w, 4, true);
    }
    if (m_iSecondaryAmmoType >= 0)
    {
     // e += m_iSecondaryAmmoType;
     SetEntData(client, ov_offset + ammotype2 * 4, e, 4, true);
    }
   }
  }
}


q - число патронов в обойме.

w - число патронов в запасной обойме

у - число вторичных патрон (не знаю есть ли в ксс второй вид патронов для оружия)

Пример:
Код

SetWeaponItem(client, "weapon_name", 1, 10, 3);


P.S. Код писал для игры Half Life 2 DM не знаю будет ли точно работать в css, но вроди должен. Тестируй.
 
uJIb9 Дата: Вторник, 08.10.2013, 18:10:39 | Сообщение # 4
Сообщений: 10
Репутация: 0 [ +/- ]
Кто-нибудь может сделать плагин, чтобы при написании команды !ammo в чат, давалась полная обойма в оружие, которое находиться в руках.


Сообщение отредактировал uJIb9 - Вторник, 08.10.2013, 18:11:13
 
  • Страница 1 из 1
  • 1
Поиск: