Teleport Scroll Image

  • Konbuyu başlatan Konbuyu başlatan Admin
  • Başlangıç tarihi Başlangıç tarihi
  • Cevaplar Cevaplar 0
  • Görüntüleme Görüntüleme 129

Admin

Metin2Lobby
Yönetici
Founder
Katılım
6 Mayıs 2022
Mesajlar
52,647
Ticaret : 1 / 0 / 0
Teleport Scroll Image

Proof;

0711_183101.jpg


Kod:
search: if itemVnum in WARP_SCROLLS: change block:             if itemVnum in WARP_SCROLLS:                 if 0 != metinSlot:                     xPos = int(metinSlot[0])                     yPos = int(metinSlot[1])                     if xPos != 0 and yPos != 0:                         (mapName, xBase, yBase) = background.GlobalPositionToMapInfo(xPos, yPos)                                                 localeMapName=localeInfo.MINIMAP_ZONE_NAME_DICT.get(mapName, "")                         self.AppendSpace(5)                         if localeMapName!="":                             self.AppendTextLine(localeInfo.TOOLTIP_MEMORIZED_POSITION % (localeMapName, int(xPos-xBase)/100, int(yPos-yBase)/100), self.NORMAL_COLOR)                             self.AppendMapImage(mapName, int(xPos-xBase)/100, int(yPos-yBase)/100)                         else:                             self.AppendTextLine(localeInfo.TOOLTIP_MEMORIZED_POSITION_ERROR % (int(xPos)/100, int(yPos)/100), self.NORMAL_COLOR)                             dbg.TraceError("NOT_EXIST_IN_MINIMAP_ZONE_NAME_DICT: %s" % mapName)                             search: def __DragonSoulInfoString (self, dwVnum): add under:     def AppendMapImage(self, mapName, xPos, yPos):         mapImage = ui.ImageBox()         mapImage.SetParent(self)         mapImage.Show()             try:             mapImage.LoadImage("d:/ymir work/ui/atlas/%s/atlas.sub" % (mapName))         except:             dbg.LogBox("Harita resmi yüklenemedi: %s" % mapName)             return             mapImage.SetPosition(0, self.toolTipHeight)         mapImage.SetWindowHorizontalAlignCenter()                 mapSizeDict = {             "map_a2": [6, 6],             "map_b2": [6, 6],             "map_c2": [6, 6],             "map_n_snowm_01": [6, 6],             "metin2_map_a1": [4, 5],             "metin2_map_a3": [4, 4],             "metin2_map_b1": [4, 5],             "metin2_map_b3": [4, 4],             "metin2_map_c1": [4, 5],             "metin2_map_c3": [4, 4],             "metin2_map_deviltower1": [3, 3],             "metin2_map_milgyo": [4, 4],             "metin2_map_n_desert_01": [6, 6],             "metin2_map_n_flame_01": [6, 6],             "metin2_map_spiderdungeon": [3, 3],             "metin2_map_spiderdungeon_02": [4, 4],             "metin2_map_t1": [3, 3],             "metin2_map_t2": [1, 1],             "metin2_map_t3": [1, 1],             "metin2_map_t4": [1, 1],             "metin2_map_t5": [1, 1],             "metin2_map_monkeydungeon": [3, 3],             "metin2_map_monkeydungeon_02": [3, 3],             "metin2_map_monkeydungeon_03": [3, 3],             "metin2_map_wedding_01": [1, 1],             "metin2_map_guild_01": [2, 2],             "metin2_map_guild_02": [2, 2],             "metin2_map_guild_03": [2, 2],             "metin2_map_trent": [2, 2],             "metin2_map_trent02": [4, 4],             "gm_guild_build": [1, 1],             "metin2_map_duel": [1, 1],             "season1/metin2_map_WL_01": [6, 6],             "season1/metin2_map_nusluck01": [4, 4],             "season1/metin2_map_oxevent": [2, 2],             "season1/metin2_map_sungzi": [2, 2],             "metin2_map_bf": [2, 2],             "metin2_map_bf_02": [2, 2],             "metin2_map_bf_03": [2, 2],             "metin2_map_sungzi_flame_pass01": [4, 4],             "metin2_map_sungzi_flame_pass02": [4, 4],             "metin2_map_sungzi_flame_pass03": [4, 4],             "season1/metin2_map_sungzi_flame_hill_01": [2, 4],             "season1/metin2_map_sungzi_flame_hill_02": [2, 4],             "season1/metin2_map_sungzi_flame_hill_03": [2, 4],             "season1/metin2_map_sungzi_snow": [3, 3],             "season1/metin2_map_sungzi_snow_pass01": [2, 4],             "season1/metin2_map_sungzi_snow_pass02": [2, 4],             "season1/metin2_map_sungzi_snow_pass03": [2, 4],             "season1/metin2_map_sungzi_desert_01": [4, 4],             "season1/metin2_map_sungzi_desert_hill_01": [2, 4],             "season1/metin2_map_sungzi_desert_hill_02": [2, 4],             "season1/metin2_map_sungzi_desert_hill_03": [2, 4],             "season1/metin2_map_sungzi_milgyo": [3, 3],             "season1/metin2_map_sungzi": [3, 3],             "season1/metin2_map_sungzi_snow": [3, 3],             "season1/metin2_map_sungzi_desert_01": [3, 3],             "season1/metin2_map_sungzi_milgyo_pass01": [2, 4],             "season1/metin2_map_sungzi_milgyo_pass02": [2, 4],             "season1/metin2_map_sungzi_milgyo_pass03": [2, 4],             "season1/metin2_map_sungzi_flame_hill_01": [2, 4],             "season1/metin2_map_sungzi_flame_hill_02": [2, 4],             "season1/metin2_map_sungzi_flame_hill_03": [2, 4],             "season1/metin2_map_sungzi_snow_pass01": [2, 4],             "season1/metin2_map_sungzi_snow_pass02": [2, 4],             "season1/metin2_map_sungzi_snow_pass03": [2, 4],             "season1/metin2_map_sungzi_desert_hill_01": [2, 4],             "season1/metin2_map_sungzi_desert_hill_02": [2, 4],             "season1/metin2_map_sungzi_desert_hill_03": [2, 4],             "season1/metin2_map_ew02": [4, 4],             "season2/metin2_map_empirewar01": [2, 2],             "season2/metin2_map_empirewar02": [2, 2],             "season2/metin2_map_empirewar03": [2, 2],             "season2/map_n_snowm_02": [6, 6],             "season2/metin2_map_milgyo_a": [4, 4],             "season2/metin2_map_n_desert_02": [6, 6],             "season2/metin2_map_n_flame_02": [6, 6],             "season2/metin2_map_a2_1": [6, 6],             "season2/metin2_map_trent_a": [2, 2],             "season2/metin2_map_trent02_a": [3, 3],             "season2/metin2_map_skipia_dungeon_01": [6, 6],             "season2/metin2_map_skipia_dungeon_02": [6, 6],             "season2/metin2_map_empirewar01": [2, 2],             "season2/metin2_map_empirewar02": [2, 2],             "season2/metin2_map_empirewar03": [2, 2],             "season1/metin2_map_spiderdungeon_02": [4, 4],             "season1/metin2_map_oxevent": [2, 2],             "season2/metin2_map_skipia_dungeon_boss": [2, 2],             "metin2_map_devilsCatacomb": [8, 8],             "metin2_map_spiderdungeon_03": [3, 3],             "metin2_guild_village_01": [2, 2],             "metin2_guild_village_02": [2, 2],             "metin2_guild_village_03": [2, 2],             "Metin2_map_CapeDragonHead": [6, 6],             "metin2_map_Mt_Thunder": [4, 6],             "metin2_map_dawnmistwood": [7, 4],             "metin2_map_BayBlackSand": [3, 6],             "metin2_map_n_flame_dungeon_01": [3, 3],             "metin2_map_n_snow_dungeon_01": [4, 3],             "metin2_map_e1": [2, 2],             "metin2_map_Mt_Th_dungeon_01": [3, 3],             "metin2_map_dawnmist_dungeon_01": [3, 4],             "metin2_map_n_flame_dragon": [1, 1],             "metin2_map_battlefied": [2, 2],             "metin2_map_defensewave": [3, 3],             "metin2_map_defensewave_port": [3, 3],             "metin2_12zi_stage": [6, 6],             "metin2_map_mushroom_dungeon": [4, 4],             "metin2_map_orclabyrinth": [3, 6],             "crystal_dungeon": [4, 4],             "metin2_map_labyrinth": [1, 1],             "metin2_map_n_flame_dungeon_02": [3, 3],             "metin2_map_n_snow_dungeon_02": [4, 3],             "metin2_map_smhdungeon_01": [1, 1],             "metin2_map_smhdungeon_02": [2, 2],             "metin2_guild_pve": [2, 2],             "metin2_map_privateshop": [2, 2],             "metin2_map_kingdoomswar": [2, 2],             "metin2_map_empirecastle": [2, 2],             "metin2_map_eastplain_01": [4, 5],             "metin2_map_eastplain_02": [3, 6],             "metin2_map_eastplain_03": [4, 2],             "metin2_map_maze_dungeon1": [3, 3],             "metin2_map_maze_dungeon2": [3, 3],             "metin2_map_maze_dungeon3": [3, 3],             "metin2_map_snakevalley": [6, 3],             "metin2_map_snake_temple_01": [3, 3],             "metin2_map_snake_temple_02": [3, 3],             "metin2_map_elemental_01": [5, 5],             "metin2_map_elemental_02": [5, 5],             "metin2_map_elemental_03": [5, 5],             "metin2_map_elemental_04": [1, 2],             "metin2_map_anglar_dungeon_01": [6, 6],             "metin2_map_icecrystalcave": [5, 4],             "metin2_map_whitdragonvalley": [3, 3],             "metin2_map_whitedragoncave_01": [6, 6],             "metin2_map_whitedragoncave_02": [3, 3],             "metin2_map_whitedragoncave_boss": [2, 2],         }                 if mapName in mapSizeDict:             pointImageX = (xPos / float(mapSizeDict[mapName][0] * (128 * 200)) * float(mapImage.GetWidth())) * 100 - 15.0             pointImageY = (yPos / float(mapSizeDict[mapName][1] * (128 * 200)) * float(mapImage.GetHeight())) * 100 - 15.0                         pointImage = ui.AniImageBox()             pointImage.SetParent(mapImage)             pointImage.SetDelay(6)             for i in xrange(1, 15):                 pointImage.AppendImage("d:/ymir work/ui/minimap/waypoint%02d.sub" % i)             pointImage.SetPosition(pointImageX, pointImageY)             pointImage.Show()                 self.toolTipHeight += mapImage.GetHeight()         self.childrenList.append(mapImage)         if mapName in mapSizeDict:             self.childrenList.append(pointImage)         self.ResizeToolTipAppenImage()     def ResizeToolTipAppenImage(self):         max_width = 0         for child in self.childrenList:             w = child.GetWidth()             if w > max_width:                 max_width = w             new_width = max(200, max_width + 20)                 self.toolTipWidth = new_width         self.SetSize(new_width, self.TOOL_TIP_HEIGHT + self.toolTipHeight)

Metin2 Lobby'da Teleport Scroll Image Kullanımı


Metin2 özel sunucularında oyun deneyimini zenginleştirmek için geliştiriciler birçok görsel ve sistemsel değişiklik yapabilir. Bunlardan biri de Teleport Scroll Image olarak bilinen, karakterin belirli bir konuma anında ışınlanmasını sağlayan büyülü parşömenin görsel tasarımını özelleştirmektir. Bu sistem özellikle Metin2 PvP sunucularında stratejik önem taşır ve oyuncu etkileşimini artırır.

Teleport Scroll Nedir?
Teleport Scroll, Metin2 oyununda karakterin bir haritadan diğerine geçmesini veya belirli bir bölgeye hızlıca ulaşmasını sağlayan özel bir eşyadır. Oyuncular tarafından sıklıkla kullanılır çünkü zaman kazandırır ve savaşlarda avantaj sağlar. Bu eşya genellikle NPC’lerden satın alınabilir veya görevlerden ödüllerle elde edilebilir.

Görsel Tasarımın Önemi
Metin2 özel sunucularında, görsel farklılaşmalar sunucu kimliği oluşturmak açısından kritiktir. Teleport Scroll Image dosyasının değiştirilmesi, bu görsel farkı yaratmak için kullanılır. Bu işlem, client tarafında yapılan bir değişikliktir ve oyuncuların dikkatini çekecek şekilde özelleştirilebilir. Örneğin, kırmızı bir ışınlanma parşömeni, savaş alanı teleportasyonu için kullanılabilirken, mavi tonlarda olanları da güvenli bölgelere özel olabilir.

Teleport Scroll Image Değiştirme Adımları
Öncelikle, Metin2 client dosyalarına erişim gerekir. Bu işlem genellikle .gr2 formatındaki paket dosyalarının açılmasıyla sağlanır. Paket açma araçları arasında Martysama Pack Extractor gibi yazılımlar tercih edilir. Teleport scroll görseli genellikle UI/Images/ klasöründe bulunur. Bu görsel, .tga uzantılıdır ve doğrudan değiştirilebilir. Yeni tasarlanan görselin çözünürlüğü, orijinalle uyumlu olmalıdır. Aksi takdirde, clientte bozulmalar meydana gelebilir.

Olası Sorunlar ve Çözümler
Yanlış dosya adı veya uzantısı kullanıldığında, karakterin envanterinde teleport scroll görünmeyebilir veya sistem çalışmaz. Bu durumda, client logları kontrol edilmelidir. Aynı zamanda, sunucu tarafında eşyanın doğru tanımlandığından emin olunmalıdır. DB Core veya Game Server üzerindeki item_proto tablosunda, teleport scroll ID’si doğru şekilde tanımlanmalıdır. Eğer bu yapılandırılmazsa, client ve server senkronizasyonunda sorun yaşanabilir.

Python ve C++ Entegrasyonu
Metin2 geliştirme ortamında, bazı gelişmiş teleport sistemleri Python GUI veya Uiscript yardımıyla oluşturulabilir. Oyuncuya özel menüler sayesinde, belirli scroll tipleriyle farklı menü seçenekleri sunulabilir. Bu sistemler, Py Root klasöründeki dosyalarla entegre çalışır. C++ tarafında, teleport komutları kernel seviyesinde tanımlanarak daha performanslı bir sistem oluşturulabilir. Bu tür gelişmiş sistemler, PvP oyun mantığı için idealdir.

Sonuç
Teleport Scroll Image özelleştirmesi, Metin2 özel sunucularında kullanıcı deneyimini artırmak için küçük ama etkili bir değişikliktir. Doğru yapılandırıldığında, hem görsel açıdan hem de sistemsel olarak oyuncuların dikkatini çekecek bir özellik haline gelir. Metin2 Lobby olarak, bu gibi özelleştirme yöntemlerini detaylıca incelemeye devam edeceğiz.


Using Teleport Scroll Image on Metin2 Lobby


In Metin2 private servers, developers can make many visual and systematic changes to enrich the gaming experience. One of these is the Teleport Scroll Image, which refers to customizing the visual design of the magical scroll that allows characters to instantly teleport to specific locations. This system is particularly strategic in Metin2 PvP servers and increases player interaction.

What is Teleport Scroll?
Teleport Scroll is a special item in the Metin2 game that allows the character to move from one map to another or quickly reach a certain area. It is frequently used by players because it saves time and provides advantages during battles. This item can usually be purchased from NPCs or obtained as rewards from quests.

Importance of Visual Design
In Metin2 private servers, visual differences are critical for establishing server identity. Changing the Teleport Scroll Image file is used to create this visual difference. This process is a modification made on the client side and can be customized to attract players' attention. For example, a red teleport scroll might be used for battle field teleportation, while blue-toned ones could be reserved for safe zones.

Steps to Change Teleport Scroll Image
Firstly, access to Metin2 client files is required. This is typically done by opening .gr2 format package files. Tools like Martysama Pack Extractor are commonly used for unpacking. The teleport scroll image is usually located in the UI/Images/ folder. This image has a .tga extension and can be directly replaced. The resolution of the newly designed image should be compatible with the original; otherwise, distortions may occur in the client.

Potential Issues and Solutions
If the wrong file name or extension is used, the teleport scroll may not appear in the character's inventory or the system might not function. In such cases, client logs must be checked. Additionally, ensure that the item is correctly defined on the server side. In the item_proto table within DB Core or Game Server, the teleport scroll ID must be properly defined. Otherwise, synchronization issues between client and server may arise.

Python and C++ Integration
Within the Metin2 development environment, advanced teleport systems can be created using Python GUI or Uiscript. Specialized menus allow different scroll types to trigger various menu options. These systems operate integrated with files in the Py Root directory. On the C++ side, teleport commands can be defined at the kernel level to create more efficient systems. Such advanced systems are ideal for PvP gameplay mechanics.

Conclusion
Customizing the Teleport Scroll Image is a small but effective change that enhances user experience in Metin2 private servers. When configured correctly, it becomes a feature that attracts attention both visually and systemically. As Metin2 Lobby, we will continue examining such customization methods in detail.
 

Şuan Bu Konuyu Görüntüleyen Kullanıcılar (Toplam : 0, Üye : 0, Misafir : 0)

Benzer konular

Geri
Üst Alt