Главная | Комментарии | О проекте
Чтение RSS
Суперсайт
Главная Контакты Карта сайта Добавить в избранное
  • Кто OnLine

    Всего на сайте: 8
    Гостей: 5
    Пользователи: - отсутствуют
    Роботы: Yandex Bot, robot Bot, Yandex Bot

    Опрос пользователей

    Для какого мода Вы пишите плагины?

    • Популярное

    Рекомендуем

    • AMX Mod X
    • up.org.ua

    Наши друзья


  • Автор: Admin Дата: 23-10-2011, 00:56 Просмотров: 3249

    entity_set_float Функция устанавливает значения констант с плавающей точкой объекту

    Из заголовка уже становится понятно, что делает данная функция, но что же это за константы?
    Список этих констант представлен в синтаксисе данной функции, но описания к каждой константе я не знаю и у меня его нет.
    По этому вам придется немного потрудиться посикать к ним описание или пробовать методом "научного клика".

    Инфо из engine.inc:
    /* Sets/gets things in an entities Entvars Struct. */
    native entity_set_float(iIndex, iKey, Float:iVal);


    Синтаксис:
    entity_set_float ( entity, key, Float:value )

    • entity - id объекта
    • key - Ключ или какой константе задаем значение.
      enum {
          EV_FL_impacttime = 0,
          EV_FL_starttime,
          EV_FL_idealpitch,
          EV_FL_pitch_speed,
          EV_FL_ideal_yaw,
          EV_FL_yaw_speed,
          EV_FL_ltime,
          EV_FL_nextthink,
          EV_FL_gravity,
          EV_FL_friction,
          EV_FL_frame,
          EV_FL_animtime,
          EV_FL_framerate,
          EV_FL_health,
          EV_FL_frags,
          EV_FL_takedamage,
          EV_FL_max_health,
          EV_FL_teleport_time,
          EV_FL_armortype,
          EV_FL_armorvalue,
          EV_FL_dmg_take,
          EV_FL_dmg_save,
          EV_FL_dmg,
          EV_FL_dmgtime,
          EV_FL_speed,
          EV_FL_air_finished,
          EV_FL_pain_finished,
          EV_FL_radsuit_finished,
          EV_FL_scale,
          EV_FL_renderamt,
          EV_FL_maxspeed,
          EV_FL_fov,
          EV_FL_flFallVelocity,
          EV_FL_fuser1,
          EV_FL_fuser2,
          EV_FL_fuser3,
          EV_FL_fuser4,
      }

    • Float:value - Устанавливаемое значение


    Тип функции:
    Native

    Пример:
    /* Plugin generated by AMXX-Studio */

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

    #define PLUGIN "[engine.inc] entity_set_float"
    #define VERSION "1.0"
    #define AUTHOR "Admin"

    new g_Model[] = {"models/chick.mdl"}

    public plugin_init() {
        register_plugin(PLUGIN, VERSION, AUTHOR)
        register_clcmd("say /chick","add_chicken")
    }
    public plugin_precache(){
        precache_model(g_Model)
    }
    public add_chicken(id){
        
        new Ent = create_entity("info_target")
        
        if(is_valid_ent(Ent)){
            
            entity_set_model(Ent, g_Model)
            entity_set_size(Ent,Float:{0.0,0.0,0.0},Float:{50.0,50.0,50.0})
            new Float:f_Origin[3]
            entity_get_vector(id, EV_VEC_origin, f_Origin)    
            f_Origin[0] += 50.0
            entity_set_origin(Ent, f_Origin)        
            entity_set_int(Ent,EV_INT_solid,SOLID_BBOX)

            entity_set_float(Ent, EV_FL_takedamage, DAMAGE_YES)
            
            drop_to_floor(Ent)
        }
    }


    Описание:
    Если вы читали об остальных функциях данного модуля, то уже заметили, что мы постепенно "собираем" курицу и наделяем ее свойствами.
    С помощью данной функции можно сделать что бы курицу можно было убить, то есть что бы она получала урон. Разумеется можно много чего еще сделать, но это я оставлю вам на эксперименты.

    И так к делу, если вы в данном примере встретили не известные функции, то сначала рекомендую изучить их, что бы было понятнее что там за непонятные "матные" слова.
    И так, если вы читаете дальше, будем считать что вы прочитали все необходимое, перейдем сразу к функции:
    entity_set_float(Ent, EV_FL_takedamage, DAMAGE_YES)

    • Ent - id объекта
    • EV_FL_takedamage - Константа которая отвечает за получение урона объектом
    • DAMAGE_YES - Значение.( получать урон или 1.0)


    Теперь созданная курица стоит перед нами и ждет когда же ее кто нибудь пристрелит.
    Но увы, при попадании вы ни чего не увидите. кроме как что она исчезнет.
    Что бы добавить звука или крови, придется отлавливать событие смерти объекта (курицы) и там уже создавать кровь или другие эффекты.
    Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
    Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
    артист

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    Что означает "плавающая точка"?
    То, что координаты меняются?
    Или то, что координаты дробные?
    Admin

    30.07.2011
    ICQ: 980500
    Публикаций: 507
    Комментариев: 333
    Репутация: -  58  +

    Дробное число.
    --------------------
    OtherWorld

    --
    ICQ: --
    Публикаций: 0
    Комментариев: 0
    Репутация: -  0  +

    EV_FL_nextthink что это???

    entity_set_float(sprite,EV_FL_nextthink, get_gametime() + 0.1);

    Такое часто вижу но хз почему так и что оно делает -_- Кому не сложно разясните
    Radius

    7.05.2013
    ICQ: 357188115
    Публикаций: 1
    Комментариев: 57
    Репутация: -  4  +

    Если быстро и просто, это переменная entity типа Float, в которой хранится время следующего вызова Think функции entity. В Think функции как правило описана логика работы entity, поэтому она и называется think, что в переводе с английского означает думать, обдумывать.

    Информация

    Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
Наверх

Реклама