Seite 1 von 10 123 ... LetzteLetzte
Ergebnis 1 bis 10 von 93

Thema: Hud Q&A

  1. #1
    Co-Administrator Avatar von Masterside
    Registriert seit
    04.12.2007
    Ort
    Bonn
    Beiträge
    3.141

    Standard Hud Q&A

    Hallo Community.

    Da ich bis jetzt noch kein Thread gesehen habe, der sich mit diesem Thema befasst, mach ich diesen jetzt einfachmal auf.

    Habe auch direkt zwei Fragen.

    1. Wie kann ich eine Ammobar und eine Restammobar erstellen? Also diese hier:
    http://wiki.crymod.com/index.php/HUD...eo_Tutorial%29
    Nur als Ammo und Restammobar und nicht als Healthbar und Energybar.

    2. Wie kann ich im ActionScript einstellen, dass wenn z.B. Stärke aktiviert ist, ein bestimmtes Bild erscheint?
    CPU: INTEL i7 3770K RAM: 32 GB DDR3 Motherboard: ASUS P8Z77 LE Plus GPU: EVGA GTX 780 SC SSD: ADATA SP900
    HDD1: SAMSUNG HD103UJ HDD2: SAMSUNG HD161HJ HDD3: SAMSUNG HD501LJ PSU: 1000W OS: Windows 8.1

  2. #2
    User
    Registriert seit
    18.06.2008
    Beiträge
    104

    Standard

    hi masterside, kann dir leider nur zu frage eins helfen, bei zwei müsste ich mich selbst erstmal tiefer in die materie reinhängen.

    also folgendes: in dem tut das du da vor dir liegen hast wird einfach nur das standart HUD_AmmoHealthEnergySuit.gfx durch ein benutzerdefiniertes ersetzt. kombiniere die informationen aus dem tut und dem das ich dir bei crymod gezeigt habe, dann hast du fast schon die halbe miete zusammen.

    edit: link für das tut bei crymod: http://www.crymod.com/thread.php?pos...758#post172758

    nach dem du dein custom hud element (k-a wie ichs sonst nennen soll) mit deinen zwei neuen leisten gebastelt hast, benennst du in den actionscripts erstmal die funktionen in setAmmo & setRestAmmo um.

    code könnte dann in etwa so aussehen (warnung: bin kein erfahrener flash user):

    Code:
    var m_ammo = 100;
    
    setAmmo = function(_ammo)
    {
        
        var ammo = Math.floor((Math.max(_ammo,0)));
    
        if(m_ammo!=ammo)
        {
            m_ammo = ammo;
    
    // hab das symbol ammobar genannt:
            ammobar.gotoAndStop(m_ammo);
        }
    }
    
    
    var m_rammo = 100;
    
    setRestAmmo = function(_rammo)
    {
        
        var rammo = Math.floor((Math.max(_rammo,0)));
    
        if(m_rammo!=rammo)
        {
            m_rammo = rammo;
    
    
    // das symbol für rest ammo heißt bei mir r_ammobar
            r_ammobar.gotoAndStop(m_rammo);
        }
    }
    zugegeben, du wirst noch einiges drann rum zu schrauben haben, da die leisten ja mit 100% arbeiten - du aber mit unterschiedlichen ammo zahlen arbeitest.

    aber egal, weiter im text. wie in dem von mir geschickten tut mit dem hallo welt kannst du jetzt erstmal dein neues hud.h deklarieren und dann in der hud.cpp init() registrieren.

    im anschluß gehst du einfach mal in die funktion (~line 5120):
    Code:
     void CHUD::UpdatePlayerAmmo()
    und schreibst an den schluß sowas in der art:
    Code:
    m_animMyFirstHud.Invoke("setAmmo", m_playerAmmo);
    m_animMyFirstHud.Invoke("setRestAmmo", m_playerRestAmmo);
    ---------------------------------------------------
    ... nach einem blick ins sdk...
    ---------------------------------------------------

    hm, man könnte den aktuellen ammo bestand auf 100% ungefähr so umrechnet. (bei der restammo ist das nicht so das problem, da man die magazien größe über m_playerClipSize abfragen kann). das wäre dann wohl sowas in der art (3satz, mein mathe lehrer sagte mir seinerzeit das ich es für irgendetwas gebrauchen könnte *g*):
    Code:
    int test01 =(int) (m_playerClipSize / 100)*m_playerRestAmmo;
    m_animMyFirstHud.Invoke("setRestAmmo", test01);
    ---------------------------------------------------
    ... nach einem weiteren blick ins sdk...
    ---------------------------------------------------

    sooo, na gucken wir mal, ich denke für den ammo bar könnte man es so machen:

    Code:
        IItem * pItem = gEnv->pGame->GetIGameFramework()->GetClientActor()->GetCurrentItem();
        if(CWeapon *pWeapon = static_cast<CWeapon*>(pItem->GetIWeapon()))
        {
            IFireMode *pFM = pWeapon->GetFireMode(pWeapon->GetCurrentFireMode());
            int test02 = gEnv->pGame->GetIGameFramework()->GetClientActor()->GetInventory()->GetAmmoCapacity(pFM->GetAmmoType()));
            test02 = (int) (test02 / 100)*m_playerAmmo;
            m_animMyFirstHud.Invoke("setAmmo", test02);
        }
    letzteres geht im übrigen nur im spiel, im editor gibt es keine ammo restriction... und selbst wenn es eine gäbe müsstest du erst unter ammopickup.cpp / CheckAmmoRestrictions(...) die if(bEditor) abfrage rausnehmen...

    also vom c++ code her sollte alles stimmen, für den actionscript teil kann ich mich aber nit verbürgen.


    gruß Blue

    --------------------------------------------------------------------------------------------------

    Edit:
    Hm, feedback obs geklappt hat wäre schon nicht schlecht gewesen, aber seis drumm, habs auspobiert und bei mir klappts. Der follständigkeit halber will/kann ich nun auch Frage 2 beantworten:

    Wie im Tutorial mit dem custom Healthbar machen wir einfach wieder ein Symbol(nennen wirs mal mPicture) - hier legen wir 5 keyfreams an (aber keine weiteren Ebenen!).
    Keyfream 1 bleibt leer!
    In die Keyfreams 4-5 fügst du nun einfach die Grafik ein die du gerne angezeigt haben möchtest.
    In ActionScript schreibst du nun folgendes rein:

    Code:
    setPic = function(_PicNr) { mPicture.gotoAndStop(_PicNr); }


    Ich bleib mal an der Stelle einfach bei der variable m_animMyFirstHud aus dem HalloWelt Tutorial von Crymod.

    Geh nun zur Funktion (~line: 1181)
    Code:
    void CHUD::ModeChanged(ENanoMode mode)
    (auch in der HUD.cpp zu finden)

    Dort erweiterst du nun die switch / case anweisung wie folgt:

    Code:
        switch(mode)
        {
        case NANOMODE_SPEED:
            m_animMyFirstHud.Invoke("setPic", 2);        //<<-- 1st Pic
            m_animPlayerStats.Invoke("setMode", "Speed");
            m_fSpeedTimer = gEnv->pTimer->GetFrameStartTime().GetMilliSeconds();
            m_fSuitChangeSoundTimer = m_fSpeedTimer;
            break;
        case NANOMODE_STRENGTH:
            m_animMyFirstHud.Invoke("setPic", 3);        //<<-- 2th Pic
            m_animPlayerStats.Invoke("setMode", "Strength");
            m_fStrengthTimer = gEnv->pTimer->GetFrameStartTime().GetMilliSeconds();
            m_fSuitChangeSoundTimer = m_fStrengthTimer;
            break;
        case NANOMODE_DEFENSE:
            m_animMyFirstHud.Invoke("setPic", 4);        //<<-- 3th Pic
            m_animPlayerStats.Invoke("setMode", "Armor");
            m_fDefenseTimer = gEnv->pTimer->GetFrameStartTime().GetMilliSeconds();
            m_fSuitChangeSoundTimer = m_fDefenseTimer;
            break;
        case NANOMODE_CLOAK:
            m_animMyFirstHud.Invoke("setPic", 5);        //<<-- 4th Pic
            m_animPlayerStats.Invoke("setMode", "Cloak");
    
            PlaySound(ESound_PresetNavigationBeep);
            if(m_pNanoSuit->GetSlotValue(NANOSLOT_ARMOR, true) != 50 || m_pNanoSuit->GetSlotValue(NANOSLOT_SPEED, true) != 50 ||
                m_pNanoSuit->GetSlotValue(NANOSLOT_STRENGTH, true) != 50 || m_pNanoSuit->GetSlotValue(NANOSLOT_MEDICAL, true) != 50)
            {
                TextMessage("suit_modification_engaged");
            }
    
            m_fSuitChangeSoundTimer = gEnv->pTimer->GetFrameStartTime().GetMilliSeconds();
    
            if (gEnv->pAISystem)
            {
                pData = gEnv->pAISystem->CreateSignalExtraData();//AI System will be the owner of this data
                pData->iValue = NANOMODE_CLOAK;
                pPlayer = static_cast<CPlayer *>(gEnv->pGame->GetIGameFramework()->GetClientActor());
                if(pPlayer && pPlayer->GetEntity() && pPlayer->GetEntity()->GetAI())
                    gEnv->pAISystem->SendSignal(SIGNALFILTER_SENDER,1,"OnNanoSuitMode",pPlayer->GetEntity()->GetAI(),pData);
            }
            break;
        default:
            break;
        }

    Blue
    Geändert von Blue (18.08.2009 um 20:40 Uhr)

  3. #3
    Co-Administrator Avatar von Masterside
    Registriert seit
    04.12.2007
    Ort
    Bonn
    Beiträge
    3.141

    Standard

    So konnte es noch nicht testen, da ich noch an Visual Studio was einstellen musste, da bei erstellen immer ein fehler kamm, aber dass hat sich jetzt erledigt.

    in 5 min kann ich dir sagen ob es geklappt hat.
    CPU: INTEL i7 3770K RAM: 32 GB DDR3 Motherboard: ASUS P8Z77 LE Plus GPU: EVGA GTX 780 SC SSD: ADATA SP900
    HDD1: SAMSUNG HD103UJ HDD2: SAMSUNG HD161HJ HDD3: SAMSUNG HD501LJ PSU: 1000W OS: Windows 8.1

  4. #4
    Co-Administrator Avatar von Masterside
    Registriert seit
    04.12.2007
    Ort
    Bonn
    Beiträge
    3.141

    Standard

    So habe das mal getestet, bekomme bei der erstellung, immer sieben fehler angezeigt.
    Und das sind sie:
    CPU: INTEL i7 3770K RAM: 32 GB DDR3 Motherboard: ASUS P8Z77 LE Plus GPU: EVGA GTX 780 SC SSD: ADATA SP900
    HDD1: SAMSUNG HD103UJ HDD2: SAMSUNG HD161HJ HDD3: SAMSUNG HD501LJ PSU: 1000W OS: Windows 8.1

  5. #5
    VIP Avatar von Pat21
    Registriert seit
    06.09.2007
    Beiträge
    10.654

    Standard

    @ Masterside
    Kannst du bitte auch den Code-Teil darüber posten ?? Du hast wahrscheinlich
    "m_playerClipSize" und "m_playerRestAmmo" in einer if-else-Abfrage erstellt
    und nun verwendest du sie außerhalb dieser, was aber nicht möglich ist.

  6. #6
    Co-Administrator Avatar von Masterside
    Registriert seit
    04.12.2007
    Ort
    Bonn
    Beiträge
    3.141

    Standard

    @Pat21
    Da ist der Teil:


    Habe einfach den Code den Blue mir gegeben hat, an die Stelle getan die er mir beschrieben hat.
    CPU: INTEL i7 3770K RAM: 32 GB DDR3 Motherboard: ASUS P8Z77 LE Plus GPU: EVGA GTX 780 SC SSD: ADATA SP900
    HDD1: SAMSUNG HD103UJ HDD2: SAMSUNG HD161HJ HDD3: SAMSUNG HD501LJ PSU: 1000W OS: Windows 8.1

  7. #7
    VIP Avatar von Pat21
    Registriert seit
    06.09.2007
    Beiträge
    10.654

    Standard

    @ Masterside
    Die Klammer hier:
    Code:
    else
    m_playerAmmo = m_playerRestAmmo = -1;
    } ...
    muss an das Ende von
    Code:
    m_animMyFirstHud.Invoke("setAmmo", test02);
    }
    }
    Nur so ne kleine Frage am Rande. Warum erstellst du den Code für diese Sachen wie "Ammo-Übergabe" usw nochmal ??
    Du müsstest nur deine .swf Datei als "HUD_AmmoHealthEnergySuit.swf" exportieren mit passenden Funktionsnamen.
    Crysis nutzt dann diese .gfx-Datei und du musst den ganzen Code nicht mehr neu machen.

    Und wenn du weitere Funktionen aufrufen möchtest (in dieser .gfx Datei), dann nimmst du folgendes her:
    Code:
    m_animPlayerStats.Invoke("function", ...);
    Das kannst du dann auch bei den anderen HUD-Teilen machen. Hier ist mal eine Liste davon:
    Code:
    m_animPlayerStats.Load("Libs/UI/HUD_AmmoHealthEnergySuit.gfx", eFD_Right, eFAF_Visible|eFAF_ThisHandler);
    m_animAmmoPickup.Load("Libs/UI/HUD_AmmoPickup.gfx", eFD_Right, eFAF_Visible);
    m_animFriendlyProjectileTracker.Load("Libs/UI/HUD_GrenadeDetect_Friendly.gfx", eFD_Center, eFAF_Visible);
    if(!m_animFriendlyProjectileTracker.IsLoaded()) //asset missing so far ..
    	m_animFriendlyProjectileTracker.Load("Libs/UI/HUD_GrenadeDetect.gfx", eFD_Center, eFAF_Visible);
    m_animHostileProjectileTracker.Load("Libs/UI/HUD_GrenadeDetect.gfx", eFD_Center, eFAF_Visible);
    m_animMissionObjective.Load("Libs/UI/HUD_MissionObjective_Icon.gfx", eFD_Center, eFAF_Visible);
    m_animQuickMenu.Load("Libs/UI/HUD_QuickMenu.gfx");
    m_animRadarCompassStealth.Load("Libs/UI/HUD_RadarCompassStealth.gfx", eFD_Left, eFAF_Visible);
    
    m_animNetworkConnection.Load("Libs/UI/HUD_Network_Icon.gfx", eFD_Center, eFAF_ThisHandler);
    
    m_pHUDRadar->SetFlashRadar(&m_animRadarCompassStealth);
    if(gEnv->bMultiplayer)
    	m_animHexIcons.Load("Libs/UI/HUD_HexIcons.gfx", eFD_Left, eFAF_Visible);
    else
    	m_animHexIcons.Load("Libs/UI/HUD_SP_HexIcons.gfx", eFD_Left, eFAF_Visible);
    
    m_animTacLock.Load("Libs/UI/HUD_Tac_Lock.gfx", eFD_Center, eFAF_ThisHandler);
    m_animWarningMessages.Load("Libs/UI/HUD_ErrorMessages.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender);
    m_animOverlayMessages.Load("Libs/UI/HUD_OverlayMessage.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender);
    m_animBigOverlayMessages.Load("Libs/UI/HUD_OverlayMessageFading.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender);
    m_animHUDCornerLeft.Load("Libs/UI/HUD_Corner_Left.gfx", eFD_Left, eFAF_Visible);
    m_animHUDCornerRight.Load("Libs/UI/HUD_Corner_Right.gfx", eFD_Right, eFAF_Visible);
    
    //load the map
    m_animWeaponSelection.Load("Libs/UI/HUD_WeaponSelection.gfx", eFD_Right, eFAF_Visible);
    m_animPDA.Load("Libs/UI/HUD_PDA_Map.gfx", eFD_Right, eFAF_ThisHandler);
    m_animDownloadEntities.Load("Libs/UI/HUD_DownloadEntities.gfx");
    m_animHitIndicator.Load("Libs/UI/HUD_HitIndicator.gfx", eFD_Center, eFAF_Visible);
    
    // these are delay-loaded elsewhere!!!
    if(loadEverything)
    {
            m_animKillAreaWarning.Load("Libs/UI/HUD_Area_Warning.gfx", eFD_Center, true);
            m_animDeathMessage.Load("Libs/UI/HUD_KillEvents.gfx", eFD_Center, true);
    	m_animGamepadConnected.Load("Libs/UI/HUD_GamePad_Stats.gfx");
    	m_animBreakHUD.Load("Libs/UI/HUD_Lost.gfx", eFD_Center, eFAF_ManualRender|eFAF_Visible);
    	m_animRebootHUD.Load("Libs/UI/HUD_Reboot.gfx", eFD_Center, eFAF_Visible|eFAF_ThisHandler);
    }
    else
    {
    	m_animKillAreaWarning.Init("Libs/UI/HUD_Area_Warning.gfx", eFD_Center, true);
    	m_animDeathMessage.Init("Libs/UI/HUD_KillEvents.gfx", eFD_Center, true);
    	m_animGamepadConnected.Init("Libs/UI/HUD_GamePad_Stats.gfx");
    	m_animBreakHUD.Init("Libs/UI/HUD_Lost.gfx", eFD_Center, eFAF_Visible);
    	m_animRebootHUD.Init("Libs/UI/HUD_Reboot.gfx", eFD_Center, eFAF_Visible|eFAF_ThisHandler);
    }
    
    m_animWeaponAccessories.Load("Libs/UI/HUD_WeaponAccessories.gfx", eFD_Center, eFAF_ThisHandler);
    if(loadEverything)
    {
    	m_animCinematicBar.Load("Libs/UI/HUD_CineBar.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender|eFAF_Visible);
    	m_animSubtitles.Load("Libs/UI/HUD_Subtitle.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender|eFAF_Visible);
    }
    else
    {
    	m_animCinematicBar.Init("Libs/UI/HUD_CineBar.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender|eFAF_Visible);
    	m_animSubtitles.Init("Libs/UI/HUD_Subtitle.gfx", eFD_Center, eFAF_ThisHandler|eFAF_ManualRender|eFAF_Visible);
    }
    Geändert von Pat21 (22.08.2009 um 20:50 Uhr)

  8. #8
    Co-Administrator Avatar von Masterside
    Registriert seit
    04.12.2007
    Ort
    Bonn
    Beiträge
    3.141

    Standard

    Gut die Fehler sind weg, aber die Ammobar geht nicht Ingame
    CPU: INTEL i7 3770K RAM: 32 GB DDR3 Motherboard: ASUS P8Z77 LE Plus GPU: EVGA GTX 780 SC SSD: ADATA SP900
    HDD1: SAMSUNG HD103UJ HDD2: SAMSUNG HD161HJ HDD3: SAMSUNG HD501LJ PSU: 1000W OS: Windows 8.1

  9. #9
    User
    Registriert seit
    18.06.2008
    Beiträge
    104

    Standard

    ojeoje - blue, es wird zeit das du in den urlaub gehst.

    Nein das hat mir nicht die Gamescom gezeigt (naja schon ein wenig) - sondern der Müll den ich hier gepostet hab. xD Sry, Masterside. *kopfschüttel* Manchmal überschätze ich mich einfach selbst. Man sollte einfach nix ins Forum Posten ohne es davor zu testen - und wenn man es schon so macht, sollte man den Unsinn den man hier gepostet hat mal mit dem getesteten Code abgleichen!

    Ich meine mal ehrlich - alleine schon hierfür hätten mich mein alter Mathe und mein Programmierlehrer seinerzeit einmal quer durch die Weltgeschichte und zurück geprügelt!

    das wäre dann wohl sowas in der art (3satz, mein mathe lehrer sagte mir seinerzeit das ich es für irgendetwas gebrauchen könnte *g*):
    Code:
         int test01 =(int) (m_playerClipSize / 100)*m_playerRestAmmo;
         m_animMyFirstHud.Invoke("setRestAmmo", test01);

    Hallo hallo? Warum lacht ihr denn bei so doppelt dämlichen Aussage nur still in euch hinnein anstatt mich gleich schallend auszulachen?
    Das hat weder etwas mit dreisatz zu tun, noch kann bei ner normalen Integer division bei sowas etwas vernünftiges rauskommen. Einfach herlich, hab mich selbst so zum lachen gebracht das mir hier grad die Tränen laufen!

    BtT: K dicker - hoffe dir sind wegen diesem blödsinn keine grauen Haare gewachsen. Hier "mein" Code vom Lappy, diesemal auch brav mit Copy&Paste auf Stick und nu auf den Pc direkt zu dir ins Forum:

    Spoiler code:

    Code:
    void CHUD::UpdatePlayerAmmo()
    {
        if(!m_animPlayerStats.GetVisible())
        {
            m_playerAmmo = m_playerRestAmmo = -1; //forces update next time loaded
            return;
        }
    
        if(!(m_pHUDVehicleInterface && m_pHUDVehicleInterface->GetHUDType() != CHUDVehicleInterface::EHUD_NONE))
        {
            int ammo = 0;
            int clipSize = 0;
            int restAmmo = 0;
            CryFixedStringT<128> grenadeType;
            int grenades = 0;
    
            CPlayer *pPlayer = static_cast<CPlayer*>(gEnv->pGame->GetIGameFramework()->GetClientActor());
            if(pPlayer)
            {
                IItem *pItem = pPlayer->GetCurrentItem(false);
                if(pItem)
                {
                    if(CWeapon *pWeapon = static_cast<CWeapon*>(pItem->GetIWeapon()))
                    {
                        int fm = pWeapon->GetCurrentFireMode();
                        if(IFireMode *pFM = pWeapon->GetFireMode(fm))
                        {
                            ammo = pFM->GetAmmoCount();
                            if(IItem *pSlave = pWeapon->GetDualWieldSlave())
                            {
                                if(IWeapon *pSlaveWeapon = pSlave->GetIWeapon())
                                    if(IFireMode *pSlaveFM = pSlaveWeapon->GetFireMode(pSlaveWeapon->GetCurrentFireMode()))
                                        ammo += pSlaveFM->GetAmmoCount();
                            }
                            clipSize = pFM->GetClipSize();
                            restAmmo = pPlayer->GetInventory()->GetAmmoCount(pFM->GetAmmoType());
    
                            if(pFM->CanOverheat())
                            {
                                int heat = int(pFM->GetHeat()*100.0f);
                                m_animPlayerStats.Invoke("setOverheatBar", heat);
                            }
                        }
                    }
                }
    
                IItem *pOffhand = g_pGame->GetIGameFramework()->GetIItemSystem()->GetItem(pPlayer->GetInventory()->GetItemByClass(CItem::sOffHandClass));
                if(pOffhand)
                {
                    int firemode = pOffhand->GetIWeapon()->GetCurrentFireMode();
                    if(IFireMode *pFm = pOffhand->GetIWeapon()->GetFireMode(firemode))
                    {
                        if(pFm->GetAmmoType())
                        {
                            grenadeType = pFm->GetAmmoType()->GetName();
                            if(pPlayer)
                                grenades = pPlayer->GetInventory()->GetAmmoCount(pFm->GetAmmoType());
                        }
                        else //can happen during object pickup/throw
                        {
                            grenadeType.assign(m_sGrenadeType, m_sGrenadeType.length());
                            grenades = m_iGrenadeAmmo;
                        }
                    }
                }
            }
    
            //BLUE09
            IItem * pItem = gEnv->pGame->GetIGameFramework()->GetClientActor()->GetCurrentItem();        
            if(CWeapon *pWeapon = static_cast<CWeapon*>(pItem->GetIWeapon()))
            {
                IFireMode *pFM = pWeapon->GetFireMode(pWeapon->GetCurrentFireMode());
                IEntityClass *pEC = pFM->GetAmmoType();
                int iRA = gEnv->pGame->GetIGameFramework()->GetClientActor()->GetInventory()->GetAmmoCapacity(pEC);
                iRA > 0 ? iRA =(int) restAmmo/static_cast<double>((iRA/100)) : NULL;
                iRA <= 0 ? iRA = 1 : NULL;
                m_animMyFirstHud.Invoke("setRestAmmo", iRA);
                if(clipSize > 0)
                {
                    int iA = (int) ammo/static_cast<double>((clipSize / 100.0f));
                    iA <= 0 ? iA = 1 : NULL;
                    m_animMyFirstHud.Invoke("setAmmo", iA);
                }
                else m_animMyFirstHud.Invoke("setAmmo", 1);
            }
    
            if(m_playerAmmo == -1) //probably good to update fireMode
            {
                SetFireMode(NULL, NULL);
                m_animPlayerStats.Invoke("setAmmoMode", 0);
            }
    
            if(m_playerAmmo != ammo || m_playerClipSize != clipSize || m_playerRestAmmo != restAmmo || 
                m_iGrenadeAmmo != grenades || grenadeType.compare(m_sGrenadeType) != 0)
            {
                SFlashVarValue args[7] = {0, ammo, clipSize, restAmmo, grenades, grenadeType.c_str(), true};
                m_animPlayerStats.Invoke("setAmmo", args, 7);
                m_playerAmmo = ammo;
                m_playerClipSize = clipSize;
                m_playerRestAmmo = restAmmo;
                m_iGrenadeAmmo = grenades;
                m_sGrenadeType.assign(grenadeType.c_str()); // will alloc
            }
        }
        else
            m_playerAmmo = m_playerRestAmmo = -1; //forces update next time outside vehicle
    }



    gruß Blue

    Geändert von Blue (24.08.2009 um 21:26 Uhr)

  10. #10
    Professional Avatar von Flow groover
    Registriert seit
    19.08.2009
    Ort
    Ffm & Lingshan
    Beiträge
    4.800

    Standard

    Also im grunde genommen wollte ich blos das das startmenü so wie im Living Hell Mod einfach unter Crysis halt was steht..
    welche datei muss ich dafür verändern/öffnen?


    ModDB
    YouTube CrysisHQ
    Discord: flowgroover#2478

Seite 1 von 10 123 ... LetzteLetzte

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •