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

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

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

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

шапки на сервере (Edited)

Статус пользователя soneekk
сообщение 18.2.2015, 11:22
Сообщение #1


Стаж: 13 лет

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

нашел на польском сайте plugin "шапки на сервере" но эта версия отличается от того что модельки выдаются через submodel, чтоб не грузили много models, + думаю поможет тем кого проблемы с 510 limit.

Код:
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

#define PLUGIN "Czapki"
#define VERSION "1.0"
#define AUTHOR "Cypis"

new gEnt[33];
new Array:gModel;
new Array:gNazwa;
new Array:gBody;

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

register_clcmd("say /hat", "MenuHat");
register_clcmd("say /hats", "MenuHat");
register_clcmd("say /czapki", "MenuHat");
}

public plugin_precache()
{
gModel = ArrayCreate(128);
gNazwa = ArrayCreate(64);
gBody = ArrayCreate();

ArrayPushString(gModel, "Zadna");
ArrayPushString(gNazwa, "\yZdejmij czapke");
ArrayPushCell(gBody, 0);

new configfile[128];
get_configsdir(configfile, 127);
add(configfile, 127, "/hats.ini");

if(!file_exists(configfile))
return;

new linia[256], txtlen, ilosc;
for(new i=0; i<file_size(configfile, 1); i++)
{
read_file(configfile, i, linia, 255, txtlen);
if(contain(linia, ";") != -1 || !txtlen)
continue;

new model[128], nazwa[64], body[6];
parse(linia, model, 127, nazwa, 63, body, 5);
remove_quotes(model);
remove_quotes(nazwa);
remove_quotes(body);
format(model, 127, "models/hat/%s", model);

ArrayPushString(gModel, model);
ArrayPushString(gNazwa, nazwa);
ArrayPushCell(gBody, str_to_num(body));

new gmodel[64];
if(ilosc)
{
for(new j=1; j<ArraySize(gBody)-1; j++)
{
ArrayGetString(gModel, j, gmodel, 63);
if(equal(model, gmodel))
{
gmodel[0] = 1;
break;
}
else
gmodel[0] = 0;
}
}
if(!gmodel[0])
{
precache_model(model);
log_amx("Precache %s", model);
}
else
log_amx("Precache %s %s %s", model, nazwa, body);

ilosc++;
}
}

public MenuHat(id)
{
new nazwa[64], int[4], menu = menu_create("Czapki:", "Handel_Czapki");

for(new i=0; i<ArraySize(gBody); i++)
{
num_to_str(i, int, 3);
ArrayGetString(gNazwa, i, nazwa, 63);
menu_additem(menu, nazwa, int);
}

menu_setprop(menu, MPROP_EXITNAME, "Wyjdz");
menu_display(id, menu);
return PLUGIN_HANDLED;
}

public Handel_Czapki(id, menu, item)
{
if(item == MENU_EXIT)
return;

new acces, callback, num[4], nazwa[64];
menu_item_getinfo(menu, item, acces, num, 3, nazwa, 63, callback);

UstawCzapke(id, str_to_num(num));
item? client_print(id, 3, "Zalozyles czapke %s", nazwa): client_print(id, 3, "Zdjales swoja czapke");
}

stock UstawCzapke(id, anum)
{
if(gEnt[id])
set_pev(gEnt[id], pev_effects, anum? pev(gEnt[id], pev_effects) & ~EF_NODRAW: pev(gEnt[id], pev_effects) | EF_NODRAW);

if(!anum)
return;

new model[128];
ArrayGetString(gModel, anum, model, 127);

if(!gEnt[id])
{
gEnt[id] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
set_pev(gEnt[id], pev_movetype, MOVETYPE_FOLLOW);
set_pev(gEnt[id], pev_aiment, id);
set_pev(gEnt[id], pev_rendermode, kRenderNormal);
}

engfunc(EngFunc_SetModel, gEnt[id], model);
set_pev(gEnt[id], pev_body, ArrayGetCell(gBody, anum));
}


Отредактировал: soneekk, - 18.2.2015, 13:10
Причина: Выдано устное предупреждение!
Прикрепленные файлы:
Прикрепленный файл  addons.rar ( 7,97 килобайт ) Кол-во скачиваний: 16
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   Цитировать сообщение
Статус пользователя AndrewZ
сообщение 18.2.2015, 11:54
Сообщение #2


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

soneekk,
ha-ha, думаешь, что тут всё так просто?

Шапки "через сабмодель" делаются совсем по-другому. И это способ, кстати, гораздо легче.

Нужные модели шапок вшиваются в модель игрока по типу рюкзака с бомбой, а выставляются через pev_body.

Если никогда не имел дел с моделями и amxx, то это будет сделать достаточно непросто.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя soneekk
сообщение 18.2.2015, 12:22
Сообщение #3


Стаж: 13 лет

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

Цитата(AndrewZ @ 18.2.2015, 11:54) *
soneekk,
ha-ha, думаешь, что тут всё так просто?

Шапки "через сабмодель" делаются совсем по-другому. И это способ, кстати, гораздо легче.

Нужные модели шапок вшиваются в модель игрока по типу рюкзака с бомбой, а выставляются через pev_body.

Если никогда не имел дел с моделями и amxx, то это будет сделать достаточно непросто.



я уже имел дела с submodelami и знаю как эта делается, Просто надо было правильный код но эта уже не иметь смысла нашел рабочи плагин на польском сайте, то что мне надо.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя AndrewZ
сообщение 18.2.2015, 12:41
Сообщение #4


Иконка группы

Стаж: 18 лет
Город: Санкт-Петербург


Сообщений: 4700
Благодарностей: 2452
Полезность: 1018

Цитата(soneekk @ 18.2.2015, 14:22) *
я уже имел дела с submodelami и знаю как эта делается, Просто надо было правильный код но эта уже не иметь смысла нашел рабочи плагин на польском сайте, то что мне надо.

А зачем вы удаляете свои сообщения? Решил проблему и всё? Напишите тогда, как решили проблему, чтобы другие пользователи тоже могли решить её, воспользовавшись вашим опытом.


Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Bloo
сообщение 18.2.2015, 12:43
Сообщение #5


Стаж: 12 лет

Сообщений: 15547
Благодарностей: 6971
Полезность: 1206

!
Форум предназначен не только для вас, но и для других пользователей.
Решили свою проблему - поделитесь решением со всеми.
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя soneekk
сообщение 18.2.2015, 13:10
Сообщение #6


Стаж: 13 лет

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

Цитата(AndrewZ @ 18.2.2015, 12:41) *
А зачем вы удаляете свои сообщения? Решил проблему и всё? Напишите тогда, как решили проблему, чтобы другие пользователи тоже могли решить её, воспользовавшись вашим опытом.



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