Hlavn strnka    Vyhadvanie       Homepage    Registrcia   Prihlsenie
Rubriky
Tutorily
Recenzie
Rzne
Vyhadvanie
Odkazy
lenovia
Download
FRUM
IRC kanl
IRC web klient
GALRIA
Tutorily na XSI
RSS
Registrcia
Diskusn boardy
  • The lambda
  • Mapping
  • Modeling
  • Coding
  • Half-Life

  • Najnovie lnky
    Automatická textová správa
    Vocko Tutoril
    07.06.2009 : 11:02:12
    V tomto tutoriále si spravíme automatickú textovú správu, ktorá sa prehraje vždy s nejakým zvukom.
    Kompilovanie SDK aj na VC++ .Net 2003
    Vocko Tutoril
    10.05.2009 : 10:46:16
    Kto by si chcel pod¾a tutoriálov tu na lambde nieèo prida do kódu, stretne sa s problémom, neskompiluje to.
    Env_mirror alebo zrkadlenie modelov
    Vocko Tutoril
    24.04.2009 : 18:49:30
    Tutoriál na zrkadlenie tu už je, ale èo ak chceme odráža i modely? Na tom nám poslúži entita env_mirror, ktorá sa nachádza iba v Spirite 1.4 alebo novšej verzii.
    HL2 : Obloukový prùchod
    R4z0r Tutoril
    01.05.2008 : 05:48:46
    Dnes si ukážeme zpùsob, jak vytvoøit elegantní obloukový prùchod, bez nutnosti používat øezání geometrie brushem...
    Pridanie zoomu do mp5
    NICKSss Tutoril
    03.03.2008 : 18:55:16

    No,dnes si povieme ako prida zoom na mp5-ku namiesto granátu.
    Pridanie mp3 do spiritu
    NICKSss Tutoril
    02.03.2008 : 20:55:09

    Návod na pridanie mp3 do Half-Life 1 alebo Spirt 1.2,otestované na verzii 1.2.

    Asi už mate zbrane add-ons vo Spirite 1.2 a nechcete prejst na ver.1.4 lebo všetko stratite

    pre Mp3... Na internete som našiel návody pre HL1 a po anglicky ktoré po skompilovani

    fungovali asi takto : Aplikácia HL.EXE Neodpovedá...
    *locus
    Deli Tutoril
    22.02.2008 : 20:13:47
    Pre niektorých mapperov neznámy pojem, ale pre niektorých ve¾mi úèinná pomôcka.
    Vïaka tomuto príspevku sa vám posnažím priblíži tajomstvá jednej z najväèších zbraní spiritu.
    Spirit of Half-Life - Predstavenie
    Wizz Tutoril
    27.10.2007 : 08:52:04
    Predtým než sa pustíte do èítania, chcel by som Vás upozorni že èlánok už nemusí by 100% aktualny. Èlánok som totiž napísal ešte za svojich mladých èias - 13. júna 2004, èo je viac ako tri roky. Zverejni som sa ho rozhodol po nátlaku a výhražkach ostatných redaktorov
    Ako spraviť Otisa
    Wizz
    [13.03.2004 : 19:02:49] 98 Tutoril
    tan : 3559
    Priemern znmka : 1.5
    Ak ste hraly Opposing force, iste si pamätáte na takého milého, tučného policajta. Vydieť ste ho mohly aj v Blue Shift, ako sa na strelnici napcháva koláčom . Je to v podstate normálny policajt ako starý Barney. Takže pokial by ste ho chcely mať v hre, stačilo by mu len zmeniť MDL súbor. Ale pokiaľ chcete používať oboch, musíte si ho doprogramovať.



    Teraz niečo ku OOP, alebo Objektovo Orientovanému Programovaniu. Tieto základy by Vám maly pomôcť pri začiatkoch programovania v HL, ale nielen tam. Pri OOP používame výrazi ako : trieda, objekt (v niektorej literatúre "instancia"), dedičnosť, ... Ale o čo vlastne ide ?

    TRIEDA, je to vlastne typ, ktorý obsahuje definície premenných a funkcí, ktoré s týmito premennými pracujú. Každá trieda potom môže riešiť nejakú úlohu (napr. v HL je trieda "TalkMonster" ktorá sa stará o chod hovoriacich monstier ako vedec a barney).

    Od každej triedy potom môžeme vytvoriť OBJEKT. Objekt používa všetky premenné a funkcie triedy, ku ktoréj patrí. Každá trieda môže mať X rôznych objektov (X je celé kladné číslo).

    A dedičnosť. Pomocou dedičnosti môžeme vytvoriť novú triedu, ktorá zdedí všetky premenné a funkcie po už existujúcej triede (tzv. rodičovská trieda) + môžme pridať ďaľšie. Takto vytvorená trieda sa nazýva aj "potomok". Malý príklad. HL má nadefinovanú triedu TalkMonster, ktorá obsahuje základne hodnoty a funkcie pre hovoriace monstra v hre, ale neobsahuje priamo konkrétne data o súboroch s modelom, zvukmi, animáciami. Preto je vytvorená trieda Barney, ktorá bude potomkom triedy TalkMonster a bude definovať názov modelu ktorý sa má použiť, zvuky ktoré má rozprávať atď. Pritom základné data bude čerpať z triedy TalkMonster.

    Od teórie teraz radšej préjdeme ku samotnéj tvorbe. Začnite s tým, že skopírujte súbory "otis.mdl", "otis01.mdl", otis02.mdl" a "otis03.mdl" do adresára "valve/models/" . Model Otisa môžete získať napr. z Opposing Force alebo Blue Shift.

    Spustite VC++, otvorte HL SDK a chodte do súboru barney.cpp. Kúsok pod začiatkom súboru nájdete text :
    class CBarney : public CTalkMonster

    Toto je zápis dedičnosti (je zvyk dávať na začiatok názvu triedy nejaké písmeno, v tomto prípade je to C). Za definíciou dedičnosti sa nachádza v zložených zátvorkách { } definícia premenných a funkcí, ktoré patria do tejto triedy. Pod ňou je ešte zápis funkcie LINK_ENTITY_TO_CLASS, ktorá určuje aká entita patrí ku tejto triede.
    Pod ňu už pridáme vlastný kod :

    class COtis : public CBarney
    {
    void Spawn( void );
    void Precache( void );
    void Killed( entvars_t *pevAttacker, int iGib );
    int body;
    };

    LINK_ENTITY_TO_CLASS( monster_otis, COtis );


    Vytvorily sme si triedu COtis, ktorá je potomkom triedy CBarney, teda sme zdedily aj jej všetky funkcie. Ale nie všetky potrebujeme v pôvodnej podobe, preto si niektoé musíme definovať sami (Spawn, Precache, Killed a premennú body). Posledný riadok určuje, že trieda COtis patrí ku entite monster_otis (tú si nakoniec pridáme do fgd súboru).
    Teraz napíšeme samotné funkcie, takže :

    void COtis :: Spawn()
    {
    Precache( );

    SET_MODEL(ENT(pev), "models/otis.mdl");
    UTIL_SetSize(pev, VEC_HUMAN_HULL_MIN, VEC_HUMAN_HULL_MAX);

    pev->solid = SOLID_SLIDEBOX;
    pev->movetype = MOVETYPE_STEP;
    m_bloodColor = BLOOD_COLOR_RED;
    pev->health = gSkillData.barneyHealth;
    pev->view_ofs = Vector ( 0, 0, 50 );
    m_flFieldOfView = VIEW_FIELD_WIDE;
    m_MonsterState = MONSTERSTATE_NONE;

    pev->body = 0; // pri nacitani nebude mat v ruke zbran
    m_fGunDrawn = FALSE;

    m_afCapability = bits_CAP_HEAR | bits_CAP_TURN_HEAD | bits_CAP_DOORS_GROUP;

    MonsterInit();
    SetUse( FollowerUse );
    }


    void COtis :: Precache()
    {
    PRECACHE_MODEL("models/otis.mdl");

    PRECACHE_SOUND("barney/ba_attack1.wav" );
    PRECACHE_SOUND("barney/ba_attack2.wav" );

    PRECACHE_SOUND("barney/ba_pain1.wav");
    PRECACHE_SOUND("barney/ba_pain2.wav");
    PRECACHE_SOUND("barney/ba_pain3.wav");

    PRECACHE_SOUND("barney/ba_die1.wav");
    PRECACHE_SOUND("barney/ba_die2.wav");
    PRECACHE_SOUND("barney/ba_die3.wav");

    TalkInit();
    CTalkMonster::Precache();
    }

    void COtis::Killed( entvars_t *pevAttacker, int iGib )
    {
    // zmena, inak by mal v ruke kolac
    pev->body = 0;

    Vector vecGunPos;
    Vector vecGunAngles;

    GetAttachment( 0, vecGunPos, vecGunAngles );
    CBaseEntity *pGun = DropItem( "weapon_9mmhandgun", vecGunPos, vecGunAngles );

    SetUse( NULL );
    CTalkMonster::Killed( pevAttacker, iGib );
    }


    Zaujimavosťou môže byť, že pokiaľ by sme nezmenilny funkciu Killed, mal by Otis po zabití v ruke kolač
    skompilujte to, a vytvorenou knižnicou nahraďte pôvodnú hl.dll (tú si môžete aj zalohovať).
    To je z programovéj stránky všetko.
    Teraz otvorte súbor halflife.fgd, ktorý používa Váš editor na načítanie entít. Nájdite riadok :

    @PointClass base(Monster,TalkMonster) size(-16 -16 0, 16 16 72) = monster_barney : "Barney" []

    a pridajte pod neho :

    @PointClass base(Monster,TalkMonster) size(-16 -16 0, 16 16 72) = monster_otis : "Otis" []

    Teraz už môžete spustiť editor a do mapy vložiť entitu monster_otis. Keď mapu skompilujete, mal by sa tam objaviť Otis, ktorý sa bude chovať ako policajt ...

    To je zatiaľ všetko, obdobným spôsobom sa dájú spraviť aj iné "príšery" ktoré zdedia funkcie po rodičovskéj triede, ale budú určite spestrením Vašeho MODu.

    SBORY KU LNKU :

    BODOVANIE LNKU
    Boduje sa ako v kole (1- vborn, 5-zl)
           

    Priemern znmka : 1.5
    Hlasovalo : 8

    KOMENTRE KU LNKU
    Poet komentrov ku lnku : 3

    1. hAssassin
    [07.12.2004-13:44] 570
    Zdravim,
    koneènì sem sehnal C++ a zkoušel sem si pøidat Otisa.
    Pøes poèáteèný nezdary se mi to povedlo!!!
    Ale dìlal chyby: 1) neumìl bìhat - když sem mu øekl, aby sel za mnou a pak mu utekl, sekl se a nìjak se "vrtìl"
    2) neumøel - když sem se ho pokusl zaít, místo animace pádu se zase vrtìl a pak z nìho vypadla pistole. Když sem do nìj støílel dál, tak z nìho pistole padala furt. Nakonec se seknul a dalo se zkrze nìj projít.

    Musim pøiznat, že programovat umim akorát v Pascalu a JavaScriptu. V C++ sem dìlal úplnì poprvý, ale pøesto bych se chtìl zeptat, jestli by mi nemohl poradit...

    Pøedem díky

    2. goblin Redaktor
    [16.12.2006-18:31] 2251
    ja som pochopil tu dedicnost lenze to nestaci ked chcem iba urobit vedca s iba inou texturou ale aby boli aj jeden aj druhy v hre tak ani to neviem

    All I want , all I need is to see my enemy bleed!

    3. Vaber Redaktor
    [17.12.2006-20:02] 2253
    Tak snad vytvoris novou tridu kterou odvodis od tridy normalniho vedce a pretizis fci Spawn().. Ja sem do HL1 vzivote nekodil (jen HL2), ale melo by pro snadnou zmenu modelu stacit hodit do novy fce spawn tohle:

    BaseClass::Spawn();
    SET_MODEL(ENT(pev), "models/novy_vedec_model.mdl");

    ale nevim jak to reaguje na vic zmen modelu, mozna budes muset celou tu spawn fci opsat a nepouzit figl s BaseClass..

    C++ coder

    Pre pridvanie komentrov muste by prihlsen
    Pokia ete nieste zaregistrovan, mete tak urobi TU

    Vyhadvanie

    Rozren vyhadvanie

    AREA 42
    Hlka
    Aj moj komp uz ma alergii na slovo Acer, vzdy kdyz to nekdo napise , tak mi pohasne obraz, DVD Rom se vysune tak rychlo ze tocici se DVD leta po pokoji jak urvana cirkularka a naskoci hlaska neco o prehrati systemu...

    J.D.Skalpel @ ICQ with Jackar

    Starie hlky >> Komentre >>

    Anketa
    Bavi vas aj moding inych hernych zanrov ako FPS ?

    1.Ano, strategie [29%]

    2.Ano, RPG [22%]

    3.Ano, sportove hry [27%]

    4.Nie, ine ako FPS neriesim [23%]

    Spolu hlasovalo : 4040
    Starie ankety >>

    Najtanejie
    1.Atomová bomba ako v crossfire (30183x)
    2.HL2: První kroky (29396x)
    3.Counter-Strike entity (21578x)
    4.Half-Life: Padlé Mìsto demo - Recenze (19645x)
    5.Pozadie pomocou textúry sky (17889x)
    On-Line
    Tieto strnky si prve ta 1 lovek.
    Sponzor webu
    Spriatelen weby
    Ikona na náš web
    Preklady hier, mapy do Half-life a CS, chat a mnoho ïalšieho
    Filmový svet pod lupou
    ceskemody.cz
    HL Zone
    Vše o HL2
    Scifi-guide.net
    Mappersky portal zaoberajuci sa hramy ako CoD1, MoH:AA ci SourceSDK HL2 ale aj mnohymi dalsimi ...
    Nosferatu - novy Slovensky mod o upiroch
    Terrorist attack mod do HL
    PSP novinky, forum, download
    AirSoft Team AlfaCommandos Bratislava
    ICQ - Lamerz bar
    V zujme ochrany duevnho zdravia redaktorov tu u viac ICQ panel nenjdete :P

    Vsledky vaeho snaenia sa mete njs na lamz.thelambda.sk ...

    Vetky texty publikovan na tchto strnkach s majetkom thelambda.sk alebo ich autorov.
    (C) 2003-2006 thelambda.sk VSETKY PRAVA VYHRADENE
    www.TheLambda.SK Enter RS
    Strnka bola natan za 0.53 seknd.