Наложение sprite/entity на игрока
|
|
Loco
|
Дата: Воскресенье, 27.07.2014, 22:54:46 | Сообщение # 1 |
|
Сообщений: 42
Репутация: 0 [ +/- ]
|
|
Всем доброго времени суток!
Не подскажет кто - как наложить на спину, туловище игрока спрайт? Причем чтобы этот спрайт можно было двигать, например, по телу, влево - вправо, вверх - вниз.
Нашел такие энтити - env_glow (двигать нельзя) - env_sprite (тоже нельзя) - env_sprite_oriented - вот это меня больше всего заинтересовало, там есть специальный keyvalues, позволяющий определить положение (X,Y,Z) спрайта. https://developer.valvesoftware.com/wiki/Env_sprite_oriented (не реклама)
Подскажите, как наложить этот спрайт и как двигать его по телу? Заранее спасибо.
|
|
| |
horr0r
|
Дата: Понедельник, 28.07.2014, 02:49:38 | Сообщение # 2 |
|
Сообщений: 149
Репутация: 40 [ +/- ]
|
|
Loco, все энтити можно двигать. Просто создаешь энтити рядом с позицией игрока. Двигаешь на нужную позицию. Ставишь родителем игрока и все.
|
|
| |
BarD
|
Дата: Понедельник, 28.07.2014, 04:58:23 | Сообщение # 3 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Двигать можно через Код TeleportEntity(entity, pos, ang, vel);
entity - индекс энтити (Целое число) pos - позиция, куда переместить(Float массив из 3 элементов. X,Y,Z. Например new Float:pos[3];) ang - на какой угол повернуть(Тоже Float массив из 3) vel - это если тебе надо толкать объект. Это сила толчка (Float число)
Простое перемещение без вращения и толчка будет выглядеть так:
Код TeleportEntity(entity, pos, NULL_VECTOR, NULL_VECTOR);
NULL_VECTOR - это значит не задействовать этот параметр.
Тебе нужно поиграться с координатами, по перемещать энтити и найти нужную позицию. Сегодня попробую это сделать)
Сообщение отредактировал BarD - Понедельник, 28.07.2014, 05:02:55 |
|
| |
Loco
|
Дата: Понедельник, 28.07.2014, 19:52:09 | Сообщение # 4 |
|
Сообщений: 42
Репутация: 0 [ +/- ]
|
|
BarD, Спасибо, посмотрю.
Надо и вправду похимичить немного с координатами (на ногу, на руки, туловище и т.д.)
А когда игрок будет бегать, эти энтити не будут сдвигаться с места?
|
|
| |
BarD
|
Дата: Вторник, 29.07.2014, 06:23:26 | Сообщение # 5 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Если привяжешь к игроку, то они за игроком гонять будут)
|
|
| |
|
Loco
|
Дата: Вторник, 29.07.2014, 19:06:12 | Сообщение # 7 |
|
Сообщений: 42
Репутация: 0 [ +/- ]
|
|
BarD, Вай, спасибо! Лови в репу + )
|
|
| |
BarD
|
Дата: Вторник, 29.07.2014, 19:23:42 | Сообщение # 8 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Loco, не за что :)
|
|
| |
PlaN4ik
|
Дата: Вторник, 29.07.2014, 22:05:34 | Сообщение # 9 |
|
Сообщений: 33
Репутация: -7 [ +/- ]
|
|
BarD, напишите пожалуйста ваши контакты в лс. Есть предложение..
|
|
| |
«SeReGa»☆
|
Дата: Среда, 30.07.2014, 15:10:25 | Сообщение # 10 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
BarD, как сделать так чтобы спрайт видели все кроме того человека кому он принадлежыт?
|
|
| |
BarD
|
Дата: Среда, 30.07.2014, 16:20:28 | Сообщение # 11 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
«SeReGa»☆, Не помню, как делается видимость для одного игрока. Как узнаешь функцию, используй этот алгоритм:
Код stock CreateSprite(client) { //Создаем спрайт //И после всех функций создания спрайта создаем цикл по всем игрокам
for (new i=1;i<=MaxClients;i++) { if (IsClientInGame(i) && i && i != client) // Для всех игроков, чей индекс не равен индексу клиента, на котором спрайт { // Функция показа спрайта для одного клиента } } }
Таким образом цикл проходит по всем игрокам, и если индекс текущего игрока в цикле НЕ равен индексу игрока, на котором спрайт, то для него делается видимым спрайт. И в результате этого цикла спрайт станет видимым для всех, кроме игрока, на котором спрайт.
|
|
| |
«SeReGa»☆
|
Дата: Среда, 30.07.2014, 19:30:27 | Сообщение # 12 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
BarD, ничего не могу понять .. данная тема здесь поможет?
|
|
| |
BarD
|
Дата: Среда, 30.07.2014, 19:46:13 | Сообщение # 13 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
«SeReGa»☆, да, подойдёт. Последний пост Darkneez'а. Условие надо изменить на такое: Код if (owner != -1 && owner == client)
И, соответственно, не spritetrail, а под env_sprite все настроишь)
Сообщение отредактировал BarD - Среда, 30.07.2014, 19:47:00 |
|
| |
«SeReGa»☆
|
Дата: Среда, 30.07.2014, 19:55:17 | Сообщение # 14 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
Спасибо попробую..
|
|
| |