[ZR] Ядовитая граната Помогите найти плагин

Тема в разделе "Zombie:Reloaded", создана пользователем Fanarrium, 14 авг 2016.

  1. Fanarrium

    Fanarrium

    Сообщения:
    168
    Симпатии:
    14
    Всем привет! Очень очень давно занимался серверами ZR и как то столкнулся с плагином на ядовитый дым для зомби мода.

    Плагин не только ставил урон тем кто был в дыму но еще и менял цвет дыма + ставилась модель.
    Модель примерно выглядела так: Цвет модели зеленый, две полу прозрачные стенки движутся по кругу а в центре нарисован череп.

    Помогите найти плагин или хотя бы эту модель! Буду очень очень благодарен!
     
  2. MaEStro71

    MaEStro71

    Сообщения:
    165
    Симпатии:
    5
    :ab::ab::ab: Я думал такого еще не придумали. Была мысль о таком плагине. Хотелось бы тоже ссылку увидеть.
     
  3. Danyas

    Danyas Спасибо, браток © yand3xmail Модератор

    Сообщения:
    1.729
    Симпатии:
    461
    В паблике нету.
     
  4. Afonia152

    Afonia152

    Сообщения:
    22
    Симпатии:
    0
    Напиши в личку если найду то дам)
     
  5. FrozDark

    FrozDark Команда сайта HLMod Модератор

    Сообщения:
    1.761
    Симпатии:
    1.915
    такой плагин был ещё на зомби моде старого-старого КС, так что копайте в ту сторону. Он был написан вроде на EventScripts или под метамод. Граната называлась BioHazard и могла давать осечку
     
  6. Fanarrium

    Fanarrium

    Сообщения:
    168
    Симпатии:
    14
    Плагин был на Soursemod новой кс и работал без ошибок... Я точно помню, что его кидали в комментариях в одной из тем про ZR но в связи с обновой сайта...Походу ссылки удалили(
     
  7. Afonia152

    Afonia152

    Сообщения:
    22
    Симпатии:
    0
    Да он у меня и на новой CSS и на CS:GO работает без ошибок,но исходник не могу найти)Там флешка заморозка,а дымовая ядовитая,наносит урон только зомби+модель+зелёный дым)
     
  8. Fanarrium

    Fanarrium

    Сообщения:
    168
    Симпатии:
    14
    Ты можешь модель скинуть?! Очень буду блаагодарен!!!!!
     
  9. Afonia152

    Afonia152

    Сообщения:
    22
    Симпатии:
    0
    Тебе для CSS или CS:GO?
     
  10. MaEStro71

    MaEStro71

    Сообщения:
    165
    Симпатии:
    5
    Можно и мне в личку, для CSS старушки?
     
  11. Afonia152

    Afonia152

    Сообщения:
    22
    Симпатии:
    0
    Да лови)
     
  12. MaEStro71

    MaEStro71

    Сообщения:
    165
    Симпатии:
    5
    Он?
    Нет возможности проверить.
    В Server.cfg должно быть mp_friendlyfire 1

    Код:
    #pragma semicolon 1
    #include <sourcemod>
    #include <sdktools>
    #include <sdkhooks>
    
    #define PLUGIN_VERSION "1.0"
    
    #define GRENADE_USERID 0
    #define GRENADE_TEAM 1
    #define GRENADE_PROJECTILE 2
    #define GRENADE_PARTICLE 3
    #define GRENADE_REMOVETIMER 4
    #define GRENADE_DAMAGETIMER 5
    
    new Handle:g_hSmokeGrenades;
    
    new Handle:g_hCVDamage;
    new Handle:g_hCVSeconds;
    new Handle:g_hCVFriendlyFire;
    
    public Plugin:myinfo =
    {
        name = "Poison Smoke",
        author = "Jannik \"Peace-Maker\" Hartung",
        description = "Damages anyone who walks into a smokegrenade",
        version = PLUGIN_VERSION,
        url = "http://www.wcfan.de/"
    }
    
    public OnPluginStart()
    {
        new Handle:hVersion = CreateConVar("sm_posionsmoke_version", PLUGIN_VERSION, "Poison Smoke version", FCVAR_PLUGIN|FCVAR_NOTIFY|FCVAR_REPLICATED|FCVAR_DONTRECORD);
        if(hVersion != INVALID_HANDLE)
            SetConVarString(hVersion, PLUGIN_VERSION);
      
        g_hCVDamage = CreateConVar("sm_poisonsmoke_damage", "5", "How much damage should we deal to the players in the smoke?", FCVAR_PLUGIN, true, 1.0);
        g_hCVSeconds = CreateConVar("sm_poisonsmoke_seconds", "1", "Deal damage every x seconds.", FCVAR_PLUGIN, true, 1.0);
      
        g_hCVFriendlyFire = FindConVar("mp_friendlyfire");
      
        g_hSmokeGrenades = CreateArray();
      
        HookEvent("round_start", Event_OnResetSmokes);
        HookEvent("round_end", Event_OnResetSmokes);
    }
    
    public OnMapEnd()
    {
        new iSize = GetArraySize(g_hSmokeGrenades);
        new Handle:hGrenade, Handle:hTimer;
        for(new i=0; i<iSize; i++)
        {
            hGrenade = GetArrayCell(g_hSmokeGrenades, i);
            if(GetArraySize(hGrenade) > 3)
            {
                hTimer = GetArrayCell(hGrenade, GRENADE_REMOVETIMER);
                KillTimer(hTimer);
                hTimer = GetArrayCell(hGrenade, GRENADE_DAMAGETIMER);
                KillTimer(hTimer);
            }
            CloseHandle(hGrenade);
        }
        ClearArray(g_hSmokeGrenades);
    }
    
    public Event_OnResetSmokes(Handle:event, const String:name[], bool:dontBroadcast)
    {
        new iSize = GetArraySize(g_hSmokeGrenades);
        new Handle:hGrenade, Handle:hTimer;
        for(new i=0; i<iSize; i++)
        {
            hGrenade = GetArrayCell(g_hSmokeGrenades, i);
            if(GetArraySize(hGrenade) > 3)
            {
                hTimer = GetArrayCell(hGrenade, GRENADE_REMOVETIMER);
                KillTimer(hTimer);
                hTimer = GetArrayCell(hGrenade, GRENADE_DAMAGETIMER);
                KillTimer(hTimer);
            }
            CloseHandle(hGrenade);
        }
        ClearArray(g_hSmokeGrenades);
    }
    
    public OnEntityCreated(entity, const String:classname[])
    {
        if(StrEqual(classname, "smokegrenade_projectile", false))
        {
            SDKHook(entity, SDKHook_Spawn, Hook_OnSpawnProjectile);
        }
      
        if(StrEqual(classname, "env_particlesmokegrenade", false))
        {
            SDKHook(entity, SDKHook_Spawn, Hook_OnSpawnParticles);
        }
    }
    
    public Hook_OnSpawnProjectile(entity)
    {
        new client = GetEntPropEnt(entity, Prop_Send, "m_hOwnerEntity");
      
        // Save that smoke in our array
        new Handle:hGrenade = CreateArray();
        PushArrayCell(hGrenade, GetClientUserId(client));
        PushArrayCell(hGrenade, GetClientTeam(client));
        PushArrayCell(hGrenade, entity);
        PushArrayCell(g_hSmokeGrenades, hGrenade);
    }
    
    
    public Hook_OnSpawnParticles(entity)
    {
        new Float:fOrigin[3], Float:fOriginSmoke[3];
        GetEntPropVector(entity, Prop_Send, "m_vecOrigin", fOrigin);
      
        new iSize = GetArraySize(g_hSmokeGrenades);
        new Handle:hGrenade, iGrenade;
        for(new i=0; i<iSize; i++)
        {
            hGrenade = GetArrayCell(g_hSmokeGrenades, i);
            iGrenade = GetArrayCell(hGrenade, GRENADE_PROJECTILE);
            GetEntPropVector(iGrenade, Prop_Send, "m_vecOrigin", fOriginSmoke);
            if(fOrigin[0] == fOriginSmoke[0] && fOrigin[1] == fOriginSmoke[1] && fOrigin[2] == fOriginSmoke[2])
            {
                PushArrayCell(hGrenade, entity);
              
                // Try to set the color.. Doesn't really work though
                SetVariantString("124 252 0");
                AcceptEntityInput(entity, "Color");
              
                DispatchKeyValue(entity, "Color1", "124 252 0"); //red green blue
                DispatchKeyValue(entity, "Color2", "124 252 0"); //red green blue
              
                new Handle:hTimer = CreateTimer(GetEntPropFloat(entity, Prop_Send, "m_FadeStartTime")+3.0, Timer_RemoveSmoke, entity, TIMER_FLAG_NO_MAPCHANGE);
                PushArrayCell(hGrenade, hTimer);
              
                new Handle:hTimer2 = CreateTimer(GetConVarFloat(g_hCVSeconds), Timer_CheckDamage, entity, TIMER_FLAG_NO_MAPCHANGE|TIMER_REPEAT);
                PushArrayCell(hGrenade, hTimer2);
              
                break;
            }
        }
    }
    
    // Remove the poison effect, 2 seconds before the smoke is completely vanished
    public Action:Timer_RemoveSmoke(Handle:timer, any:entity)
    {
        // Get the grenade array with this entity index
        new iSize = GetArraySize(g_hSmokeGrenades);
        new Handle:hGrenade, iGrenade = -1;
        for(new i=0; i<iSize; i++)
        {
            hGrenade = GetArrayCell(g_hSmokeGrenades, i);
            if(GetArraySize(hGrenade) > 3)
            {
                iGrenade = GetArrayCell(hGrenade, GRENADE_PARTICLE);
                // This is the right grenade
                // Remove it
                if(iGrenade == entity)
                {
                    new Handle:hTimer = GetArrayCell(hGrenade, GRENADE_DAMAGETIMER);
                    KillTimer(hTimer);
                  
                    RemoveFromArray(g_hSmokeGrenades, i);
                    break;
                }
            }
        }
      
        return Plugin_Stop;
    }
    
    // Do damage every seconds to players in the smoke
    public Action:Timer_CheckDamage(Handle:timer, any:entity)
    {
        // Get the grenade array with this entity index
        new iSize = GetArraySize(g_hSmokeGrenades);
        new Handle:hGrenade, iGrenade = -1;
        for(new i=0; i<iSize; i++)
        {
            hGrenade = GetArrayCell(g_hSmokeGrenades, i);
            if(GetArraySize(hGrenade) > 3)
            {
                iGrenade = GetArrayCell(hGrenade, GRENADE_PARTICLE);
                if(iGrenade == entity)
                    break;
            }
        }
      
        if(iGrenade == -1)
            return Plugin_Continue;
      
        new userid = GetArrayCell(hGrenade, GRENADE_USERID);
      
        // Don't do anything, if the client who's thrown the grenade left.
        new client = GetClientOfUserId(userid);
        if(!client)
            return Plugin_Continue;
      
        new Float:fSmokeOrigin[3], Float:fOrigin[3];
        GetEntPropVector(iGrenade, Prop_Send, "m_vecOrigin", fSmokeOrigin);
      
        new iGrenadeTeam = GetArrayCell(hGrenade, GRENADE_TEAM);
        new bool:bFriendlyFire = GetConVarBool(g_hCVFriendlyFire);
        for(new i=1;i<=MaxClients;i++)
        {
            if(IsClientInGame(i) && IsPlayerAlive(i) && (bFriendlyFire || GetClientTeam(i) != iGrenadeTeam))
            {
                GetClientAbsOrigin(i, fOrigin);
                if(GetVectorDistance(fSmokeOrigin, fOrigin) <= 220)
                    SDKHooks_TakeDamage(i, iGrenade, client, GetConVarFloat(g_hCVDamage), DMG_POISON, -1, NULL_VECTOR, fSmokeOrigin);
            }
        }
      
        return Plugin_Continue;
    }
     
  13. Afonia152

    Afonia152

    Сообщения:
    22
    Симпатии:
    0
    Не это для паблика,и если не ошибаюсь модель не поставишь!
     
  14. Fanarrium

    Fanarrium

    Сообщения:
    168
    Симпатии:
    14
    Нет это обычный ядовитый дым...

    P.S В инете нашел таких же кто ищет этот плагин) "на Зомби моде вместо дыма летает морда в противогазе где это взять кто подскажет буду признателен"
     
    Последнее редактирование: 22 авг 2016
  15. Afonia152

    Afonia152

    Сообщения:
    22
    Симпатии:
    0
    https://yadi.sk/d/wKlFApMLuQL3c Вот держите модель,найду исходник выложу сюда)
     
  16. PatrickTV

    PatrickTV

    Сообщения:
    23
    Симпатии:
    1
    Можешь и мне скинуть для css v34 , буду признателен!
     
  17. MaEStro71

    MaEStro71

    Сообщения:
    165
    Симпатии:
    5
    Прочитай предыдущее сообщение. Человек всё ясно сказал по-моему.
     
  18. wanted241

    wanted241 Real-Gamer.Ru

    Сообщения:
    783
    Симпатии:
    355