Gudaus
Пользователь
- Регистрация
- 8 Июн 2017
- Сообщения
- 93
- Симпатии
- 97
- Пол
- Мужской
Автор: Mistrick
Источник: Dev-Cs
Версия: 0.7.0-55
Тестовые версии можете качать на свой страх и риск с GitHub
Описание:
Плагин добавляет на сервер систему скинов для оружия. В CS:GO тема зашла, почему мы не сделать подобное для старушки 1.6? Позволяет каждому игроку выбрать скин. Скин сохраняется в оружии, что позволяет после его дропа и подбора сохранить измененную модель.
Требования:
Настройки:
в конфиге weapon_skins.ini добавляем модели скинов. Не забываем добавленные модели залить на сервер!
Инфа для разработчиков:
Установка:
Источник: Dev-Cs
Версия: 0.7.0-55
Тестовые версии можете качать на свой страх и риск с GitHub
Описание:
Плагин добавляет на сервер систему скинов для оружия. В CS:GO тема зашла, почему мы не сделать подобное для старушки 1.6? Позволяет каждому игроку выбрать скин. Скин сохраняется в оружии, что позволяет после его дропа и подбора сохранить измененную модель.
Требования:
- AmxModX 1.8.2 или выше
PHP:
/skins - вывод меню со скинами.
/skinreset - сброс модели для оружия.
в конфиге weapon_skins.ini добавляем модели скинов. Не забываем добавленные модели залить на сервер!
PHP:
; Syntax: "weapon name" "skin name" "model_v" "model_p" "model_w"
; "weapon_ak47" "AK-47 Skin 1" "models/weapon_skins/v_ak47_1.mdl" "models/weapon_skins/p_ak47_1.mdl" "models/weapon_skins/w_ak47_1.mdl"
#if defined _weapon_skin_system_included
#endinput
#endif
#define _weapon_skin_system_included
#if AMXX_VERSION_NUM >= 175
#pragma reqlib weapon_skin_system
#if !defined AMXMODX_NOAUTOLOAD
#pragma loadlib weapon_skin_system
#endif
#else
#pragma library weapon_skin_system
#endif
enum
{
WEAPON_CAN_PICKUP,
WEAPON_BLOCK_PICKUP
};
/**
* Called when load skins from file.
*
* @param index Skin index
* @param weaponid Skin CSW_ const
* @param name Skin name
*/
forward wss_loaded_skin(index, weaponid, name[]);
/**
* Get weapon skin.
*
* @param weapon Weapon enity index
*/
native wss_get_weapon_skin_index(weapon);
/**
* Get skin name by index.
*
* @param skin_index Skin index
* @param name String for name
* @param len Max string len
*/
native wss_get_skin_name(skin_index, name[], len);
/**
* Change player weapon skin.
* If weaponid is NULL then reset all player skins.
*
* wss_set_user_skin(id, 0) - reset all player's skins
* wss_set_user_skin(id, CSW_AK47) - reset only ak47 skin
*
* @param id Player index
* @param weaponid Weapon CSW_ const
* @param skin_index Skin index from wss_loaded_skin()
*/
native wss_set_user_skin(id, weaponid, skin_index = 0);
/**
* Called when weapon deployed.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_deploy(id, weapon, weaponid, skin);
/**
* Called when weapon holstered.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_holster(id, weapon, weaponid, skin);
/**
* Called when weapon droped.
* Forward should return WEAPON_BLOCK_PICKUP for block pickup
*
* @param id Player index.
* @param weaponbox Weaponbox entity index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_can_pickup(id, weaponbox, weapon, weaponid, skin);
/**
* Called when weapon droped.
*
* @param id Player index.
* @param weaponbox Weaponbox entity index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_drop(id, weaponbox, weapon, weaponid, skin);
#endinput
#endif
#define _weapon_skin_system_included
#if AMXX_VERSION_NUM >= 175
#pragma reqlib weapon_skin_system
#if !defined AMXMODX_NOAUTOLOAD
#pragma loadlib weapon_skin_system
#endif
#else
#pragma library weapon_skin_system
#endif
enum
{
WEAPON_CAN_PICKUP,
WEAPON_BLOCK_PICKUP
};
/**
* Called when load skins from file.
*
* @param index Skin index
* @param weaponid Skin CSW_ const
* @param name Skin name
*/
forward wss_loaded_skin(index, weaponid, name[]);
/**
* Get weapon skin.
*
* @param weapon Weapon enity index
*/
native wss_get_weapon_skin_index(weapon);
/**
* Get skin name by index.
*
* @param skin_index Skin index
* @param name String for name
* @param len Max string len
*/
native wss_get_skin_name(skin_index, name[], len);
/**
* Change player weapon skin.
* If weaponid is NULL then reset all player skins.
*
* wss_set_user_skin(id, 0) - reset all player's skins
* wss_set_user_skin(id, CSW_AK47) - reset only ak47 skin
*
* @param id Player index
* @param weaponid Weapon CSW_ const
* @param skin_index Skin index from wss_loaded_skin()
*/
native wss_set_user_skin(id, weaponid, skin_index = 0);
/**
* Called when weapon deployed.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_deploy(id, weapon, weaponid, skin);
/**
* Called when weapon holstered.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_holster(id, weapon, weaponid, skin);
/**
* Called when weapon droped.
* Forward should return WEAPON_BLOCK_PICKUP for block pickup
*
* @param id Player index.
* @param weaponbox Weaponbox entity index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_can_pickup(id, weaponbox, weapon, weaponid, skin);
/**
* Called when weapon droped.
*
* @param id Player index.
* @param weaponbox Weaponbox entity index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param skin Skin index.
*/
forward wss_weapon_drop(id, weaponbox, weapon, weaponid, skin);
#include <amxmodx>
#include <weapon_skin_system>
#define PLUGIN "Weapon Skins: Addon"
#define VERSION "0.1"
#define AUTHOR "Mistrick"
#pragma semicolon 1
enum SkinInfo
{
SkinIndex,
SkinWeaponid
};
enum Skins
{
SKIN_FRONTSIDE
};
new g_iWeaponSkins[Skins][SkinInfo];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public wss_loaded_skin(index, weaponid, name[])
{
// "AK-47 Frontside" - имя требуемой модели, указанное в weapon_skins.ini
if(equal(name, "AK-47 Frontside"))
{
g_iWeaponSkins[SKIN_FRONTSIDE][SkinIndex] = index;
g_iWeaponSkins[SKIN_FRONTSIDE][SkinWeaponid] = weaponid;
}
}
public client_putinserver(id)
{
if(is_user_steam(id))
{
wss_set_user_skin(id, g_iWeaponSkins[SKIN_FRONTSIDE][SkinWeaponid], g_iWeaponSkins[SKIN_FRONTSIDE][SkinIndex]);
}
}
stock is_user_steam(id)
{
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id); server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}
return false;
}
#include <weapon_skin_system>
#define PLUGIN "Weapon Skins: Addon"
#define VERSION "0.1"
#define AUTHOR "Mistrick"
#pragma semicolon 1
enum SkinInfo
{
SkinIndex,
SkinWeaponid
};
enum Skins
{
SKIN_FRONTSIDE
};
new g_iWeaponSkins[Skins][SkinInfo];
public plugin_init()
{
register_plugin(PLUGIN, VERSION, AUTHOR);
}
public wss_loaded_skin(index, weaponid, name[])
{
// "AK-47 Frontside" - имя требуемой модели, указанное в weapon_skins.ini
if(equal(name, "AK-47 Frontside"))
{
g_iWeaponSkins[SKIN_FRONTSIDE][SkinIndex] = index;
g_iWeaponSkins[SKIN_FRONTSIDE][SkinWeaponid] = weaponid;
}
}
public client_putinserver(id)
{
if(is_user_steam(id))
{
wss_set_user_skin(id, g_iWeaponSkins[SKIN_FRONTSIDE][SkinWeaponid], g_iWeaponSkins[SKIN_FRONTSIDE][SkinIndex]);
}
}
stock is_user_steam(id)
{
static dp_pointer;
if(dp_pointer || (dp_pointer = get_cvar_pointer("dp_r_id_provider")))
{
server_cmd("dp_clientinfo %d", id); server_exec();
return (get_pcvar_num(dp_pointer) == 2) ? true : false;
}
return false;
}
Установка:
- Скачать архив, распаковать
- Найти в интернете модели под свои виды оружия, залить на сервер
- Прописать замену стандартных скинов в конфиге
- Скомпилировать плагин, залить на сервер, прописать в списке плагинов
Вложения
-
6 KB Просмотры: 145
Последнее редактирование модератором: