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

Тема в разделе "Программирование / Скриптинг", создана пользователем Александр Шемелин, 18 апр 2015.

  1. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Здравствуйте.
    Есть ли в сети плагин заморозки для зомби сервера? Т.е заменяет световую гранату на замораживающую и действующую при касании.
    P.s Плагин "Grenade Effects" не кидать.
     
    Последнее редактирование: 18 апр 2015
  2. artushonok

    artushonok

    Сообщения:
    961
    Симпатии:
    108
  3. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Совсем не то. Извини меня, но прежде чем указывать, прочитай внимательно пару слов, что я здесь чирканул. При касании и на световую! А эта вообще в багах вся.
     
  4. artushonok

    artushonok

    Сообщения:
    961
    Симпатии:
    108
    Александр Шемелин, такого нету, если хочешь такое ищи скриптера который напишет
     
  5. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    artushonok, логично однако. Слушай, тут есть скриптеры, которые могут по дешевке написать? Может тот же самый Grenade Effect поправить.
     
  6. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
    Т.е. граната, которая замораживает того, в кого попадёт(в прямом смысле)?
     
  7. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Primo, не совсем. У нее при взрыве радиус будет, который настраивается, впрочем как в Grenade Effect. Например радиус "500"
     
  8. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
    Делал для зомби пропса класс. Чуть переделать, и будет то, что тебе нужно.

    PHP:
    public Action:CommandSkill(clientargs)
    {
        if(
    client 0
        {
            new 
    Float:vOrigin[3]; // координаты твоей точки
            
    GetClientAbsOrigin(clientvOrigin); 
            
    decl Float:vClientOrigin[3];
            for ( new 
    1<= MaxClientsi++)
            {
                if ( 
    IsClientInGame(i) && IsPlayerAlive(i) && != client)
                {
                    
    GetEntPropVector(iProp_Send"m_vecOrigin"vClientOrigin);
                    if ( 
    GetVectorDistance(vOriginvClientOrigin) <= 300.0 // дистанция
                    
    {
                        
    SetEntityMoveType(victimMOVETYPE_NONE);
                        
    SetEntityRenderColor(victim100150250255);
                        
    SetEntityRenderMode(victimRENDER_TRANSCOLOR);
                        
    CreateTimer(5.0UnFreezeGetClientUserId(victim));
                    }
                }
            } 
        }
    }

    public 
    Action:UnFreeze(Handle:timerany:userid)
    {
        new 
    client GetClientOfUserId(userid);
        if (
    client == || GetClientTeam(client) == CS_TEAM_CT) return Plugin_Stop;
        
        
    SetEntityMoveType(clientMOVETYPE_WALK);
        
    SetEntityRenderColor(client);
        
    SetEntityRenderMode(clientRENDER_NORMAL);
        return 
    Plugin_Stop;
    }
     
  9. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Кхм.. Слушай, не можешь ли изменить его? У меня в кодинге знаний особо нет)
     
  10. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
    Александр Шемелин, не знаком с ZR, извини.
     
  11. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Primo, Тем не менее спасибо за код. Попробую сам что-нибудь нашаманить. Он сделан как !zprops получается?
     
  12. Primo

    Primo Где мои манеры

    Сообщения:
    1.190
    Симпатии:
    306
    Александр Шемелин, он никак не касается вообще других каких-либо плагинов.
     
  13. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    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 
    03i++)
    {
        
    szGrenadeCoordinates[i] = GetEventFloat(hEventszCoordinatesName[i]);
    }


    // Остальное есть в теме, как сделаешь, дай всем лицезреть, ибо тут любят оптимизировать
    // Может где-то ошибочки, поправьте
     
  14. Александр Шемелин

    Александр Шемелин

    Сообщения:
    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 минуты
    Актуально. Код, который вчера тут начеркал не рабочий. Может кто поюзает, заделает заморозку на световую?
     
    Последнее редактирование: 19 апр 2015
  15. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    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 
    03i++)
        {
            
    szCoordinates[0][i] = GetEventFloat(hEventszCoordinatesName[i]);
        }

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

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

                    
    g_hClientTimer[i] = CreateTimer(TIMEOnCreateTimerGetClientUserId(i));
                }
            }
        }
    }

    public 
    Action:OnCreateTimer(Handle:hTimerany:iUserID)
    {
        new 
    iClientID GetClientOfUserId(iUserID);
        if (
    iClientID && IsPlayerAlive(iClientID))
        {
            
    SetEntityMoveType(iClientIDMOVETYPE_WALK);
        }

        
    g_hClientTimer[iClientID] = INVALID_HANDLE;

        return 
    Plugin_Stop;
    }
     

    Вложения:

    • plugin.zip
      Размер файла:
      11 КБ
      Просмотров:
      5
  16. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Не рабочий плагин (в архиве)
     
  17. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Александр Шемелин
    Что именно не рабочего? Как проверяешь? Подробнее
     
  18. Александр Шемелин

    Александр Шемелин

    Сообщения:
    11
    Симпатии:
    0
    Хм.. Плагин не работает в принципе. Заливаю файлы из архива куда нужно и все. Если думаете, что я чего то мудрю: поставьте этот плагин на свой сервер.
     
  19. Source_Hack

    Source_Hack

    Сообщения:
    82
    Симпатии:
    9
    Согласен, проверил не работает.
     
  20. The End Is Near...

    The End Is Near... Russian Roulette

    Сообщения:
    893
    Симпатии:
    659
    Проверял плагин без ЗР, не думаю, что дело в нем. Может радиус увеличите? Проверил повторно, все работает
     

    Вложения: