Jump to content

astroNOT

Premium
  • Posts

    48
  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by astroNOT

  1. Hello peeps, I've got the following sutiation: When i add a specific map to index file, a core does not start (channel99 -> core99). When i try to Cannot connect to the server, an connection error is displayed by the client. I've added the map dir name at the eof, with a uniquie index Id Ex. 100 my_map_dir_name The map index has not yet been added to any of the CONFIG files Does anyone have any idea how can I debugg this situation? Can't seem to find any error in the cores/mysql client/auth syserr In syslog no helpful info also..(edited) ----FIX--- Sonitex — Today at 11:08 AM Last line in the map index file must be empty(edited) Pretty stupid "bug"
  2. Hello, I've added strong against metins/bosses, and now, I am trying to add em to item_attr. The goal is to make what is a bonus that I can add manually to an item, to be "addable" by add/change bonus items, if that makes sense? Now I do not know what that implies, any ideas/suggestions would be much apreciated! PS. I did try to add a new row in the table with APPLY_ATTBONUS_METIN, no luck tho. Thanks Tutorial by Owsap Server Source We can do the MySQL part now since we have finished with the server part. MySQL Now let's move on to the Client Source. Client Source Let's not forget our special tool, DumpProto. DumpProto Last but not least your client needs to read the new bonus type. Client Root And finally, your bonus needs a name. Client Locale ⚠ Following the order of the points and apply types are very important, make sure every modification is in order since an incorent order may read another bonus.
  3. Hello, I am running on freeBSD 11.3, gcc49, C++11, mysql 5.5 When compiling, at some point the compilation freezes and in VM machine, i keep getting this swapper error in termnial: swap_pager_getswapspace(3) failed swap_pager_getswapspace(7) failed swap_pager_getswapspace(9) failed swap_pager_getswapspace(3) failed . . . Any idea if this is related to the compilation freeze or? My main problem is the compilation freeze, TOP dosen't seem to show any memory shortage.. TOP output : [Hidden Content] I m not sure if this is how you see the disk space but df -h output looks worring, kinda full UPDATE: When the machine freezes the whole thing is gone, not just the compilation, can't even open a new ssh connection
  4. Following For this switch statement: if (GetType() == ITEM_ARMOR) { switch (GetSubType()) { case ARMOR_BODY: return ATTRIBUTE_SET_BODY; case ARMOR_WRIST: return ATTRIBUTE_SET_WRIST; case ARMOR_FOOTS: return ATTRIBUTE_SET_FOOTS; case ARMOR_NECK: return ATTRIBUTE_SET_NECK; case ARMOR_HEAD: return ATTRIBUTE_SET_HEAD; case ARMOR_SHIELD: return ATTRIBUTE_SET_SHIELD; case ARMOR_EAR: return ATTRIBUTE_SET_EAR; case COSTUME_BODY: return ATTRIBUTE_COSTUME_B; } } else if (GetType() == ITEM_COSTUME){ return ATTRIBUTE_COSTUME_B;} I get: item_attribute.cpp:52:13: error: duplicate case value case COSTUME_BODY: ^ item_attribute.cpp:31:13: error: previously used here case ARMOR_BODY: ^ Armor body is defined in item_length.cpp: enum EArmorSubTypes { ARMOR_BODY, COSTUME_BODY is also defined in item_length.cpp: enum ECostumeSubTypes { COSTUME_BODY, Any idea why does it see at as a duplicate?
  5. It does make sense, I'll still keep the post up if every participant till now agrees, who knows maybe the comments information will provide knowledge to more people, thanks for sharing it tho!
  6. Imma be honest, I didn't know if he was making fun of the situation or not
  7. Considering remote developement on freebsd is limited, and you might have to hard reset from a repo, you might find it annoying at times to keep modified dates in check, anyways, this is something I find useful, my knowledge might also be limtied but it is what it is!
  8. The point is to remove only the file you;'ve modified and compile only that file into a new object, but you could wait to compile errthing again, smart boi... aaand if ur decently clever u can make something that does everything from pull, rm, gmake, restart
  9. import sys import os from os import path def rmObj(objNames): # objNames = objNames.replace(' ', '') db_objDir = "locatie_DB_.obj_absoluta" #Absolut location for db dir objects, should look like /usr/src/gameSource/Server/db/src/.obj" game_objDir = locatie_GAME_.obj_absoluta" #Absolut location for game dir objects, should look like: /usr/src/gameSource/Server/game/src/.obj" obj_ExtensionLst = ['.o', '.d'] count = 0 for objName in objNames: objName = objName.replace(',', '').replace(' ', '') for extension in obj_ExtensionLst: db_ObjLocation = f"{db_objDir}/{objName}{extension}" game_ObjLocation = f"{game_objDir}/{objName}{extension}" if path.exists(db_ObjLocation): os.remove(f"{db_ObjLocation}") print(f"Removed {db_ObjLocation}") count += 1 if path.exists(game_ObjLocation): os.remove(f"{game_ObjLocation}") print(f"Removed {game_ObjLocation}") count += 1 if count == 0: print(f"No files found for given input in these locations: \n{db_objDir}, \n{game_objDir}") if __name__ == "__main__": rmObj(sys.argv[1:]) The script basically deletes .o/.d compiled objects from game/db Prereq: Python >3.4 pkg search python -> pkg install python_vsr_from_search_output Exec script: python3.X fileName.py obj_1, obj_2, ...etc
  10. The script moves the compiled game/db to a desired location, and back up the old ones, in a new directory, named by the user (as a commit message u might say) Could be useful if you don't use git/symlinks, I myself didn't think about symlinks for game/db, thanks to ikarus i do now haha. Prereq: python >3.4 pkg search python pkg install python_vsr_from_search_output I've commented in line what values to modify To call the script simply do python3.X fileName.py backup_Directory_Name import os import shutil from os import path class move_Binaries: targetDir = "/usr/home/bin(!!!REPLACE)" #Dir path from where the compiled game/db are read (Has to be absolute) outputBin = "/usr/src/gameSource/Server/output(!!!REPLACE)" #Dir path for where the gmake output is saved (compiled game/db) Has to be absolute backupDir = targetDir + "/backupBin" binariesList = ['game','db'] def __init__(self, backup_Name="NotGiven"): if backup_Name != "NotGiven": self.backup_Name = backup_Name else: self.backup_Name = backup_Name + '_' + self.getDateIdentifier() def move_to_backup(self): files = [f for f in os.listdir(self.targetDir) if os.path.isfile(f)] self.createDir(self.backupDir) dirCreated = self.createDir(self.backupDir, self.backup_Name) for f in files: for binName in self.binariesList: if binName in str(f): shutil.move(f"{self.targetDir}/{str(f)}", dirCreated + '/' + str(f)) print(f"Backed up binaries at: {dirCreated + '/' + str(f)}") def move_from_output(self): for binName in self.binariesList: try: shutil.move(f"{self.outputBin}/{binName}", self.targetDir + '/' + binName) print(f"Moved binaries from {self.outputBin} to {self.targetDir + '/' + binName}") except FileNotFoundError : print(f"No {binName} file in {self.outputBin} to move") def createDir(self, dirLocation, dirName=''): dirCreated = dirLocation + r'/' + dirName if path.exists(dirCreated): return dirCreated else: os.mkdir(dirCreated) return dirCreated def getDateIdentifier(self): from datetime import datetime # datetime object containing current date and time now = datetime.now() # dd/mm/YY H:M:S dt_string = now.strftime("%d_%m_%Y_%H_%M_%S") return dt_string if __name__ == "__main__": import sys move_BinariesInstance = move_Binaries(sys.argv[1]) move_BinariesInstance.move_to_backup() move_BinariesInstance.move_from_output()
  11. This is gr8, i mainly wanna use it for debugging purposes, only way I came up with do do any debugging, thanks!
  12. Hello, as per title, does any1 know a launcher binaries function that prints something in ingame chat, thanks!
  13. So i've modified abit the exchange window, and the accept button isnt clickable with the tip of the cursor, i have to hover it with half of the cursor for it to be highlighted/clickable, does anyone have any idea? The button's position isn't done as getChild object, but defined in the uiscript dictionary, I got no idea how to tackle this issue, any suggestions? The cursor issue happens only for the accept button. Here's a gif: MyNameGIFF
  14. Hello, So i have a window with a board (child) which i've attached to the invetory, on whom, i've added a couple of icons(as children of the board) which stand for buttons essentially That i want is the board to be invisible and just the buttons visible, but if i set the values to 0, the board still shows for some reason, is there a type or something that is transparent? ( { "name" : "SystemsWindowBoard", "type" : "board", "x" : 25, "y" : 0, # "width" : 148 - 9991-800, # "height" : 172+27+30+10+22, #172 "width": 0, "height": 0, # 172 How the in game actually looks: [Hidden Content] Changed it to type image, seems to do the drick, but if i use a no background png it fails to load it, if any1 has a transparent png, let me a hand if its possible
  15. I can only thank you for the explanations, this is quite the insight, which i've legit missed by a mile!
  16. Hello, I'm trying to figure out how to create a new button using patterns already created for the buttons in game, but I cannot seem to figure out where the button is actually created, what have i found till now is: In ui.py module there multipe classes for ui elements, like button, which makes sense to create a instance of that class for the buttons, and i've seen alot of calls to "getChild" method from ScriptWindow class, which just returns what I assume the actual method for the name (key) received from the getChild method call, which is the actual ui element instance What I cannot figure out where do the ui elements instaces are being set in ElementDictionary in ScriptWindow, searching for the keys from getChild method calls, dosen't return any findings for any "InsertChild" method calls. Basically, how does this work, do i have to create a button instace based on ui,Button class, then set it intto the dictionary, and then getting it in another method? Thanks
  17. Hello, How can i create a new button that will show somewhere on the player's screen, which files stand for button object creation, and which module is the actual UI design ? To respect the patterns already implemented? I assume I would create a button based on the classes in ui.py module. The question is where do I create the actual UI definition to display the button in game? And on click, the lets say icon.tga button would display a message, "Hello world"? Thanks
  18. While it's a great post, I've got into trouble when it came to the button creation, i don't know in which module to create the button_event method, and under what class, if you got any idea :D, ive left a commet on the actual post also.
  19. Hello, Ik its an old post, but on the last bit, with the button creation, can't see to figure out in which module (python file) to put the class method? And under what class? And also, who's "net", if anybody could help, would really appreciate it!
  20. Hello everybody, So I'm getting back to a game i loved and i wanna customise a server, but I really get lost on it all, what I'm asking is for a little bump, a little success from which i can build upon. I'm pretty good with python/OOP which I saw is client side, in the packages, but i got no idea how to create a server side function(C++ Embbedes python) that passes a value to the client, and actually display the value in the client (reveiced by the client, and displayed by ther UI) so basically, i need the "hello world" of metin2 that would look like this: Given: UI definted button called "Start" Client side function/class Method named "onStartClick" that calls a Server-Side method "getHelloWorld" which returns to the clientside method (Or to another clientside method) a string called "Hello world" Client side UI displays the string received from serverside in the UI saying "Hello world" in a little grey box. I hope this isn't viewed as a negative thing, I just work better with examples. I'm good with python, OOP, not so much with C++ but i catch up fast, just as a fyi. Thanks
×
×
  • 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.