Weapon Skin System
Автор: Mistrick
Версия: 0.5.0 от 20.12.2016 г.
Описание: Позволяет каждому игроку выбрать скин для оружия.
Скин сохраняется в оружии, что позволяет после его дропа и подбора сохранить измененную модель.
После выбора скина в меню, он заменит текущий, если у вас есть данное оружие.
Команды:
/skins - вывод меню со скинами.
/skinreset - сброс модели для оружия.
Пример конфига:
- Код: Выделить всё
; 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"
API для разработчиков:
weapon_models_api.inc
weapon_skin_system.inc
- Код: Выделить всё
enum
{
ADD_BY_WEAPONBOX,
ADD_BY_ARMORY_ENTITY,
ADD_BY_BUYZONE
}
/**
* Called when weapon deployed.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
*/
forward cs_weapon_deploy(id, weapon, weaponid);
/**
* Called when weapon holstered.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
*/
forward cs_weapon_holster(id, weapon, weaponid);
/**
* Called when weapon droped.
* Forward should return 1 if weaponbox model changed
*
* @param id Player index.
* @param weaponbox Weaponbox entity index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
*/
forward cs_weapon_drop(id, weaponbox, weapon, weaponid);
/**
* Called when weapon added to player.
*
* @param id Player index.
* @param weapon Weapon entity index.
* @param weaponid CSW_ const.
* @param type Add type.
*/
forward cs_weapon_add_to_player(id, weapon, weaponid, type);
weapon_skin_system.inc
- Код: Выделить всё
/**
* 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 Skin index
* @param name String for name
* @param len Max string len
*/
native wss_get_skin_name(skin, name[], len);
/**
* Change player weapon skin.
* If weaponid is NULL then reset all player skins.
*
* @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);
- Код: Выделить всё
#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[])
{
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;
}
Последние изменения: Вы должны зарегистрироваться, чтобы видеть ссылки.
v0.5
- Добавлен форвард cs_weapon_holster()
- Добавлен натив wss_get_skin_name()
v0.4
- Добавлен API для Weapon Skin System
- Добавлена поддержка выставления модели для брошенных гранат
v0.3
- Изменен API(новый параметр у forward cs_weapon_add_to_player(id, weapon, weaponid, type)).
- Теперь не плодит модели при подборе.
- Добавлен сброс модели.
v0.2
- Начальный релиз.
- Добавлен форвард cs_weapon_holster()
- Добавлен натив wss_get_skin_name()
v0.4
- Добавлен API для Weapon Skin System
- Добавлена поддержка выставления модели для брошенных гранат
v0.3
- Изменен API(новый параметр у forward cs_weapon_add_to_player(id, weapon, weaponid, type)).
- Теперь не плодит модели при подборе.
- Добавлен сброс модели.
v0.2
- Начальный релиз.
Утверждено // liFe iS GoOD