AMX MOD X
Суббота, 20.04.2024, 06:47:45



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

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

  • Страница 1 из 1
  • 1
Модератор форума: slogic, AlMod  
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » замена модельки
замена модельки
HoRRoRДата: Пятница, 10.07.2009, 23:42:09 | Сообщение # 1
Полковник
Группа: Скриптеры
Сообщений: 181
Репутация: 8
Статус: Не в сети
вопрос такой: как заменить модельки инфекшн бомбы в Zombie Plague?
причем модельку не ту, что в руках, и не ту что у игрока. А ту модельку, которую мы кидаем. она же w_ поделька =)

и изменить только модель для инфекшн бомбы. а обычные гранаты - оставить

 
PAHANCSДата: Суббота, 11.07.2009, 04:41:04 | Сообщение # 2
Полковник
Группа: Пользователи
Сообщений: 183
Репутация: 4
Статус: Не в сети
Quote (HoRRoR)
как заменить модельки инфекшн бомбы в Zombie Plague?. она же w_ поделька

Сначало надо найти модель, которую ты хочеш поставить.

Этих "Zombie Plague" в инете просто куча, я незнаю про кокой ты именно, но у меня нет "инфекшн бомбы",
только "инфекшн граната", я предлагаю вариант по которому у меня.

В плагине найдёш такую функцию и вставиш туда две строчки ( zombie_plague40.sma ).

engfunc(EngFunc_SetModel, entity, "models/w_infect.mdl") // Сдесь ты ставиш свою найденую модель
return FMRES_SUPERCEDE // Сдесь ты блокируеш реальную установку модели

И ещё все остальные ретурны ставиш на FMRES_IGNORED и добавляеш ретурн в конце всей функции.

Готовый код:

Code

// Forward Set Model
public fw_SetModel(entity, const model[])
{
   // Get remove dropped weapons setting
   static Float:removeweapons
   removeweapons = get_pcvar_float(cvar_removedropped)
     
   // Remove weapons?
   if (removeweapons > 0.0)
   {
    // Get entity's classname
    static class[10]
    pev(entity, pev_classname, class, sizeof class - 1)
      
    // Check if it's a weapon box
    if (equal(class, "weaponbox"))
    {
     // They get automatically removed when thinking
     set_pev(entity, pev_nextthink, get_gametime() + removeweapons)
     return FMRES_IGNORED;
    }
   }
     
   // Get damage time of grenade
   static Float:dmgtime
   pev(entity, pev_dmgtime, dmgtime)
     
   // Grenade not yet thrown
   if (dmgtime == 0.0)
    return FMRES_IGNORED;
     
   if (equal(model[7], "w_he", 4))
   {
    if (g_zombie[pev(entity, pev_owner)]) // [ZOMBIE] - Infection Grenade
    {
     // Give it a glow
     fm_set_rendering(entity, kRenderFxGlowShell, 0, 200, 0, 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(0) // r
     write_byte(200) // g
     write_byte(0) // b
     write_byte(200) // brightness
     message_end()
       
     // Set grenade type on the thrown grenade entity
     set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_INFECTION)
    }
    else if (get_pcvar_num(cvar_firegrenades)) // [HUMAN] - Fire Grenade
    {
     // Give it a glow
     fm_set_rendering(entity, kRenderFxGlowShell, 200, 0, 0, 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(200) // r
     write_byte(0) // g
     write_byte(0) // b
     write_byte(200) // brightness
     message_end()
       
     // Set grenade type on the thrown grenade entity
     set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_NAPALM)
    }
    engfunc(EngFunc_SetModel, entity, "models/w_infect.mdl") // Сдесь ты ставиш свою найденую модель   
    return FMRES_SUPERCEDE // Сдесь ты блокируеш реальную установку модели
   }
   else if (equal(model[7], "w_fl", 4) && get_pcvar_num(cvar_frostgrenades)) // Frost Grenade
   {
    // Give it a glow
    fm_set_rendering(entity, kRenderFxGlowShell, 0, 100, 200, 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(0) // r
    write_byte(100) // g
    write_byte(200) // b
    write_byte(200) // brightness
    message_end()
      
    // Set grenade type on the thrown grenade entity
    set_pev(entity, PEV_NADE_TYPE, NADE_TYPE_FROST)
   }
   else 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)
   }
   return FMRES_IGNORED
}



PAHANCS

Сообщение отредактировал PAHANCS - Суббота, 11.07.2009, 04:55:25
 
HoRRoRДата: Суббота, 11.07.2009, 12:07:55 | Сообщение # 3
Полковник
Группа: Скриптеры
Сообщений: 181
Репутация: 8
Статус: Не в сети
код тяжело читать. м.б. изменишь в моём? тем более смотрю отличаются они

Добавлено (2009-07-11, 12:07 Pm)
---------------------------------------------
Error: Expected token: ")", but found "-identifier-" on line 8238

Code
// Set Custom Weapon Models
replace_weapon_models(id, weaponid)
{
  switch (weaponid)
  {
   case CSW_KNIFE: // Custom knife models
   {
    if (g_zombie[id])
    {
     if (g_nemesis[id]) // Nemesis
     {
      set_pev(id, pev_viewmodel2, model_vknife_nemesis)
      set_pev(id, pev_weaponmodel2, "")
     }
         else // Zombies
     {
      // Admin knife models?
      if (get_pcvar_num(cvar_adminknifemodelszombie) && get_user_flags(id) & g_access_flag[ACCESS_ADMIN_MODELS])
      {
       set_pev(id, pev_viewmodel2, model_vknife_admin_zombie)
       set_pev(id, pev_weaponmodel2, "")
      }
      else
      {
       static clawmodel[100]
       ArrayGetString(g_zclass_clawmodel, g_zombieclass[id], clawmodel, charsmax(clawmodel))
       format(clawmodel, charsmax(clawmodel), "models/zombie_plague/%s", clawmodel)
       set_pev(id, pev_viewmodel2, clawmodel)
       set_pev(id, pev_weaponmodel2, "")
      }
     }
    }
    else // Humans
    {
     // Admin knife models?
     if (get_pcvar_num(cvar_adminknifemodelshuman) && get_user_flags(id) & g_access_flag[ACCESS_ADMIN_MODELS])
     {
      set_pev(id, pev_viewmodel2, model_vknife_admin_human)
      set_pev(id, pev_weaponmodel2, "")
     }
     else
     if (g_survivor[id]) // Survivor
     {
      set_pev(id, pev_viewmodel2, model_vknife_survivor)
      set_pev(id, pev_weaponmodel2, "")
     }
     else
     {
      set_pev(id, pev_viewmodel2, model_vknife_human)
      set_pev(id, pev_weaponmodel2, "models/p_knife.mdl")
     }
    }
   }
   case CSW_M249: // Survivor's M249 - оружие сурвивора
   {
    if (g_survivor[id])
    {
     set_pev(id, pev_viewmodel2, model_vm249_survivor)
     set_pev(id, pev_weaponmodel2, "models/zombie_plague/p_survivor_weapon.mdl")
    }
   }
   case CSW_HEGRENADE: // Infection bomb or fire grenade
   {
    if (g_zombie[id]
     set_pev(id, pev_viewmodel2, model_grenade_infect)
    else
     set_pev(id, pev_viewmodel2, model_grenade_fire)
   }
   case CSW_FLASHBANG: // Frost grenade
   {
    set_pev(id, pev_viewmodel2, model_grenade_frost)
   }
   case CSW_SMOKEGRENADE: // Flare grenade
   {
    set_pev(id, pev_viewmodel2, model_grenade_flare)
   }
  }
   
  // Update model on weaponmodel ent
  if (g_handle_models_on_separate_ent) fm_set_weaponmodel_ent(id)
}

вот где выделил - там ошибка

case CSW_HEGRENADE: // Infection bomb or fire grenade
{
if (g_zombie[id]
set_pev(id, pev_viewmodel2, model_grenade_infect)
else
set_pev(id, pev_viewmodel2, model_grenade_fire)
}

Прикрепления: blablabla.sma (5.0 Kb)
 
PAHANCSДата: Суббота, 11.07.2009, 13:56:04 | Сообщение # 4
Полковник
Группа: Пользователи
Сообщений: 183
Репутация: 4
Статус: Не в сети
Quote (HoRRoR)
вот где выделил - там ошибка

Ты всего лиш забыл поставить закрывающую круглую скопку: if (g_zombie[id])

Вот файл, уже готовый, код почти такойже как у меня:

Прикрепления: 3298231.sma (5.2 Kb)


PAHANCS
 
HoRRoRДата: Суббота, 11.07.2009, 14:59:05 | Сообщение # 5
Полковник
Группа: Скриптеры
Сообщений: 181
Репутация: 8
Статус: Не в сети
спс! всё работает! =)
 
AMX Mod X Форум » Скриптинг » Помощь по скриптингу » замена модельки
  • Страница 1 из 1
  • 1
Поиск:

AMX Mod X Russian Community © 2006-2024