CSO Expert Pack

CSO Expert Pack 1.0

Нет прав для скачивания
Сообщения
52
Реакции
39
KoTe_Love_Kulka добавил(а) новый ресурс:

CSO Expert Pack - Expert Pack

Модель "Storm Giant Warhammer"
1517041940469.png
Модель "Crimson Hunter"
1517041973595.png
Модель "Red Dragon"
1517042022584.png

Модель "Volcano"
1517042040655.png
Модель "Lycanthrope"
1517042072704.png

Модель "Magnum Drill"
1517042100998.png

Модель "Newcomen"
1517042184965.png
...
Узнать больше об этом ресурсе...
 
Последнее редактирование:
Сообщения
28
Реакции
14
Жаль, что только v_ модельки... Так можно было бы запилить на сервер :)
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
BaJIepbI4, в чем проблема сделать P и W самостоятельно? Работы на 30-40 минут для всех моделей.
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
В принципе, если срочно нужно, то за денежное вознаграждение, которое примерно равно цене пачки сигарет, смогу сделать. :crazy:
А так, если будет время и желание, сделаю за бесплатно.
 
Сообщения
28
Реакции
14
BaJIepbI4, в чем проблема сделать P и W самостоятельно? Работы на 30-40 минут для всех моделей.
Ну наверно в том, что я не знаю как это делать? Ты так говоришь, как-будто это так просто, как плагин установить.
 
Сообщения
2,144
Реакции
1,223
Помог
44 раз(а)
BaJIepbI4, это проще, чем ты думаешь. Да и первый же запрос в поисковике, типа: "сделать w модель оружия из v модели cs 1.6" выдаст тебе различный информационный материал по созданию P и W моделей своими руками.
 
Сообщения
52
Реакции
39
Жаль, что только v_ модельки... Так можно было бы запилить на сервер :)
Времени нет на создание "p" & "w" модели. Да и штекер(если правильно называю) сломался от зарядника ноутбука.
 
Сообщения
28
Реакции
14
Minni, любой процесс кажется простым, если ты знаешь как он работает ;) Но в моделинге я ни в зуб ногой. Максимум на что хватило меня - это объединение моделек игроков в одну. С оружием там вообще ахтунг для меня.
KoTe_Love_Kulka, да я не в претензиях же. Но мало ли кто все сможет доделать до целого.
 
Сообщения
125
Реакции
50
don't forget this
API: Back Custom Weapon 1.0
; [AMXX API] Back Weapons 1.0.1 by xUnicorn
; Оружия на спине игрока по импульсу оружия (Кастомные оружия только!)
;
; Форма добавления: (Добавлять только первичныя оружия (1-ый слот))
; "pev_impulse" "модель оружия (полный путь)" "боди модельки pev_body (если есть)"
;
; Примеры:
; "591" "models/x/s_watergun.mdl" "0"
; "592" "models/x/s_weapons.mdl" "5"

/*
____ _ _____ _ __ __
| _ \ | | / ____| | | \ \ / /
| |_) | __ _ ___| | __ | | _ _ ___| |_ ___ _ __ ___ \ \ /\ / /__ __ _ _ __ ___ _ __ ___
| _ < / _` |/ __| |/ / | | | | | / __| __/ _ \| '_ ` _ \ \ \/ \/ / _ \/ _` | '_ \ / _ \| '_ \/ __|
| |_) | (_| | (__| < | |___| |_| \__ \ || (_) | | | | | | \ /\ / __/ (_| | |_) | (_) | | | \__ \
|____/ \__,_|\___|_|\_\ \_____\__,_|___/\__\___/|_| |_| |_| \/ \/ \___|\__,_| .__/ \___/|_| |_|___/
| |
|_|

[1.0]
- Первый релиз

[1.0.1]
- Bugfix. Показывались не те модельки, что должны.

*/

// Original: https://forums.alliedmods.net/showthread.php?p=359356
// Help: D34
// Idea: hoboman313/cheap_suit & cvf0n

#include <amxmodx>
#include <fakemeta>
#include <hamsandwich>

#define REMOVE_ENTITY(%1) set_pev(%1, pev_flags, FL_KILLME)
#define PRECACHE_MODEL(%1) engfunc(EngFunc_PrecacheModel, %1)

#define MAX_CLIENTS 32

// Linux extra offsets
#define linux_diff_weapon 4
#define linux_diff_player 5

// CBasePlayerItem
#define m_pPlayer 41

// CBasePlayer
#define m_pActiveItem 373
#define m_rpgPlayerItems 367
#define m_iAutoWepSwitch 509

new const g_szWeaponEntNames[][] =
{
"weapon_p228",
"weapon_scout",
"weapon_hegrenade",
"weapon_xm1014",
"weapon_c4",
"weapon_mac10",
"weapon_aug",
"weapon_smokegrenade",
"weapon_elite",
"weapon_fiveseven",
"weapon_ump45",
"weapon_sg550",
"weapon_galil",
"weapon_famas",
"weapon_usp",
"weapon_glock18",
"weapon_awp",
"weapon_mp5navy",
"weapon_m249",
"weapon_m3",
"weapon_m4a1",
"weapon_tmp",
"weapon_g3sg1",
"weapon_flashbang",
"weapon_deagle",
"weapon_sg552",
"weapon_ak47",
"weapon_knife",
"weapon_p90"
};

enum _: e_WeaponData
{
DATA[16],
MODEL[64],
BODY[16]
};

#define FILE_NAME "/addons/amxmodx/configs/api_backweapons.ini"

new Array: g_aWeaponData;
new g_iUserBackWeaponEntity[MAX_CLIENTS + 1];

public plugin_init()
{
register_plugin("[AMXX] API: Back Weapons", "1.0.1", "xUnicorn (t3rkecorejz)");

RegisterHam(Ham_Spawn, "player", "CPlayer__Spawn_Post", true);
RegisterHam(Ham_AddPlayerItem, "player", "CPlayer__AddPlayerItem_Pre", false);
RegisterHam(Ham_RemovePlayerItem, "player", "CPlayer__RemovePlayerItem_Pre", false);

for(new i = 0; i < sizeof g_szWeaponEntNames; i++)
{
RegisterHam(Ham_Item_Deploy, g_szWeaponEntNames, "CWeapon__Item_Deploy_Post", true);
}
}

public plugin_precache()
{
g_aWeaponData = ArrayCreate(e_WeaponData);

new szBuffer[256], szPath[64], iLine, iLen, iFile = fopen(FILE_NAME, "r");

if(!iFile)
{
set_fail_state("| File 'api_backweapons.ini' not found.");
}

get_localinfo("amxx_configsdir", szPath, charsmax(szPath));
formatex(szPath, charsmax(szPath), "%s", FILE_NAME);

new szData[e_WeaponData];

while(read_file(szPath, iLine++, szBuffer, charsmax(szBuffer), iLen))
{
if(szBuffer[0] == '"')
{
parse(szBuffer, szData[DATA], 15, szData[MODEL], 63, szData[BODY], 15);

formatex(szBuffer, charsmax(szBuffer), "%s", szData[MODEL]);
PRECACHE_MODEL(szBuffer);

ArrayPushArray(g_aWeaponData, szData);

}
else
{
continue;
}
}

fclose(iFile);
}

public client_putinserver(iPlayer)
{
static iReference;

if(iReference || (iReference = engfunc(EngFunc_AllocString, "info_target")))
{
g_iUserBackWeaponEntity[iPlayer] = engfunc(EngFunc_CreateNamedEntity, iReference);

if(pev_valid(g_iUserBackWeaponEntity[iPlayer]))
{
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_classname, "backweapon");
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_movetype, MOVETYPE_FOLLOW);
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_effects, EF_NODRAW);
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_aiment, iPlayer);
}
}
}

public client_disconnect(iPlayer)
{
if(g_iUserBackWeaponEntity[iPlayer] > 0 && pev_valid(g_iUserBackWeaponEntity[iPlayer]))
{
REMOVE_ENTITY(g_iUserBackWeaponEntity[iPlayer]);
}

g_iUserBackWeaponEntity[iPlayer] = 0;
}

public CPlayer__Spawn_Post(iPlayer)
{
if(!is_user_alive(iPlayer))
{
return HAM_IGNORED;
}

static iEntity; iEntity = get_pdata_cbase(iPlayer, m_rpgPlayerItems + 1, linux_diff_player);
static iItem; iItem = get_pdata_cbase(iPlayer, m_pActiveItem, linux_diff_player);

if(pev_valid(iEntity) && iEntity)
{
if(ExecuteHamB(Ham_Item_ItemSlot, iItem) != 1)
{
new szData[e_WeaponData];
for(new iPos; iPos <= ArraySize(g_aWeaponData) - 1; iPos++)
{
ArrayGetArray(g_aWeaponData, iPos, szData);

if(pev(iEntity, pev_impulse) == str_to_num(szData[DATA]))
{
new szBuffer[64];
formatex(szBuffer, charsmax(szBuffer), "%s", szData[MODEL]);

engfunc(EngFunc_SetModel, g_iUserBackWeaponEntity[iPlayer], szBuffer);
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_body, str_to_num(szData[BODY]));

fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 1);
return HAM_IGNORED;
}
}
}
}

fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 0);

return HAM_IGNORED;
}

public CPlayer__AddPlayerItem_Pre(iPlayer, iItem)
{
if(!get_pdata_int(iPlayer, m_iAutoWepSwitch, linux_diff_player))
{
new szData[e_WeaponData];
for(new iPos; iPos <= ArraySize(g_aWeaponData) - 1; iPos++)
{
ArrayGetArray(g_aWeaponData, iPos, szData);

if(pev(iItem, pev_impulse) == str_to_num(szData[DATA]))
{
new szBuffer[64];
formatex(szBuffer, charsmax(szBuffer), "%s", szData[MODEL]);

engfunc(EngFunc_SetModel, g_iUserBackWeaponEntity[iPlayer], szBuffer);
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_body, str_to_num(szData[BODY]));
}

fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 1);
}
}

if(ExecuteHamB(Ham_Item_ItemSlot, iItem) != 1)
{
if(!get_pdata_int(iPlayer, m_iAutoWepSwitch, linux_diff_player))
{
fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 0);
}
}
}

public CPlayer__RemovePlayerItem_Pre(iPlayer, iItem)
{
new szData[e_WeaponData];
for(new iPos; iPos <= ArraySize(g_aWeaponData) - 1; iPos++)
{
ArrayGetArray(g_aWeaponData, iPos, szData);

if(pev(iItem, pev_impulse) == str_to_num(szData[DATA]))
{
fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 0);
}
}
}

public CWeapon__Item_Deploy_Post(iItem)
{
static iPlayer; iPlayer = get_pdata_cbase(iItem, m_pPlayer, linux_diff_weapon);
static iEntity; iEntity = get_pdata_cbase(iPlayer, m_rpgPlayerItems + 1, linux_diff_player);

if(iEntity > 0)
{
if(ExecuteHamB(Ham_Item_ItemSlot, iItem) != 1)
{
new szData[e_WeaponData];
for(new iPos; iPos <= ArraySize(g_aWeaponData) - 1; iPos++)
{
ArrayGetArray(g_aWeaponData, iPos, szData);

if(pev(iEntity, pev_impulse) == str_to_num(szData[DATA]))
{
new szBuffer[64];
formatex(szBuffer, charsmax(szBuffer), "%s", szData[MODEL]);

engfunc(EngFunc_SetModel, g_iUserBackWeaponEntity[iPlayer], szBuffer);
set_pev(g_iUserBackWeaponEntity[iPlayer], pev_body, str_to_num(szData[BODY]));

fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 1);
return;
}
}
}
}

fm_set_entity_visibility(g_iUserBackWeaponEntity[iPlayer], 0);
}

stock fm_set_entity_visibility(iEntity, iVisible = 1)
{
set_pev(iEntity, pev_effects, iVisible == 1 ? pev(iEntity, pev_effects) & ~EF_NODRAW : pev(iEntity, pev_effects) | EF_NODRAW);
}
 

Пользователи, просматривающие эту тему

Сейчас на форуме нет ни одного пользователя.
Сверху Снизу