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

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

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

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

Hats

, Шляпы
Статус пользователя Sacred
сообщение 13.8.2007, 16:12
Сообщение #1


Стаж: 19 лет

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

Вы можете носить шляпы в CS :)

Команда:
say /hats - меню с выбором шляп.

На скрине показан вертолет, на него не обращать внимания, просто я сам тестировал плагин и надо было как-то заснять скрин со стороны.

Прикрепленное изображениеПрикрепленное изображениеПрикрепленное изображение

Прикрепленный файл  HatsAndINI.zip ( 311,51 килобайт ) Кол-во скачиваний: 763
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 7 раз
   Цитировать сообщение
Статус пользователя Sacred
сообщение 26.10.2007, 10:27
Сообщение #2


Стаж: 19 лет

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

Добавил новые шляпы:
Afro - Афро прическа
arrow - стрела торчит из головы
cheeshead - сырная голова
Darth - маска Дарта Вейдера из Звездных Войн
Dodgerscap - кепка команды доджеров
giantscap - кепка команды гаинтов
hellowen - хз как описать
pillsbury - хз как описать
Santa - головной убор деда мороза
televizor - телек на голове
ushanka - Русская шапка-ушанка!

Установка
Все модели кинуть в папку cstrike/models/hat/
И дописать в hatslist.ini следующие строки
Код
"models/hat/afro.mdl" "Afro"
"models/hat/arrow.mdl" "arrow"
"models/hat/cheesehead.mdl" "cheeshead"
"models/hat/darth.mdl" "Darth"
"models/hat/dodgerscap.mdl" "Dodgerscap"
"models/hat/giantscap.mdl" "giantscap.mdl"
"models/hat/jackolantern.mdl" "hellowen"
"models/hat/pillsburyhat.mdl" "pillsbury"
"models/hat/santahat.mdl" "Santa"
"models/hat/tv.mdl" "televizor"
"models/hat/ushanka.mdl" "ushanka"


Прикрепленное изображениеПрикрепленное изображение

Прикрепленный файл  Hatsmodels.zip ( 514,49 килобайт ) Кол-во скачиваний: 344
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 2 раз
   + Цитировать сообщение
Статус пользователя KISLIY
сообщение 21.11.2007, 1:39
Сообщение #3


Стаж: 18 лет

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

Sacred

Подскажи админские комманды, чтобы надеть всем шляпы, или убрать!

Кстати, код какой то странный? Зачем Rcon?

Код
register_concmd("amx_givehat", "Give_Hat", ADMIN_RCON, "<nick> <mdl #>")
register_concmd("amx_removehats", "Remove_Hat", ADMIN_RCON, " - Removes hats from everyone.")


А так плагин угар, мне оч. понравилось! И с серваком дружит :)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя jas0n
сообщение 21.11.2007, 11:00
Сообщение #4


Стаж: 19 лет

Сообщений: 878
Благодарностей: 385
Полезность: 688

Команды, "Надеть всем" нет, только amx_givehat которая дает шляпу определенному игроку и amx_removehats, которая снимает со всех. А в коде нет ничего странного, просто эти команды подсилу исполнить только игрокам с флагом 'l' (ADMIN_RCON).
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя KISLIY
сообщение 21.11.2007, 14:12
Сообщение #5


Стаж: 18 лет

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

Цитата(jas0n @ 21.11.2007, 9:00) *
Команды, "Надеть всем" нет, только amx_givehat которая дает шляпу определенному игроку и amx_removehats, которая снимает со всех. А в коде нет ничего странного, просто эти команды подсилу исполнить только игрокам с флагом 'l' (ADMIN_RCON).


А нельзя никак код подравить, чтобы можно было вот так надевать:

amx_givehat <Nick> <Шляпа>

И аналогично убрать!

amx_removehat <Nick>

Я в этом не шарю :) Но стараюсь что-то понять :)

И еще, не подскажите, как сделать чтоб шляпы могли покупать тока админы и модеры! Уж очень они всем понравились
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя wth.JACKSON
сообщение 25.4.2008, 5:32
Сообщение #6


Стаж: 18 лет

Сообщений: 257
Благодарностей: 66
Полезность: 215

Зделайте какието новинкие шапочки)
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя foreverever
сообщение 18.5.2008, 22:57
Сообщение #7


Стаж: 18 лет

Сообщений: 60
Благодарностей: 3
Полезность: 43

А моно какнить сделать,чтобы сразу как зашол на сервак енче не прописовая у СТ были крылья и аура а у Терров были рожки и хвост?!
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя op1um
сообщение 9.10.2008, 14:31
Сообщение #8


Стаж: 18 лет

Сообщений: 146
Благодарностей: 33
Полезность: 182

поставил этот плагин, а он некоректо работает. Вижу список из 8 шляп, нажимаю на 9 (продолжить) и нифига.

Есть какието варианты?

модели не приклеплял
Прикрепленные файлы:
Прикрепленный файл  hats.rar ( 776,47 килобайт ) Кол-во скачиваний: 37
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя K-s-e-o-n
сообщение 10.10.2008, 22:56
Сообщение #9
Стаж: 17 лет

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

народ а как сделать чтобы модель дьявола давалась всегда при заходе на сервер тока мне!!! А то прописывать постоянно как то надоедает (
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя SHYLLER
сообщение 4.12.2008, 5:12
Сообщение #10


Стаж: 19 лет

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

Меценат Меценат

А можно сделать как санта модель привязку по ip или админке определенную шапку чтобы игрок заходил и у него была эта шапка?например я хочю всем поставить шапку санты а 1 админу пакет одеть на голову
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Striker.By
сообщение 25.12.2008, 23:19
Сообщение #11


Стаж: 18 лет

Сообщений: 1332
Благодарностей: 334
Полезность: 500

подскажите где еще шапочек скачать?
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dante's
сообщение 15.12.2010, 16:17
Сообщение #12
Стаж: 15 лет

Сообщений: 98
Благодарностей: 90
Полезность: 370

Скажите пожалуйста как в исходнике прописать флаг доступа для команды "say /hats" blush2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Rejiser
сообщение 15.12.2010, 19:34
Сообщение #13


Стаж: 15 лет

Сообщений: 2261
Благодарностей: 1068
Полезность: 870

Цитата(Dante's @ 15.12.2010, 17:17) *
Скажите пожалуйста как в исходнике прописать флаг доступа для команды "say /hats" blush2.gif

исходник выложи
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя Dante's
сообщение 15.12.2010, 21:54
Сообщение #14
Стаж: 15 лет

Сообщений: 98
Благодарностей: 90
Полезность: 370

Цитата(Rejiser @ 15.12.2010, 20:34) *
исходник выложи

"Исходник"
Код
#include <amxmodx>
#include <amxmisc>
#include <fakemeta>

new g_bwEnt[33]

#define PLUG_NAME "HATS"
#define PLUG_AUTH "SgtBane"
#define PLUG_VERS "0.2"
#define PLUG_TAG "HATS"

#define menusize     220

new HatFile[64]
new MenuPages, TotalHats
new CurrentMenu[33]

#define MAX_HATS 64
new HATMDL[MAX_HATS][41]
new HATNAME[MAX_HATS][41]

public plugin_init()
{
    register_plugin(PLUG_NAME, PLUG_VERS, PLUG_AUTH)
    register_concmd("amx_givehat", "Give_Hat", ADMIN_RCON, "<nick> <mdl #>")
    register_concmd("amx_removehats", "Remove_Hat", ADMIN_RCON, " - Removes hats from everyone.")
    register_menucmd(register_menuid("\yHat Menu: [Page"),(1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9),"MenuCommand")
    register_clcmd("say /hats",        "ShowMenu", -1, "Shows Knife menu")
}

public ShowMenu(id)
{
    CurrentMenu[id] = 1
    ShowHats(id)
    return PLUGIN_HANDLED
}

public ShowHats(id)
{
    new keys = (1<<0|1<<1|1<<2|1<<3|1<<4|1<<5|1<<6|1<<7|1<<8|1<<9)
    
    new szMenuBody[menusize + 1], WpnID
    new nLen = format(szMenuBody, menusize, "\yHat Menu: [Page %i/%i]^n",CurrentMenu[id],MenuPages)
    
    // Get Hat Names And Add Them To The List
    for (new hatid=0; hatid < 8; hatid++) {
        WpnID = ((CurrentMenu[id] * 8) + hatid - 8)
        if (WpnID < TotalHats) {
            nLen += format(szMenuBody[nLen], menusize-nLen, "^n\w %i. %s",hatid + 1,HATNAME[WpnID])
        }
    }
    
    // Next Page And Previous/Close
    if (CurrentMenu[id] == MenuPages) {
        nLen += format(szMenuBody[nLen], menusize-nLen, "^n^n\d9. Next Page")
    } else {
        nLen += format(szMenuBody[nLen], menusize-nLen, "^n^n\w9. Next Page")
    }
    
    if (CurrentMenu[id] > 1) {
        nLen += format(szMenuBody[nLen], menusize-nLen, "^n\w0. Previous Page")
    } else {
        nLen += format(szMenuBody[nLen], menusize-nLen, "^n\w0. Close")
    }
    show_menu(id, keys, szMenuBody, -1)
    return PLUGIN_HANDLED
}
public MenuCommand(id, key)
{
    switch(key)
    {
        case 8:        //9 - [Next Page]
        {
            if (CurrentMenu[id] < MenuPages) CurrentMenu[id]++
            ShowHats(id)
            return PLUGIN_HANDLED
        }
        case 9:        //0 - [Close]
        {
            CurrentMenu[id]--
            if (CurrentMenu[id] > 0) ShowHats(id)
            return PLUGIN_HANDLED
        }
        default:
        {
            new HatID = ((CurrentMenu[id] * 8) + key - 8)
            if (HatID < TotalHats) {
                Set_Hat(id,HatID,id)
            }
        }
    }
    return PLUGIN_HANDLED
}

public plugin_precache()
{
    new cfgDir[32]
    get_configsdir(cfgDir,31)
    formatex(HatFile,63,"%s/HatList.ini",cfgDir)
    command_load()
    
    for (new i = 1; i < TotalHats; ++i) {
        if (file_exists (HATMDL[i])) {
            precache_model(HATMDL[i])
            server_print("[%s] Precached %s",PLUG_TAG,HATMDL[i])
        } else {
            server_print("[%s] Failed to precache %s",PLUG_TAG,HATMDL[i])
        }
    }
}

public client_connect(id)
{
    if(g_bwEnt[id] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[id])
    g_bwEnt[id] = 0
}

public client_disconnect(id)
{
    if(g_bwEnt[id] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[id])
    g_bwEnt[id] = 0
}

public Give_Hat(id)
{
    new smodelnum[5], name[32]
    read_argv(1,name,31)
    read_argv(2,smodelnum,4)
    
    new player = cmd_target(id,name,2)
    if (!player) {
        client_print(id,print_chat,"[%s] Player With That Name Does Not Exist.",PLUG_TAG)
        return PLUGIN_HANDLED
    }
    
    new imodelnum = (str_to_num(smodelnum))
    if (imodelnum > MAX_HATS) return PLUGIN_HANDLED
    
    Set_Hat(player,imodelnum,id)

    return PLUGIN_CONTINUE
}

public Remove_Hat(id)
{
    for (new i = 0; i < get_maxplayers(); ++i) {
        if (is_user_connected(i) && g_bwEnt[i] > 0) {
            engfunc(EngFunc_RemoveEntity,g_bwEnt[i])
            g_bwEnt[i] = 0
        }
    }
    client_print(id,print_chat,"[%s] Removed hats from everyone.",PLUG_TAG)
    return PLUGIN_CONTINUE
}

public Set_Hat(player,imodelnum,targeter)
{
    new name[32]
    get_user_name(player, name, 31)
    if (imodelnum == 0) {
        if(g_bwEnt[player] > 0) engfunc(EngFunc_RemoveEntity,g_bwEnt[player])
        g_bwEnt[player] = 0
        client_print(targeter, print_chat, "[%s] Removed hat from %s",PLUG_TAG,name)
    } else if (file_exists(HATMDL[imodelnum])) {
        if(g_bwEnt[player] < 1) {
            g_bwEnt[player] = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, "info_target"))
            if(g_bwEnt[player] > 0)
            {
                set_pev(g_bwEnt[player], pev_movetype, MOVETYPE_FOLLOW)
                set_pev(g_bwEnt[player], pev_aiment, player)
                set_pev(g_bwEnt[player], pev_rendermode, kRenderNormal)
                set_pev(g_bwEnt[player], pev_renderamt, 0.0)
                engfunc(EngFunc_SetModel, g_bwEnt[player], HATMDL[imodelnum])
            }
        } else {
            engfunc(EngFunc_SetModel, g_bwEnt[player], HATMDL[imodelnum])
        }
        client_print(targeter, print_chat, "[%s] Set %s on %s",PLUG_TAG,HATNAME[imodelnum],name)
    }
}

public command_load()
{
    if(file_exists(HatFile)) {
        HATMDL[0] = ""
        HATNAME[0] = "None"
        TotalHats = 1
        new sfLineData[128]
        new file = fopen(HatFile,"rt")
        while(file && !feof(file)) {
            fgets(file,sfLineData,127)
            
            // Skip Comment and Empty Lines
            if (containi(sfLineData,";") > -1) continue
            
            // BREAK IT UP!
            parse(sfLineData, HATMDL[TotalHats],40,HATNAME[TotalHats],40)
            
            TotalHats += 1
            if(TotalHats >= MAX_HATS) {
                server_print("[%s] Reached hat limit",PLUG_TAG)
                break
            }
        }
        if(file) fclose(file)
    }
    MenuPages = floatround((TotalHats / 8.0), floatround_ceil)
    server_print("[%s] Loaded %i hats, Generated %i pages)",PLUG_TAG,TotalHats,MenuPages)
}
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 15.12.2010, 23:31
Сообщение #15
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

Dante's,
Код
register_clcmd("say /hats", "ShowMenu", -1, "Shows Knife menu")

>>>

Код
register_clcmd("say /hats", "ShowMenu", ADMIN_RCON, "Shows Knife menu")
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
Поблагодарили 1 раз
   + Цитировать сообщение
Статус пользователя Dante's
сообщение 16.12.2010, 2:24
Сообщение #16
Стаж: 15 лет

Сообщений: 98
Благодарностей: 90
Полезность: 370

Цитата(STR@TEG @ 16.12.2010, 0:31) *
Dante's,

Код
register_clcmd("say /hats", "ShowMenu", ADMIN_RCON, "Shows Knife menu")


Спасибо thank_you2.gif , я так понимаю это чтобы доступ получил админ с флагом "l". А если мне надо чтобы доступ к команде давался админам с флагом "d", то надо прописать ADMIN_BAN. Правильно? blush2.gif
Перейти в начало страницы         Просмотр профиля    Отправить личное сообщение
   + Цитировать сообщение
Статус пользователя STR@TEG
сообщение 16.12.2010, 3:43
Сообщение #17
Стаж: 16 лет

Сообщений: 4186
Благодарностей: 1763
Полезность: 837

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