Jump to content

Mind Rapist

Inactive Member
  • Posts

    547
  • Joined

  • Last visited

  • Days Won

    6
  • Feedback

    0%

Mind Rapist last won the day on January 30 2019

Mind Rapist had the most liked content!

1 Follower

About Mind Rapist

  • Birthday 01/04/1995

Informations

  • Gender
    Male

Social Networks

  • Skype
    mind.rapist

Recent Profile Visitors

2975 profile views

Mind Rapist's Achievements

Experienced

Experienced (11/16)

  • Very Popular Rare
  • Dedicated
  • Reacting Well
  • Posting Machine Rare
  • Collaborator

Recent Badges

178

Reputation

  1. If you're not gonna be compiling and you will just be running the game you need: /usr/ports/lang/python27 /usr/posts/databases/mysqlXX-server /usr/ports/databases/mysqlXX-client where XX = the latest compatible version with your source. There are a few posts in this forum about setting up a dedicated server. Your machine needs to be an x32 OS build unless you've made certain modifications to the source to run on x64 or you can install all necessary libs and ports in their x32 version on your x64 machine. If you are gonna be compiling in your dedicated machine you're gonna be needing a lot more tools than that such as gmake, gdb, llvm, llvm-devel, devil, boost-all, cryptopp and more. Do your research in this forum depending on your preferences and requirements of your server, there is an answer for everything about this topic in here.
  2. Thanks! If anyone else needs this here is a working bool CPythonApplication::Create in UserInterface/PythonApplication.cpp: Find: else { AdjustSize(m_pySystem.GetWidth(), m_pySystem.GetHeight()); if (Windowed) { m_isWindowed = true; ... } ... } Adjust like this: else { AdjustSize(m_pySystem.GetWidth(), m_pySystem.GetHeight()); if (Windowed) { m_isWindowed = true; if (bAnotherWindow) { RECT rc; GetClientRect(&rc); int windowWidth = rc.right - rc.left; int windowHeight = (rc.bottom - rc.top); CMSApplication::SetPosition(GetScreenWidth() - 8 - windowWidth, GetScreenHeight() - 78 - windowHeight); } else { SetPosition(-8, 0); } } else { m_isWindowed = false; SetPosition(0, 0); } }
  3. Amazing! Thanks for this. I made a translated locale_list.txt in case someone may want it: English 1252 en العربية 1256 ae Français 1252 fr Deutsch 1252 de Dansk 1252 dk Ελληνικά 1253 gr Español 1252 es Italiano 1252 it Nederlands 1252 nl Magyar 1250 hu Polski 1250 pl Português 1252 pt Română 1250 ro Русский 1251 ru Türkçe 1254 tr Čeština 1250 cz I tested it and it works like a charm without any changes
  4. I've seen some clients doing this but I don't have their source plus I'm sure a lot of new devs like me would like an answer to that. Most clients start in a specific position (0, 0), therefore when a second instance of the client starts, it goes right on top of the first one and you need to move it (if running on small dimensions such as 800x600) in order to see both of them. There are some clients though that start the second instance in the other side of the screen and that's convenient on small dimension settings. I know that there is a block of code that can set the position of the client in EterLib/MSWindow.cpp: bool CMSWindow::Create(const char* c_szName, int brush, DWORD cs, DWORD ws, HICON hIcon, int iCursorResource) { //assert(ms_hInstance != NULL); Destroy(); const char* c_szClassName = RegisterWindowClass(cs, brush, MSWindowProcedure, hIcon, iCursorResource); m_hWnd = CreateWindow( c_szClassName, c_szName, ws, 0, 0, 0, 0, // <==== Here we can set the first 2 numbers as the position of the window (x, y, width, height) NULL, NULL, ms_hInstance, NULL); but how is it possible to know if there are other client instances open so we can round around this for example? 0, 0 End of screen width - window width, 0 0, End of screen height - window height End of screen width - window width, End of screen height - window height 0, 0 ... Thanks in advance
  5. Well that explains a lot. I haven't looked into how to compile sources in amd64 environments but I strongly suggest either to do your research on that or create a new VM in x32 (x386). I would also recommend to use the VDI provided by the creator of the SF until you can find your way around FreeBSD and create your own environment. Then you can copy the files from your old VM to the new one with the knowledge to go through unexpected errors.
  6. What FreeBSD version are you using?
  7. Try using ports. Run the following commands one by one: portsnap fetch update [WAIT TO FINISH] cd /usr/ports/graphics/devil make deinstall clean [WAIT TO FINISH] make install clean [WAIT TO FINISH]
  8. Is the file "libIL.so.1" present in /usr/local/lib? It could be a regular file or a shortcut leading to "libIL.so.1.1.0" If not: reinstall it in the terminal by pkg: pkg install devil or ports: cd /usr/ports/graphics/devil make install clean If the file exists add this to your game/src/Makefile if not present: LIBDIR += -L/usr/local/lib LIBS += -lIL
  9. I know I'm bumping an old issue but someone may actually need a solution and after finding the needle in the haystack I'm willing to share it: The code is self-explanatory: if 0 == player.GetPlayTime(): helpButton.Show() else: helpButton.Hide() which means that if you see the button the player has no play time. The fix? There should be 2 instances of SetPlayTime(number of minutes) in your root python files. interfaceModule.py: def __OnClickHelpButton(self): player.SetPlayTime(1) self.CheckGameButton() self.OpenHelpWindow() introSelect.py: This was my thing. I installed the new character/empire select/create system and I was missing this part of the code. In def OnUpdate(self) find this (should be at the bottom of the def): if -1 != self.startIndex: and make sure that it ends like this: if -1 != self.startIndex: if app.GetTime() - self.startReservingTime > 3.0: if False == self.openLoadingFlag: chrSlot = self.stream.GetCharacterSlot() net.DirectEnter(chrSlot) self.openLoadingFlag = True # Start of Help button fix (assigning play time to the character) playTime = net.GetAccountCharacterSlotDataInteger(self.slot, net.ACCOUNT_CHARACTER_SLOT_PLAYTIME) import player player.SetPlayTime(playTime) # End of Help button fix import chat chat.Clear() That's it! The problem was that the selected player was never assigned play time and now they have with player.SetPlayTime(playTime) just like in the original introSelect.
  10. Same issue here (different armor, skill and job) but a skill is not displayed correctly due to one armor (tested with all other armors and works perfect except 20500). I've been trying to find how to solve this but I have no idea where the error could be. I checked python, msm and msa files and couldn't find anything. Anyone has a fix or a lead what to look at?
  11. No actually without armor everything is normal! What is the problem with wearing an armor?
  12. Relog bugs fixes (2) Bugs: Relog with active AFFECT_EUNHYEONG and the character will be visible again after 2 seconds Relog with an active effect like poison or bleeding and AFFECT_EUNHYEONG and when you come visible again the debuffs will not be visible. FIX: In InstanceBaseEffect.cpp: Find void CInstanceBase::__SetReviveInvisibilityAffect(bool isVisible) and modify as follows (or add above void CInstanceBase::__Assassin_SetEunhyeongAffect(bool isVisible) if you don't have it at all) In void CInstanceBase::__Assassin_SetEunhyeongAffect(bool isVisible) add the ShowAllAttachingEffects() command in the else statement like this: Last but not least go to the switch statement in void CInstanceBase::__SetAffect(UINT eAffect, bool isVisible) and change the AFFECT_REVIVE_INVISIBILITY case like this: I believe all that's left is figure out how to show the make effect visible to other players like this:
  13. Does anyone have a fix for this? I've been looking everywhere even a clue for where to look could be helpful
  14. Taskbar issue FIX I would like to show my appreciation once again to every single one of you who asked and answered questions so we can have a complete solution for skill slots in this post. I am posting below the simple solution to the taskbar problem (active effect multiplying when changing a toggled skill/item's position) so we can have all solutions in one place. In uiTaskbar.py find: ## QuickSlot def RefreshQuickSlot(self): ... ## NOTE : Activate µΗΎξ ΐΦ΄ΩΈι ΎΖΐΜΔάµµ Ύχµ¥ΐΜΖ® =======> if player.IsSkillActive(Position): <======== slot.ActivateSlot(slotNumber) elif player.SLOT_TYPE_EMOTION == Type: ... ... def canAddQuickSlot(self, Type, slotNumber): and add the else statement below like so: ## QuickSlot def RefreshQuickSlot(self): ... ## NOTE : Activate µΗΎξ ΐΦ΄ΩΈι ΎΖΐΜΔάµµ Ύχµ¥ΐΜΖ® if player.IsSkillActive(Position): slot.ActivateSlot(slotNumber) else: slot.DeactivateSlot(slotNumber) elif player.SLOT_TYPE_EMOTION == Type: ... ... def canAddQuickSlot(self, Type, slotNumber):
×
×
  • 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.