[ZR] Поиск плагина заморозки.

Сообщения
11
Реакции
0
Здравствуйте.
Есть ли в сети плагин заморозки для зомби сервера? Т.е заменяет световую гранату на замораживающую и действующую при касании.
P.s Плагин "Grenade Effects" не кидать.
 
Последнее редактирование:
Сообщения
11
Реакции
0
Александр Шемелин, http://hlmod.ru/forum/zombie-reloaded/4071-grenade-effects-v1-7-a.html, чтобы не создавать подобные темы, пользуйся поиском!
Совсем не то. Извини меня, но прежде чем указывать, прочитай внимательно пару слов, что я здесь чирканул. При касании и на световую! А эта вообще в багах вся.
 

Arthur Don

Участник
Сообщения
1,696
Реакции
256
Александр Шемелин, такого нету, если хочешь такое ищи скриптера который напишет
 
Сообщения
11
Реакции
0
artushonok, логично однако. Слушай, тут есть скриптеры, которые могут по дешевке написать? Может тот же самый Grenade Effect поправить.
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Т.е. граната, которая замораживает того, в кого попадёт(в прямом смысле)?
 
Сообщения
11
Реакции
0
Primo, не совсем. У нее при взрыве радиус будет, который настраивается, впрочем как в Grenade Effect. Например радиус "500"
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Делал для зомби пропса класс. Чуть переделать, и будет то, что тебе нужно.

PHP:
public Action:CommandSkill(client, args)
{
	if(client > 0) 
	{
		new Float:vOrigin[3]; // координаты твоей точки
		GetClientAbsOrigin(client, vOrigin); 
		decl Float:vClientOrigin[3];
		for ( new i = 1; i <= MaxClients; i++)
		{
			if ( IsClientInGame(i) && IsPlayerAlive(i) && i != client)
			{
				GetEntPropVector(i, Prop_Send, "m_vecOrigin", vClientOrigin);
				if ( GetVectorDistance(vOrigin, vClientOrigin) <= 300.0 ) // дистанция
				{
					SetEntityMoveType(victim, MOVETYPE_NONE);
					SetEntityRenderColor(victim, 100, 150, 250, 255);
					SetEntityRenderMode(victim, RENDER_TRANSCOLOR);
					CreateTimer(5.0, UnFreeze, GetClientUserId(victim));
				}
			}
		} 
	}
}

public Action:UnFreeze(Handle:timer, any:userid)
{
	new client = GetClientOfUserId(userid);
	if (client == 0 || GetClientTeam(client) == CS_TEAM_CT) return Plugin_Stop;
	
	SetEntityMoveType(client, MOVETYPE_WALK);
	SetEntityRenderColor(client);
	SetEntityRenderMode(client, RENDER_NORMAL);
	return Plugin_Stop;
}
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Александр Шемелин, не знаком с ZR, извини.
 
Сообщения
11
Реакции
0
Primo, Тем не менее спасибо за код. Попробую сам что-нибудь нашаманить. Он сделан как !zprops получается?
 

Primo

типа серьёзный тип
Сообщения
1,532
Реакции
759
Александр Шемелин, он никак не касается вообще других каких-либо плагинов.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
PHP:
// Он ли? https://forums.alliedmods.net/showthread.php?t=205567


// Инклюдик
#include <zr/api/infect.inc>

// Зомби ли?
if (!InfectIsClientHuman(client))

// Ловишь событие
HookEvent("flashbang_detonate", Event_OnFlashbangDetonate);

// Получить координаты гранаты можно так
new String:szCoordinatesName[][] = {"x", "y", "z"};

decl Float:szGrenadeCoordinates[3];
for (new i = 0; i < 3; i++)
{
    szGrenadeCoordinates[i] = GetEventFloat(hEvent, szCoordinatesName[i]);
}


// Остальное есть в теме, как сделаешь, дай всем лицезреть, ибо тут любят оптимизировать
// Может где-то ошибочки, поправьте
 
Сообщения
11
Реакции
0
Вообще не в курсе что делать. Бред замутил методом ctrl+c = ctrl+v
#include <zr/api/infect.inc>

public Action:CommandSkill(client, args)
{
if (!InfectIsClientHuman(client))
{
new String:szCoordinatesName[][] = {"x", "y", "z"};
GetClientAbsOrigin(client, vOrigin);
decl Float:szGrenadeCoordinates[3];
for (new i = 0; i < 3; i++)
{
szGrenadeCoordinates = GetEventFloat(hEvent, szCoordinatesName);
}
GetEntPropVector(i, Prop_Send, "m_vecOrigin", vClientOrigin);
if ( GetVectorDistance(vOrigin, vClientOrigin) <= 300.0 ) // дистанция
{
SetEntityMoveType(victim, MOVETYPE_NONE);
SetEntityRenderColor(victim, 100, 150, 250, 255);
SetEntityRenderMode(victim, RENDER_TRANSCOLOR);
CreateTimer(5.0, UnFreeze, GetClientUserId(victim));
}
}
}
}
}

public Action:UnFreeze(Handle:timer, any:userid)
{
new client = GetClientOfUserId(userid);
if (client == 0 || GetClientTeam(client) == CS_TEAM_CT) return Plugin_Stop;

SetEntityMoveType(client, MOVETYPE_WALK);
SetEntityRenderColor(client);
SetEntityRenderMode(client, RENDER_NORMAL);
return Plugin_Stop;
}


Добавлено через 15 часов 2 минуты
Актуально. Код, который вчера тут начеркал не рабочий. Может кто поюзает, заделает заморозку на световую?
 
Последнее редактирование:

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
PHP:
#include <sourcemod>
#include <zr/infect.zr>

#define TIME 5.0
#define RADIUS 100.0

new Handle:g_hClientTimer[MAXPLAYERS + 1] = {INVALID_HANDLE, ...};

public OnPluginStart()
{
    HookEvent("flashbang_detonate", Event_OnFlashbangDetonate);
}

public Event_OnFlashbangDetonate(Handle:hEvent, const String:szName[], bool:bSilent)
{
    new String:szCoordinatesName[][] = {"x", "y", "z"};

    decl Float:szCoordinates[2][3];
    for (new i = 0; i < 3; i++)
    {
        szCoordinates[0][i] = GetEventFloat(hEvent, szCoordinatesName[i]);
    }

    for (new i = 1; i <= MaxClients; i++)
    {
        if (IsClientInGame(i) && ZR_IsClientZombie(i) && IsPlayerAlive(i))
        {
            GetEntPropVector(i, Prop_Send, "m_vecOrigin", szCoordinates[1]);
            if (GetVectorDistance(szCoordinates[0], szCoordinates[1]) <= RADIUS)
            {
                SetEntityMoveType(i, MOVETYPE_NONE);

                if (g_hClientTimer[i] != INVALID_HANDLE)
                {
                    KillTimer(g_hClientTimer[i]);
                }

                g_hClientTimer[i] = CreateTimer(TIME, OnCreateTimer, GetClientUserId(i));
            }
        }
    }
}

public Action:OnCreateTimer(Handle:hTimer, any:iUserID)
{
    new iClientID = GetClientOfUserId(iUserID);
    if (iClientID > 0 && IsPlayerAlive(iClientID))
    {
        SetEntityMoveType(iClientID, MOVETYPE_WALK);
    }

    g_hClientTimer[iClientID] = INVALID_HANDLE;

    return Plugin_Stop;
}
 

Вложения

  • plugin.zip
    11 КБ · Просмотры: 13

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Александр Шемелин
Что именно не рабочего? Как проверяешь? Подробнее
 
Сообщения
11
Реакции
0
Хм.. Плагин не работает в принципе. Заливаю файлы из архива куда нужно и все. Если думаете, что я чего то мудрю: поставьте этот плагин на свой сервер.
 

The End Is Near...

Russian Roulette
Сообщения
874
Реакции
691
Проверял плагин без ЗР, не думаю, что дело в нем. Может радиус увеличите? Проверил повторно, все работает
 

Вложения

  • 2015-04-19_00002.jpg
    2015-04-19_00002.jpg
    90.5 КБ · Просмотры: 37
Сверху Снизу