Hlavná stránka    Vyh¾adávanie       Homepage    Registrácia   Prihlásenie
Rubriky
Tutoriály
Recenzie
Rôzne
Vyh¾adávanie
Odkazy
Èlenovia
Download
FÓRUM
IRC kanál
IRC web klient
GALÉRIA
Tutoriály na XSI
RSS
Registrácia
Diskusné boardy
  • The lambda
  • Mapping
  • Modeling
  • Coding
  • Half-Life

  • Najnovšie èlánky
    Automatická textová správa
    Vocko Tutoriál
    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 Tutoriál
    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 Tutoriál
    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 Tutoriál
    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 Tutoriál
    03.03.2008 : 18:55:16

    No,dnes si povieme ako prida zoom na mp5-ku namiesto granátu.
    Pridanie mp3 do spiritu
    NICKSss Tutoriál
    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 Tutoriál
    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 Tutoriál
    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
    HL2 coding: Samopaly do HL2MP
    Vaber
    [19.04.2006 : 15:11:25] 332 Tutoriál
    Èítaní : 5045
    Priemerná známka : 1.6
    Nejlepši je vycházet z kódu pùvodního SMG1, to kromì granátometu nemá žádné dalši pøídavné funkce. Vìtšina tøíd samopalù je odvozena od tøídy CHL2MPMachineGun, která velice usnadní celou tvorbu. V ukázkovém tutorialu bude naše zbraò pojmenována jako WeaponSamopal (pøi zmìnì tohoto názvu je tøeba zmìnit všchny výskyty - CWeaponSamopal, C_WeaponSamopal, DT_WeaponSamopal apod.)

    Zaènìme tedy se tvorbou. V projektu 'hl' (server.dll) vytvoøte soubor weapon_samopal.cpp a ten následnì také vložte do client. Nyní budeme potøebovat includovat hlavièkové soubory:



    #include "cbase.h"
    #include "npcevent.h"
    #include "in_buttons.h"

    #ifdef CLIENT_DLL
    #include "c_hl2mp_player.h"
    #else
    #include "grenade_ar2.h"
    #include "hl2mp_player.h"
    #include "basegrenade_shared.h"
    #include "AI_BaseNPC.h"
    #endif

    #include "weapon_hl2mpbase.h"
    #include "weapon_hl2mpbase_machinegun.h"

    #ifdef CLIENT_DLL
    #define CWeaponSamopal C_WeaponSamopal // V client.dll má tøída název zaèínajcí na C_
    #endif

    #include "tier0/memdbgon.h"



    Nyní deklarace tøídy CWeaponSamopal, ta obsahuje pár vložených funkcí, které vracejí hodnoty rychlosti støelby, min. a max. burst (nejsem si jist, k èemu tyto dvì hodnoty slouží ?) a rozptyl:



    class CWeaponSamopal : public CHL2MPMachineGun
    {
    public:
    DECLARE_CLASS( CWeaponSamopal , CHL2MPMachineGun );

    CWeaponSamopal();

    DECLARE_NETWORKCLASS();
    DECLARE_PREDICTABLE();


    void Precache( void);
    void AddViewKick( void);

    int GetMinBurst() { return 2; }
    int GetMaxBurst() { return 5; }

    virtual void Equip( CBaseCombatCharacter *pOwner );
    bool Reload( void);

    float GetFireRate( void ) { return 0.095f; } // Rychlost støelby, za kolik vteøin je možný další výstøel
    Activity GetPrimaryAttackActivity( void );

    virtual const Vector& GetBulletSpread( void )
    {
    static const Vector cone = VECTOR_CONE_3DEGREES; // Rozptyl
    return cone;
    }

    const WeaponProficiencyInfo_t *GetProficiencyValues();

    #ifndef CLIENT_DLL
    DECLARE_ACTTABLE();
    #endif

    protected:
    Vector m_vecTossVelocity;
    private:
    CWeaponSamopal( const CWeaponSamopal & );
    };



    Následujcí kód obsahuje vnitøní definici entity + acttable pro naší zbraò (pøi úpravách názvù dávejte pozor, a v tomto zmatku pojmenujete všechno správnì):



    IMPLEMENT_NETWORKCLASS_ALIASED( WeaponSamopal, DT_WeaponSamopal )

    BEGIN_NETWORK_TABLE( CWeaponSamopal, DT_WeaponSamopal )
    END_NETWORK_TABLE()

    BEGIN_PREDICTION_DATA( CWeaponSamopal )
    END_PREDICTION_DATA()

    LINK_ENTITY_TO_CLASS( weapon_samopal, CWeaponSamopal );
    PRECACHE_WEAPON_REGISTER(weapon_samopal);

    #ifndef CLIENT_DLL
    acttable_t CWeaponSamopal::m_acttable[] =
    {
    { ACT_HL2MP_IDLE, ACT_HL2MP_IDLE_SMG1, false},
    { ACT_HL2MP_RUN, ACT_HL2MP_RUN_SMG1, false},
    { ACT_HL2MP_IDLE_CROUCH, ACT_HL2MP_IDLE_CROUCH_SMG1, false},
    { ACT_HL2MP_WALK_CROUCH, ACT_HL2MP_WALK_CROUCH_SMG1, false},
    { ACT_HL2MP_GESTURE_RANGE_ATTACK, ACT_HL2MP_GESTURE_RANGE_ATTACK_SMG1, false},
    { ACT_HL2MP_GESTURE_RELOAD, ACT_HL2MP_GESTURE_RELOAD_SMG1, false},
    { ACT_HL2MP_JUMP, ACT_HL2MP_JUMP_SMG1, false},
    { ACT_RANGE_ATTACK1, ACT_RANGE_ATTACK_SMG1, false },
    };

    IMPLEMENT_ACTTABLE(CWeaponSamopal);
    #endif



    Tìla zbytku funkcí jsou zde (popisy jsou v komentáøích):



    CWeaponSamopal::CWeaponSamopal( )
    {
    m_fMinRange1 = 0;
    m_fMaxRange1 = 1400; // Max. dostøel
    }

    void CWeaponSamopal::Precache( void ) // precache funkce
    {
    BaseClass::Precache();
    }

    void CWeaponSamopal::Equip( CBaseCombatCharacter *pOwner ) // funkce volaná pøi zvednutí zbranì
    {
    m_fMaxRange1 = 1400; // Max. dostøel
    BaseClass::Equip( pOwner );
    }

    Activity CWeaponSamopal::GetPrimaryAttackActivity( void )
    {
    if ( m_nShotsFired < 2 )
    return ACT_VM_PRIMARYATTACK;

    if ( m_nShotsFired < 3 )
    return ACT_VM_RECOIL1;

    if ( m_nShotsFired < 4 )
    return ACT_VM_RECOIL2;

    return ACT_VM_RECOIL3;
    }

    bool CWeaponSamopal::Reload( void ) // Nabití zbranì
    {
    bool fRet;
    float fCacheTime = m_flNextSecondaryAttack;

    fRet = DefaultReload( GetMaxClip1(), GetMaxClip2(), ACT_VM_RELOAD );
    if ( fRet )
    {
    m_flNextSecondaryAttack = GetOwner()->m_flNextAttack = fCacheTime
    WeaponSound( RELOAD );
    }

    return fRet;
    }

    void CWeaponSamopal::AddViewKick( void ) // trhnutí obrazem
    {
    // tyto hodnoty jdou upravit pro zmìnu velikosti efektu
    #define EASY_DAMPEN 2.0f
    #define MAX_VERTICAL_KICK 4.0f //Degrees
    #define SLIDE_LIMIT 2.0f //Seconds

    //Get the view kick
    CBasePlayer *pPlayer = ToBasePlayer( GetOwner() );

    if ( pPlayer == NULL )
    return;

    DoMachineGunKick( pPlayer, EASY_DAMPEN, MAX_VERTICAL_KICK, m_fFireDuration, SLIDE_LIMIT );
    }

    const WeaponProficiencyInfo_t *CWeaponSamopal::GetProficiencyValues()
    {
    static WeaponProficiencyInfo_t proficiencyTable[] =
    {
    { 0.1, 0.75 },
    { 5.00, 0.75 },
    { 10.0/3.0, 0.75 },
    { 5.0/3.0, 0.75 },
    { 1.00, 1.0 },
    };

    COMPILE_TIME_ASSERT( ARRAYSIZE(proficiencyTable) == WEAPON_PROFICIENCY_PERFECT + 1);

    return proficiencyTable;
    }



    Nyní je kód zbranì hotov, ještì budete potøebovat vytvoøit script file se správným názvem (tvorba tìchto souborù bude možná souèástí jednoho z dalších tutoriálù). Doufám, že jsem na nìco nezapomìl...

    BODOVANIE ÈLÁNKU
    Boduje sa ako v škole (1- výborný, 5-zlý)
           

    Priemerná známka : 1.6
    Hlasovalo : 5

    KOMENTÁRE KU ÈLÁNKU
    Poèet komentárov ku èlánku : 1

    1. Vaber Redaktor
    [19.04.2006-15:12] 1926
    Tak, a muj druhej tutorial je hotov

    C++ coder

    Pre pridávanie komentárov musíte by� prihlásený
    Pokia¾ ešte nieste zaregistrovaný, môžete tak urobi� TU

    Vyh¾adávanie

    Rozšírené vyh¾adávanie

    AREA 42
    Hláška
    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

    Staršie hlášky >> Komentáre >>

    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
    Staršie ankety >>

    Najèítanejšie
    1.HL2: První kroky (35221x)
    2.Atomová bomba ako v crossfire (32315x)
    3.Counter-Strike entity (26789x)
    4.Half-Life: Padlé Mìsto demo - Recenze (22500x)
    5.Pozadie pomocou textúry sky (20150x)
    On-Line
    Tieto stránky si práve èí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 záujme ochrany duševného zdravia redaktorov tu už viac ICQ panel nenájdete :P

    Výsledky vašeho snaženia sa môžete nájs� na lamz.thelambda.sk ...

    Všetky texty publikované na týchto stránkach sú majetkom thelambda.sk alebo ich autorov.
    (C) 2003-2006 thelambda.sk VSETKY PRAVA VYHRADENE
    www.TheLambda.SK Enter RS
    Stránka bola naèítaná za 0.03 sekúnd.