> > > > >

Weapons Skins Manager 0.0.1

Нет прав для скачивания
Сообщения
260
GitHub
Subb98
Рейтинг
261
#21
Да вроде хостинг то не плохой
Неизвестный хостинг не может быть хорошим. Хороший - значит, проверенный временем. В этой сфере новичок (каким бы он ни был: амбициозным, отзывчивым, доброжелательным и проч.) не сможет предоставить клиенту качественную услугу, пока не наберётся опыта и не набьёт собственных шишек. А это он сделает только со временем. Поэтому ваше решение заказать услугу на таком хостинге - это, своего рода, "благотворительность" (поддержка нуждающихся и финансирование чьего-то обучения).
 
 
Сообщения
4
Рейтинг
0
#22
А после дропа обычный игрок сможет поднять этот скин?
 
 
Сообщения
13
Рейтинг
2
#23
Вопрос может тупой, но всё же)) как правильно указать путь? Если модели находятся в папке test а моделек всего две v_usp.mdl и w_usp.mdl
 
 
Сообщения
1.041
Рейтинг
1312
#26
modest,
Код:
; Установка модели ножа, без модели 'w_' в директорию custom
; "weapon_knife" "custom/v_knife" "custom/p_knife" ""
 
 
Сообщения
48
GitHub
the-swank
Рейтинг
37
#28
Изменил немного логику работы плагина, теперь скин ставится только на покупаемое оружие игрока с флагом, а также при поднятии этого оружия игроком без флага скин остается, делал для себя, поэтому каких либо ifdef'ов или кваров нет, код распаковки weaponbox вытащил помойму из подобного плагина от Mistrick
Форум не дает прикрепить патч(да, в 2017 году еще есть такие), поэтому оставляю под спойлером:
Diff:
--- "\320\227\320\260\320\262\320\260\320\275\321\202\320\260\320\266\320\265\320\275\320\275\321\217/weapons_skins_manager/weapons_skins_manager.sma"    2017-01-19 00:08:49.000000000 +0200
+++ weapons_skins_manager.sma    2017-12-11 13:26:10.548847280 +0200
@@ -21,6 +21,12 @@
 #define SetModel(%1,%2)         engfunc(EngFunc_SetModel,%1,%2)
 #define IsPlayer(%1)            (1 <= %1 <= g_iMaxPlayers)
 
+#define PEV_CUSTOM_MODEL pev_iuser3
+#define PEV_ADD_COUNTER pev_iuser4
+
+const m_rgpPlayerItems_CWeaponBox = 34;
+const XO_CBASEPLAYERWEAPON = 4;
+
 new Trie:g_tViewModels
 new Trie:g_tWeaponModels
 new Trie:g_tWorldModels
@@ -76,6 +82,7 @@
                     szWeaponClass,
                     RegisterHam(Ham_Item_Deploy, szWeaponClass, "ItemDeploy_Post", true)
                 )
+                RegisterHam(Ham_AddPlayerItem, "player", "AddPlayerItem_Pre", 0)
             }
             format(szViewModel, charsmax(szViewModel), "models/%s.mdl", szViewModel)
             if(file_exists(szViewModel))
@@ -141,7 +148,7 @@
     const m_pPlayer = 41
 
     new id = get_pdata_cbase(wEnt, m_pPlayer, .linuxdiff = 4)
-    if(IsPlayer(id) && get_user_flags(id) & g_iAccess)
+    if(IsPlayer(id) && pev(wEnt, PEV_CUSTOM_MODEL))
     {
         new iszNewModel, szWeaponClass[32]
         pev(wEnt, pev_classname, szWeaponClass, charsmax(szWeaponClass))
@@ -162,21 +169,38 @@
     }
 }
 
+public AddPlayerItem_Pre(player, weapon)
+{
+    if ((get_user_flags(player) & g_iAccess) && !pev(weapon, PEV_ADD_COUNTER)) {
+        set_pev(weapon, PEV_CUSTOM_MODEL, 1)
+    }
+
+    set_pev(weapon, PEV_ADD_COUNTER, 1)
+}
+
 public SetModel_Pre(iEnt, const szModel[])
 {
     // if(!pev_valid(iEnt))
         // return FMRES_IGNORED
 
     new id = pev(iEnt, pev_owner)
-    if(!IsPlayer(id) || ~get_user_flags(id) & g_iAccess)
+    if(!IsPlayer(id))
         return FMRES_IGNORED
 
-    new szNewModel[MAX_MODEL_LENGTH]
-    if(TrieGetString(g_tWorldModels, szModel, szNewModel, charsmax(szNewModel)))
-    {
-        SetModel(iEnt, szNewModel)
-        return FMRES_SUPERCEDE
+    #define MAX_ITEM_TYPES    6
+    for(new i, weapon; i < MAX_ITEM_TYPES; i++) {
+        weapon = get_pdata_cbase(iEnt, m_rgpPlayerItems_CWeaponBox + i, XO_CBASEPLAYERWEAPON);
+
+        if (pev_valid(weapon) == 2 && pev(weapon, PEV_CUSTOM_MODEL)) {
+            new szNewModel[MAX_MODEL_LENGTH]
+            if(TrieGetString(g_tWorldModels, szModel, szNewModel, charsmax(szNewModel)))
+            {
+                SetModel(iEnt, szNewModel)
+                return FMRES_SUPERCEDE
+            }
+        }
     }
+
     return FMRES_IGNORED
 }
 
  2
Сообщения
1
Рейтинг
0
#29
Добрый день. Может кто сделать исходник, чтобы скины могли поднимать все игроки, независимо от флага? Ну, в смысле, всё тоже самое, как и здесь, но только чтобы эти кастомные пушки мог поднять любой игрок, и скин остался. Товарищ swank сделал что-то подобное, но как это использоваться - не пойму. Спасибо!
 
 
Сообщения
3
Рейтинг
0
#31
Здравствуйте.
проблема такова установил плагин работает но не качает модели выдает такую ошибку в логах

L 03/14/2018 - 21:31:39: Start of error session. L 03/14/2018 - 21:31:39: Info (map "$1000$") (file "addons/amxmodx/logs/error_20180314.log") L 03/14/2018 - 21:31:39: [HAMSANDWICH] Failed to retrieve classtype for ";", hook for "ItemDeploy_Post" not active. L 03/14/2018 - 21:31:39: [AMXX] Run time error 10 (plugin "weapons_skins_manager.amxx") (native "RegisterHam") - debug not enabled! L 03/14/2018 - 21:31:39: [AMXX] To enable debug mode, add "debug" after the plugin name in plugins.ini (without quotes).

вот файл кфг может не правильно что то прописал

; Конфигурационный файл «Менеджер скинов».

;=============================================================================

; ● Флаги доступа по умолчанию:
AccessFlag = "d"

;=============================== МОДЕЛИ =================================

; ● Если вы получите эту ошибку: [HAMSANDWICH] Failed to retrieve class type for "weapon_xxx"
; [HAMSANDWICH] Не удалось получить тип класса для "weapon_xxx". Вы должны проверить ошибки в названиях оружия.

; ● Правильные имена оружия:
; weapon_elite, weapon_fiveseven, weapon_usp, weapon_glock18, weapon_p228, weapon_deagle
; weapon_scout, weapon_xm1014, weapon_mac10, weapon_aug, weapon_ump45, weapon_sg550,
; weapon_galil, weapon_famas, weapon_awp, weapon_mp5navy, weapon_m249, weapon_m3,
; weapon_m4a1, weapon_tmp, weapon_g3sg1, weapon_sg552, weapon_ak47, weapon_p90
; weapon_knife, weapon_c4 weapon_flashbang, weapon_hegrenade, weapon_smokegrenade

; ● Формат:
; "weaponname" "v_model" "p_model" "w_model" (without 'models/' & '.mdl')

; ● Примеры:
; Set awp model
; "weapon_awp" "custom/v_awp" "custom/p_awp" "custom/w_awp"

; Установите модель ножа без 'w_' model
; "weapon_knife" "custom/v_knife" "custom/p_knife" ""

; ● Примечания:
; Не забывайте о пределе прекеша 512!

"weapon_awp" "custom/v_awp" "custom/p_awp" "custom/w_awp"
"weapon_m4a1" "custom/v_m4a1" "custom/p_m4a1" "custom/w_m4a1"
"weapon_ak47" "custom/v_ak47" "custom/p_ak47" "custom/w_ak47"
"weapon_deagle" "custom/v_deagle" "custom/p_deagle" "custom/w_deagle"

создал папку custom залил туда модели и залил ее в папку maps
 
Неверный раздел форума
 
Сообщения
24
Рейтинг
1
#33
как реализовать что бы когда тимейт или противник выкинул ствол со стикерами я его подобрал со стикерами? В данный момент я вижу тимейта с оружием в стикерах, но после дропа подбираю обычное.
 
 

Похожие темы

Ответы
55
Просмотры
3.834
> > > > >