AMX MOD X
Суббота, 18.05.2024, 19:46:50



Приветствую Вас Гость | RSS
[ Главная ] [ zp_flare, проблема - AMX Mod X Форум ] [ Регистрация ] [ Вход ]
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]

Вниманию участников! Данный форум теперь является архивом и вскором времени здесь нельзя будет создавать новых тем! Просьба всем для общения и создания новых тем перейти на наш новый форум: http://amxmodx.su/

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Плагины » Обсуждение сторонних плагинов » zp_flare, проблема (Световая гранат - глюк)
zp_flare, проблема
alien3runДата: Воскресенье, 01.03.2009, 17:11:28 | Сообщение # 1
Лейтенант
Группа: Пользователи
Сообщений: 54
Репутация: 0
Статус: Не в сети
Вот плагин, вырезаный из зомби plaque, врезать мне помогал один из скрипетров :) Вот плагин
Code
/* Plugin generated by AMXX-Studio */

#include <amxmodx>
#include <amxmisc>
#include <fakemeta>
#include <fakemeta_util>
#include <hamsandwich>

#define PLUGIN "Zobmi Plague Flare"
#define VERSION "0.1.0"
#define AUTHOR "Zobmi PLague"

#define FLARE_ENTITY args[0]
#define FLARE_DURATION args[1]
#define FLARE_R args[2]
#define FLARE_G args[3]
#define FLARE_B args[4]
#define FLAME_DURATION args[0]

new cvar_flaregrenades, cvar_flareduration, cvar_flaresize, cvar_flarecolor

new g_trailSpr

new const sprite_grenade_trail[] = { "sprites/laserbeam.spr" }

const PEV_NADE_TYPE = pev_flTimeStepSound

const NADE_TYPE_FLARE = 4444

const PEV_FLARE_COLOR = pev_punchangle

new const grenade_flare[][] = { "items/nvg_on.wav" }

public plugin_init() {
    register_plugin(PLUGIN, VERSION, AUTHOR)
       
    cvar_flaregrenades = register_cvar("zp_flare_grenades","1")
    cvar_flareduration = register_cvar("zp_flare_duration", "60")
    cvar_flaresize = register_cvar("zp_flare_size", "25")
    cvar_flarecolor = register_cvar("zp_flare_color", "0")
    register_forward(FM_SetModel, "fw_SetModel")
    RegisterHam(Ham_Think, "grenade", "fw_ThinkGrenade")
       
}

public plugin_precache()
{
       
    g_trailSpr = engfunc(EngFunc_PrecacheModel, sprite_grenade_trail)

}

public fw_SetModel(entity, const model[])
{
       
    if (equal(model[7], "w_sm", 4) && get_pcvar_num(cvar_flaregrenades)) // Flare
    {
     // Make the flare color
     static rgb[3]
     switch (get_pcvar_num(cvar_flarecolor))
     {
      case 0: // white
      {
       rgb[0] = 255 // r
       rgb[1] = 255 // g
       rgb[2] = 255 // b
      }
      case 1: // red
      {
       rgb[0] = random_num(50,255) // r
       rgb[1] = 0 // g
       rgb[2] = 0 // b
      }
      case 2: // green
      {
       rgb[0] = 0 // r
       rgb[1] = random_num(50,255) // g
       rgb[2] = 0 // b
      }
      case 3: // blue
      {
       rgb[0] = 0 // r
       rgb[1] = 0 // g
       rgb[2] = random_num(50,255) // b
      }
      case 4: // random (all colors)
      {
       rgb[0] = random_num(50,200) // r
       rgb[1] = random_num(50,200) // g
       rgb[2] = random_num(50,200) // b
      }
      case 5: // random (r,g,b)
      {
       switch (random_num(1, 3))
       {
        case 1: // red
        {
         rgb[0] = random_num(50,255) // r
         rgb[1] = 0 // g
         rgb[2] = 0 // b
        }
        case 2: // green
        {
         rgb[0] = 0 // r
         rgb[1] = random_num(50,255) // g
         rgb[2] = 0 // b
        }
        case 3: // blue
        {
         rgb[0] = 0 // r
         rgb[1] = 0 // g
         rgb[2] = random_num(50,255) // b
        }
       }
      }
     }
        
     // Give it a glow
     fm_set_rendering(entity, kRenderFxGlowShell, rgb[0], rgb[1], rgb[2], kRenderNormal, 16);
        
     // And a colored trail
     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
     write_byte(TE_BEAMFOLLOW) // TE id
     write_short(entity) // entity
     write_short(g_trailSpr) // sprite
     write_byte(10) // life
     write_byte(10) // width
     write_byte(rgb[0]) // r
     write_byte(rgb[1]) // g
     write_byte(rgb[2]) // b
     write_byte(200) // brightness
     message_end()
        
     // Set grenade type on the thrown grenade entity
     set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_FLARE)
        
     // Set flare color on the thrown grenade entity
     set_pev(entity, PEV_FLARE_COLOR, rgb)
    }
}

public fw_ThinkGrenade(entity)
{
       
    switch (pev(entity, PEV_NADE_TYPE))
    {
     case NADE_TYPE_FLARE: // Flare
     {      
      // Light up when it's stopped on ground
      if ((pev(entity, pev_flags) & FL_ONGROUND) && fm_get_speed(entity) < 10)
      {
       // Flare sound
       engfunc(EngFunc_EmitSound, entity, CHAN_WEAPON, grenade_flare[random_num(0, sizeof grenade_flare - 1)], 1.0, ATTN_NORM, 0, PITCH_NORM)
          
       // Our task params
       static params[5]
       params[0] = entity // entity id
       params[1] = get_pcvar_num(cvar_flareduration)/5 // duration
          
       // Retrieve flare color from entity
       pev(entity, PEV_FLARE_COLOR, params[2]) // params[2] r - params[3] g - params[4] b
          
       // Call our lighting task
       set_task(0.1, "flare_lighting", 2800, params, sizeof params)
      }
      else
      {
       // Delay the explosion until we hit ground
       set_pev(entity, pev_dmgtime, get_gametime() + 0.5)
       return HAM_IGNORED;
      }
     }
     default: return HAM_IGNORED;
    }
       
    return HAM_SUPERCEDE;
}
public flare_lighting(args[5])
{
    // Unexistant flare entity?
    if (!pev_valid(FLARE_ENTITY))
     return;
       
    // Flare depleted -clean up the mess-
    if (FLARE_DURATION <= 0)
    {
     engfunc(EngFunc_RemoveEntity, FLARE_ENTITY)
     return;
    }
       
    // Get origin
    static Float:originF[3]
    pev(FLARE_ENTITY, pev_origin, originF)
       
    // Lighting
    engfunc(EngFunc_MessageBegin, MSG_PAS, SVC_TEMPENTITY, originF, 0)
    write_byte(TE_DLIGHT) // TE id
    engfunc(EngFunc_WriteCoord, originF[0]) // x
    engfunc(EngFunc_WriteCoord, originF[1]) // y
    engfunc(EngFunc_WriteCoord, originF[2]) // z
    write_byte(get_pcvar_num(cvar_flaresize)) // radius
    write_byte(FLARE_R) // r
    write_byte(FLARE_G) // g
    write_byte(FLARE_B) // b
    write_byte(51) //life
    write_byte((FLARE_DURATION < 2) ? 3 : 0) //decay rate
    message_end()
       
    // Sparks
    engfunc(EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, originF, 0)
    write_byte(TE_SPARKS) // TE id
    engfunc(EngFunc_WriteCoord, originF[0]) // x
    engfunc(EngFunc_WriteCoord, originF[1]) // y
    engfunc(EngFunc_WriteCoord, originF[2]) // z
    message_end()
       
    // Decrease task cycle counter
    FLARE_DURATION -= 1;
       
    // Keep sending flare messaegs
    set_task(5.0, "flare_lighting", 2800, args, sizeof args)
}

Но после того как его поставишь, играешь первый раунд,потом второй начинается и сервак падает , но падает он походу из-за света, который остается под игроком в следующем раунде. Имменно под игроками, которые в предыдущем раунде кинули его. Как избавится от этой ошибки :(

Добавлено (2009-03-01, 5:11 Pm)
---------------------------------------------
Вот для тех кто не понял
http://share.netbynet.ru/858zp_flare.rar


3run

Сообщение отредактировал alien3run - Пятница, 27.02.2009, 19:43:29
 
NegativkOДата: Пятница, 06.03.2009, 23:15:19 | Сообщение # 2
Полковник
Группа: Пользователи
Сообщений: 184
Репутация: 1
Статус: Не в сети
Название темы не соответствует описанию! Причем тут "свет фиговый"? Сразу нада писать "zp_flare, проблема!" либо "Световая гранат - глюк!" хотябы так...

Да и я не думаю что кто либо тебе поможет раз за такое время никто не ответил. Всем остальным скриптерам плевать на твой крохатный плагин и на твою проблему, это же наши скриптеры lol
Иными словами подраздел для тем не соответствует описанию ^_^


Признаю только сверх качественные и дораотанные плагины т.е. в основном русские =]
 
alien3runДата: Понедельник, 16.03.2009, 22:41:59 | Сообщение # 3
Лейтенант
Группа: Пользователи
Сообщений: 54
Репутация: 0
Статус: Не в сети
злой ты bad

3run
 
AMX Mod X Форум » Плагины » Обсуждение сторонних плагинов » zp_flare, проблема (Световая гранат - глюк)
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024