İlan
04 Haz 2026 25 çevrimiçi üye Duyurular
Ana Sayfa C++ / C# / Python
Ana Sayfa Forum C++ / C# / Python Metin2 birinci şahıs oyuncunun gözünden bakma bunl...
İlan Yan banner placeholder

Metin2 birinci şahıs oyuncunun gözünden bakma bunlar böyle gemini pro yazdı

ardacgenc 07.04.2026 18:31 661 görüntüleme 25 cevap
Son Mesaj
ardacgenc
Üye
Üye
Katılım02 Oca 2026
Konular5
Mesajlar84
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.04.2026 18:31 #1
şunuda ekliyim.

mmoliralarla MMOZirvedan özel şeyler alabiliyorsun.​

mesela konuyu saat başı tomatik güncelliyor.​

diyelim pvp serverini tanıtıyorsun renklendirme ve saat başı güncelleme yapıyor otomatik​

Steam Random Oyun Kodu veriyor​

bizi çağırıyorsunuz etkinliğe ama bunları dile getirmiyorsunuz
alındım​



k tusu değiştirebilrisiniz

Kod:
pythonplayer.cpp

like

bool CPythonPlayer::__GetPickedGroundPos(TPixelPosition* pkPPosPicked)
{
    CPythonBackground& rkBG=CPythonBackground::Instance();

    TPixelPosition kPPosPicked;
    if (rkBG.GetPickingPoint(pkPPosPicked))
    {
        pkPPosPicked->y=-pkPPosPicked->y;
        return true;
    }

    return false;
}






#include "../eterlib/Camera.h"
#include "PythonChat.h"



// #include "PythonChat.h" // Sohbet penceresine mesaj göndermek için gerekli



// #include "../gamelib/Camera.h"
// #include "PythonChat.h"

void CPythonPlayer::ToggleFPSMode()
{
    m_isFPSMode = !m_isFPSMode;

    if (auto* pMainInst = CPythonCharacterManager::Instance().GetMainInstancePtr(); pMainInst)
    {
        if (auto* pGraphic = pMainInst->GetGraphicThingInstancePtr(); pGraphic)
        {
            if (auto* pCamera = CCameraManager::Instance().GetCurrentCamera(); pCamera)
            {
                // 1. Kameraya modu bildiriyoruz (Motorun ayarları bozmasını engeller)
                pCamera->SetFPSMode(m_isFPSMode);

                if (m_isFPSMode)
                {
                    pGraphic->Hide();
                
                    // Artık kilitli olduğu için bu komutlar kalıcı olacak
                    pCamera->SetTargetHeight(CAMERA_TARGET_FACE);
                    pCamera->SetDistance(1.0f);
                
                    float currentPitch = pCamera->GetPitch();
                    pCamera->Pitch(10.0f - currentPitch);
                
                    CPythonChat::Instance().AppendChat(CHAT_TYPE_INFO, "FPS Modu: Aktif (Goz Hizasi)");
                }
                else
                {
                    pGraphic->Show();
                
                    // Kilit kalktığı için normal değerlere dönmesine izin veriyoruz
                    pCamera->SetTargetHeight(CAMERA_TARGET_STANDARD);
                    pCamera->SetDistance(2500.0f);
                
                    float currentPitch = pCamera->GetPitch();
                    pCamera->Pitch(30.0f - currentPitch);
                
                    CPythonChat::Instance().AppendChat(CHAT_TYPE_INFO, "FPS Modu: Kapali (Ucuncu Sahis)");
                }
            }
        }
    }
}


pyhonplayer.h

    protected:
        float                    MOVABLE_GROUND_DISTANCE;

    private:
        std::map<DWORD, DWORD> m_kMap_dwAffectIndexToSkillIndex;
    
    
    
    
public:
    // ... (Mevcut kodlar) ...

    // C++20 [[nodiscard]] ve constexpr kullanımı
    void ToggleFPSMode();
    [[nodiscard]] constexpr bool IsFPSMode() const noexcept { return m_isFPSMode; }

private:
    // ... (Mevcut kodlar) ...
 
    // C++20 varsayılan üye başlatma
    bool m_isFPSMode{ false };
    
    
    
    
    
};

extern const int c_iFastestSendingCount;
extern const int c_iSlowestSendingCount;


pythonapplicitaonevent

void CPythonApplication::OnKeyDown(int iIndex)
{
    UI::CWindowManager& rkWndMgr=UI::CWindowManager::Instance();

    if (DIK_ESCAPE == iIndex)
    {
#if defined(ENABLE_LOADING_PERFORMANCE) && defined(__ALLOW_ESCAPE_LOADING__)
        CPythonNetworkStream& rkInstance = CPythonNetworkStream::Instance();
        if (rkInstance.DirectEnterMode_IsSet() || rkInstance.IsLoadingPhase())
        {
            rkInstance.LogOutGame();
            return;
        }
#endif
        rkWndMgr.RunPressEscapeKey();
    }



// DIK_V, klavyedeki V tuşunun DirectInput karşılığıdır.
    if (iIndex == DIK_K)
    {
        CPythonPlayer::Instance().ToggleFPSMode();
    }





    rkWndMgr.RunKeyDown(iIndex);
}


camera.h

    private:
        void ProcessTerrainCollision();
        void ProcessBuildingCollision();
    
    
    
public:
        // C++20 Standartlarında FPS Modu Tanımlamaları
        void SetFPSMode(bool isFPS);
        [[nodiscard]] constexpr bool IsFPSMode() const noexcept { return m_isFPSMode; }
    
    
    

private:
        bool m_bProcessTerrainCollision;
        bool m_isFPSMode{ false }; // C++20 varsayılan üye başlatma (default member initialization)

        static float CAMERA_MIN_DISTANCE;
        static float CAMERA_MAX_DISTANCE;
};



camera.cpp

void CCamera::Roll(const float fRollDelta)
{
//    if (IsLock())
//        return;

    RotateEyeAroundTarget(0.0f, fRollDelta);
}

void CCamera::SetDistance(const float fdistance)
{
    // FPS modundaysak motorun gönderdiği mesafeyi reddet, 1.0f'e kilitle
    if (m_isFPSMode)
    {
        Zoom(1.0f / m_fDistance);
        return;
    }

    Zoom(fdistance / m_fDistance);
}


#include "StdAfx.h"
#include "../eterBase/Utils.h"
#include "Camera.h"

const float c_fDefaultResistance = 0.3f;

CCameraManager aCameraManager;    // CCameraManager Instance




void CCamera::SetFPSMode(bool isFPS)
{
    m_isFPSMode = isFPS;
}






void CCamera::SetCameraMaxDistance(float fMax)
{
    CAMERA_MAX_DISTANCE = fMax;
}

float CCamera::GetTargetHeight()
{
    return m_fTarget_;
}

void CCamera::SetTargetHeight(float fTarget)
{
    // FPS modundaysak motorun gönderdiği yüksekliği reddet, yüz hizasına kilitle
    if (m_isFPSMode)
    {
        m_fTarget_ = CAMERA_TARGET_FACE;
        return;
    }
 
    m_fTarget_ = fTarget;
}


cameraproreduce


void CCamera::Update()
{
//     ProcessBuildingCollision();

    RotateEyeAroundTarget(m_v3AngularVelocity.z, m_v3AngularVelocity.x);

    float fNewDistance=fMAX(CAMERA_MIN_DISTANCE, fMIN( CAMERA_MAX_DISTANCE, GetDistance() - m_v3AngularVelocity.y ) );
    SetDistance(fNewDistance);

    if (m_bProcessTerrainCollision)
         ProcessTerrainCollision();

    m_v3AngularVelocity *= 0.5f;
    if (fabs(m_v3AngularVelocity.x) < 1.0f)
        m_v3AngularVelocity.x = 0.0f;
    if (fabs(m_v3AngularVelocity.y) < 1.0f)
        m_v3AngularVelocity.y = 0.0f;
    if (fabs(m_v3AngularVelocity.z) < 1.0f)
        m_v3AngularVelocity.z = 0.0f;

    const float CAMERA_MOVABLE_DISTANCE = CAMERA_MAX_DISTANCE - CAMERA_MIN_DISTANCE;
    const float CAMERA_TARGET_DELTA = CAMERA_TARGET_FACE - CAMERA_TARGET_STANDARD;
    float fCameraCurMovableDistance=CAMERA_MAX_DISTANCE - GetDistance();
    float fNewTargetHeight = CAMERA_TARGET_STANDARD + CAMERA_TARGET_DELTA * fCameraCurMovableDistance / CAMERA_MOVABLE_DISTANCE;

    SetTargetHeight(fNewTargetHeight);

    // Cinematic
#ifdef __20040725_CAMERA_WORK__
    m_MovementPosition += m_MovementSpeed;

    if (0.0f != m_MovementPosition.m_fViewDir)
        MoveFront(m_MovementPosition.m_fViewDir);
    if (0.0f != m_MovementPosition.m_fCrossDir)
        MoveAlongCross(m_MovementPosition.m_fCrossDir);
    if (0.0f != m_MovementPosition.m_fUpDir)
        MoveVertical(m_MovementPosition.m_fUpDir);
#endif
}


hazırdosya1.sahis.7z - Jotti's malware scan

ardacgenc
Üye
Üye
Katılım02 Oca 2026
Konular5
Mesajlar84
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
27.04.2026 12:27 #2
Diğer yapmak istediğim sistemde.

İki oyuncu aynı ata binmesi

Digeri.
At metin dedektoru komut vererek metin tasina goturmesi

Diğer sistemde tren sistemi raylarin uzerinde hizlica gitmek...
Decentralized
Üye
Üye
Katılım01 Mar 2026
Konular7
Mesajlar63
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
04.05.2026 15:18 #3
ardacgenc
Üye
Üye
Katılım02 Oca 2026
Konular5
Mesajlar84
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 01:16 #4
thx https://gyazo.com/293ad41d7cb5fee3625b47169a5b61c3
bu konuda karakter kafası öne düşüyor.bide maue okuyla ileri gitme çalışmıyor.
yön tusalrıyla gidiyorsun

böyle hatalar var
scrol
Üye
Üye
Katılım18 Oca 2026
Konular8
Mesajlar47
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 08:46 #5
Eline sağlık pek tercih edileceğini sanmıyorum
ardacgenc
Üye
Üye
Katılım02 Oca 2026
Konular5
Mesajlar84
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 11:22 #6
Eline sağlık pek tercih edileceğini sanmıyorum
ws falan atınca bende beğenmedim.

ws sıraısndaki hareketler skiller efektler zehir olsun kriitk olsun delici damage gözükmüyor.
Gokcag
Üye
Üye
Katılım13 Nis 2026
Konular6
Mesajlar37
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 13:34 #7
Eline sağlık
MrtbtL
Üye
Üye
Katılım03 Mar 2026
Konular11
Mesajlar67
Elmas Konular0
Başarım0
ZirveCoin 0
Ticaret Puanı
+0 -0
07.05.2026 20:39 #8
Eline sağlık
Bu konuyu görüntüleyenler
1 misafir
Cevap yazmak için giriş yapın.
Benzer Konular
6 cevap
2K görüntüleme
9 cevap
1.9K görüntüleme
4 cevap
1.9K görüntüleme
8 cevap
1.9K görüntüleme
İlan Yan banner placeholder