Jump to content
Araştır
  • Diğer seçenekler ...
Sonuçları bul ...
Sonuçları bul ...

cacaa

Uzaklaştırılmış
  • İçerik sayısı

    320
  • Katılım

  • Son ziyaret

  • Günün Kazananı

    4
  • Puan

    8,741 [ Bağış Yap ]

İletiler : cacaa


  1. Merhabalar, sunucu tabanlı multi giriş engeli yapmak istiyorum. Bunun için select character bölümünde alttaki kodu kullanıyorum fakat işe yaramıyor. Ne yapmalıyım?

     

     

    // MULTICLIENT
    for (int i = 0; i<=3 ;i++) {
    
     CUser *pUser = g_pMain->GetUserPtr(i);
    
     if (pUser == nullptr)
    
     continue;
    
    
     if (pUser->GetRemoteIP() == GetRemoteIP())
    
     {
    
     Disconnect();
    
     return;
    
     }
    
    
    }
    

     


  2. Yardımcı olursanız çok sevinirim.

    bool CLuaEngine::ExecuteScript(CUser * pUser, CNpc * pNpc, int32 nEventID, int8 bSelectedReward, const char * filename)
    {
    	try {
    		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;
    	}
    	catch (...) {
    		GlobalError(__FILE__, __LINE__);
    		return false;
    	}
    }

     


  3. Prosedür hata veriyor yardımcı olabilecek var mı?

    Msg 4145, Level 15, State 1, Procedure HashPasswordString, Line 28 [Batch Start Line 0]
    An expression of non-boolean type specified in a context where a condition is expected, near 'BEGIN'.
    Msg 4145, Level 15, State 1, Procedure HashPasswordString, Line 56 [Batch Start Line 0]
    An expression of non-boolean type specified in a context where a condition is expected, near 'BEGIN'

×
×
  • Yeni Oluştur...