• Страница 1 из 1
  • 1
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Вместо (knife) сделать > (awp)
Вместо (knife) сделать > (awp)
Дата: Среда, 03.10.2018, 13:09 | Сообщение # 1
Мастер
Offline
  • M0Nk
  • Репутация: 6
  • Сообщений:126
  • Постоянный
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Hey ребят памогите сделать вместо KNIFE > (AWP)  и добавить ещё чтобы ( _w  ) модель читало smile


Код
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Prize Knife"
#define VERSION "0.1"
#define AUTHOR "Safety1st"

/*---------------EDIT ME------------------*/
#define ACCESS_FLAG     ADMIN_LEVEL_H   // flag 't' by default
#define CUSTOM_DMG      2.0             // custom knife damage; fractional part of a number is mandatory

new const gszKnifeModelV[] = "models/v_knife.mdl"   // 1st person view model
new const gszKnifeModelP[] = "models/p_knife.mdl"   // 3rd person view model
/*----------------------------------------*/

new giszKnifeModelV, giszKnifeModelP

// macro; %1 - variable being modified, %2 - player id
#define CheckFlag(%1,%2)  (%1 &   (1 << (%2 & 31)))
#define SetFlag(%1,%2)    (%1 |=  (1 << (%2 & 31)))
#define ClearFlag(%1,%2)  (%1 &= ~(1 << (%2 & 31)))
new gbCustomKnfDamage

#define IsPlayer(%0)   ( 1 <= (%0) <= giMaxPlayers )

new giMaxPlayers

public plugin_init() {
   register_plugin( PLUGIN, VERSION, AUTHOR )

   RegisterHam( Ham_Item_Deploy, "weapon_knife" , "Fwd_ItemDeploy_Knife_Post", .Post = 1 )
   RegisterHam( Ham_TakeDamage, "player", "Fwd_TakeDamage" )

   giszKnifeModelV = engfunc( EngFunc_AllocString, gszKnifeModelV )
   giszKnifeModelP = engfunc( EngFunc_AllocString, gszKnifeModelP )

   giMaxPlayers = get_maxplayers()
}

public plugin_precache() {
   precache_model( gszKnifeModelV )
   precache_model( gszKnifeModelP )
}

public client_putinserver(id) {
   get_user_flags(id) & ACCESS_FLAG ? SetFlag( gbCustomKnfDamage, id ) : ClearFlag( gbCustomKnfDamage, id )
}

public Fwd_ItemDeploy_Knife_Post( ent ) {
   const XO_WEAPON  = 4   // 'XO' means extraoffset
   const m_pPlayer  = 41

   new iPlayer = get_pdata_cbase( ent, m_pPlayer, XO_WEAPON )

   if( CheckFlag( gbCustomKnfDamage, iPlayer ) ) {
      set_pev_string( iPlayer, pev_viewmodel2, giszKnifeModelV )
      set_pev_string( iPlayer, pev_weaponmodel2, giszKnifeModelP )
   }
}

public Fwd_TakeDamage( victim, inflictor, attacker, Float:damage, damagebits ) {
   if( IsPlayer(attacker) && attacker == inflictor /* it is mandatory be4 checking current weapon (it could not be the same as one inflicting damage now) */
      && CheckFlag( gbCustomKnfDamage, attacker ) && get_user_weapon(attacker) == CSW_KNIFE ) {
      SetHamParamFloat( 4, damage * CUSTOM_DMG )
      return HAM_HANDLED
   }

   return HAM_IGNORED
}
Сообщение отредактировал M0Nk - Среда, 03.10.2018, 13:09
Дата: Среда, 03.10.2018, 14:56 | Сообщение # 2
Любитель
Offline
  • 4tawer
  • Репутация: 4
  • Сообщений:25
  • Опытный Скриптер
---> Раздел "Куплю"
Дата: Среда, 03.10.2018, 18:18 | Сообщение # 3
Его святейшество :)
Знаток
Offline
  • Deadly_Darkness
  • Репутация: 90
  • Сообщений:84
  • Опытный Скриптер
  • Статус пользователя Пишу плагины на заказ. Сразу отвечаю — берусь ли за задачу или нет. Писать в ЛС
Сменить ID оружия с CSW_KNIFE на CSW_AWP, в Ham_Item_Deploy weapon_knife на weapon_awp. А по поводу w_ модели смотри ссылку!
Дата: Среда, 03.10.2018, 18:23 | Сообщение # 4
Мастер
Offline
  • M0Nk
  • Репутация: 6
  • Сообщений:126
  • Постоянный
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
А патроны для авп добавить как ?

Добавлено (03.10.2018, 18:31)
---------------------------------------------
И что тут добавить для "_w" модели
set_pev_string( iPlayer, pev_viewmodel2, giszKnifeModelV )
set_pev_string( iPlayer, pev_weaponmodel2, giszKnifeModelP )

set_pev_string( iPlayer, pev_weaponmodel2, giszAwpModelW ) ??

Добавлено (03.10.2018, 18:51)
---------------------------------------------
Вроде сделал вместо Knife > (AWP) но как добавить ( _w ) модель не понял sad



Код
#include <amxmodx>
#include <engine>
#include <fakemeta>
#include <hamsandwich>

#define PLUGIN "Prize Awp"
#define VERSION "0.1"
#define AUTHOR "Safety1st"

/*---------------EDIT ME------------------*/
#define ACCESS_FLAG     ADMIN_LEVEL_H   // flag 't' by default
#define CUSTOM_DMG      2.0             // custom Awp damage; fractional part of a number is mandatory

new const gszAwpModelV[] = "models/v_Awp.mdl"   // 1st person view model
new const gszAwpModelP[] = "models/p_Awp.mdl"   // 3rd person view model
/*----------------------------------------*/

new giszAwpModelV, giszAwpModelP

// macro; %1 - variable being modified, %2 - player id
#define CheckFlag(%1,%2)  (%1 &   (1 << (%2 & 31)))
#define SetFlag(%1,%2)    (%1 |=  (1 << (%2 & 31)))
#define ClearFlag(%1,%2)  (%1 &= ~(1 << (%2 & 31)))
new gbCustomAwpDamage

#define IsPlayer(%0)   ( 1 <= (%0) <= giMaxPlayers )

new giMaxPlayers

public plugin_init() {
   register_plugin( PLUGIN, VERSION, AUTHOR )

   RegisterHam( Ham_Item_Deploy, "weapon_Awp" , "Fwd_ItemDeploy_Awp_Post", .Post = 1 )
   RegisterHam( Ham_TakeDamage, "player", "Fwd_TakeDamage" )

   giszAwpModelV = engfunc( EngFunc_AllocString, gszAwpModelV )
   giszAwpModelP = engfunc( EngFunc_AllocString, gszAwpModelP )

   giMaxPlayers = get_maxplayers()
}

public plugin_precache() {
   precache_model( gszAwpModelV )
   precache_model( gszAwpModelP )
}

public client_putinserver(id) {
   get_user_flags(id) & ACCESS_FLAG ? SetFlag( gbCustomAwpDamage, id ) : ClearFlag( gbCustomAwpDamage, id )
}

public Fwd_ItemDeploy_Awp_Post( ent ) {
   const XO_WEAPON  = 4   // 'XO' means extraoffset
   const m_pPlayer  = 41

   new iPlayer = get_pdata_cbase( ent, m_pPlayer, XO_WEAPON )

   if( CheckFlag( gbCustomAwpDamage, iPlayer ) ) {
      set_pev_string( iPlayer, pev_viewmodel2, giszAwpModelV )
      set_pev_string( iPlayer, pev_weaponmodel2, giszAwpModelP )
   }
}

public Fwd_TakeDamage( victim, inflictor, attacker, Float:damage, damagebits ) {
   if( IsPlayer(attacker) && attacker == inflictor /* it is mandatory be4 checking current weapon (it could not be the same as one inflicting damage now) */
      && CheckFlag( gbCustomAwpDamage, attacker ) && get_user_weapon(attacker) == CSW_Awp ) {
      SetHamParamFloat( 4, damage * CUSTOM_DMG )
      return HAM_HANDLED
   }

   return HAM_IGNORED
}
Дата: Среда, 03.10.2018, 20:14 | Сообщение # 5
Легенда сайта
Эксперт
Offline
  • Maxee
  • Репутация: 68
  • Сообщений:445
  • Главный редактор
  • Статус пользователя Запомните, всегда по жизни вас будут красить вежливость и спокойствие, а не наезды и дешевые понты [img]/sml/170.gif[/img]
Цитата M0Nk ()
set_pev_string( iPlayer, pev_weaponmodel2, giszAwpModelW ) ?

Методом тыка как сейчас Вы написали не работает?)
Дата: Среда, 03.10.2018, 20:22 | Сообщение # 6
Мастер
Offline
  • M0Nk
  • Репутация: 6
  • Сообщений:126
  • Постоянный
  • Статус пользователя Я конечно извиняюсь но , может вы извинитесь м?
Я не добавил ещё _w модель так как не понял как это сделать а  вместо Knife вписал везде Awp Вот ошибка при компиляции
Прикрепления: 3115920.png(26.2 Kb)
Форум » Counter-Strike 1.6 » Сервер Counter-Strike 1.6 » Помощь по скриптингу » Вместо (knife) сделать > (awp)
  • Страница 1 из 1
  • 1
Поиск:
(threadpage)