• Страница 1 из 1
  • 1
Модератор форума: pashkaa, Slesh  
Как добавить модель к расе,например к vip расе хамелеон?
Дата: Среда, 02.01.2013, 17:40 | Сообщение # (1)
Пользователи
I love LINK-CSS.PP.UA
Сообщения:112
Шаг 1.
Открываешь файл cssbWar3ftMod.sma
Добавляешь форварды:
Код
register_forward(FM_PlayerPostThink, "fwd_PlayerPostThink");
  register_forward(FM_ClientUserInfoChanged, "fwd_ClientUserInfoChanged");

Как должно быть:


Шаг 2.
- Создаешь файл race_vip_models.inl и добавляешь код приведенный ниже (весь).
- В cssbWar3ftMod.sma подключаешь файл как #include "war3ft/race_vip_models.inl"
- В race_vip_models.inl включены модели только для расы Хамелеон.
Для остальных рас все делается по аналогии.Код уже подготовлен.Останется только включить нужный,добавить модели и добавить в прекеш их.

Код
#if cellbits == 32
        #define OFFSET_TEAM 114
  #else
        #define OFFSET_TEAM 139
  #endif
   
  public fwd_PlayerPostThink(idUser)
  {
     if(!(get_user_flags(idUser) & ADMIN_LEVEL_H) || !is_user_alive(idUser))
           return FMRES_IGNORED;
           
     if(ITEM_Has( idUser, ITEM_CHAMELEON ) > ITEM_NONE )
           return FMRES_IGNORED;
   
        switch(get_pdata_int(idUser, OFFSET_TEAM))
     {
      case 1://T
      {
       switch(p_data[idUser][P_RACE])
       {
        //case RACE_UNDEAD: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "undead_t");
        //case RACE_HUMAN: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "human_t");
        //case RACE_ORC: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "orc_t");
        //case RACE_ELF: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "elf_t");
        //case RACE_BLOOD: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "blood_t");
        //case RACE_SHADOW: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "shadow_t");
        //case RACE_WARDEN: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "warden_t");
        //case RACE_CRYPT: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "crypt_t");
        case RACE_CHAMELEON: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "cham_t");
       }
      }
   
      case 2://CT
      {
       switch(p_data[idUser][P_RACE])
       {
        //case RACE_UNDEAD: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "undead_ct");
        //case RACE_HUMAN: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "human_ct");
        //case RACE_ORC: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "orc_ct");
        //case RACE_ELF: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "elf_ct");
        //case RACE_BLOOD: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "blood_ct");
        //case RACE_SHADOW: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "shadow_ct");
        //case RACE_WARDEN: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "warden_ct");
        //case RACE_CRYPT: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "crypt_ct");
        case RACE_CHAMELEON: engfunc(EngFunc_SetClientKeyValue, idUser, engfunc(EngFunc_GetInfoKeyBuffer, idUser), "model", "cham_ct");
       }
      }
     }
   
        return FMRES_HANDLED;
  }
   
  public fwd_ClientUserInfoChanged(idUser)
  {
        return FMRES_SUPERCEDE;
  }


Шаг 3.
Открываешь файл war3ft.inl
Добавляешь модели в прекеш:
Код
// Новые модели для VIP рас
  //Хамелеон
  precache_model( "models/player/cham_t/cham_t.mdl")
  precache_model( "models/player/cham_ct/cham_ct.mdl")


Скрин как должно быть:

Шаг 4.
Заливаешь на сервер прикрепленные модели (для остальных рас уже сам подберешь)
Модели для рассы хамелеон

Ключ отвечающий за доступ к моделям ADMIN_LEVEL_H просмотреть значения можно тут.
Так же учтено когда покупаешь предмет Хамелеон.Моделька будет меняться на стандартную модель команды противника.

Результат который получился:



Рекомендация!
Не делайте модели для каждой расы.Достаточно одной,двух.
Иначе у вас могут на сервере из-за большого количества моделей начаться хорошие лаги.
Источник: perfect-soft.su
Автор: SMaster Связь:
ICQ: 607-786-179
Skype: xonahead


<br>http://servera-cs.net/userbar/userbar.png?serv=91.211.117.52:27029</br>
  • Страница 1 из 1
  • 1
Поиск:

Используются технологии uCoz