Правила форума Гаранты форума
Размещение рекламы AMX-X компилятор

Здравствуйте, гость Вход | Регистрация

Наши новости:

14-дек
24-апр
10-апр
11-апр

2 страниц V   1 2

Как поставить VIP в ScoreAttrib и не ставить модель VIP

Статус пользователя navigator19
сообщение 25.4.2016, 21:08
Сообщение #1
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Приветствую, нужна помощь с функциями выдачи VIP в ScoreAttrib
Все известные мне примеры выдачи VIP в ScoreAttrib меняют дефолтную модель игрока на VIP модельку, кто играет за CT при cl_minmodels 1, есть ли другой способ написать VIP в Score не меняя модель?

Код:

#include <amxmodx>
#include <cstrike>

public plugin_init() {
register_plugin("vip", "1", "vip")
register_clcmd("say /viptab1","set_vip1")
register_clcmd("say /viptab2","set_vip2")
}

public set_vip1(id){
cs_set_user_vip(id,1,0,1)
}

public set_vip2(id){
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
}


Код:

#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
register_plugin("vip", "1.1", "vip");
register_message(get_user_msgid("ScoreAttrib"),"MessageScoreAttrib");
}

public MessageScoreAttrib(iMsgId, iDest, iReceiver)
{
if(is_user_admin(get_msg_arg_int(1)) && !get_msg_arg_int(2))
set_msg_arg_int(2, ARG_BYTE, 4);
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя navigator19
сообщение 28.4.2016, 18:48
Сообщение #2
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Ну так что не кто не знает или это не возможно сделать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Sky Cat
сообщение 28.4.2016, 19:17
Сообщение #3
Стаж: 13 лет
Город: Белгород

Сообщений: 1179
Благодарностей: 734
Полезность: 1056

Код:
#include <amxmodx>
#include <cstrike>

public plugin_init() {
register_plugin("vip", "1", "vip")
register_clcmd("say /viptab2","set_vip2")
}


public set_vip2(id){
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
}

нет?


я знаю, что я ничего не знаю
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 28.4.2016, 19:25
Сообщение #4
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

// Message IDs vars
new g_msgScoreAttrib

init
g_msgScoreAttrib = get_user_msgid("ScoreAttrib")

Send_ScoreAttrib(id, 4)

stock Send_ScoreAttrib(id, flags)
{
message_begin(MSG_BROADCAST, g_msgScoreAttrib);
write_byte(id); // PlayerID
write_byte(flags); // Flags
message_end();
}

Изучайте эвенты: https://wiki.alliedmods.net/Half-Life_1_Gam...nts#ScoreAttrib
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 10:57
Сообщение #5
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Sky Cat, Нет, так тоже поменяется модель
SISA, Вы наверно не поняли вопроса
Если выставить игроку играющему за CT VIP то у него меняется дефолтная модель на модель vip.mdl если на него смотрит другой игрок с cl_minmodels 1, если играть за TE то все нормально и при cl_minmodels 1 и при cl_minmodels 0
А мне нужно сделать так чтобы игроку за КТ можно было поставить VIP в ScoreAttrib не меняя дефолтную модель

Отредактировал: navigator19, - 29.4.2016, 11:20
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 29.4.2016, 13:16
Сообщение #6
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

navigator19,

Мессага ScoreAttrib не меняет модель игрока.

Вот её внутренности:

Код
int CHudHealth:: MsgFunc_ScoreAttrib(const char *pszName,  int iSize, void *pbuf )
{
    BEGIN_READ( pbuf, iSize );

    int index = READ_BYTE();
    unsigned char flags = READ_BYTE();
    g_PlayerExtraInfo[index].dead = (flags & 1<<0) != 0;
    g_PlayerExtraInfo[index].has_c4 = (flags & 1<<1) != 0;
    g_PlayerExtraInfo[index].vip = (flags & 1<<2) != 0;
    return 1;
}


нет тут никакой смены модели.

Отредактировал: SISA, - 29.4.2016, 13:21
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 29.4.2016, 13:32
Сообщение #7
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

navigator19, Ваш 2ый вариант как раз правильно меняет аттрибут. Причем тут cl_minmodels ? Код меняет только аттрибут. Похоже у вас стоит другой плагин.


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 16:15
Сообщение #8
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

SISA,
Возможно в Мессага ScoreAttrib и нет смены модели, но модель меняется 100% попробуйте провести эксперемент и все сами поймете

Unknown, Я вам уже писал об этом, процитирую самого себя
Цитата(navigator19 @ 26.4.2016, 8:57) *
Unknown, Зачем мне ссылка на тот же пост который я же и цитирую, прикол такой?
По поводу cl_minmodels 1, объясню более популярно, если не понятно из выше сказанного!
Ставишь плагин с кодом выше [Выставление тэга 'VIP' в таблице счета] заходишь на сервер, заходишь за команду CT, просишь кого нибудь из других игроков посмотреть на твою модель, но чтобы у него было выставлено cl_minmodels 1 и твоя модель будет vip.mdl, надеюсь так понятней?

И нет, плагин не какой не стоит, вообще нет сторонних плагинов!

Список плагинов
Код
Currently loaded plugins:
       name                    version     author            file             status
[  1] Admin Base              1.8.2       AMXX Dev Team     admin.amxx       running
[  2] Admin Commands          1.8.2       AMXX Dev Team     admincmd.amxx    running
[  3] Admin Help              1.8.2       AMXX Dev Team     adminhelp.amxx   running
[  4] Slots Reservation       1.8.2       AMXX Dev Team     adminslots.amxx  running
[  5] Menus Front-End         1.8.1.3746  AMXX Dev Team     menufront.amxx   running
[  6] Commands Menu           1.8.2       AMXX Dev Team     cmdmenu.amxx     running
[  7] Players Menu            1.8.2       AMXX Dev Team     plmenu.amxx      running
[  8] Teleport Menu           1.8.2       AMXX Dev Team     telemenu.amxx    running
[  9] Maps Menu               1.8.2       AMXX Dev Team     mapsmenu.amxx    running
[ 10] Plugin Menu             1.8.2       AMXX Dev Team     pluginmenu.amxx  running
[ 11] Admin Chat              1.8.2       AMXX Dev Team     adminchat.amxx   running
[ 12] Anti Flood              1.8.2       AMXX Dev Team     antiflood.amxx   running
[ 13] Scrolling Message       1.8.2       AMXX Dev Team     scrollmsg.amxx   running
[ 14] Info. Messages          1.8.2       AMXX Dev Team     imessage.amxx    running
[ 15] Admin Votes             1.8.2       AMXX Dev Team     adminvote.amxx   running
[ 16] Stats Configuration     1.8.2       AMXX Dev Team     statscfg.amxx    running
[ 17] StatsX                  1.8.2       AMXX Dev Team     statsx.amxx      running
[ 18] CS Misc. Stats          1.8.2       AMXX Dev Team     miscstats.amxx   running
[ 19] CS Stats Logging        1.8.2       AMXX Dev Team     stats_logging.a  running
[ 20] vip                     1.1         vip               vip_system.amxx  debug   //Собственно сам плагин, код из второго примера
[ 21] Cam Change          1.1         Bl0ck             Cam_Change.amxx  running   //Меняет обзор игрока от 3-го лица чтобы не заморачиваться просмотром из другой КС


Отредактировал: navigator19, - 29.4.2016, 16:34
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 29.4.2016, 16:50
Сообщение #9
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

vip_system.sma можно под спойлер?
Если не ошибаюсь у vip_system'а свой plugins.ini (типа plugins-vip_system.ini) не ? Если да возможно там есть еще плагины.


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 17:15
Сообщение #10
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Unknown,
vip_system.sma
Код:
#include <amxmodx>
#include <amxmisc>

public plugin_init()
{
register_plugin("vip", "1.1", "vip");
register_message(get_user_msgid("ScoreAttrib"),"MessageScoreAttrib");
}

public MessageScoreAttrib(iMsgId, iDest, iReceiver)
{
if(is_user_admin(get_msg_arg_int(1)) && !get_msg_arg_int(2))
set_msg_arg_int(2, ARG_BYTE, 4);
}

Видос чтобы было понятнее
https://youtu.be/sZPkz-GJEjE



Отредактировал: navigator19, - 29.4.2016, 17:30
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 29.4.2016, 17:39
Сообщение #11
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

navigator19, С этим кодом я пользовался много раз хотя ниразу не ставил cl_minmodels. Щас проверяю сам.


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 18:10
Сообщение #12
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Unknown, Я тоже долго пользовался пока мне не сказали что у випов КТ модели отличаются начал копать и нашел что некоторые играют с cl_minmodels 1, а я то все думал почему меня первого расстреливают из всей толпы пока не дошло что випы выделяются
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя avensis
сообщение 29.4.2016, 18:38
Сообщение #13
Стаж: 10 лет

Сообщений: 20
Благодарностей: 2
Полезность: 9

Цитата(navigator19 @ 29.4.2016, 22:10) *
Unknown, Я тоже долго пользовался пока мне не сказали что у випов КТ модели отличаются начал копать и нашел что некоторые играют с cl_minmodels 1, а я то все думал почему меня первого расстреливают из всей толпы пока не дошло что випы выделяются

Только что проверил у себя на сервере, выставил значение cl_minmodels 1, такой картины как у тебя не наблюдаю :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 19:18
Сообщение #14
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

avensis, Хм, давай разбираться
1. У тебя кс стим, в том смысле что вообще есть команда cl_minmodels? На пиратках старых версий такой команды нет
2. Наблюдал за игроком у которого VIP написано когда на tab нажимаешь?
3. Наблюдал за игроком он играл за КТ, только у КТ меняется модель
4. Модельки у тебя стандартные и присутствует оригинальная модель vip.mdl ?
4. Какой билд сервера?

Адрес своего сервера скинь сам посмотрю

Отредактировал: navigator19, - 29.4.2016, 19:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Unknown
сообщение 29.4.2016, 20:07
Сообщение #15
Стаж: 10 лет

Сообщений: 291
Благодарностей: 70
Полезность: < 0

Зачем удалить посты?
Автор дело говорить.
Еще новых версиях появилось cl_min_t и cl_min_ct


Аткажитесъ от плагенов бес исходника.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 20:20
Сообщение #16
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

Цитата(Unknown @ 29.4.2016, 21:07) *
Еще новых версиях появилось cl_min_t и cl_min_ct

C ними тоже игрался но бестолку, модель вип не меняется да и смысл, хотелось бы обойтись без изменения конфига у клиента и использования client_cmd(id,"cl_minmodels 0")
Даже пробовал ставить плагин amx_adminmodel но он тоже не может сменить эту модельку если у наблюдающего будет cl_minmodels 1

Отредактировал: navigator19, - 29.4.2016, 20:26
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 29.4.2016, 22:21
Сообщение #17
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

2navigator19

Не занимайтесь ерундой. Я дал вам код, который меняет скорбоард у игроков, подставляя VIP (видно только команде CT). Это именно то, что вы просили.

P.S. По моему вы сами не понимаете, чего хотите. При чем здесь cl_minmodels ? Он вообще не относится к скорбоарду.

Отредактировал: SISA, - 29.4.2016, 22:24
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя navigator19
сообщение 29.4.2016, 23:36
Сообщение #18
Стаж: 16 лет

Сообщений: 177
Благодарностей: 22
Полезность: 12

SISA, Ваш код не совсем понятен напишите полностью и желательно в тегах PAWN
И при чем тут вообще эвенты?
При каком событии ставить VIP в ScoreAttrib не имеет значения, важен лишь сам код прописывания VIP в ScoreAttrib

Напоминает это
Код:
#include <amxmodx>
#include <cstrike>

public plugin_init() {
register_plugin("vip", "1", "vip")
register_clcmd("say /viptab2","set_vip2")
}

public set_vip2(id){
message_begin(MSG_ALL, get_user_msgid("ScoreAttrib"))
write_byte(id)
write_byte(4)
message_end()
}


Если это верный код, то повторяю модель меняется если у смотрящего cl_minmodels 1, посмотрите видео там же все предельно ясно показано!

Отредактировал: navigator19, - 30.4.2016, 0:09
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SISA
сообщение 30.4.2016, 1:56
Сообщение #19
Стаж: 15 лет

Сообщений: 2774
Благодарностей: 2956
Полезность: 994

Цитата
Ваш код не совсем понятен


Код
#include <amxmisc>

// Message IDs vars
new g_msgScoreAttrib


public plugin_init()
{
    register_clcmd("say /test", "Command");

    g_msgScoreAttrib = get_user_msgid("ScoreAttrib")
}

public Command(id)
{
    Send_ScoreAttrib(id, 4)
}

stock Send_ScoreAttrib(id, flags)
{
    message_begin(MSG_BROADCAST, g_msgScoreAttrib);
    write_byte(id); // PlayerID
    write_byte(flags); // Flags
    message_end();
}


На счет смены модели, хз. Может у меня декомпил не полный. Нашел её смену только при ClCorpse (это когда трупак исчезает):

Код
    else if( teamID == 2 ) // ct
    {
        int modelidx = cl_min_ct->value;

        if( g_PlayerExtraInfo[playerID].vip )
            strncpy( szModel, sPlayerModelFiles[3], sizeof(szModel) ); // vip.mdl


Где-то sPlayerModelFiles[3] ещё вылезает, но где, я хз.

P.S. Скорее всего, ты эту хрень не обойдешь. клминмодел 0 всё же придется ставить.

Отредактировал: SISA, - 30.4.2016, 2:02
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
serfreeman1337
сообщение 30.4.2016, 6:05
Сообщение #20
Стаж: 13 лет

Сообщений: 912
Благодарности: выкл.

Как вариант: делаем игрока невидимым, создаем энтитию с нужной нам моделью игрока и цепляем её к игроку через MOVETYPE_FOLLOW. Так реализовано в моде Biohazard. Но придется учесть некоторые ситуации (set_user_rendering и тд.).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
2 страниц V   1 2
 
Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: