• Content Count

  • Joined

  • Last visited

  • Days Won


VegaS™ last won the day on January 13

VegaS™ had the most liked content!

Community Reputation

787 Unstoppable

About VegaS™

  • Rank
  • Birthday December 22

Profile Information

  • Gender
  • Location

Contact Methods

  • Website URL
  • Discord
  • Skype

Recent Profile Visitors

8,190 profile views
  1. This account was banned 4 years ago because of:

    • multi account
    • spamming/warnings

    The new account: 

    1. ASIKOO


      Do you want me to merge your accounts ? :) 

    2. ASIKOO
  2. VegaS™

    Can you f..... go away and stop spamming forum with your shits please? Nobody cares about your messages with no logic, you just searching for attention.
  3. VegaS™

    11. The Releases category, should be available just for registered users. With that we avoid the guests which just open the releases category, take resources and go away, we need real users, not guests who takes everything and don't give a f**k. 12. Based on 11, implement a system that you can see hidden resources just if you like the post, then will be unhidden. With that we encourage the people to post more stuffs, because the resource will be evaluated of how many likes has.
  4. VegaS™

    Glad to see that this team is active. You can take a look here, maybe. I would want to add something in the list: 10. Invite System You can adapt it as you want, would be a good feature.
  5. VegaS™

    1. Even if you click Past Leaders or Top Members, just the Leaderboard will be selected. 2. There should be top 5 max, right now makes the page too long, that's why the button show more exists. 3. Adding users viewing this page/recently browsing again. 4. Social media (Skype, Discord) with image/links, with that method we avoid fake accounts, which has the same name like. 5. Third-Party Login (GitHub, Twitter, Google) 6. Discord-Synchronization (instead of using 7. Two Step Verification (if is possible) 8. Trophies and Medals (based on likes/posts) 9. Allowing user tag in chatbox.
  6. VegaS™


    I don't know how this 'petsystem' works, but i think the condition what he had is to check if the skill slot value isn't -1 or 0 like. You replace the condition for no reason, i think you didn't understand the boolean conditions. -1 to -2147483647 - True 1 to 2147483647 - True 0 - False 1 - True So, with your condition the loop will count the -1 skill slot value too.
  7. The idea is good, but the code is bugged and unreadable, here're the bugs: text = '1kks' ValueError: invalid literal for int() with base 10: '1000000s' text = '1kk500' 1000000500 text = '1abcd' '1abcd' If I'm the one who do this, i would do it more extendable and using a proficient way. import re def __ConvertMoneyText(self, text, powers=dict(k=10**3, m=10**6, b=10**9)): """ Format string value in thousands, millions or billions. '1k' = 1.000 '100kk' = 100.000.000 '100m' = 100.000.000 '1b' = '1kmb' = 1.000 (can't use multiple suffixes types) :param text: string :return: int :date: 10.01.2020 :author: Vegas """ match ='(\d+)({:s}+)?'.format('+|'.join(powers.keys())), text, re.I) if match: moneyValue, suffixName = match.groups() moneyValue = int(moneyValue) if not suffixName: return moneyValue return moneyValue * (powers[suffixName[0]] ** len(suffixName)) return 0 def OnAccept(self): text = self.pickValueEditLine.GetText() if text: moneyValue = min(self.__ConvertMoneyText(text), self.maxValue) if moneyValue: if self.eventAccept: self.eventAccept(moneyValue) self.Close() At least, keep the copyright.
  8. VegaS™

    Kimetsu no Yaiba ( Demon Slayer) Trailer: Ever since the death of his father, the burden of supporting the family has fallen upon Tanjirou Kamado's shoulders. Though living impoverished on a remote mountain, the Kamado family are able to enjoy a relatively peaceful and happy life. One day, Tanjirou decides to go down to the local village to make a little money selling charcoal. On his way back, night falls, forcing Tanjirou to take shelter in the house of a strange man, who warns him of the existence of flesh-eating demons that lurk in the woods at night. When he finally arrives back home the next day, he is met with a horrifying sight—his whole family has been slaughtered. Worse still, the sole survivor is his sister Nezuko, who has been turned into a bloodthirsty demon. Consumed by rage and hatred, Tanjirou swears to avenge his family and stay by his only remaining sibling. Alongside the mysterious group calling themselves the Demon Slayer Corps, Tanjirou will do whatever it takes to slay the demons and protect the remnants of his beloved sister's humanity.
  9. VegaS™


    ../Srcs/Client/UserInterface/PythonPlayerInput.cpp Replace the whole function void CPythonPlayer::__SetAutoAttackTargetActorID(DWORD dwVID) with: void CPythonPlayer::__SetAutoAttackTargetActorID(DWORD dwVID) { #ifdef ENABLE_AUTO_ATTACK_RENEW CInstanceBase * pkInstVictim = NEW_FindActorPtr(dwVID); if (pkInstVictim && pkInstVictim->IsPC()) return; #endif m_dwAutoAttackTargetVID = dwVID; } ../Srcs/Client/UserInterface/Locale_Inc.h #define ENABLE_AUTO_ATTACK_RENEW
  10. VegaS™


    You've to use or make some changes on your qc core for enable defines in quests. Updated, check my previous reply again.
  11. VegaS™

    Since 2016 i did a topic with evidences that he's a reseller/scammer. Btw, he's banned since 2019 here, so this topic can be closed anyway.
  12. If somebody has 120.000$, don't worry, he doesn't stay at this forum with 50 members online and doing a metin2 private server, and I don't think that your files worth more than 1000$, they look very shit, sorry, but good luck with your sales. Btw, I think you're from another planet with these prices, not from Terra.
  13. VegaS™


    C++ version: Python version:
  14. VegaS™


    You could do it with a map. #include "cff.h" using TPetName = std::map<uint32_t, std::tuple<std::string, std::string>>; static const TPetName map_pet_names = { { 34003, {"Phoenix de Gheata", "#009DFF"} }, { 34004, {"Micul Azrael", "#732222"} }, { 34005, {"Porcusor", "#528508"} }, }; void CPetActor::SetName() { std::string& stPetName = m_pkOwner->GetName(); const auto& it = map_pet_names.find(m_dwVnum); if (it != map_pet_names.end()) stPetName.append(CFF::format(std::get<0>(it->second), std::get<1>(it->second))); m_pkChar->SetName(stPetName); } Also you could use my C++ library (there exists python too) for coloring a string, much easier. #include "cff.h" std::string text = CFF::format("Metin2", "green"); std::string text = CFF::format(std::to_string(8000), "banana"); std::string text = CFF::format(std::to_string(412.55), "red"); std::string text = CFF::format("Pending", "#113355"); std::string text = CFF::format("Item name:", "springgreen", CFF::FLAG_NEW_TAB) + CFF::format(pItemData->GetName(), "chocolate"); std::vector<string> text = CFF::multi_format({"a", "b", "c"}, "red"); // text[0], text[1], text[2]
  15. VegaS™


    Not tested, i'm not at home. What's new: You can use comment sections in locale_list, helps you to identify much faster the quests. Two methods of reading, if you enable QC_READ_FILE_FROM_LIST, all of the quests from locale_list will be compiled, if you enable QC_READ_ALL, all of the quests file from specific directory (folders/sub-folders) will be compiled. How-To-Use: python #! /usr/bin/env python # -*- coding: utf-8 -*- __author__ = "VegaS" __date__ = "2019-12-11" __version__ = "0.0.2" import os import subprocess os.chdir(os.path.dirname(os.path.realpath(__file__))) QC_READ_FILE_FROM_LIST = 0 QC_READ_ALL = 1 """ # QC_READ_FILE_FROM_LIST # Read the locale_list with all quest/lua files. """ # The file with all quest file names. QC_FILE_NAME = 'locale_list' """ # QC_READ_ALL # Find all of the quest/lua files from root directory """ # Directory path of searching quest file names QC_ROOT_PATH = '.' # File extensions to be search QC_EXTENSION_LIST = ('.lua', '.quest') """ # General configuration """ # Command of quest compiler QC_COMMAND_STRING = './qc {}' # Comment string QC_COMMENT_CHARACTER = '#' # Default state QC_READ_STATE = QC_READ_FILE_FROM_LIST def find_quest_files(type): """ Generate all of the file names by specific type. :param type: int :return: generator """ if type == QC_READ_FILE_FROM_LIST: with open(QC_FILE_NAME, 'r') as file: for fileName in file.readlines(): if fileName.strip(): yield fileName elif type == QC_READ_ALL: for root, dirs, files in os.walk(QC_ROOT_PATH): for fileName in files: if fileName.endswith(QC_EXTENSION_LIST): yield "{}/{}".format(root, fileName) def strip_quest_file_name(fileName): """ Strip file name, ignore the commented sections. :param fileName: string :return: string """ fileName = fileName.strip() if QC_COMMENT_CHARACTER in fileName: fileName = fileName.split(QC_COMMENT_CHARACTER)[0].strip() return fileName def main(): QC_LOG_DICT = {'ok': 0, 'error': 0} for fileName in find_quest_files(QC_READ_STATE): fileName = strip_quest_file_name(fileName) if fileName: hasCompiled =, shell=True) == 0 if not hasCompiled: print ("Failed: {}".format(fileName)) QC_LOG_DICT['ok' if hasCompiled else 'error'] += 1 print ('All quests are compiled, succeeded: {}, failed: {}.'.format(*QC_LOG_DICT.values())) if __name__ == "__main__": main()