Добро пожаловать на форум, Гость, это ваша панель
  • Страница 1 из 1
  • 1
Как изменить модель ножа у всех рас?
agent64rus
Дата: Вторник, 07.08.2012, 17:24 | Сообщение # 1
офлайн

  • Сообщения: 23
  • Награды: 0
  • Замечания:
 
Как изменить модели ножа у всех рас и чтобы ножи были разные?
 
faktor-dat
Дата: Вторник, 07.08.2012, 20:11 | Сообщение # 2
офлайн

  • Сообщения: 67
  • Награды: 2
  • Замечания:
 
плагин есть...)
Или тебе нужен нож для каждой рассы отдельно??? Если да то очень долго грузить ножи будет.
Ну а если 1 нож на для сервера, то вот плагин:




Сообщение отредактировал faktor-dat - Вторник, 07.08.2012, 20:12
 
Contra63
Дата: Вторник, 07.08.2012, 23:40 | Сообщение # 3
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
agent64rus, поиск on в http://perfect-soft.su/forum/56

 
runetov
Дата: Вторник, 07.08.2012, 23:40 | Сообщение # 4
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
agent64rus,

http://perfect-soft.su/forum/56-568-1

Шаг 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
Добавляеш прекэш

Как-то так.

Автор KinD

Чтобы это сделать для всех рас добавляй этот код заново только меняй RACE_HUMAN на названия других рас!

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")  
     }     
  }


 
agent64rus
Дата: Среда, 08.08.2012, 19:31 | Сообщение # 5
офлайн

  • Сообщения: 23
  • Награды: 0
  • Замечания:
 
runetov, А куда именно добовлять код в war3ft.inl
 
Contra63
Дата: Среда, 08.08.2012, 21:11 | Сообщение # 6
офлайн

  • Сообщения: 830
  • Награды: 7
  • Замечания:
 
agent64rus, в левую часть файла. exciting

 
agent64rus
Дата: Среда, 08.08.2012, 21:43 | Сообщение # 7
офлайн

  • Сообщения: 23
  • Награды: 0
  • Замечания:
 
Да я имел в виду в какую строчку(после чего)вставлять этот код !?
 
runetov
Дата: Среда, 08.08.2012, 22:06 | Сообщение # 8
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
agent64rus,

Сделай лучше по другому

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


 
agent64rus
Дата: Среда, 08.08.2012, 22:31 | Сообщение # 9
офлайн

  • Сообщения: 23
  • Награды: 0
  • Замечания:
 
Ну вот это всё ты мне написал только для одной расы human а как для другой!?
Получается создаёшь в папке war3ft любая раса_new_knife.h и любая раса_new_knife.inl
И всё тоже самое прописываешь только в любая раса_new_knife.h пишешь свои модели так !?
 
runetov
Дата: Среда, 08.08.2012, 23:46 | Сообщение # 10
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
agent64rus, оее че трудно что ли ааа?

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


Шаг 2.

В файл raca_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_raca) // Название расы той которою ты хочешь поставить
{
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.



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

if(p_data_b[idUser][PB_HAS_SPAWNED] && p_data[idUser][P_RACE] == RACE_raca) // Название расы той которою ты хочешь поставить
{
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


 
agent64rus
Дата: Четверг, 09.08.2012, 12:23 | Сообщение # 11
офлайн

  • Сообщения: 23
  • Награды: 0
  • Замечания:
 
Спасибо,извени конечно что так пристал к тебе простоя новичок и почти нечего не понимаю :)
 
Zep
Дата: Четверг, 09.08.2012, 12:52 | Сообщение # 12
офлайн

  • Сообщения: 199
  • Награды: 2
  • Замечания:
 
а поставить плагин никак и у всех будет другой нож или что ты там хочешь
 
agent64rus
Дата: Четверг, 09.08.2012, 13:35 | Сообщение # 13
офлайн

  • Сообщения: 23
  • Награды: 0
  • Замечания:
 
Можешь скинуть ссылку на этот плагин!?
 
runetov
Дата: Четверг, 09.08.2012, 14:19 | Сообщение # 14
офлайн

  • Сообщения: 283
  • Награды: 8
  • Замечания:
 
Zep, я тебя не понял

Quote
а поставить плагин

Какой плагин?
Quote
и у всех будет другой нож или что ты там хочешь

Да у той расы которой ты прописал

if(p_data[idUser][P_RACE] == RACE_HUMAN) В данном случае у хумана будет другой нож, кто возьмет хумана у них у всех будет другой нож.

Модель ножа меняем здесь

Code
Шаг 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];        
     


 
  • Страница 1 из 1
  • 1
Поиск: