Создать круг видный только одной команде
| |
OXIZ
|
Дата: Вторник, 27.05.2014, 17:21:34 | Сообщение # 1 |
|
Сообщений: 13
Репутация: 2 [ +/- ]
|
|
Как создать круг который будет виден только одной команде ?
|
|
| |
хвостег
|
Дата: Вторник, 27.05.2014, 17:36:12 | Сообщение # 2 |
|
Сообщений: 161
Репутация: 53 [ +/- ]
|
|
SDKHook_SetTransmit гугли...
|
|
| |
BarD
|
Дата: Среда, 28.05.2014, 11:39:37 | Сообщение # 3 |
|
Сообщений: 943
Репутация: 137 [ +/- ]
|
|
Зачем же так? Легким движением мозга создаем круг :D
Код public OnMapStart() { g_BeamSprite = PrecacheModel("materials/sprites/glow08.vmt");//Готовим спрайты для круга g_HaloSprite = PrecacheModel("materials/sprites/glow08.vmt"); //И свечения }
//тут блок, который тебе нужен. new Float:pos[3]; GetClientAbsOrigin(client, pos);//Получаем позицию игрока под ногами
TE_SetupBeamRingPoint(pos, 150.0, 150.1, g_BeamSprite, g_HaloSprite, 0, 15, 1.0, 2.0, 0.0, {255, 0, 0, 255}, 10, 1); //pos - позиция игрока //150.0 - начальный диаметр //150.1 - конечный диаметр. Как ты мог заметить, начальный и конечный диаметры совпадают. Это нужно для получения стабильного круга. //g_BeamSprite - спрайт маяка //g_HaloSprite - спрайт свечения //1.0 - время жизни маяка //2.0 - ширина линии //0.0 - колебания //{255, 0, 0, 255} - цвет //10 - скорость мерцания
for new (i = 0; i <= MaxClients; i++) //Вычисляем для каждого игрока его команду. И если она совпадает с командой вызывавшего круг игрока, то делаем для него видимым круг. { if (GetClientTeam(client) == GetClientTeam(i)) //Здесь client - это тот, кто вызывает круг. { TE_SendToClient(i); } }
|
|
| |
«SeReGa»☆
|
Дата: Пятница, 13.06.2014, 20:52:21 | Сообщение # 4 |
|
Сообщений: 395
Репутация: 37 [ +/- ]
|
|
а как показать Trail только одной команде???Добавлено (13.06.2014, 20:52:21) ---------------------------------------------
Код new Trail=CreateEntityByName("env_spritetrail"); DispatchKeyValueVector(Trail,"origin",pos); //Подготавливаем спавн в точке ног DispatchKeyValue(Trail,"lifetime","1"); //Время жизни DispatchKeyValue(Trail,"startwidth","5.0"); //Начальная ширина 1.0 DispatchKeyValue(Trail,"endwidth","2.0"); //Конечная тоже DispatchKeyValue(Trail,"spritename","materials/sprites/laserbeam.vmt"); //Спрайт такой. Заранее прекэшнутый. DispatchKeyValue(Trail,"rendermode","1"); //Видимый DispatchKeyValue(Trail,"rendercolor",Rcol); DispatchKeyValue(Trail,"renderamt","100"); //Полностью непрозрачен DispatchSpawn(Trail); //Спавним SetVariantString("!activator"); AcceptEntityInput(Trail,"SetParent", entity, Trail, 0); AcceptEntityInput(Trail,"TurnOn"); SetVariantString("OnUser1 !self:kill::10.1:1"); AcceptEntityInput(Trail,"AddOutput"); AcceptEntityInput(Trail,"FireUser1");
|
|
| |
Darkeneez
|
Дата: Пятница, 13.06.2014, 21:07:58 | Сообщение # 5 |
|
Сообщений: 221
Репутация: 18 [ +/- ]
|
|
Код new Trail=CreateEntityByName("env_spritetrail"); DispatchKeyValueVector(Trail,"origin",pos); //Подготавливаем спавн в точке ног DispatchKeyValue(Trail,"lifetime","1"); //Время жизни DispatchKeyValue(Trail,"startwidth","5.0"); //Начальная ширина 1.0 DispatchKeyValue(Trail,"endwidth","2.0"); //Конечная тоже DispatchKeyValue(Trail,"spritename","materials/sprites/laserbeam.vmt"); //Спрайт такой. Заранее прекэшнутый. DispatchKeyValue(Trail,"rendermode","1"); //Видимый DispatchKeyValue(Trail,"rendercolor",Rcol); DispatchKeyValue(Trail,"renderamt","100"); //Полностью непрозрачен DispatchSpawn(Trail); //Спавним SetVariantString("!activator"); AcceptEntityInput(Trail,"SetParent", entity, Trail, 0); AcceptEntityInput(Trail,"TurnOn"); SetVariantString("OnUser1 !self:kill::10.1:1"); AcceptEntityInput(Trail,"AddOutput"); AcceptEntityInput(Trail,"FireUser1"); SetEntPropEnt(Trail, Prop_Send, "m_hOwnerEntity", client); //Создаем "Хозяина" для трейла SDKHook(Trail, SDKHook_SetTransmit, Hide);//Хукаем трейл, для передачи игрокам public Action:Hide(entity, client) { new owner = GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity");//Получаем userid хозяина if (owner != -1 && GetClientTeam(owner) != GetClientTeam(client)) //Если команды не равны блокируем return Plugin_Handled; return Plugin_Continue; }
|
|
| |
|