Jump to content

Sonitex

VIP
  • Content Count

    404
  • Joined

  • Last visited

  • Days Won

    7

Sonitex last won the day on December 26 2018

Sonitex had the most liked content!

Community Reputation

166 Friendly

3 Followers

About Sonitex

  • Rank
    Noble

Informations

  • Gender
    I'm blue... Da beee de...
  • Location
    Home

Social Networks

  • Skype
    sonitexo
  • Discord
    sonitexo#1880

Skills

  • Mapping
    Expert
  • C++
    Advanced
  • LUA
    Advanced
  • Python
    Advanced

Recent Profile Visitors

2891 profile views
  1. Function affects only the tooltip part. Skill cooldown is calculated by the following function(I think, haven't done much research): CPythonPlayer::__RunCoolTime(DWORD dwSkillSlotIndex)
  2. Sorry to disappoint you but this has nothing to do with damage of the skill. Your issue lays somewhere else.
  3. I will try to see if I still have it although this this truly refers to antique now hah
  4. Third time worked like a charm. Got it (kinda)
  5. I think what @Finnael is saying makes sense. In order to achieve synchronisation of characters' movement and information you would need to send PacketAround() through P2P so it reaches other servers. Also having one master server would solve issues like spawning regens on each server or something similar (I just guessed).
  6. Haven't really took a deep look but the thing that pointed out to me is party flag that saves dungeon index is set when you talk with the NPC 20531. Because you warped out before starting the dungeon, party flag was not saved and you were teleported to a new instance. I'd recommend to move this part to somewhere else like make_dungeon() function. party.setf("dungeon_index", d.get_map_index()) d.setf("party_leader_pid", party.get_leader_pid())
  7. With that attitude I doubt anyone will help you. But what you can do is read some books about programming, it might improve your knowledge.
  8. void CQuestManager::CancelServerTimers(DWORD arg) { vector<pair<string, DWORD>> ServerTimersToDelete; for (auto& kv : m_mapServerTimer) { if (kv.first.second == arg) { LPEVENT event = kv.second; event_cancel(&event); ServerTimersToDelete.push_back(kv.first); } } // Delete all the required server timers for (auto &timer : ServerTimersToDelete) m_mapServerTimer.erase(timer); // Clean up ServerTimersToDelete.clear(); } Crash occurs because the game is deleting timers while iterating through them. Code above should fix this issue
  9. When hovering over a skill, it's recharge duration in tooltip is always the same because it ignores player's casting speed. In PythonSkill.cpp search for : DWORD CPythonSkill::SSkillData::GetSkillCoolTime(float fSkillPoint) Replace with: DWORD CPythonSkill::SSkillData::GetSkillCoolTime(float fSkillPoint) { if (strCoolTimeFormula.empty()) return 0; CPoly poly; poly.SetStr(strCoolTimeFormula.c_str()); /* Apply casting speed when calculating the formula */ int iCastingSpeed = CPythonPlayer::Instance().GetStatus(POINT_CASTING_SPEED); int iSkillCoolTime = Process
  10. I agree with the idea of moving water texture setting to the map itself. It is much easier to handle and works perfectly fine on my client. Default water texture is no biggie either, one more if statement. Great job and thank you for your contributions with the WorldEditor
  11. Why bother with rewriting a whole system when you can create a new item and make it add and remove affect upon using it. If it is active, set socket(0) to 1 and edit the function that handles active/unactive effect in the inventory and taskbar, you can copy most of it since it is the same for elixirs. For the pet permanent functionality: when you reach 200 days cancel the real time event on the item and add a check so it never starts again if the item has 200 days or more. On the client side modify the code to hide the remaining time if the item has more than 200 days remaning.
  12. CGraphicImageInstance m_WaterInstances[30]; Edit this part in the MapOutdoor.h as well . STATEMANAGER.SetTexture(0, m_WaterInstances[((ELTimer_GetMSec() / 70) % 30)].GetTexturePointer()->GetD3DTexture()); And this in the MapOutdoorWater.cpp. And I believe that buffer is used for the path of the texture and not the actual size of the texture.
×
×
  • Create New...

Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.