Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как сделать новую модель для Невидимки ( Альянс людей )?
1Klass
Дата: Воскресенье, 20.05.2012, 13:08 | Сообщение # 1
офлайн

  • Сообщения: 15
  • Награды: 1
  • Замечания:
 
Здравствуйте, видел как-то давно на одном сервере, что у невидимки своя модель ножа, а у других стандартная, как можно это релизовать?



Сообщение отредактировал 1Klass - Воскресенье, 20.05.2012, 13:15
 
KinD
Дата: Воскресенье, 20.05.2012, 15:01 | Сообщение # 2
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Шаг 1.
регестрируеш в .sma

Code
register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
   register_forward(FM_SetModel, "fw_SetModel")


Шаг 2.
Заходиш в war3ft.inl и добавляеш

Code
public Event_CurWeapon(id)   
{
   p_data[id][P_RACE] == RACE_HUMAN
    new weaponID = read_data(2)   
      
    if (weaponID != CSW_KNIFE)
    {
     set_pev(id, pev_viewmodel2, "models/warcraft3/v_knife.mdl")
    }    
}


Шаг 3
Добавляеш прекэш

Как-то так.


Skype:daywerok

Сообщение отредактировал KinD - Воскресенье, 20.05.2012, 15:02
 
Kartman
Дата: Воскресенье, 20.05.2012, 18:10 | Сообщение # 3
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
По идее тут кривоватенько написано если ну получится как написал кинд сделай так

Code
public Event_CurWeapon(id)
{
new weaponID = read_data(2)

if (weaponID == CSW_KNIFE && p_data[id][P_RACE] == RACE_HUMAN )
{
set_pev(id, pev_viewmodel2, "models/warcraft3/v_knife.mdl")
}
}


http://war3ft-help.tk/ - форум поддержки war3ftmod

Сообщение отредактировал Kartman - Воскресенье, 20.05.2012, 18:10
 
SMaster
Дата: Воскресенье, 20.05.2012, 18:16 | Сообщение # 4
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Достаточно тему прочитать Как установить гранатам орка другую модель?

Изменить Орка на Хумана.
Изменить гранату на нож (включая модели).


Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
Kartman
Дата: Воскресенье, 20.05.2012, 18:22 | Сообщение # 5
офлайн

  • Сообщения: 199
  • Награды: 3
  • Замечания:
 
А если уже так не получится сделай так:
Code

Шаг 1.      

Создаешь два пустых файла в папке war3ft hum_new_knife.h и hum_new_knife.inl      
Открываешь cssbWar3ftMod.sma      
Подключаешь их      
#include "war3ft/hum_new_knife.inl"      
#include "war3ft/hum_new_knife.h"      

Потом добавляешь форвард      
register_forward(FM_SetModel, "fwSetModel");

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

Шаг 2.      

В файл hum_new_knife.h добавляешь код      

new szModel_P[] = "models/warcraft3/p_humknife.mdl"
      new szModel_V[] = "models/warcraft3/v_humknife.mdl"
      new szModel_W[] = "models/warcraft3/w_humknife.mdl"
           

Добавляем булевую переменную:
      new bool:bIsHasKNIFE[33];      

           

Шаг 3.      

В файл hum_new_knife.inl добавляешь код      

public fwSetModel(entModel, const model[])      
      {      
           if ( !pev_valid ( entModel ) )      
            return FMRES_IGNORED;      
           
           if (strlen(model) < 8)      
            return FMRES_IGNORED;      
           
           new idUser, model_w[64];      
           idUser = pev(entModel, pev_owner);      
           
           if(p_data[idUser][P_RACE] == RACE_HUMAN)      
           {      
            format(model_w, charsmax(model_w), "%s", model[9]);      
           
            new idwpn = get_idwpn_from_wmodel(model_w);      
            if(idwpn == CSW_KNIFE)      
            {      
             engfunc(EngFunc_SetModel, entModel, szModel_W);      
                           
             return FMRES_SUPERCEDE;      
            }      
           }      
                      
           return FMRES_IGNORED;      
      }      
           
      get_idwpn_from_wmodel(model_w[])      
      {      
           new wpnname[64], idwpn;      
           format(wpnname, charsmax(wpnname), "weapon_%s", model_w);      
           replace(wpnname, charsmax(wpnname), ".mdl", "");      
           replace(wpnname, charsmax(wpnname), "_mp5", "_mp5navy");      
           strtolower(wpnname);      
           idwpn = get_weaponid(wpnname);      
                      
           return idwpn;      
      }      
           

Шаг 4.      

Открываешь файл war3ft.inl      
Добавляешь код      

precache_model(szModel_P);      
      precache_model(szModel_V);      
      precache_model(szModel_W);

           

Шаг 5.      

Открываешь events.inl и ищешь public on_CurWeapon( idUser )      
Ниже вставляешь код      
                 
           if(p_data_b[idUser][PB_HAS_SPAWNED] && p_data[idUser][P_RACE] == RACE_HUMAN)      
           {      
            if(iCurWeapon == CSW_KNIFE)      
            {      
             if(!bIsHasKNIFE[idUser])      
             {      
              entity_set_string(idUser,EV_SZ_viewmodel,szModel_V);      
              entity_set_string(idUser,EV_SZ_weaponmodel,szModel_P);      
              bIsHasKNIFE[idUser] = true;      
             }      
            }           
                       
            if(iCurWeapon != CSW_KNIFE)           
             bIsHasKNIFE[idUser] = false;      
      }

           

Шаг 6.      

В папку ...\cstrike\models закидываешь прикрепленные модели (свои позже можно будет поставить)      
Скачать модели      

Три модели должны находиться на своих местах      

models/warcraft3/p_humknife.mdl      
models/warcraft3/v_humknife.mdl      
models/warcraft3/w_humknife.mdl


По материалу SMaster;
Все работает проверял лично!


http://war3ft-help.tk/ - форум поддержки war3ftmod

Сообщение отредактировал Kartman - Среда, 30.05.2012, 18:15
 
Affl
Дата: Вторник, 22.05.2012, 23:22 | Сообщение # 6
офлайн

  • Сообщения: 49
  • Награды: 0
  • Замечания:
 
А нельзя что бы была и граната у орка и нож у хумана?
 
SMaster
Дата: Вторник, 22.05.2012, 23:40 | Сообщение # 7
офлайн

  • Сообщения: 2189
  • Награды: 46
  • Замечания:
 
Можно.

Наша группа вконтакте http://vk.com/nano_world_cs

Контакты:
ICQ 607786179
Skype xonahead

 
MK
Дата: Среда, 23.05.2012, 01:31 | Сообщение # 8
офлайн

  • Сообщения: 43
  • Награды: 0
  • Замечания:
 
Affl, замени названия переменных которые пишет что уже заняты
 
Affl
Дата: Среда, 30.05.2012, 13:00 | Сообщение # 9
офлайн

  • Сообщения: 49
  • Награды: 0
  • Замечания:
 
Что то у меня не получается, я боюсь код перепутать с названием переменных)
В лс можешь написать пожалуйста?

Добавлено (30.05.2012, 13:00)
---------------------------------------------
Не, не получается, перебробовал уже почти всё.
Кто может помочь?

 
Andre
Дата: Четверг, 31.05.2012, 12:29 | Сообщение # 10
офлайн

  • Сообщения: 25
  • Награды: 0
  • Замечания:
 
Affl, Все отлично работает сделай как Kartman все расписал, я как у него делал и все супер.
 
nymbus2000
Дата: Четверг, 31.05.2012, 18:44 | Сообщение # 11
офлайн

  • Сообщения: 130
  • Награды: 0
  • Замечания:
 
Кто нибудь подкиньте эту модельку ножа!!!

CS: -=*{Vitaliy}*=-
Skype: opa_nao_O
 
DOGGONE57
Дата: Четверг, 14.06.2012, 16:14 | Сообщение # 12
офлайн

  • Сообщения: 59
  • Награды: 1
  • Замечания:
 
Скажите пожалуйста, какие переменные нужно заменить чтобы можель ножа с можелью гранаты орка работала?

ICQ: 150000056
Skype: doggone007
 
KinD
Дата: Четверг, 14.06.2012, 17:16 | Сообщение # 13
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
Code
public Event_CurWeapon(id)  
  {  
  new weaponID = read_data(2)  
   
  if (weaponID == CSW_KNIFE && p_data[id][P_RACE] == RACE_HUMAN )  
  {  
  set_pev(id, pev_viewmodel2, "models/warcraft3/v_knife.mdl")  
  }  
else
{
    new weaponID = read_data(2)  
   
  if (weaponID == CSW_HEGRENADE && p_data[id][P_RACE] == RACE_ORC )  
  {  
  set_pev(id, pev_viewmodel2, "models/warcraft3/v_grenade.mdl")  
}
  }


Skype:daywerok
 
DOGGONE57
Дата: Четверг, 14.06.2012, 17:32 | Сообщение # 14
офлайн

  • Сообщения: 59
  • Награды: 1
  • Замечания:
 
Это куда прописать?

ICQ: 150000056
Skype: doggone007
 
KinD
Дата: Четверг, 14.06.2012, 17:34 | Сообщение # 15
офлайн

  • Сообщения: 1148
  • Награды: 22
  • Замечания:
 
DOGGONE57, Совет, не стоит мучатся тебе с этим.

Skype:daywerok
 
Ацелот
Дата: Четверг, 14.02.2013, 00:29 | Сообщение # 16
офлайн

  • Сообщения: 52
  • Награды: 0
  • Замечания:
 

Может кто помочь плизз.Если первые 3 строчки убираются сменой переменных то что делать с остальными не знаю.
Модель гранаты уже прописана и работает.
Прикрепления: 4210076.gif (29.3 Kb)


Сообщение отредактировал Ацелот - Четверг, 14.02.2013, 00:37
 
Cy4OHAK
Дата: Четверг, 14.02.2013, 15:47 | Сообщение # 17
офлайн

  • Сообщения: 28
  • Награды: 0
  • Замечания:
 
У кого уже была установлена граната у Orka , для Humana нужно немножко подкорректировать .

Шаг 1.

Открываете cssbWar3ftMod.sma

Добавляете форвард

register_forward(FM_SetModel, "fwSetModelHuman");

Шаг 2.

В файл hum_new_knife.h добавляете код

new szModels_P[] = "models/warcraft3/p_humknife.mdl"
new szModels_V[] = "models/warcraft3/v_humknife.mdl"

new bool:bIsHasKNIFE[33];  

Шаг 3.

В файл hum_new_knife.inl добавляете код

public fwSetModelHuman(entModel, const model[])
 {
       if ( !pev_valid ( entModel ) )
        return FMRES_IGNORED;
 
       if (strlen(model) < 8)
        return FMRES_IGNORED;
 
       new idUser, model_w[64];
       idUser = pev(entModel, pev_owner);
 
       if(p_data[idUser][P_RACE] == RACE_HUMAN)
       {
        format(model_w, charsmax(model_w), "%s", model[9]);
 
        new idwpn = get_idwpn_from_wmodel(model_w);
        if(idwpn == CSW_KNIFE)
        {
         engfunc(EngFunc_SetModel, entModel, szModel_W);
                   
         return FMRES_SUPERCEDE;
        }
       }
              
       return FMRES_IGNORED;
 }

Шаг 4.

Открываешь файл war3ft.inl
Добавляешь код

//Новые модели для ножа у человека
precache_model(szModels_P);      
precache_model(szModels_V); 

Шаг 5.

Открываешь файл events.inl
Добовляешь код

//Своя модель ножа у человека
if(p_data_b[idUser][PB_HAS_SPAWNED] && p_data[idUser][P_RACE] == RACE_HUMAN)
{
    if(iCurWeapon == CSW_KNIFE)
    {
        if(!bIsHasKNIFE[idUser])
        {
            entity_set_string(idUser,EV_SZ_viewmodel,szModels_V);
            entity_set_string(idUser,EV_SZ_weaponmodel,szModels_P);
            bIsHasKNIFE [idUser]= false;
        }
    }      
            
    if(iCurWeapon != CSW_KNIFE)      
    bIsHasKNIFE [idUser]= false;
}

В папку ...\cstrike\models\warcraft3 закидываешь прикрепленные модели
Модели Knife

Посмотреть что из этого получилось можно у меня на сервере : 91.211.117.52:27029


 
Ацелот
Дата: Пятница, 15.02.2013, 01:06 | Сообщение # 18
офлайн

  • Сообщения: 52
  • Награды: 0
  • Замечания:
 
Спасибо все сделал все компилится
 
gamora2014
Дата: Пятница, 15.02.2013, 18:15 | Сообщение # 19
офлайн

  • Сообщения: 77
  • Награды: 1
  • Замечания:
 
Cy4OHAK, Спасибо я вот с этим мучился!
Цитата (Cy4OHAK)
У кого уже была установлена граната у Orka , для Humana нужно немножко подкорректировать .
 
ExstazI
Дата: Пятница, 16.08.2013, 17:12 | Сообщение # 20
офлайн

  • Сообщения: 10
  • Награды: 0
  • Замечания:
 
Цитата (Kartman)
А если уже так не получится сделай так: ?
Шаг 1.

Создаешь два пустых файла в папке war3ft hum_new_knife.h и hum_new_knife.inl
Открываешь cssbWar3ftMod.sma
Подключаешь их
#include "war3ft/hum_new_knife.inl"
#include "war3ft/hum_new_knife.h"

Потом добавляешь форвард
register_forward(FM_SetModel, "fwSetModel");

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

Шаг 2.

В файл hum_new_knife.h добавляешь код

new szModel_P[] = "models/warcraft3/p_humknife.mdl"
new szModel_V[] = "models/warcraft3/v_humknife.mdl"
new szModel_W[] = "models/warcraft3/w_humknife.mdl"

Добавляем булевую переменную:
new bool:bIsHasKNIFE[33];

Шаг 3.

В файл hum_new_knife.inl добавляешь код

public fwSetModel(entModel, const model[])
{
if ( !pev_valid ( entModel ) )
return FMRES_IGNORED;

if (strlen(model) < 8)
return FMRES_IGNORED;

new idUser, model_w[64];
idUser = pev(entModel, pev_owner);

if(p_data[idUser][P_RACE] == RACE_HUMAN)
{
format(model_w, charsmax(model_w), "%s", model[9]);

new idwpn = get_idwpn_from_wmodel(model_w);
if(idwpn == CSW_KNIFE)
{
engfunc(EngFunc_SetModel, entModel, szModel_W);

return FMRES_SUPERCEDE;
}
}

return FMRES_IGNORED;
}

get_idwpn_from_wmodel(model_w[])
{
new wpnname[64], idwpn;
format(wpnname, charsmax(wpnname), "weapon_%s", model_w);
replace(wpnname, charsmax(wpnname), ".mdl", "");
replace(wpnname, charsmax(wpnname), "_mp5", "_mp5navy");
strtolower(wpnname);
idwpn = get_weaponid(wpnname);

return idwpn;
}

Шаг 4.

Открываешь файл war3ft.inl
Добавляешь код

precache_model(szModel_P);
precache_model(szModel_V);
precache_model(szModel_W);

Шаг 5.

Открываешь events.inl и ищешь public on_CurWeapon( idUser )
Ниже вставляешь код

if(p_data_b[idUser][PB_HAS_SPAWNED] && p_data[idUser][P_RACE] == RACE_HUMAN)
{
if(iCurWeapon == CSW_KNIFE)
{
if(!bIsHasKNIFE[idUser])
{
entity_set_string(idUser,EV_SZ_viewmodel,szModel_V);
entity_set_string(idUser,EV_SZ_weaponmodel,szModel_P);
bIsHasKNIFE [idUser]= true;
}
}

if(iCurWeapon != CSW_KNIFE)
bIsHasKNIFE [idUser]= false;
}

Шаг 6.

В папку ...\cstrike\models закидываешь прикрепленные модели (свои позже можно будет поставить)
Скачать модели

Три модели должны находиться на своих местах

models/warcraft3/p_humknife.mdl
models/warcraft3/v_humknife.mdl
models/warcraft3/w_humknife.mdl

По материалу SMaster;
Все работает проверял лично!


А как сделать так что бы он только был на максимальном lvl ?


Сообщение отредактировал ExstazI - Пятница, 16.08.2013, 17:12
 
  • Страница 1 из 1
  • 1
Поиск: