Skocz do zawartości

Witamy w Nieoficjalnym polskim support'cie AMX Mod X

Witamy w Nieoficjalnym polskim support'cie AMX Mod X, jak w większości społeczności internetowych musisz się zarejestrować aby móc odpowiadać lub zakładać nowe tematy, ale nie bój się to jest prosty proces w którym wymagamy minimalnych informacji.
  • Rozpoczynaj nowe tematy i odpowiedaj na inne
  • Zapisz się do tematów i for, aby otrzymywać automatyczne uaktualnienia
  • Dodawaj wydarzenia do kalendarza społecznościowego
  • Stwórz swój własny profil i zdobywaj nowych znajomych
  • Zdobywaj nowe doświadczenia

Dołączona grafika Dołączona grafika

Guest Message by DevFuse
 

Zdjęcie
CoD Nowy

Zmiana modeli broni dla klas/perków

CoD Nowy

  • Nie możesz napisać tematu
  • Zaloguj się, aby dodać odpowiedź
20 odpowiedzi w tym temacie

#1 Goliath

    Godlike

  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 19.02.2011 20:34

*
Popularny

Witam!
Dzisiaj pokażę wam, jak zrobić klasę/perk ze zmienionym modelem broni (p_/v_/w_). Zacznę od wytłumaczenia, który model za co odpowiada:
- v_* jest to model, który widzimy my z perspektywy 1. osoby,
- p_* jest to model broni w naszych rękach, jaki widzą inni gracze,
- w_* jest to model broni leżącej na ziemi.

CoD Nowy
Zacznijmy od przygotowania pliku. Weźmy np. takiego Rushera. Plik .sma wygląda tak:
Spoiler

Dodajmy wsród zmiennych warunek typu true/false (o nazwie ma_klase dla klasy lub ma_perk dla perku) i wrzućmy do forwardów cod_class_enabled i cod_class_disabled (jeżeli zmieniamy to dla perku, to do forwardów cod_perk_enabled i cod_perk_disabled). Następnie zaincludujmy potrzebną bibliotekę fakemeta oraz dodajmy modele do plugin_precache (żeby się ściągały przed dołączeniem do serwera).
Spoiler


Zacznijmy od zmiany modelów p_ i v_. Dodajemy to do plugin_init:
register_event("CurWeapon", "CurWeapon", "be", "1=1")

A to na koniec pliku:
public CurWeapon(id)
{
new weapon = read_data(2);

if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk
{
if(weapon == CSW_M3) //tutaj ustawiamy broń, jakiej model będziemy zmieniać
{
set_pev(id, pev_viewmodel2, "models/cod/v_m3.mdl")
//tu dajemy ścieżkę do nowego modeli v_
set_pev(id, pev_weaponmodel2, "models/cod/p_m3.mdl")
//tu dajemy ścieżkę do nowego modeli p_
}
}
}

Całość wygląda tak:
Spoiler

Teraz zajmijmy się zmianą modelu w_. Dodajemy to do plugin_init:
register_forward(FM_SetModel, "fw_SetModel");

A to na koniec pliku:
public fw_SetModel(entity, model[])
{
if(!pev_valid(entity))
return FMRES_IGNORED

if(!equali(model, "models/w_m3.mdl")) //tutaj wpisujemy ścieżkę do STAREGO modelu w_, czyli tego który chcemy podmienić
return FMRES_IGNORED;

new entityowner = pev(entity, pev_owner);

if(!ma_klase[entityowner]) //tutaj wpisujemy ma_perk lub ma_klase
return FMRES_IGNORED;

engfunc(EngFunc_SetModel, entity, "models/cod/w_m3.mdl")
return FMRES_SUPERCEDE
}

A to gotowy .sma:
Spoiler


To by było na tyle. Mam nadzieję, że zrozumieliście jak to zrobić. Niestety - modele musicie sami sobie znaleść ;P.

Użytkownik Goliath edytował ten post 16.05.2011 17:03

  • +
  • -
  • 38

#2 MatisyaHu

    Wszechwidzący

  • Użytkownik

Reputacja: 47
Pomocny

  • Postów:296
  • Imię:MatisyaHu
  • Lokalizacja:Melbern
Offline

Napisano 19.02.2011 21:45

Ładnie + :blaga:
  • +
  • -
  • 1

#3 Adrenaline1986

    Życzliwy

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:33
  • Lokalizacja:Warszawa
Offline

Napisano 20.02.2011 17:30

Dzięki. Dobry poradnik, wszystko śmiga. Daje plusa

PS mógłbyś dodać zmianę modelu postaci w zależności od klasy? (unikalna skórka dla danej klasy)
  • +
  • -
  • 0

#4 Cypis'

    Master

  • Przyjaciel

Reputacja: 1 161
Super Hero

  • Postów:965
  • GG:
  • Steam:steam
  • Lokalizacja:polska
Offline

Napisano 24.02.2011 17:47

mogłeś to zrobić fakemeta bez używania engine :D
  • +
  • -
  • 0

#5 ViHuRa

    Zaawansowany

  • Użytkownik

Reputacja: 1
Nowy

  • Postów:117
  • GG:
  • Imię:Adam
  • Lokalizacja:Legionowo
Offline

Napisano 03.03.2011 20:57

Ogromne dzięki :blaga: :blaga: :blaga:
  • +
  • -
  • 0
Centrum-Gier.com

#6 ToRRent

    Czempion

  • Power User

Reputacja: 229
Wszechwidzący

  • Postów:861
  • Imię:Łukasz
  • Lokalizacja:Wrocław
Offline

Napisano 13.03.2011 21:19

Pytanie jak podmienic dzwieki tych broni ??
  • +
  • -
  • 0

#7 Goliath

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 13.03.2011 21:39

Wszystkie dźwięki broni (oprócz dźwięków strzału, bo ich zmienić się chyba nie da) zmieniasz w modelach. Zdekompiluj model, zmień ścieżki do dźwięków w pliku .qc, skompiluj model i dodaj te dźwięki do plugin_precache w pluginie.
  • +
  • -
  • 0

#8 Neazo

    Banned

  • Zbanowany

Reputacja: 19
Początkujący

  • Postów:340
  • GG:
  • Imię:Przemek
  • Lokalizacja:Rzgów
Offline

Napisano 30.03.2011 10:18

a jak to zrobić w starym codzie?

#9 Goliath

    Godlike

  • Autor tematu
  • Przyjaciel

Reputacja: 1 237
Godlike

  • Postów:2 334
  • GG:
  • Steam:steam
  • Imię:Maciej
  • Lokalizacja:Mońki
Offline

Napisano 30.03.2011 13:59

Podobnie, tylko trza zmienić ma_klase[...] na klasa_gracza[...] == JakasKlasa. Mam nadzieję, że sobie jakoś poradzisz, bo tłumaczyć od zera mi się nie chce :P .
  • +
  • -
  • 0

#10 WiWaldi:*

    Wszechwidzący

  • Zbanowany

Reputacja: 65
Pomocny

  • Postów:267
  • GG:
  • Imię:Waldemar
  • Lokalizacja:Świdnica
Offline

Napisano 15.01.2012 20:55

Czyli tak o dać >???

public CurWeapon(id)
{
	    new weapon = read_data(2);
	    if(klasa_gracza[Moja Klasa???])
	    {
			    if(weapon == CSW_M3)
			    {
					    set_pev(id, pev_viewmodel2, "models/cod/v_m3.mdl")
					    //tu dajemy ścieżkę do nowego modeli v_
					    set_pev(id, pev_weaponmodel2, "models/cod/p_m3.mdl")
					    //tu dajemy ścieżkę do nowego modeli p_
			    }
	    }
}


#11 d0naciak

    Godlike

  • Power User

Reputacja: 1 029
Hero

  • Postów:2 414
  • GG:
  • Steam:steam
  • Imię:Dawid
  • Lokalizacja:Kotlarka
Offline

Napisano 15.01.2012 21:17


public CurWeapon(id)
{
new weapon = read_data(2);

if(klasa_gracza[id] == TwOJA@KLASA) //tutaj wstawiamy ma_klase lub ma_perk
{
if(weapon == CSW_M3) //tutaj ustawiamy broń, jakiej model będziemy zmieniać
{
set_pev(id, pev_viewmodel2, "models/cod/v_m3.mdl")
//tu dajemy ścieżkę do nowego modeli v_
set_pev(id, pev_weaponmodel2, "models/cod/p_m3.mdl")
//tu dajemy ścieżkę do nowego modeli p_
}
}
}


Tylko nie podmieniaj calego publica, tylko znajdz public CurWeapon i przed ostatnią klamrą dodaj to


if(klasa_gracza[id] == TwOJA@KLASA) //tutaj wstawiamy ma_klase lub ma_perk
{
if(weapon == CSW_M3) //tutaj ustawiamy broń, jakiej model będziemy zmieniać
{
set_pev(id, pev_viewmodel2, "models/cod/v_m3.mdl")
//tu dajemy ścieżkę do nowego modeli v_
set_pev(id, pev_weaponmodel2, "models/cod/p_m3.mdl")
//tu dajemy ścieżkę do nowego modeli p_
}
}


  • +
  • -
  • 1

#12 TomekLex

    Pomocny

  • Użytkownik

Reputacja: 0
Nowy

  • Postów:53
  • Imię:Tomasz
  • Lokalizacja:Kraków
Offline

Napisano 20.03.2012 19:12

Pisał pan poniżej aby nie pisać na pw w sprawie pomocy na forum także proszę bardzo,

Mam taki problem ,że w ogóle to jestem w tym troche zielony ale nie aż tak, bo umiem podmienić model broni ale to mi sie nie udaje proszę bardziej objaśnić ten kawałek tekstu

Dodajmy wsród zmiennych warunek typu true/false (o nazwie ma_klase dla klasy lub ma_perk dla perku) i wrzućmy do forwardów cod_class_enabled i cod_class_disabled (jeżeli zmieniamy to dla perku, to do forwardów cod_perk_enabled i cod_perk_disabled). Następnie zaincludujmy potrzebną bibliotekę fakemeta oraz dodajmy modele do plugin_precache (żeby się ściągały przed dołączeniem do serwera).


Z góry przepraszam za utrudnienia.
  • +
  • -
  • 0

#13 Klakier

    Volenti non fit iniuria

  • Power User

Reputacja: 391
Wszechpomocny

  • Postów:878
  • GG:
  • Imię:Sebastian
  • Lokalizacja:Mogilno
Offline

Napisano 02.04.2012 14:16

Szkoda, że dźwięków itp nie podmienia...
  • +
  • -
  • 0

Sell - System Klanów (wojny, top15 etc)

 

Kontakt GG: 7285018


#14 marshi

    Początkujący

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:17
  • Lokalizacja:Szydłowiec
Offline

Napisano 12.07.2012 15:37

Prosiłbym o pomoc... Czekam i na razie się nie doczekałem. Potrzebne mi to na wczoraj więc chciałbym to ogarnąć... http://amxx.pl/topic...odmiana-modeli/
  • +
  • -
  • 0

#15 .:Felek:.

    Nowy

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:9
  • Imię:Szymon
  • Lokalizacja:Ino
Offline

Napisano 13.03.2013 20:12

Dzięki wielkie spróbuje zrobic :D
  • +
  • -
  • 0

BlueSkill


Dołączona grafika


IP:31.168.82.162:27276


#16 StevePro

    Życzliwy

  • Użytkownik

Reputacja: 5
Nowy

  • Postów:26
  • Lokalizacja:Lublin
Offline

Napisano 09.07.2013 09:13

Dzięki :D
  • +
  • -
  • 0

#17 Vess

    Nowy

  • Nowy

Reputacja: 0
Nowy

  • Postów:2
  • Imię:Bartek
  • Lokalizacja:Jastrzębie-Zdrój
Offline

Napisano 10.08.2013 13:36

Dlaczego nie moge otworzyc spoiler'a
  • +
  • -
  • 0

#18 MAGNET

    SourceLearned ;)

  • Moderator

Reputacja: 661
Wszechmogący

  • Postów:1 535
  • GG:
  • Imię:Olek
  • Lokalizacja:Dalekoo
Offline

Napisano 29.03.2014 22:47

A to jest dział, do którego powinieneś pisać o swoich problemach: http://amxx.pl/forum/146-problemy/


  • +
  • -
  • 0

#19 AveCS

    Nowy

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:9
  • Imię:AveCS
  • Lokalizacja:Warszawa
Offline

Napisano 20.10.2014 10:02

mam problem bo nie chce mi sięskomplikować

 

 

#include <amxmodx>

#include <amxmisc>
#include <codmod>
#include <fun>
#include <cstrike>
#include <hamsandwich>
 
#define DMG_BULLET (1<<1)
        
new const nazwa[]   = "Black Agent";
new const opis[]    = "+ 30 dmg z M4A1.";
new const bronie    = (1<<CSW_HEGRENADE)|(1<<CSW_M4A1)|(1<<CSW_FLASHBANG);
new const zdrowie   = 0;
new const kondycja  = 0;
new const inteligencja = 0;
new const wytrzymalosc = 15;
 
new bool:ma_klase[33];
    
public plugin_init()
{
register_plugin(nazwa, "1.0", "amxx.pl");
 
cod_register_class(nazwa, opis, bronie, zdrowie, kondycja, inteligencja, wytrzymalosc);
 
        RegisterHam(Ham_TakeDamage, "player", "TakeDamage");
register_forward(FM_SetModel, "fw_SetModel");
register_event("CurWeapon", "CurWeapon", "be", "1=1")
 
}
 
public cod_class_enabled(id)
{
give_item(id, "weapon_hegrenade");
give_item(id, "weapon_flashbang");
cs_set_user_nvg(id, 1);
        ma_klase[id] = true;
}
 
public cod_class_disabled(id)
{
ma_klase[id] = false;
 
public plugin_precache()
{
precache_model("models/cod/w_m4a1.mdl");
precache_model("models/cod/p_m4a1.mdl");
precache_model("models/cod/v_m4a1.mdl");
//powyżej zmieniasz ścieżki do nowych modeli
}
 
}
 
public TakeDamage(this, idinflictor, idattacker, Float:damage, damagebits)
{
        if(!is_user_connected(idattacker))
                return HAM_IGNORED;
        
        if(!ma_klase[idattacker])
                return HAM_IGNORED;
        
        if(get_user_team(this) != get_user_team(idattacker) && get_user_weapon(idattacker) == CSW_M4A1 && damagebits & DMG_BULLET)
                cod_inflict_damage(idattacker, this, 30.0, 0.0, idinflictor, damagebits);
        
        return HAM_IGNORED;
}
 
public CurWeapon(id)
{
new weapon = read_data(2);
 
if(ma_klase[id]) //tutaj wstawiamy ma_klase lub ma_perk
{
if(weapon == CSW_M4A1)
 
{
set_pev(id, pev_viewmodel2, "models/cod/v_m4a1.mdl")
//tu dajemy ścieżkę do nowego modeli v_
set_pev(id, pev_weaponmodel2, "models/cod/p_m4a1.mdl")
//tu dajemy ścieżkę do nowego modeli p_
}
}
}
public fw_SetModel(entity, model[])
{
if(!pev_valid(entity)) 
return FMRES_IGNORED
 
if(!equali(model, "models/w_m4a1.mdl"))  //tutaj wpisujemy ścieżkę do STAREGO modelu w_, czyli tego który chcemy podmienić
return FMRES_IGNORED;
 
new entityowner = pev(entity, pev_owner);
 
if(!ma_klase[entityowner])   //tutaj wpisujemy ma_perk lub ma_klase
return FMRES_IGNORED;
 
engfunc(EngFunc_SetModel, entity, "models/cod/w_m4a1.mdl")
return FMRES_SUPERCEDE
}

 


radim (20.10.2014 12:36):
Załóż nowy temat!

  • +
  • -
  • -1

#20 AveCS

    Nowy

  • Użytkownik

Reputacja: -1
Nowy

  • Postów:9
  • Imię:AveCS
  • Lokalizacja:Warszawa
Offline

Napisano 20.10.2014 10:08

warning 217: loose indentation
error 029: invalid expression, assumed zero
error 004: function "plugin_precache" is not implemented

  • +
  • -
  • 0





Również z jednym lub większą ilością słów kluczowych: CoD Nowy

Użytkownicy przeglądający ten temat: 0

0 użytkowników, 0 gości, 0 anonimowych