|
Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/
|
Нужна помошъ в FakeMeta: Touch
|
|
| Koka | Дата: Понедельник, 08.09.2008, 20:05:35 | Сообщение # 1 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| Code register_forward(FM_Touch, "fwFMTouch")
publuc entity_sozdaisia() { new ent = fm_create_entity("info_target") set_pev(ent, pev_origin, bag_origins[id]) set_pev(ent, pev_classname, "some_bag") set_pev(ent, pev_solid, SOLID_TRIGGER) set_pev(ent, pev_scale, 0.2) // razmer set_pev(ent, pev_owner, id) }
public fwFMTouch(ent, id) { if(is_user_alive(id) && pev_valid(ent)) { static classname[32] pev(ent, pev_classname, classname, sizeof classname -1) if(equali(classname, "some_bag")) { ////lalalala new pid = pev(ent, pev_owner) } } }
создаю entity - обзываю ее "some_bag", но неполучается ее "взять" (тоесть как бы поднять когда в игре идещ) где "////lalalala" - до туда недоходит дело  Добавлено (2008-09-08, 8:05 Pm) --------------------------------------------- желательно без модуля engine напишите как должно быть 
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
Сообщение отредактировал Koka - Понедельник, 08.09.2008, 20:01:21 |
| |
|
|
| Brute | Дата: Понедельник, 08.09.2008, 20:50:38 | Сообщение # 2 |
 Генерал-полковник
Группа: Скриптеры
Сообщений: 1123
Статус: Не в сети
| Quote (Koka) pev(ent, pev_classname, classname, sizeof classname-1) скорее всего: а для начала лучше: pev(ent, pev_classname, classname, 31) зы не забудь удалить ентитю(если, конечно она должна исчезнуть после прикосновения).
|
| |
|
|
| Koka | Дата: Понедельник, 08.09.2008, 23:42:48 | Сообщение # 3 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| Quote (Brute) скорее всего: sizeof(classname)-1 а для начала лучше: pev(ent, pev_classname, classname, 31) да там неважно как минус 1 делать - pev(ent, pev_classname, classname, 31) pev(ent, pev_classname, sizeof classname -1) pev(ent, pev_classname, sizeof (classname) -1) pev(ent, pev_classname, sizeof(classname)-1) pev(ent, pev_classname, classname, 32 - 1) просто где идет подсчет а где уже готовое.. это не важно. Quote (Brute) зы не забудь удалить ентитю(если, конечно она должна исчезнуть после прикосновения) у меня после "////lalalala" уже все расписано, - у меня застой вот где - когда я встаю на эту энтити - она неопределяется как "ее можно брать", хотя в ее свойствах стоит set_pev(ent, pev_solid, SOLID_TRIGGER) // (1) Touch on edge, but not blocking тоесть она должна быть "тачем"
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
Сообщение отредактировал Koka - Понедельник, 08.09.2008, 23:44:40 |
| |
|
|
| DaTa | Дата: Вторник, 09.09.2008, 01:03:12 | Сообщение # 4 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| Brute, реально отмочил бреда про sizeof, который может сбить человека с толку. Koka, твоя энтитя безразмерна, юзай Eng_SetSize и смотри плагин bcm на официалке, больше ниче не могу с мобилы посоветовать)
|
| |
|
|
| Koka | Дата: Вторник, 09.09.2008, 04:10:32 | Сообщение # 5 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| Reason: Server shutting down L 09/09/2008 - 04:08:59: Server shutdown L 09/09/2008 - 04:08:59: Log file closed L 09/09/2008 - 04:08:59: FATAL ERROR (shutting down): Host_Error: WriteDest_Parm: not a client ошибка появляется при появлении энтити на месте это я добавил последнюю строчку: Quote new ent = engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString,"info_target")) set_pev(ent, pev_classname, "some_bag") set_pev(ent, pev_solid, SOLID_TRIGGER) set_pev(ent, pev_origin, myorigin[id]) set_pev(ent, pev_scale, 0.2) // razmer set_pev(ent, pev_owner, id) engfunc(EngFunc_SetSize, ent, Float: { -50.0, -50.0, -50.0 }, Float: { 50.0, 50.0, 50.0 })
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
Сообщение отредактировал Koka - Вторник, 09.09.2008, 04:13:56 |
| |
|
|
| DaTa | Дата: Вторник, 09.09.2008, 09:37:42 | Сообщение # 6 |
|
Генерал-полковник
Группа: Cупер-модеры
Сообщений: 1025
Статус: Не в сети
| Некоторые SOLID_* константы применимы только к bsp моделям, попробуй использовать, например, SOLID_BBOX. Насколько я помню, атрибут pev_scale применим только к энтитям с моделькой, он ее растягивает визуально, в Полезной информации есть описание этого атрибута.
|
| |
|
|
| Koka | Дата: Среда, 10.09.2008, 07:16:17 | Сообщение # 7 |
 Полковник
Группа: Пользователи
Сообщений: 169
Статус: Не в сети
| спасибо, все заработало: - удалил set_pev(ent, pev_scale, 0.2) - SOLID_* нетрогал - подправил код (при падении серва) - поставил так engfunc(EngFunc_SetSize, ent, Float: { 0.0, 0.0, 0.0 }, Float: { 0.0, 0.0, 0.0 })
стал ощущать рефлексы тоньше, оставаясь как всегда с идеей той же...
|
| |
|
|
 | AMX Mod X Russian Community © 2006-2026  |  |
|
| |