Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


KONG last won the day on July 2 2018

KONG had the most liked content!

Community Reputation

386 Excellent

About KONG

  • Rank
    Sea Captain

Recent Profile Visitors

6,678 profile views
  1. KONG

    guild freeze server

    Because there are multiple instances of GameServer, moliyo did direct queries instead in memory (concurrency issues). And doing it in memory, it becomes faster by hundreds of folds. There was also an exploit to hang server by spamming guild packet, leading gameserver to constantly run queries (bad bad). Solutions: - WorldServer.exe (this is a serverside service dedicated to do operations on shared resources) - SyncCall - there is a virtual function inside gameserver, when implemented, packets will require an "ACK" packet before continuation of operation. By this, you would sync guild data inside all GameServer.
  2. KONG


    the function is not bugged (everyone is using it). You just need to pass in a role. And because you check if the monster is dead inside map_run, it runs every second even if sometimes your variable DWboss1 is "null". Better you go do your actions at GetExp_New / GetExp_PKM, if dead == DWboss1 then DWport1 = 1 end and inside map_close: DWboss1 = nil -- note the nil here (one reason why you could be getting the errors
  3. KONG


    write test unit with pcall and "assert"
  4. KONG

    New Exploits?

    on Creat_Cha, loop through the attr of equipment slot 1, if there is suspicious activity, ban the player.
  5. KONG

    Lua Function - Sceneeffectinfo

    Use int ItemFace()
  6. KONG


    void CItemCommand::AddHint( int x, int y ) function responsible for rendering the hint displayed when an item is hovered Inside said function contains snippet of code that loops through stones: CStoneInfo* pStoneInfo = NULL; DWORD color = -1; int nCount = CStoneSet::I()->GetLastID() + 1; for( int i=0; i<nCount; i++ ) { ... PushHint( buf, color, 5, 1); // buf - the string to be rendered onto the hint // color - the color // 5 - height // 1 - font ...}
  7. KONG

    Programming Task

    This is also the exact reason why we have various sorting algorithm, if we would sort a small list, say consisting of 4 entries, an "insertion" sort would be suitable, but once the list too big, as suggested by your question, perhaps we can use some other algorithm to solve the sorting of the giant list to save cost and time. try "Bubble" sort. In your question above, we try to scale the number of execution by a fixed amount regardless how many entries are in the list. This is how one would try to optimize their programs.
  8. KONG

    Programming Task

    @quad we study the time and cost of executions by using a notation called "O-Notation".
  9. KONG

    TOP 3.0?

    this one is in UE4. Mostly ported models and new animation (in autodesk's .fbx files).
  10. KONG

    State Add/Rem Timer

    Not all, sorry. But rendering done directly at client, and server will do the stats. Same as how fairies are done.
  11. KONG

    State Add/Rem Timer

    or do it like wings/fairies/swings. This is all client side work but it is sufficient and an elegant solution. It is known as the ItemFace(s).
  12. KONG

    Released source for which files?

    Two sets of SRC: - 2.0 (1.10 CN "New" PKO). This one heavily modded but original exist on the web. - PRE 2.4 PKO. Client/Server supports 2.4 bracelets, somehow doesnt exist in common, add it!
  13. KONG

    Level jump

    people do not use 1.38 so they do not see how it was fixed in official: if exp<DEXP[80] and (exp+exp_up) > DEXP[80] then exp_up = math.floor((DEXP[80]-exp) + (exp_up-(DEXP[80]-exp))/50) end if Lv ( TurnToCha(t[i]) ) >= 80 then exp_up = math.floor ( exp_up / 50 ) end and attached below is how i did in c++
  14. KONG

    Xtacy Admiral Cloak

    LuaJIT wont interfere. I think it is the table files. (iteminfo/characterinfo)
  15. KONG

    Regarding source codes....

    * LuaJIT increases performance up to x150, so it does make a difference. (byte codes is trasformed into native machine codes on the fly) * LuaJIT is easy to integrate, almost a drag-drop scenario. exchanging lua syntax is not hard. mainly (loops, (...) args) * What dequix is saying is using FFI to call native C/C++ or even construct C/C++ structures/class into lua and retrieving them directly.