AMX MOD X
Пятница, 29.03.2024, 17:08:41



Приветствую Вас Гость | RSS
[ Главная ] [ Fakemeta Utilities - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Скрипты » Fakemeta Utilities (Пытаетесь перейти на FM? - этот зверек станет вашим другом!)
Fakemeta Utilities
VENДата: Четверг, 14.12.2006, 09:40:34 | Сообщение # 1
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
"Fakemeta Utilities" - это набор функций и макросов для Fakemeta модуля.

На данный момент портированы почти все engine и fun native функции, также полностью портированы engine stock функции.

Также мной были написаны следующие дополнительные функции:
Code
bool:fm_is_in_viewcone(index, const Float:point[3])
bool:fm_is_visible(index, const Float:point[3])
fm_set_kvd(entity, const key[], const value[], const class[] = "")
fm_find_ent_by_integer(index, pev_field, value)
fm_find_ent_by_flags(index, pev_field, flags)
Float:fm_distance_to_box(Float:point[3], Float:mins[3], Float:maxs[3])
Float:fm_boxes_distance(Float:mins1[3], Float:maxs1[3], Float:mins2[3], Float:maxs2[3])
Float:fm_distance_to_boxent(ent, boxent)
Float:fm_boxents_distance(boxent1, boxent2)
fm_get_user_weapon_entity(id, wid = 0)
fm_kill_entity(index)
bool:fm_strip_user_gun(index, wid = 0, const wname[] = "")
bool:fm_transfer_user_gun(index1, index2, wid = 0, const wname[] = "")
Float:fm_distance_to_floor(index)
bool:fm_is_ent_visible(index, entity)
fm_get_aim_origin(index, Float:origin[3])
bool:fm_get_user_longjump(index)
fm_set_user_longjump(index, bool:longjump = true, bool:tempicon = true)
bool:fm_get_user_suit(index)
fm_set_user_suit(index, bool:suit = true, bool:sound = true)
fm_cs_remove_decals(index = 0)
bool:fm_is_ent_classname(index, const classname[])
fm_user_kill(index, flag = 0)
Float:fm_get_view_angle_diff(index, const Float:point[3])
fm_get_weaponbox_type(entity)
fm_remove_weaponbox(entity)

Прикрепления: 87667532.zip (6.1 Kb)


Сообщение отредактировал VEN - Понедельник, 08.01.2007, 20:27:40
 
slogicДата: Четверг, 14.12.2006, 12:08:46 | Сообщение # 2
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Оу будет включен Байлопаном в след. релиз?
 
VENДата: Суббота, 06.01.2007, 01:25:27 | Сообщение # 3
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Нет - вероятно, передумал...
Причина?..
Есть пару предположнеий, но это не иммеет значения.
Я способен понять его позицию...

Добавлено (2007-01-06, 1:25 Am)
---------------------------------------------
Обновление. Changelog: http://forums.alliedmods.net/showthread.php?p=424069#post424069

 
VENДата: Понедельник, 08.01.2007, 20:32:00 | Сообщение # 4
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Улучшены/добавлены некоторые "комменты" к существующим функциям, добавлены новые функции:
Code
// returns a degree angle between player-to-point and player's view vectors
stock Float:fm_get_view_angle_diff(index, const Float:point[3])

Code
// gets a weapon type of the linked to weaponbox weapon_* entity
stock fm_get_weaponbox_type(entity)

Code
// safe removal of weaponbox+weapon_* entity pair (delay =~= 0.03 second)
#define fm_remove_weaponbox(%1) dllfunc(DLLFunc_Think, %1)
/* stock fm_remove_weaponbox(entity) */

Full changelog: http://forums.alliedmods.net/showthread.php?p=424069#post424069

 
slogicДата: Вторник, 09.01.2007, 02:31:51 | Сообщение # 5
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Посмотрел код fm_get_user_weapon_entity(). Ты мне много времени сэкономил smile Оружие класса "weapon_xxx" оказывается всегда отдельная сущность со своим ID, и искать его ВСЕГДА приходится по owner. Мне как раз надо было узнать, включен ли режим burst для текущего оружия у игрока.
 
slogicДата: Суббота, 20.01.2007, 23:48:12 | Сообщение # 6
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
VEN, в stock fm_fakedamage(victim, const classname[], Float:takedmgdamage, damagetype) зачем Float используется для takedmgdamage? Мне кажется это необоснованным.

ЗЫ. в FM_PlayerPostThink функция fm_fakedamage
реально не отнимает энергию. Лишь слышно как больно игроку.

PSS. Проблема решена. Я передавал в параметр takedmgdamage (что-то название длинное wink ) целый тип как Float:dmg, а надо было как float(dmg).

Сообщение отредактировал slogic - Воскресенье, 21.01.2007, 02:41:11
 
VENДата: Воскресенье, 21.01.2007, 15:15:12 | Сообщение # 7
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Возможно, это и не обосновано, но типы данных в прототипах функций менять недопустимо для обеспечения backward compatibility.

Сообщение отредактировал VEN - Воскресенье, 21.01.2007, 15:17:23
 
slogicДата: Понедельник, 22.01.2007, 12:17:44 | Сообщение # 8
Генералиссимус
Группа: Админы
Сообщений: 1941
Репутация: 47
Статус: Не в сети
Я кстати понял почему inc файл не будет включен. Потому что в циклах ряд функций использовать недопустимо или неэффективно.
 
VENДата: Понедельник, 22.01.2007, 13:35:07 | Сообщение # 9
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Репутация: 45
Статус: Не в сети
Да нет, не по этому, не вижу смысла. Я, кстати, планирую static переменные включать...
 
AMX Mod X Форум » Скриптинг » Скрипты » Fakemeta Utilities (Пытаетесь перейти на FM? - этот зверек станет вашим другом!)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024