Jump to content
metin2dev

VegaS™

Member
  • Content Count

    30
  • Joined

  • Last visited

  • Days Won

    8

VegaS™ last won the day on December 9

VegaS™ had the most liked content!

Community Reputation

78 Excellent

2 Followers

About VegaS™

Profile Information

  • Gender
    Male
  • Location
    Italy

Contact Methods

  • Website URL
    http://vegas-projects.com
  • Discord
    #6456
  • Skype
    sacadatt.amazon

Recent Profile Visitors

937 profile views
  1. M: https://i.gyazo.com/d84d73b41414acb3e4570fb9ae7fd049.mp4 F: https://i.gyazo.com/b3ae946b25c4b0f81c6d4dcd1a4b9e29.mp4 GitHub repository: https://github.com/Vegas007/Metin2-Extended-Alignment-System
  2. Wikipedia has a API included, you can play with it. http://wiki.metin2.co.uk/api.php MediaWiki docs: https://www.mediawiki.org/wiki/API:Properties#revisions_.2F_rv Some examples: https://stackoverflow.com/questions/7185288/how-to-get-wikipedia-content-using-wikipedias-api
  3. Someone wondered if I could do this script for him, i don't know the reason (maybe 4 find and extract some things), enjoy. Full repository: https://github.com/Vegas007/Metin2-Unknown-Tool
  4. VegaS™

    open Prevent Teleport While Fighting

    share/locale/germany/quest/quest_functions Src/game/src/questlua_pc.cpp How-To-Use:
  5. VegaS™

    open premiere to a single player OX

    Haven't tested. give_item_by_name(item_vnum, item_count, name) ______________________________________________________________________________ share/locale/germany/quest/quest_functions Src/game/src/questlua_oxevent.cpp Src/game/src/OXEvent.h Src/game/src/OXEvent.cpp
  6. VegaS™

    open Link fonction uiinventory.py -> game.py

    root/game.py # Search for: self.interface = interfaceModule.Interface() # Replace with: self.interface = interfaceModule.Interface(self) root/interfaceModule.py # Search for: def __init__(self): systemSetting.SetInterfaceHandler(self) # Replace with: def __init__(self, wndGame): self.wndGame = wndGame systemSetting.SetInterfaceHandler(self) root/uiInventory.py wndGame = self.interface.wndGame if wndGame: wndGame.StartAttack() # Function from game.py
  7. VegaS™

    c++ [RLS] Image Cool Time

    For this you need extra-shit work without sense in python to split strings, you can use a new CHAT_TYPE as i said in my first post. If you want for quest, then you have to do a new function like: (This is local function, just for you as player, if you want to send it for all players, let me know and i will post it) notice_mission('Kill all the monsters without dying.") notice_sub_mission("Kill all the monsters") Just in source: Src/game/game/src/questlua_global.cpp Src/game/common/length.h Src/Client/UserInterface/Packet.h Src/Client/UserInterface/PythonNetworkStreamPhaseGame.cpp @avertuss BTW, please stop to quote all of messages, looks very bad, you can use @tagname instead this. @Masakra This isn't a request topic for official functions, you can do it in this section Questions and Answers.
  8. VegaS™

    open Button from game.py

    You can do this extension very easy. root/game.py # Search for: self.interface = interfaceModule.Interface() # Replace with: self.interface = interfaceModule.Interface(self) root/interfaceModule.py # Search for: def __init__(self): systemSetting.SetInterfaceHandler(self) # Replace with: def __init__(self, wndGame): self.wndGame = wndGame systemSetting.SetInterfaceHandler(self) root/uiInventory.py # PrintButton self.printButton = self.GetChild2("PrintButton") if self.printButton: self.printButton.SetEvent(ui.__mem_func__(self.ClickPrintButton)) def ClickPrintButton(self): wndGame = self.interface.wndGame if wndGame: wndGame.BINARY_SetBigMessage('click_print_button') # Function from game.py
  9. VegaS™

    c++ [RLS] Image Cool Time

    You can do it in a simple way. root/interfaceModule.py root/game.py root/uiTip.py Now all what you need is to call them from server > client how you want. PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_SetMissionMessage", Py_BuildValue("(s)", "#MissionMessage")); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_SetSubMissionMessage", Py_BuildValue("(s)", "#SubMissionMessage")); PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "BINARY_CleanMissionMessage", Py_BuildValue("()")); You can do a new CHAT_TYPE_UNKNOWN_NAME or like a command, depends of how you want to use it. game/src/unknown_file.cpp UserInterface/PythonNetworkStreamCommand.cpp
  10. root/uiRefine.py root/constInfo.py Another idea: (you don't have to use this, is just a example, can add in tooltip where you can drop items which you need, you can add a listbox+scrollbar and send drops from server and cache it in dictionary.)
  11. You can try it like this. BOOL CActorInstance::TestActorCollision(CActorInstance & rVictim) { [........................] const std::string c_rstrAtlasMapNames[] = { "metin2_map_a1", "metin2_map_a3", "metin2_map_b1", "metin2_map_b3", "metin2_map_c1", "metin2_map_c3", "season2/metin2_map_skipia_dungeon_01", "season2/metin2_map_skipia_dungeon_02", "metin2_map_duel" }; const std::string & c_rstrMapName = CPythonBackground::Instance().GetWarpMapName(); for (size_t i = 0; i < _countof(c_rstrAtlasMapNames); ++i) { if (!c_rstrMapName.compare(c_rstrAtlasMapNames[i])) { if (rVictim.IsPC()) // IsNPC(), IsEnemy(), IsStone(), IsWarp(), IsGoto(), IsBuilding(), IsDoor(), IsObject() return false; } } }
  12. VegaS™

    solved Close private shop after it's sold out

    Srcs\Server\game\src\shop.cpp //Search for: ch->Save(); //Add after: #ifdef ENABLE_SHOP_AUTO_CLOSE if (IsPCShop()) { BYTE bShopItemCount = 0; for (DWORD i = 0; i < m_itemVector.size() && i < SHOP_HOST_ITEM_MAX_NUM; ++i) { if (m_itemVector[i].pkItem) ++bShopItemCount; } if (bShopItemCount == 0) // Last item { m_pkPC->CloseMyShop(); m_pkPC->ChatPacket(CHAT_TYPE_NOTICE, "Your store was closed automatically, reason: sold out."); } } #endif Srcs\Server\common\service.h #define ENABLE_SHOP_AUTO_CLOSE
  13. VegaS™

    [GF-Servers] Channel ID Reminder

    If I'm not mistaken, that's how it should work. LUA -- gameforge.channel_reminder = {} -- gameforge.channel_reminder._010_syschat = "You're connected to channel %d." quest channel_reminder begin state start begin when login begin local channelID = pc.get_channel_id() syschat(string.format(gameforge.channel_reminder._010_syschat, (channelID == 99 and 0 or channelID))) end end end Source // "CHANNEL_REMINDER_SYSCHAT"; // "You're connected to channel %d."; ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("CHANNEL_REMINDER_SYSCHAT"), g_bChannel == 99 ? 0 : g_bChannel);
  14. VegaS™

    open New Function mob.get_name

    For quest already exist a option. say(string.format("[ITEM value;%d]", 189)) -- c_item_name(vnum) say(string.format("[MOB value;%d]", 20091)) -- c_mob_name(vnum) EVENT_TYPE_ITEM_NAME EVENT_TYPE_MONSTER_NAME
×