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

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

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

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

Как выдать и снять шапку с модели?!...

Статус пользователя default67
сообщение 20.3.2016, 17:03
Сообщение #1


Стаж: 11 лет

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

Здравствуйте!
Хочу сделать плагин hats_menu, вместив всё в одном плагине без всяких .ini и т.д, но не знаю как выдать шапку, и потом её снять, пробовал выдавать с помощь cs_set_user_model, а снимать с помощью cs_reset_user_model, но при reset_model шапка не снимается, и на сервере стоит плагин с выбором моделей, я выбрал модель, а потом снял модель уже в hats_menu, шапка не снялась, а модель которую я выбрал пропала.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя csnet
сообщение 20.3.2016, 17:13
Сообщение #2
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

это не модель игрока а энтити, чтобы ее убрать надо получить ID ее.
например remove_entity( id-ent);

id задается при ее создании типа new ent = create_entity( bla bla )
где ent получает integer ( номер своего id )


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя default67
сообщение 20.3.2016, 17:20
Сообщение #3


Стаж: 11 лет

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

csnet, Можно пример по выдаче шапки? а как её убрать я уже сам разберусь, сижу паблик hats смотрю, и всё никак не могу понять. (
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя default67
сообщение 20.3.2016, 17:59
Сообщение #4


Стаж: 11 лет

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

Сделал так:
Код:
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <engine>

#define PLUGIN "[HATS] Player"
#define VERSION "1.0"
#define AUTHOR "-NegaTiV-"

new keys = MENU_KEY_1|MENU_KEY_2|MENU_KEY_0

new Ent
new g_Model[] = {"models/knife_hats/v_mask.mdl"}

public plugin_init() {
register_plugin(PLUGIN, VERSION, AUTHOR)

register_clcmd("say /hats1", "hats_menu")
register_menu("Menu", keys, "func_hats")
}

public plugin_precache()
{
precache_model("g_Model")
}

public hats_menu(id)
{
static menu[650], len
len = 0
len = formatex(menu[len], charsmax(menu) - len, "\r[\yHats\r] \wМеню шапок^n^n")

len += formatex(menu[len], charsmax(menu) - len, "\r1. \wШапка 1^n")
keys |= MENU_KEY_1

len += formatex(menu[len], charsmax(menu) - len, "\r2. \wСнять шапку^n^n")
keys |= MENU_KEY_2

len += formatex(menu[len], charsmax(menu) - len, "\r0. \wВыход")
keys |= MENU_KEY_0

show_menu(id, keys, menu, -1, "Menu")
return PLUGIN_HANDLED;
}

public func_hats(id, key)
{
switch(key)
{
case 0:{
entity_set_model(Ent, g_Model)
}
case 1:{
remove_entity(Ent)
}
}
return PLUGIN_HANDLED;
}

Не запускается сервер, не знаю почему, просто консоль вылетает и всё.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя csnet
сообщение 20.3.2016, 19:30
Сообщение #5
Стаж: 12 лет

Сообщений: 4808
Благодарностей: 3849
Полезность: 690

лучше всего юзай паблик плагин обычный https://forums.alliedmods.net/showthread.php?t=58374 либо более новые.


1 - тебе нужен массив под 32 игроков, который будет держать индексы ( ID энтитей )
2 - при создании ентити нужно писать ее id в этот массив.
3. у тебя entity_set идет на саму ентити id а надо на ID игрока

в паблике смотрим

Код:
  g_HatEnt[player] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
set_pev(g_HatEnt[player], pev_movetype, MOVETYPE_FOLLOW)
set_pev(g_HatEnt[player], pev_aiment, player)
set_pev(g_HatEnt[player], pev_rendermode, kRenderNormal)
engfunc(EngFunc_SetModel, g_HatEnt[player], tmpfile)


g_HatEnt[player] - кури что это. глобальный индекс + массив


go v cs:go
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
  Ответить в данную темуНачать новую тему
 
0 пользователей и 1 гостей читают эту тему: