Jump to content

Full Costume Mount System


Recommended Posts

  • 2 weeks later...
  • 3 weeks later...

;( bug :S 

 

https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif

 

71125    0    ÈæÀú½ÅÀÌ¿ë±Ç    Sello Jabali de Combate    28    2    0    1    33024    9216    128        0    0    0    0    0    0    1    20    0    0    0    0    0    0    0    0    28800    0    0    0    0    0    -1    -1    -1    -1    -1    -1    0    0    0

 

 

 

Edited by Metin2 Dev
Core X - External 2 Internal
Link to comment
Share on other sites

  • Premium
2 hours ago, stein20 said:

;( bug :S 

 

https://metin2.download/picture/r3F9504x09DVmF8K988YXgTtGTP6KMUj/.gif

 

71125    0    ÈæÀú½ÅÀÌ¿ë±Ç    Sello Jabali de Combate    28    2    0    1    33024    9216    128        0    0    0    0    0    0    1    20    0    0    0    0    0    0    0    0    28800    0    0    0    0    0    -1    -1    -1    -1    -1    -1    0    0    0

 

 

 

Your problem is expiration...if you create a item with /i 71125 it have value3 void so...0 second left...delete in quest the check for expiration or add a value in value3 of item for add time remain

Edited by Metin2 Dev
Core X - External 2 Internal
  • Love 1
Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...
  • Premium

About slot...you need to change uicostume.py in root

About mounts...if you create item mount, it have always 0 time remain so...when you use this item, the quest for mounts, control the time and if is 0, it unmount you. If you want try...make s simple quest that, via NPC, give you items...in this case time is set to same quantity that you find in limitvalue in db (or txt).

Link to comment
Share on other sites

Uicostume ...? doesnt exist...

You mean costumewindow, or?
oo_O but costume system works fine.

 

The time ... äääh ? okay? xD

 

fixxed i change something in Costumewindow. I didnt usw acce.. soo..

 

my Costumewindow now:

 

      
                            "name" : "CostumeSlot",
                            "type" : "slot",
                            "x" : 3,
                            "y" : 3,
                            "width" : 127,
                            "height" : 145,
                            "slot" : (
                                        {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                        {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                        {"index":COSTUME_START_INDEX+3, "x":61, "y":125, "width":32, "height":32},
                                        {"index":COSTUME_START_INDEX+2, "x":10, "y":125, "width":32, "height":32},

 

maybe i think ididnt something wrong in source

Link to comment
Share on other sites

Have someone a better solution for this ?

 


                            "name" : "CostumeSlot",
                            "type" : "slot",
                            "x" : 3,
                            "y" : 3,
                            "width" : 127,
                            "height" : 145,
                            "slot" : (
                                        {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                        {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                        {"index":COSTUME_START_INDEX+3, "x":61, "y":125, "width":32, "height":32},
                                        {"index":COSTUME_START_INDEX+2, "x":10, "y":125, "width":32, "height":32},

 

  looks bad. <.<

Link to comment
Share on other sites

  • 4 months later...
  • 1 month later...
On 18.09.2016 at 8:15 PM, Xerneas said:

Have someone a better solution for this ?

 


                            "name" : "CostumeSlot",
                            "type" : "slot",
                            "x" : 3,
                            "y" : 3,
                            "width" : 127,
                            "height" : 145,
                            "slot" : (
                                        {"index":COSTUME_START_INDEX+0, "x":61, "y":45, "width":32, "height":64},
                                        {"index":COSTUME_START_INDEX+1, "x":61, "y": 8, "width":32, "height":32},
                                        {"index":COSTUME_START_INDEX+3, "x":61, "y":125, "width":32, "height":32},
                                        {"index":COSTUME_START_INDEX+2, "x":10, "y":125, "width":32, "height":32},

 

  looks bad. <.<

 

 

 

try this (if u dont have costume weapon etc)

import uiScriptLocale
import item

COSTUME_START_INDEX = item.COSTUME_SLOT_START

	window = {
		"name" : "CostumeWindow",

		"x" : SCREEN_WIDTH - 175 - 140,
		"y" : SCREEN_HEIGHT - 37 - 565,

		"style" : ("movable", "float",),

		"width" : 140,
		"height" : (180 + 47), #±âÁ¸º¸´Ù 47 ±æ¾îÁü

		"children" :
		(
			{
				"name" : "board",
				"type" : "board",
				"style" : ("attach",),

				"x" : 0,
				"y" : 0,

				"width" : 140,
				"height" : (180 + 47),
			
				"children" :
				(
					## Title
					{
						"name" : "TitleBar",
						"type" : "titlebar",
						"style" : ("attach",),

						"x" : 6,
						"y" : 6,

						"width" : 130,
						"color" : "yellow",

						"children" :
						(
							{ "name":"TitleName", "type":"text", "x":60, "y":3, "text":uiScriptLocale.COSTUME_WINDOW_TITLE, "text_horizontal_align":"center" },
						),
					},

					## Equipment Slot
					{
						"name" : "Costume_Base",
						"type" : "image",

						"x" : 13,
						"y" : 38,
					
						"image" : uiScriptLocale.LOCALE_UISCRIPT_PATH + "costume/new_costume_bg.jpg",					

						"children" :
						(

							{
								"name" : "CostumeSlot",
								"type" : "slot",

								"x" : 3,
								"y" : 3,

								"width" : 127,
								"height" : 145,

								"slot" : (
											{"index":COSTUME_START_INDEX+0, "x":62, "y":45, "width":32, "height":64},#¸ö
											{"index":COSTUME_START_INDEX+1, "x":62, "y": 9, "width":32, "height":32},#¸Ó¸®
											{"index":COSTUME_START_INDEX+2, "x":13, "y":126, "width":32, "height":32},#¸¶¿îÆ®
											{"index":COSTUME_START_INDEX+3, "x":62, "y":126, "width":32, "height":32},#¾Ç¼¼¼­¸®
										),
							},
						),
					},

				),
			},
		),
	}

 

 

 

On 14.06.2016 at 2:50 PM, xRooT said:

same and i got syserr (in core ch1)

SYSERR: Mar  5 22:42:17.875539 :: PointChange: MALL_BONUS exceeded over 100!! point type: 116 name: [OG]Jellys amount 150

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 1
Link to comment
Share on other sites

  • 1 month later...

Hi Metin2Dev!

At first, I wanna thanks for this system, it's really awesome and working like a charm! But I got one little problem, that I can't handle with. I add everything like in tut, in client its working good, but when I mount seal its working just about 1min and then unmount, seal reamain in the slot. What I do wrong? I'll try the one quest from gf ride, try the quest from this topic (when use , pc.mount) and both of them working with the same result, unmount after 1min of using. If someone can help me I will appreciatte that!

InGame Screen:

https://metin2.download/picture/IF0JpHTldxZJrZZVmhzuyE8TvjbyT49I/.jpg

The Quest was wrong, I'll write my own and working just perfect! One more time, much thanks for that nice realease!

Edited by Metin2 Dev
Core X - External 2 Internal
  • Metin2 Dev 1
  • Good 1
Link to comment
Share on other sites

  • 2 weeks later...

My question:

"When i mount it shows the npc/mount but it dismounts the character right away. Any solutions?"

 

#Edit1

So i have been looking around the code and found out that the costume mount was beeing called 2 times when used, "i guess", so i removed some lines in char_item.cpp

Fix: char_item.cpp

Search:

if (COSTUME_MOUNT == item->GetSubType())
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}

Replace with:

/*
if (COSTUME_MOUNT == item->GetSubType())
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}
*/

Make sure you have this line above:

if (UNIQUE_SPECIAL_RIDE == item->GetSubType() && IS_SET(item->GetFlag(), ITEM_FLAG_QUEST_USE))
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}

I'm still testing it out so if there is any problem just reverse it all back. ~edit2

 

#EDIT2

Everything looks fine! :D

 

#EDIT3 - Mount time fix for TXT DB rev40250

Fix: ride.quest

Search

item.get_socket(2)*60

Replace with:

item.get_value(0)*60

:)

  • Love 6
Link to comment
Share on other sites

  • 2 months later...
  • Management
On 02/05/2017 at 3:31 AM, Germais said:

My question:

"When i mount it shows the npc/mount but it dismounts the character right away. Any solutions?"

 

#Edit1

So i have been looking around the code and found out that the costume mount was beeing called 2 times when used, "i guess", so i removed some lines in char_item.cpp

Fix: char_item.cpp

Search:


if (COSTUME_MOUNT == item->GetSubType())
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}

Replace with:


/*
if (COSTUME_MOUNT == item->GetSubType())
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}
*/

Make sure you have this line above:


if (UNIQUE_SPECIAL_RIDE == item->GetSubType() && IS_SET(item->GetFlag(), ITEM_FLAG_QUEST_USE))
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}

I'm still testing it out so if there is any problem just reverse it all back. ~edit2

 

#EDIT2

Everything looks fine! :D

 

#EDIT3 - Mount time fix for TXT DB rev40250

Fix: ride.quest

Search


item.get_socket(2)*60

Replace with:


item.get_value(0)*60

:)

When I use the COSTUME_MOUNT the server doesn't save the time anywhere... (not on socket 0, on normal mounts saves on socket 5 (I have 6 slots))

raw

raw

Link to comment
Share on other sites

  • 2 weeks later...
  • 5 months later...
On 02.05.2017 at 5:31 AM, Germais said:

My question:

"When i mount it shows the npc/mount but it dismounts the character right away. Any solutions?"

 

#Edit1

So i have been looking around the code and found out that the costume mount was beeing called 2 times when used, "i guess", so i removed some lines in char_item.cpp

Fix: char_item.cpp

Search:


if (COSTUME_MOUNT == item->GetSubType())
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}

Replace with:


/*
if (COSTUME_MOUNT == item->GetSubType())
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}
*/

Make sure you have this line above:


if (UNIQUE_SPECIAL_RIDE == item->GetSubType() && IS_SET(item->GetFlag(), ITEM_FLAG_QUEST_USE))
{
	quest::CQuestManager::instance().UseItem(GetPlayerID(), item, false);
}

I'm still testing it out so if there is any problem just reverse it all back. ~edit2

 

#EDIT2

Everything looks fine! :D

 

#EDIT3 - Mount time fix for TXT DB rev40250

Fix: ride.quest

Search


item.get_socket(2)*60

Replace with:


item.get_value(0)*60

:)

The solution above. 

Regards.

Link to comment
Share on other sites

  • 4 weeks later...
  • 1 month later...
  • 3 months later...
  • 1 month later...
  • 9 months later...
  • 2 months later...
  • 4 months later...

Announcements



×
×
  • 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.