BadGrecee
Inactive Member-
Posts
24 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Forums
Store
Third Party - Providers Directory
Feature Plan
Release Notes
Docs
Events
Everything posted by BadGrecee
-
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
Submit the files you will add in ClientSource from here. I'll add it for you. -
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
stdafx.h open and search #ifndef __GAME_SRC_STDAFX_H__ #define __GAME_SRC_STDAFX_H__ ADD: #include <cstring> #include <iostream> -
official Chatting Window Renewal (Mini Version)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
-
I just made a zodiac temple and the Boss killed me and I reanimated the character and the game redirected me to the login screen. I looked at ch99 and found a game.core. I keep getting this game.core content. For example, I cut a text stone on a mount and kill the character with /kill and revive the character again, the game redirects me to the login screen. Looking in the ch1 folder, there is game.core. How can I get rid of this game.core. Thank you all in advance guys.
-
Wear (use) item only on specific map
BadGrecee replied to Jimmermania's topic in Community Support - Questions & Answers
If the inventory is full, it will not remove the item anyway. I know like this. Does your game take out the item if the inventory is full? I'm sorry for my bad english. -
Wear (use) item only on specific map
BadGrecee replied to Jimmermania's topic in Community Support - Questions & Answers
Ah soryy LPITEM if (ch->GetMapIndex() != 41) { LPITEM onlyMapItem = ch->GetVnum() == ITEM CODE; ////ITEM_CODE you item code if (onlyMapItem) ch->UnequipItem(onlyMapItem); } Add them to the line I call input_login.cpp. Delete my old codes. NOTE : LPITEM onlyMapItem = ch->GetVnum() == ITEM CODE; //ITEM_CODE you item code -
constants.cpp open and search and replace const DWORD exp_table_common[PLAYER_MAX_LEVEL_CONST + 1] = { 0, // 0 300, 800, 1500, 2500, 4300, 7200, 11000, 17000, 24000, 33000, // 10 43000, 58000, 76000, 100000, 130000, 169000, 219000, 283000, 365000, 472000, // 20 610000, 705000, 813000, 937000, 1077000, 1237000, 1418000, 1624000, 1857000, 2122000, // 30 2421000, 2761000, 3145000, 3580000, 4073000, 4632000, 5194000, 5717000, 6264000, 6837000, // 40 7600000, 8274000, 8990000, 9753000, 10560000, 11410000, 12320000, 13270000, 14280000, 15340000, // 50 16870000, 18960000, 19980000, 21420000, 22930000, 24530000, 26200000, 27960000, 29800000, 32780000, // 60 36060000, 39670000, 43640000, 48000000, 52800000, 58080000, 63890000, 70280000, 77310000, 85040000, // 70 93540000, 102900000, 113200000, 124500000, 137000000, 150700000, 165700000, 236990000, 260650000, 286780000, // 80 315380000, 346970000, 381680000, 419770000, 461760000, 508040000, 558740000, 614640000, 676130000, 743730000, // 90 1041222000, 1145344200, 1259878620, 1385866482, 1524453130, 1676898443, 1844588288, 2029047116, 2050000000, 2150000000u, // 100 2210000000u, 2250000000u, 2280000000u, 2310000000u, 2330000000u, // 105 2350000000u, 2370000000u, 2390000000u, 2400000000u, 2410000000u, // 110 2420000000u, 2430000000u, 2440000000u, 2450000000u, 2460000000u, // 115 2470000000u, 2480000000u, 2490000000u, 2490000000u, 2500000000u, // 120 // extra 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 130 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 140 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 150 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 160 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 170 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 180 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 190 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 200 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 210 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 220 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 230 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 240 2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u,2500000000u, // 250 }; also int gPlayerMaxLevel = 120; delete. Because it exists in your files. and char.cpp open and search and delete: if (gPlayerMaxLevel <= GetLevel()) return; and paste: if (gPlayerMaxLevel == GetLevel() && (next_exp / 4) <= exp) return;
-
Wear (use) item only on specific map
BadGrecee replied to Jimmermania's topic in Community Support - Questions & Answers
input_login.cpp open and search (Inside the Entergame function) Search: // Adding a character to the map ch->Show(ch->GetMapIndex(), pos.x, pos.y, pos.z); SECTREE_MANAGER::instance().SendNPCPosition(ch); ch->ReviveInvisible(REVIVEINVISIBLE_TIME); d->SetPhase(PHASE_GAME); Add after: if (ch->GetMapIndex() != 41) ch->UnequipItem(71018); -
The problem is not in game.py. Also in InterFaceModule.py. game.py sends a function to InterfaceModule There is HighlightSlot inside this function. Syserr tells you Answer: What does HighlightSlot do? You used this here. But I don't understand why he says you used it. Please explain to InterFaceModule.py what HighlightSlot does.
-
Wear (use) item only on specific map
BadGrecee replied to Jimmermania's topic in Community Support - Questions & Answers
char_item.cpp open and search: if (CArenaManager::instance().IsLimitedItem(GetMapIndex(), item->GetVnum()) == true) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("´ë·Ã Áß¿¡´Â ÀÌ¿ëÇÒ ¼ö ¾ø´Â ¹°Ç°ÀÔ´Ï´Ù.")); return false; } before add: if (item->GetVnum() == 71018 && GetMapIndex() != 41) { ChatPacket(CHAT_TYPE_INFO, LC_TEXT("Only Arena Map")); return false; } 71018 item code 41 map codes edit it yourself. -
Server compilation error
BadGrecee replied to raNNNNNk's topic in Community Support - Questions & Answers
input_main.cpp:3480:67: error: 'uiBytes' was not declared in this scope uiBytes The function you added is using uiBytes. But what is uiBytes doing there? Check the file you got the system. Where is uiBytes used for what? error: qualified-id in declaration before '(' token "(" this is a symbolic error. I think you forgot to close a condition. -
char.cpp open and search: if (exp + amount >= next_exp) { iExpBalance = (exp + amount) - next_exp; amount = next_exp - exp; SetExp(0); exp = next_exp; } else { SetExp(exp + amount); exp = GetExp(); } add before if (gPlayerMaxLevel == GetLevel()) { if ((amount + exp) > (next_exp / 4)) amount = ((next_exp / 4) - exp); } Fills only one cube (50%) in this addon. If there is no gPlayerMaxLevel in your files, enter the maximum level number. Example: gPlayerMaxLevel change to 120 or int gPlayerMaxLevel = 120; if (gPlayerMaxLevel == GetLevel()) { if ((amount + exp) > (next_exp / 4)) amount = ((next_exp / 4) - exp); }
-
What is the difference between what I added and what you changed? I sincerely apologize. I'm not saying that as a bad person. Same as the one I added. or i have a problem with my eyes Not: The same error continues. item.h:333:9: error: 'bool CItem::OnAfterCreatedItem()' cannot be overloaded wit h 'bool CItem::OnAfterCreatedItem()' bool OnAfterCreatedItem(); ^~~~~~~~~~~~~~~~~~ item.h:330:9: note: previous declaration 'bool CItem::OnAfterCreatedItem()' bool OnAfterCreatedItem(); ^~~~~~~~~~~~~~~~~~ gmake: *** [Makefile:198: .obj/char_item.o] Error 1
-
protected: friend class CInputDB; bool OnAfterCreatedItem(); //FIX REAL TIME FIRST USE m2dev>1 friend class CHARACTER; bool OnAfterCreatedItem(); //FIX REAL TIME FIRST USE m2dev>1 It throws an error while compiling. It has been stated here before. 330 Line : friend class CInputDB; bool OnAfterCreatedItem(); 334 Line: friend class CHARACTER; bool OnAfterCreatedItem(); 2 different classes, but it gives an error because it is used 2 times.
-
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
Hi bro I will help you. Open the ui.py file and class Gauge(Window): search for this class then replace with the class I gave. Note: If there are systems you have added before, edit them according to you. See: if app.ENABLE_SHIP_DEFENSE: class Gauge(Window): SLOT_WIDTH = 16 SLOT_HEIGHT = 7 GAUGE_TEMPORARY_PLACE = 12 GAUGE_WIDTH = 16 def __init__(self): Window.__init__(self) self.width = 0 if app.ENABLE_SHIP_DEFENSE: self.ShowToolTipEvent = None self.ShowToolTipArg = None self.HideToolTipEvent = None self.HideToolTipArg = None self.ToolTipText = None def __del__(self): Window.__del__(self) if app.ENABLE_SHIP_DEFENSE: self.ShowToolTipEvent = None self.ShowToolTipArg = None self.HideToolTipEvent = None self.HideToolTipArg = None def MakeGauge(self, width, color): self.width = max(48, width) imgSlotLeft = ImageBox() imgSlotLeft.SetParent(self) imgSlotLeft.LoadImage("d:/ymir work/ui/pattern/gauge_slot_left.tga") imgSlotLeft.Show() imgSlotRight = ImageBox() imgSlotRight.SetParent(self) imgSlotRight.LoadImage("d:/ymir work/ui/pattern/gauge_slot_right.tga") imgSlotRight.Show() imgSlotRight.SetPosition(width - self.SLOT_WIDTH, 0) imgSlotCenter = ExpandedImageBox() imgSlotCenter.SetParent(self) imgSlotCenter.LoadImage("d:/ymir work/ui/pattern/gauge_slot_center.tga") imgSlotCenter.Show() imgSlotCenter.SetRenderingRect(0.0, 0.0, float((width - self.SLOT_WIDTH*2) - self.SLOT_WIDTH) / self.SLOT_WIDTH, 0.0) imgSlotCenter.SetPosition(self.SLOT_WIDTH, 0) imgGauge = ExpandedImageBox() imgGauge.SetParent(self) imgGauge.LoadImage("d:/ymir work/ui/pattern/gauge_" + color + ".tga") imgGauge.Show() imgGauge.SetRenderingRect(0.0, 0.0, 0.0, 0.0) imgGauge.SetPosition(self.GAUGE_TEMPORARY_PLACE, 0) imgSlotLeft.AddFlag("attach") imgSlotCenter.AddFlag("attach") imgSlotRight.AddFlag("attach") self.imgLeft = imgSlotLeft self.imgCenter = imgSlotCenter self.imgRight = imgSlotRight self.imgGauge = imgGauge self.SetSize(width, self.SLOT_HEIGHT) def SetPercentage(self, curValue, maxValue): if maxValue > 0.0: percentage = min(1.0, float(curValue)/float(maxValue)) else: percentage = 0.0 gaugeSize = -1.0 + float(self.width - self.GAUGE_TEMPORARY_PLACE*2) * percentage / self.GAUGE_WIDTH self.imgGauge.SetRenderingRect(0.0, 0.0, gaugeSize, 0.0) if app.ENABLE_SHIP_DEFENSE: def SetShowToolTipEvent(self, func, *args): self.ShowToolTipEvent = func self.ShowToolTipArg = args def SetHideToolTipEvent(self, func, *args): self.HideToolTipEvent = func self.HideToolTipArg = args def ShowToolTip(self): if self.ToolTipText: self.ToolTipText.Show() def HideToolTip(self): if self.ToolTipText: self.ToolTipText.Hide() def SetToolTipText(self, text, x=0, y = -19): self.SetFormToolTipText("TEXT", text, x, y) def SetFormToolTipText(self, type, text, x, y): if not self.ToolTipText: toolTip=createToolTipWindowDict[type]() toolTip.SetParent(self) toolTip.SetSize(0, 0) toolTip.SetHorizontalAlignCenter() toolTip.SetOutline() toolTip.Hide() toolTip.SetPosition(x + self.GetWidth()/2, y) self.ToolTipText=toolTip self.ToolTipText.SetText(text) -
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
wait_time_to_str(pc.getqf("cooldown")))) wait_time_to_str this function does not exist. -
game.core (ClearAffect)
BadGrecee replied to BadGrecee's topic in Community Support - Questions & Answers
273 line char_affect.cpp it = m_list_pkAffect.erase(it); Thanks for your interest bro. -
Hello everyone I died in the spider dungeon and said start in the city and there was a core crash. Here are a few pictures. Core Picture: Affect.cpp 25 line -> affect_pool.free(p) void CAffect::Release(CAffect* p) { #ifndef DEBUG_ALLOC affect_pool.free(p); ------------- 25 line #else M2_DELETE(p); #endif } char_affect.cpp 274 line CAffect::Release(pkAff); char.cpp 1049 line ClearAffect();
-
official [Gameforge official]Minigame Duel of the seers
BadGrecee replied to Tekanse's topic in Features & Metin2 Systems
not official. Because there is no market and ranking system. -
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
<RET> btfull ? -
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
The kernel doesn't always crash. It could also be from the server. Because I tested the dungeon several times and there was no core crash. I tested again and this time it was a kernel crash. -
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
I tried the dungeon 2 3 times and there were no kernel crashes. I just tried the dungeon again and when the pole was smashed there was a kernel crash. Also, it cannot find the gate ticket object in the inventory, which is required when starting the defense. define TICKET_GROUP 71162 (item_names.txt contains this item) Problem : local ticketGroup = { get_special_item_group(TICKET_GROUP) } not working. ch99 Syserr _get_special_item_group: cannot find special item group 71162 Edit : I searched questlua_globa.cpp and the item should be in special_item_group. Group ship_defense_ticket_group { vnum 10033 1 71162 1 1 } -
official Ship Defense (Hydra Dungeon)
BadGrecee replied to Owsap's topic in Features & Metin2 Systems
When I enter the game, the health indicator appears. When you enter the dungeon, there are 2 health indicators. How can I fix this. _get_special_item_group I don't have this. -
ahahahaha bad system. Dungeon Dont Work. for work if (lMapIndex > 10000) lMapIndex /= 10000;