Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 06/11/21 in all areas

  1. Hey guys, after i noticed some positive rule changes on the forum i will start to release some of my stuff i already published on an other forum. In the past I often had problems with the Exp/Yang/Drops of group members were also shared on different maps. The simplest solution was to just put the maps further apart, however I took a closer look why this is and fixed it accordingly. in char_battle.cpp // below FPartyAlignmentCompute f(-20000, pkKiller->GetX(), pkKiller->GetY()); // replace pkKiller->GetParty()->ForEachOnlineMember(f); pkKiller->GetParty()->ForEachOnMapMember(f, pkKiller->GetMapIndex()); // below f.m_iStep = 1; // replace pkKiller->GetParty()->ForEachOnlineMember(f); pkKiller->GetParty()->ForEachOnMapMember(f, pkKiller->GetMapIndex()); // below NPartyExpDistribute::FPartyTotaler f(ch); // replace pParty->ForEachOnlineMember(f); pParty->ForEachOnMapMember(f, ch->GetMapIndex()); // below NPartyExpDistribute::FPartyDistributor fDist(ch, f.member_count, f.total, iExp, pParty->GetExpDistributionMode()); // replace pParty->ForEachOnlineMember(fDist); pParty->ForEachOnMapMember(fDist, ch->GetMapIndex()); in char_item.cpp // below NPartyPickupDistribute::FCountNearMember funcCountNearMember(this); // replace pParty->ForEachOnlineMember(funcCountNearMember); pParty->ForEachOnMapMember(funcCountNearMember, GetMapIndex()); // below NPartyPickupDistribute::FMoneyDistributor funcMoneyDist(this, dwShare); // replace pParty->ForEachOnlineMember(funcMoneyDist); pParty->ForEachOnMapMember(funcMoneyDist, GetMapIndex()); // below NPartyPickupDistribute::FFindOwnership funcFindOwnership(item); // replace GetParty()->ForEachOnlineMember(funcFindOwnership); GetParty()->ForEachOnMapMember(funcFindOwnership, GetMapIndex());
    6 points
  2. M2 Download Center Download Here ( Internal ) As the title says, here's how you can synchronize your skill_table from client with skill_proto from server. [1]. First of all we've to rewrite the enum part of tokens (which is used in CPythonSkill::RegisterSkillTable), that means we change the order of index-tab-line with a new order, because ymir didn't used all columns. In that way we keep the file much cleaner and just with necessary columns (9 columns instead of 27). Srcs/Client/UserInterface/PythonSkill.h Search for the next enum: Replace it with: Srcs/Client/UserInterface/Locale_Inc.h [2]. Compile the source client again. [3]. Open Navicat (preferably the latest versions) and do the following things: Open player table Export Wizard -> Mark skill_proto -> Export to ../location/skilltable.txt Export format -> *.txt Unmark All fields then Unselect All Select available fields: -> {'dwVnum', 'bMaxLevel', 'bLevelLimit', 'szPointPoly', 'szSPCostPoly', 'szDurationPoly', 'szDurationSPCostPoly', 'szCooldownPoly', 'dwTargetRange'} Unmark: Include column titles Text Qualifier: None Copy the skilltable.txt from Desktop to ../locale/en/ HOW-TO - VIDEO (The video is just an example, please follow the tutorial from step [3]) [Hidden Content] Thanks to @Syreldar for the idea.
    1 point
  3. char.cpp --> remove that: m_dwKillerPID = 0; char.h --> remove that: DWORD m_dwKillerPID; char_battle.cpp --> remove/change that: if (!pkKiller && m_dwKillerPID) pkKiller = CHARACTER_MANAGER::instance().FindByPID(m_dwKillerPID); m_dwKillerPID = 0; change that: if (GetHP() <= 0) { Stun(); if (pAttacker && !pAttacker->IsNPC()) m_dwKillerPID = pAttacker->GetPlayerID(); else m_dwKillerPID = 0; } to this: if (GetHP() <= 0) { Dead(pAttacker); }
    1 point
  4. Hi, I come to ask for your help... I need a VDI ready to compile source with G++7 since I tried to install ports by myself, but my internet is very slow and I get too many errors, greetings and I hope you can help me!
    1 point
  5. If you have solved it, make it clear so we can close the topic.
    1 point
  6. Thanks for sharing, do you have to edit a file? I can't get into the server, I use the VDI with the installed files that you left and it shows me "error connecting to the server".
    1 point
  7. How to install GCC9 on the server files.
    1 point
  8. Thanks, I'll give it a try!
    1 point
  9. Thanks, is there any guide on how to upgrade GCC7 to GCC9 in source?
    1 point
  10. Thanks for sharing it, is it a 32-bit version? Can gcc7 be installed in this version?
    1 point
  11. Hi, I'm trying to compile some files with G ++ 7, but it shows me the following error and I would like to know how I can solve it... random.h archive: PASTE random.h archive Putty error: In file included from /usr/local/lib/gcc7/include/c++/random:49:0, from char_battle.cpp:41: /usr/local/lib/gcc7/include/c++/bits/random.h:107:31: error: expected unqualified-id before '__int128' { typedef unsigned long __int128 type; }; ^~~~~~~~ compile char_horse.cpp gmake: *** [Makefile:63: obj/char_battle.o] Error 1 gmake: *** Waiting for unfinished jobs.... root@metin2-project:/usr/a_servers/source/game/src # char_battle.cpp line 41: #include <random> Greetings and I hope you can give me a solution!
    1 point
  12. It's that I can't get a FreeBSD ready to compile source with G ++ 7 32-bit
    1 point
  13. M2 Download Center Download Here ( Internal ) Hey, Font Awesome is a font and icon tool based on CSS, LESS, and SASS. Official link to find your icons: FontAwesome It allows you to add vector icons to your website. Enjoy Sincerly, ASIKOO
    1 point
  14. Some more images: Currently i'm fixing some bugs & implementing new functions, systems i only implement stuff official has too. This project will be official serverfiles. I will release the project with github in approximately 1-2week(s)
    1 point
  15. I made an update for the files. - Added 5th Character Wolfman. - Changed from 4 to 5 Slots for Characters. - /set Command implemented changing race & sex for GM - Added MaskTypes for Item proto like official - Added 4th Apply in Item Proto like official - Added new columns for mob Proto like official (for compitability) - Added some more new points&applys - Resist fist column in .txt / .sql should work now - Fixed delimiter in dump proto for multiple race flags - Changed Loading of Mob/Item Proto In Db Source (improved code) - extended sockets to 5 (ITEM_SOCKET_MAX_NUM) - Current Protos can now be loaded without having to change something! - Fixed WEAR_SHIELD & WEAR_UNIQUE - Implemented Race Height feature - Replaced root with leaked gf root from 2018 - added all defines in pythonapplicationmodule(commented) - Added reversed event functions from pengers release - increased visible box line count from 5 to 15 - added missing function GetLoginID for character select. - Fixed "mse" syserr error due to costume aura items - Added Malis Last Play time system for official character select - Implemented official dice system & fixed monarch notice - Implemented official soul bind system. - Implemented official character details system. - Implemented official loading tips - Fixed a bug when you reset your skill group where you need to relog to see the true skill level. - Implemented official loading of Maps - Fixed switching items that are equipped. - and much more. If you want i can release it.
    1 point
  16. Reupload direct link please! :/
    1 point
  17. Btw, instead of adding a .SetDelay() to all objects, you could do do a simple change. for all visual ani_image from screen. root/ui.py Search for: if True == value.has_key("delay"): window.SetDelay(value["delay"]) Replace with: [Hidden Content] So, you don't have to any part of python from tutorial, just this.
    1 point
  18. To add the GIF format is the same procedure?
    1 point
  19. I take off my hat, very good work, excellent work! One doubt, could you share the faces of the HD characters please? Regards!
    1 point
  20. You don't need server source for this, you can do it directly via source client. For being in real time you'll need to do a boolean variable inside of CInstanceBase class which is updated from RecvAffectAddPacket, RecvAffectRemovePacket for each instance. So with that you could do a function like chrmgr.IsPoisoned(self.GetTargetVID()) which will result the status of poison for specific vid and check it in OnUpdate. Btw, the implementation is very bad, if i would want to do this, i don't touch the hpGauge, just add a new gauge bar over the hpGauge and hide/show it, that's all, could be done just with few lines, without the python. [Hidden Content]
    1 point
  21. ../Srcs/Client/UserInterface/PythonPlayerInput.cpp Replace the whole function void CPythonPlayer::__SetAutoAttackTargetActorID(DWORD dwVID) with: [Hidden Content]
    1 point
×
×
  • 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.