Hikayeler

Reklam vermek için turkmmo@gmail.com

Source Otomatik Oyun İçi Lua Okuma Kodu

CoderPia

localhost
Telefon Numarası Onaylanmış Üye
Super Mod
Admin
VIP Üye
Paylaşım
Katılım
20 Kas 2025
Konular
104
Mesajlar
670
Online süresi
12g 78686s
Reaksiyon Skoru
707
Altın Konu
0
Başarım Puanı
163
Yaş
32
TM Yaşı
4 Ay 29 Gün
MmoLira
10,624
DevLira
3

Metin2 EP, Valorant VP dahil tüm oyun ürünlerini en uygun fiyatlarla bulabilir, Item ve Karakterlerinizi hızlıca satabilirsiniz. HEMEN TIKLA!

Selamlar,



Merhaba arkadaşlar,
Source İçersinde CTRL F Yapıp Aratin Bu kodu
( bool CLuaEngine::ExecuteScript)
Verdigim Kod ile Değiştirdikten sonra oyun için lua değişişligi otomatık çalışacaktır. Oyunu kapatıp acmanıza gerek kalmadın.




Kod:
bool CLuaEngine::ExecuteScript(CUser * pUser, CNpc * pNpc, int32 nEventID, int8 bSelectedReward, const char * filename)
{
    ScriptBytecodeMap::iterator itr;
    bool result = false;

    m_lock->AcquireReadLock();
    itr = m_scriptMap.find(filename);
    if (itr == m_scriptMap.end())
    {
        // Build full path to script
        std::string szPath = LUA_SCRIPT_DIRECTORY;
        szPath += filename;

        // Release the read lock (we're not reading anymore)
        m_lock->ReleaseReadLock();

        // Attempt to compile
        BytecodeBuffer bytecode;
        bytecode.reserve(LUA_SCRIPT_BUFFER_SIZE);
        if (!SelectAvailableScript()->CompileScript(szPath.c_str(), bytecode))
        {
            printf("ERROR: Could not compile Lua script.\n");
            printf("FILE: %s\n", szPath.c_str());
            printf("USER: %s\n", pUser->GetName().c_str());
            printf("ZONE: %d\n", pUser->GetZoneID());
            printf("NPC ID: %d\n", pNpc->m_sSid);
            printf("-\n");
            return false;
        }

        // Acquire the write lock (we're adding the compiled script)
        m_lock->AcquireWriteLock();

#if !defined(LUA_SCRIPT_CACHE_DISABLED)
        // Add the script to our map
        m_scriptMap[filename] = bytecode;
#endif

        // Now that we have the bytecode, we can use it.
        result = SelectAvailableScript()->ExecuteScript(pUser, pNpc, nEventID, bSelectedReward,
            filename, bytecode);

        // Done using the lock.
        m_lock->ReleaseWriteLock();
    }
    else
    {
        // Already have the bytecode, so now we need to use it.
        result = SelectAvailableScript()->ExecuteScript(pUser, pNpc, nEventID, bSelectedReward,
            filename, itr->second);

        // Done using the lock.
        m_lock->ReleaseReadLock();
    }

    return result;
}
 
  • Beğeni
Reactions: sh4

Şu an konuyu görüntüleyenler (Toplam : 1, Üye: 0, Misafir: 1)

Geri
Üst