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
    Reálnejší rozptil zbrane
    qery
    [15.05.2004 : 19:03:13] 111 Tutoril
    tan : 2648
    Priemern znmka : 0.9
    Ako vytvori zbraò, ktora ma rozptyl, ktorý sa mení v závislosti od toho, ako dlho už strielaš (ako v Counter-Striku) ? Majme náš AK-47. Ked sa vystrelí prvý náboj, zbraò je presná, ale pri ïalšom náboji presnos klesá. Keï pustime spúš, nepresnos sa znižuje postupne.

    Riešením je premenná, ktorá urèuje, ako dlho sa drží spúš. Od tejto premennej bude závislos presnosti strelby.

    Toto je definícia premenných, procedúr a funkcií AK-47:


    class CAK47 : public CBasePlayerWeapon
    {
    public:
    void Spawn( void );
    void Precache( void );
    int iItemSlot( void ) { return 3; }
    int GetItemInfo(ItemInfo *p);
    int AddToPlayer( CBasePlayer *pPlayer );

    void PrimaryAttack( void );
    BOOL Deploy( void );
    void Reload( void );
    void WeaponIdle( void );
    float m_flNextAnimTime;
    int m_iShell;
    int shotindex;             // zmena
    private:
    };
    LINK_ENTITY_TO_CLASS( weapon_AK47, CAK47 );


    int shotindex je naša premenná, ktorá urèuje, kolkatý náboj práve strielame.
    Ïalej tu máme procedúru, ktorá obsluhuje strielanie (je vyvolaná po príkaze +attack)

    void CAK47::PrimaryAttack()
    {
    // nestrielat pod vodou
    if (m_pPlayer->pev->waterlevel == 3)
    {
    PlayEmptySound( );
    m_flNextPrimaryAttack = gpGlobals->time + 0.2;
    return;
    }
    // niesu naboje
    if (m_iClip <= 0)
    {
    PlayEmptySound();
    m_flNextPrimaryAttack = gpGlobals->time + 0.2;
    return;
    }

    m_pPlayer->m_iWeaponVolume = NORMAL_GUN_VOLUME;
    m_pPlayer->m_iWeaponFlash = BRIGHT_GUN_FLASH;

    m_iClip--;

    // player "shoot" animation
    m_pPlayer->SetAnimation( PLAYER_ATTACK1 );
    EMIT_SOUND(ENT(m_pPlayer->pev), CHAN_WEAPON, "weapons/ak47-1.wav", 1.0, ATTN_NORM);
    SendWeaponAnim( AK47_FIRE1 );

    Vector vecSrc = m_pPlayer->GetGunPosition( );
    Vector vecAiming = m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

    Vector vecShellVelocity = m_pPlayer->pev->velocity + gpGlobals->v_right * RANDOM_FLOAT(50,70) + gpGlobals->v_up * RANDOM_FLOAT(100,150) + gpGlobals->v_forward * 5 ;
    EjectBrass ( pev->origin + m_pPlayer->pev->view_ofs + gpGlobals->v_up * -8 + gpGlobals->v_forward * 15 + gpGlobals->v_right * 4 , vecShellVelocity, pev->angles.y, m_iShell, TE_BOUNCE_SHELL );

    // presnost
    shotindex++;
    if (shotindex>=15) { shotindex=15; }

    if (shotindex<=3) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_2DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>3 && shotindex<=6) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_5DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>6 && shotindex<=9) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_8DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>9 && shotindex<=12) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>12 && shotindex<=15) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_15DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }

    m_pPlayer->pev->punchangle.x += RANDOM_FLOAT ( -2, 2 );


    if (!m_iClip && m_pPlayer->m_rgAmmo[m_iPrimaryAmmoType] <= 0)
    // HEV suit - indicate out of ammo condition
    m_pPlayer->SetSuitUpdate("!HEV_AMO0", FALSE, 0);

    m_flNextPrimaryAttack = m_flNextPrimaryAttack + 0.10;
    if (m_flNextPrimaryAttack < gpGlobals->time)
    m_flNextPrimaryAttack = gpGlobals->time + 0.10;

    m_flTimeWeaponIdle = gpGlobals->time + RANDOM_FLOAT ( 10, 15 );
    //m_pPlayer->pev->punchangle.x -= 8;
    }


    Riadky:

    if ( g_pGameRules->IsDeathmatch() )
    {
    m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_5DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 8);
    }
    else
    {
    m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_5DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 8);
    }


    sme nahradili èerveným textom. Takže poïme porade:

    Zvišujeme shotindex, ktory urèuje kolkatý naboj od zaèiatku strielame.
    shotindex++;

    Ak je viacej ako 15 tak ho nastavýme na 15. Pri 15 je nepresnos najväèšia.
    if (shotindex>=15) { shotindex=15; }

    Tu kontrolujeme shotindex. Ak je od 1 do 3 potom je nepresnos 2 stupòe. Ak je od 4 do 6 tak je nepresnos 5 stupòov. Ak je od 7 do 9 potom je nepresnos 8 stupòov...

    if (shotindex<=3) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_2DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>3 && shotindex<=6) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_5DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>6 && shotindex<=9) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_8DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>9 && shotindex<=12) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_10DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }
    if (shotindex>12 && shotindex<=15) { m_pPlayer->FireBullets( 1, vecSrc, vecAiming, VECTOR_CONE_15DEGREES, 8192, BULLET_PLAYER_MP5, 0.5, 20); }


    Tu sa vykonáva trhanie obrazom. Je tu zmena oproti pôvodnému

    m_pPlayer->pev->punchangle.x -= 1.8 , aby to neahalo len smerom hore, ale do náhodného smeru hore alebo dole.
    m_pPlayer->pev->punchangle.x += RANDOM_FLOAT ( -2, 2 );

    Takže mali by sme strielanie, teraz treba uroby, aby sa nepresnos znižovala, ak sa zbraò nepoužíva.

    void CAK47::WeaponIdle( void )
    {
    shotindex--;
    if (shotindex<0) { shotindex=0; }

    ResetEmptySound( );

    m_pPlayer->GetAutoaimVector( AUTOAIM_5DEGREES );

    if (m_flTimeWeaponIdle > gpGlobals->time)
    return;

    int iAnim;
    switch ( RANDOM_LONG( 0, 1 ) )
    {
    case 0:
    iAnim = AK47_IDLE1;
    break;

    default:
    case 1:
    iAnim = AK47_IDLE1;
    break;
    }

    Jediná zmena je, pridanie dvoch riadkov ktoré sa starajú, aby sa shotindex znižoval pri každom zavolaní funkcie, a aby neklesol pod nulu.

    Tak tolko asi k tomu problému. Ak budú nejaké nejasnosti, tak napíšte.

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

    Priemern znmka : 0.9
    Hlasovalo : 10

    KOMENTRE KU LNKU
    Poet komentrov ku lnku : 5

    1. Majacik Redaktor
    [20.05.2004-09:24] 221
    no neviem neviem ci je to dobre pretoze sa mi zda ze v multiplayery ak budes strielat s kalachom a dostanes sa na tu hranicu kde ti zvysi rozptyl je to globalne pre vsetky kalachy pretoze si to definoval ako integer no proste ked ty budes mat rozptyl velky a druhy len streli tak bude mat automaticky aj on velky, muselo by to ist inak cez ine konsatnty a tusim by to malo mat aj nieco spolocne s klientskymi funkciami teda klinti by mali ratat pocty vystrelov mne to robil prepinac burst modu ze ked som prepal prepalo vsetkym. Sak to skuste len hovorim je to zrejme a podla mna na 90% zle, teda pre singlecko posatcujuce tak isto ako aj moj prepinac strelby modu.

    2. Majacik Redaktor
    [20.05.2004-09:37] 223
    inka tento riadok
    m_pPlayer->pev->punchangle.x += RANDOM_FLOAT ( -2, 2 );
    ked pouzijete namiesto klasickeho
    m_pPlayer->pev->punchangle.x = 2;
    tak to bude nie postupne hore smerovat ale pojde to nahodne od bodu 2 do -2 ale len v Xovej osi preto mozete dodat este aj:
    m_pPlayer->pev->punchangle.y += RANDOM_FLOAT ( -2, 2 );
    aby nam to slo do vsetkych stran ale nedavajte moc velke hodnoty lebo raz bude hore v lavo a v zapeti moze byt dolu v pravo vyzeralo by to asi dost blbo, asi sa pytate naco aj do bokovo aj hore ale nazov je realnejsi rozptyl zbrane a vreale to ide vsade pri blbcoch aj vzad

    3. Majacik Redaktor
    [26.05.2004-10:31] 252
    ale viete co myslim ze to bude fungovat

    4. Wizz Admin
    [27.05.2004-14:23] 254
    ten povodny navod od Qeryho alebo to co si popisal o 2 komentare vyssie ?

    5. qery Admin
    [27.05.2004-18:43] 255
    asi oboje :P

    [rmb]qery
    -=HL4ever=-
    qery.no-ip.com

    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 (30110x)
    2.HL2: První kroky (29294x)
    3.Counter-Strike entity (21400x)
    4.Half-Life: Padlé Mìsto demo - Recenze (19534x)
    5.Pozadie pomocou textúry sky (17812x)
    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 1.69 seknd.