Помощ със ВИП модел/и

Ако имате затруднения при изработката/преработката на даден плъгин - пишете тук, ще се опитаме да ви помогнем!
Аватар
x7s
Извън линия
Потребител
Потребител
Мнения: 47
Регистриран на: 20 Яну 2018, 11:00
Местоположение: България
Се отблагодари: 19 пъти
Обратна връзка:

Помощ със ВИП модел/и

Мнение от x7s » 14 Апр 2018, 14:59

Здравейте уважаеми скриптери!
Моля за малко помощ потърсих във форума преди да пусна заявката си как да сложа модели на ВИП, но тъй като го съчетавам с друг плъгин и ползвам само функциите и дефинирам моделът който искам да се ползва в моя случай ще ми е нужна малко вашата помощ.
OciXCrom™ написа: 13 Яну 2018, 20:57 Промени имената в #define редовете.

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define ADMIN_FLAG ADMIN_LEVEL_C
#define CT_MODEL "admin_ct"
#define T_MODEL "admin_t"

public plugin_init()
{
	register_plugin("Simple Admin Models", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{
	precache_player_model(CT_MODEL)
	precache_player_model(T_MODEL)
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return
		
	if(get_user_flags(id) & ADMIN_FLAG)
		cs_set_user_model(id, cs_get_user_team(id) == CS_TEAM_CT ? CT_MODEL : T_MODEL)
	else
		cs_reset_user_model(id)
}

precache_player_model(const szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")
    
    if(file_exists(szFile))
        precache_model(szFile)
}
В моя случай аз искам да ползвам един и същи модел да не се налага да правя папки за Контра и Терорист, и да добавям един и същи модел, по два различни начина за съответния отбор, в които ще влезе да играе ВИП играча.
Ето и какво точно съм направил до момента в моя случай

Код за потвърждение: Избери целия код

#include <cstrike>
#include <hamsandwich>

#define VIP_ACCESS_FLAG 	ADMIN_LEVEL_H 	// Flag access for VIP function
#define CT_MODEL "vip_ct"			// Define CT VIP Model
#define T_MODEL "vip_t"				// Define T VIP Model

public plugin_init()
{
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1);
}

public plugin_precache()
{
	precache_player_model(CT_MODEL);
	precache_player_model(T_MODEL);
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return;
		
	if(get_user_flags(id) & VIP_ACCESS_FLAG)
		cs_set_user_model(id, cs_get_user_team(id) == CS_TEAM_CT ? CT_MODEL : T_MODEL);
	else
		cs_reset_user_model(id);
}

precache_player_model(const szModel[])
{
    static szFile[128];
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel);
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl");
    
    if(file_exists(szFile))
        precache_model(szFile);
}
И до тук всичко е добре, компилира се без грешки, все още не е тестван дали изобщо работи, но ще го тествам когато го завърша изцяло ;))
А сега да се върна на проблема ми, искам да го наглася така, че когато ВИП потребител влезе в сървъра, автоматично да му слага моделът, които съм определил вече в папката "cstrike\models\player\vip\vip.mdl" от без значение в кои от двата отбора е влезнал да играе да се използва един и същи модел, както съм го решил а именно "vip.mdl" ;))

Аватар
Fr0sTt
Извън линия
Потребител
Потребител
Мнения: 138
Регистриран на: 16 Фев 2018, 19:11

Помощ със ВИП модел/и

Мнение от Fr0sTt » 14 Апр 2018, 22:48

Ако искаш да е с един скин за вип, просто махаш проверката за отборите.

Аватар
[N]eXuS
Извън линия
Потребител
Потребител
Мнения: 163
Регистриран на: 16 Мар 2018, 04:52

Помощ със ВИП модел/и

Мнение от [N]eXuS » 14 Апр 2018, 23:13

Само си направи една папка с име vip_player и вътре модела да се казва vip_player.mdl и това всеки с флаг за kick ще има модела няма значение дали е ЦТ или Т разбира се това vip_player е само пример може да си го промениш!! ако ще го променяш в плъгина трябва да промениш #define VIP_MODEL "vip" това vip да се промени ако нещо не си схванал пиши :)

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define ADMIN_FLAG ADMIN_KICK
#define VIP_MODEL "vip_player"

public plugin_init()
{
	register_plugin("Simple Admin Models", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{
	precache_player_model(VIP_MODEL)
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return
		
	if(get_user_flags(id) & ADMIN_FLAG)
		cs_set_user_model(id, VIP_MODEL)
	else
		cs_reset_user_model(id)
}

precache_player_model(const szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")
    
    if(file_exists(szFile))
        precache_model(szFile)
}

Аватар
x7s
Извън линия
Потребител
Потребител
Мнения: 47
Регистриран на: 20 Яну 2018, 11:00
Местоположение: България
Се отблагодари: 19 пъти
Обратна връзка:

Помощ със ВИП модел/и

Мнение от x7s » 15 Апр 2018, 08:49

[N]eXuS написа: 14 Апр 2018, 23:13 Само си направи една папка с име vip_player и вътре модела да се казва vip_player.mdl и това всеки с флаг за kick ще има модела няма значение дали е ЦТ или Т разбира се това vip_player е само пример може да си го промениш!! ако ще го променяш в плъгина трябва да промениш #define VIP_MODEL "vip" това vip да се промени ако нещо не си схванал пиши :)

Код за потвърждение: Избери целия код

#include <amxmodx>
#include <cstrike>
#include <hamsandwich>

#define ADMIN_FLAG ADMIN_KICK
#define VIP_MODEL "vip_player"

public plugin_init()
{
	register_plugin("Simple Admin Models", "1.0", "OciXCrom")
	RegisterHam(Ham_Spawn, "player", "OnPlayerSpawn", 1)
}

public plugin_precache()
{
	precache_player_model(VIP_MODEL)
}

public OnPlayerSpawn(id)
{
	if(!is_user_alive(id))
		return
		
	if(get_user_flags(id) & ADMIN_FLAG)
		cs_set_user_model(id, VIP_MODEL)
	else
		cs_reset_user_model(id)
}

precache_player_model(const szModel[])
{
    static szFile[128]
    formatex(szFile, charsmax(szFile), "models/player/%s/%s.mdl", szModel, szModel)
    precache_model(szFile)
    replace(szFile, charsmax(szFile), ".mdl", "T.mdl")
    
    if(file_exists(szFile))
        precache_model(szFile)
}
След час два ще го пробвам, това което си ми направил дали ще сработи, защото аз вече премахнах проверката за отборите, но бутах и функциите и може би заради тях крашна платформата, където го тествах.
После ще ти покажа и какво точно съм направил аз, за да го вмъкна в моя проект с които съм се захванал, че сега съм на телефона и нямам достъп до сорса с които работя ;))

Публикувай отговор
  • Подобни теми
    Отговори
    Преглеждания
     Последно мнение

Обратно към “Помощ в скриптирането”

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 7 госта