Fakemeta Utilities
|
|
VEN | Дата: Четверг, 14.12.2006, 09:40:34 | Сообщение # 1 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| "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) |
Сообщение отредактировал VEN - Понедельник, 08.01.2007, 20:27:40 |
|
| |
slogic | Дата: Четверг, 14.12.2006, 12:08:46 | Сообщение # 2 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Оу будет включен Байлопаном в след. релиз?
|
|
| |
VEN | Дата: Суббота, 06.01.2007, 01:25:27 | Сообщение # 3 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Нет - вероятно, передумал... Причина?.. Есть пару предположнеий, но это не иммеет значения. Я способен понять его позицию...Добавлено (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
Статус: Не в сети
| Улучшены/добавлены некоторые "комменты" к существующим функциям, добавлены новые функции: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
Статус: Не в сети
| Посмотрел код fm_get_user_weapon_entity(). Ты мне много времени сэкономил Оружие класса "weapon_xxx" оказывается всегда отдельная сущность со своим ID, и искать его ВСЕГДА приходится по owner. Мне как раз надо было узнать, включен ли режим burst для текущего оружия у игрока.
|
|
| |
slogic | Дата: Суббота, 20.01.2007, 23:48:12 | Сообщение # 6 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| VEN, в stock fm_fakedamage(victim, const classname[], Float:takedmgdamage, damagetype) зачем Float используется для takedmgdamage? Мне кажется это необоснованным. ЗЫ. в FM_PlayerPostThink функция fm_fakedamage реально не отнимает энергию. Лишь слышно как больно игроку. PSS. Проблема решена. Я передавал в параметр takedmgdamage (что-то название длинное ) целый тип как Float:dmg, а надо было как float(dmg).
Сообщение отредактировал slogic - Воскресенье, 21.01.2007, 02:41:11 |
|
| |
VEN | Дата: Воскресенье, 21.01.2007, 15:15:12 | Сообщение # 7 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Возможно, это и не обосновано, но типы данных в прототипах функций менять недопустимо для обеспечения backward compatibility.
Сообщение отредактировал VEN - Воскресенье, 21.01.2007, 15:17:23 |
|
| |
slogic | Дата: Понедельник, 22.01.2007, 12:17:44 | Сообщение # 8 |
Генералиссимус
Группа: Админы
Сообщений: 1941
Статус: Не в сети
| Я кстати понял почему inc файл не будет включен. Потому что в циклах ряд функций использовать недопустимо или неэффективно.
|
|
| |
VEN | Дата: Понедельник, 22.01.2007, 13:35:07 | Сообщение # 9 |
AMXX-Скриптинг-Эксперт
Группа: Админы
Сообщений: 1892
Статус: Не в сети
| Да нет, не по этому, не вижу смысла. Я, кстати, планирую static переменные включать...
|
|
| |