Jump to content

SolWayneSF v6 2023 (Basis TMP4)


SolWayne

Recommended Posts

https://metin2.download/picture/ing17gO88L4ai3O68863773mcV48jGQ1/.gif
Mytish Dragon Soul Fix coming

Mytish Dragon Soul Fix :

 

Client SRC:

Spoiler

Userinterface/GameType.h

# Am start hinzufugen

#include "Locale_inc"

# Am start hinzufugen

#include "Locale_inc"

 



Server:

Spoiler

usr/metin2/share/locale/english

dragon_soul_table.txt  ( New )

Spoiler
Group VnumMapper
{
	#--#	DragonSoulName	Type
	1	¹é·æ¼®	11
	2	È­·æ¼®	12
	3	dz·æ¼®	13
	4	ö·æ¼®	14
	5	³ú·æ¼®	15
	6	Èæ·æ¼®	16
}

Group BasicApplys
{
	Group ¹é·æ¼®
	{
		#--#	Apply_Type	Apply_value
		1	INT	10
		2	RESIST_ICE	10
		3	ENCHANT_ICE	10
	}
	
	Group È­·æ¼®
	{
		#--#	Apply_Type	Apply_value
		1	STR	10
		2	RESIST_FIRE	10
		3	ENCHANT_FIRE	10
	}
	
	Group dz·æ¼®
	{
		#--#	Apply_Type	Apply_value
		1	MAX_SP	500
		2	RESIST_WIND	10
		3	ENCHANT_WIND	10
	}
	
	Group ö·æ¼®
	{
		#--#	Apply_Type	Apply_value
		1	DEX	10
		2	RESIST_EARTH	10
		3	ENCHANT_EARTH	10
	}
	
	Group ³ú·æ¼®
	{
		#--#	Apply_Type	Apply_value
		1	MAX_HP	1500
		2	RESIST_ELEC	10
		3	ENCHANT_ELEC	10
	}
	
	Group Èæ·æ¼®
	{
		#--#	Apply_Type	Apply_value
		1	CON	10
		2	RESIST_DARK	10
		3	ENCHANT_DARK	10
	}
}

Group AdditionalApplys
{
	Group ¹é·æ¼®
	{
		#--#	Apply_Type	Apply_value	Prob
		1	MAGIC_ATT_GRADE	15	10
		2	MAGIC_DEF_GRADE	15	10
		3	SKILL_DAMAGE_BONUS	15	10
		4	SKILL_DEFEND_BONUS	15	10
	}
	
	Group È­·æ¼®
	{
		#--#	Apply_Type	Apply_value	Prob
		1	ATT_BONUS	300	10
		2	DEF_BONUS	200	10
		3	NORMAL_HIT_DAMAGE_BONUS	15	10
		4	NORMAL_HIT_DEFEND_BONUS	15	10
	}
	
	Group dz·æ¼®
	{
		#--#	Apply_Type	Apply_value	Prob
		1	MAX_HP	3000	10
		2	HP_REGEN	10	10
		3	STEAL_HP	10	10
		4	KILL_HP_RECOVER	5	10
		5	MAX_HP_PCT	20	10
	}
	Group ö·æ¼®
	{
		#--#	Apply_Type	Apply_value	Prob
		1	ATT_BONUS_TO_WARRIOR	15	10
		2	ATT_BONUS_TO_ASSASSIN	15	10
		3	ATT_BONUS_TO_SURA	15	10
		4	ATT_BONUS_TO_SHAMAN	15	10
		6	RESIST_WARRIOR	15	10
		7	RESIST_ASSASSIN	15	10
		8	RESIST_SURA	15	10
		9	RESIST_SHAMAN	15	10
	}
	Group ³ú·æ¼®
	{
		#--#	Apply_Type	Apply_value	Prob
		1	MAX_SP	1500	10
		2	SP_REGEN	10	10
		3	STEAL_SP	10	10
		4	KILL_SP_RECOVER	5	10
		5	MAX_SP_PCT	20	10
	}
	Group Èæ·æ¼®
	{
		#--#	Apply_Type	Apply_value	Prob
		1	BLOCK	10	10
		2	DODGE	10	10
		3	REFLECT_MELEE	10	10
		4	RESIST_CRITICAL	10	10
		5	RESIST_PENETRATE	10	10
	}
}

Group ApplyNumSettings
{
	Group Default
	{
		#--#	GRADE_NORMAL	GRADE_BRILLIANT	GRADE_RARE	GRADE_ANCIENT	GRADE_LEGENDARY	GRADE_MYTH
		basis	1	1	1	2	2	3
		add_min	0	0	0	0	0	0
		add_max	0	1	2	2	3	3
	}
}

Group WeightTables
{
	Group Default
	{
		Group GRADE_NORMAL
		{
			#--#	0	1	2	3	4	5	6
			STEP_LOWEST	1	2	3	0	0	0	0
			STEP_LOW	2	3	4	0	0	0	0
			STEP_MID	3	4	5	6	0	0	0
			STEP_HIGH	4	5	6	7	0	0	0
			STEP_HIGHEST	5	6	7	8	10	0	0
		}
		
		Group GRADE_BRILLIANT
		{
			STEP_LOWEST	3	4	5	6	0	0	0
			STEP_LOW	4	5	6	8	0	0	0
			STEP_MID	5	6	8	10	0	0	0
			STEP_HIGH	6	8	10	12	15	0	0
			STEP_HIGHEST	8	10	12	15	20	0	0
		}
		
		Group GRADE_RARE
		{
			#--#	0	1	2	3	4	5	6
			STEP_LOWEST	6	7	9	11	15	0	0
			STEP_LOW	7	9	11	15	20	0	0
			STEP_MID	9	11	15	20	25	0	0
			STEP_HIGH	11	15	20	25	30	0	0
			STEP_HIGHEST	15	20	25	30	40	0	0
		}
		
		Group GRADE_ANCIENT
		{
			#--#	0	1	2	3	4	5	6
			STEP_LOWEST	10	12	15	18	20	0	0
			STEP_LOW	12	15	18	20	25	0	0
			STEP_MID	15	18	20	25	35	0	0
			STEP_HIGH	18	20	25	35	40	0	0
			STEP_HIGHEST	20	25	35	40	60	80	0
		}
		
		Group GRADE_LEGENDARY
		{
			#--#	0	1	2	3	4	5	6
			STEP_LOWEST	30	35	40	45	50	0	0
			STEP_LOW	35	40	45	50	55	0	0
			STEP_MID	40	45	50	55	65	0	0
			STEP_HIGH	45	50	55	65	75	90	0
			STEP_HIGHEST	50	55	65	75	90	105	120
		}
		
		Group GRADE_MYTH
		{
			#--#	0	1	2	3	4	5	6
			STEP_LOWEST	35	40	45	50	55	0	0
			STEP_LOW	45	50	55	60	65	0	0
			STEP_MID	50	55	60	70	80	0	0
			STEP_HIGH	65	75	85	95	105	120	0
			STEP_HIGHEST	75	85	95	105	120	135	160
		}
	}
}

Group RefineGradeTables
{
	Group Default
	{
		#--#	NEED_COUNT	FEE	GRADE_NORMAL	GRADE_BRILLIANT	GRADE_RARE	GRADE_ANCIENT	GRADE_LEGENDARY	GRADE_MYTH
		GRADE_NORMAL	2	30000	50	50	0	0	0	0
		GRADE_BRILLIANT	2	50000	0	50	50	0	0	0
		GRADE_RARE	2	70000	0	0	50	50	0	0
		GRADE_ANCIENT	2	100000	0	0	0	50	50	0
		GRADE_LEGENDARY	2	150000	0	0	0	0	50	50
	}
}

Group RefineStepTables
{
	Group Default
	{
		#--#	NEED_COUNT	FEE	STEP_LOWEST	STEP_LOW	STEP_MID	STEP_HIGH	STEP_HIGHEST
		STEP_LOWEST	2	20000	50	50	0	0	0
		STEP_LOW	2	30000	0	50	50	0	0
		STEP_MID	2	40000	0	0	50	50	0
		STEP_HIGH	2	50000	0	0	0	50	50
	}
}

Group RefineStrengthTables
{
	Group Default
	{
		#--#	FEE	0	1	2	3	4	5
		MATERIAL_DS_REFINE_NORMAL	10000	100	80	70	50	30	20	10
		MATERIAL_DS_REFINE_BLESSED	20000	100	88	77	55	33	22	12
		MATERIAL_DS_REFINE_HOLLY	30000	100	90	80	60	40	30	20
	}
}

Group DragonHeartExtTables
{
	Group Default
	{
		#--#	1	2	3	4	5
		CHARGING	0	5	15	30	50
		GRADE_NORMAL	50	35	12	2	1
		GRADE_BRILLIANT	35	40	20	4	1
		GRADE_RARE	20	35	30	12	3
		GRADE_ANCIENT	15	30	35	15	5
		GRADE_LEGENDARY	10	20	40	20	10
		GRADE_MYTH	10	20	40	20	10
	}
}

Group DragonSoulExtTables
{
	Group Default
	{
		#--#	Prob	ByProduct
		GRADE_NORMAL	50	30270
		GRADE_BRILLIANT	40	30270
		GRADE_RARE	30	30270
		GRADE_ANCIENT	30	30270
		GRADE_LEGENDARY	20	30270
		GRADE_MYTH	10	30270
	}
}

 

 

 

 

Client:

Spoiler

client/root

dragon_soul_refine_settings.py

Spoiler
# Löschen sie alles und fügen das ein

import item

default_grade_need_count = [2, 2, 2, 2, 2]
default_grade_fee = [30000, 50000, 70000, 100000, 150000]
default_step_need_count = [2, 2, 2, 2, 2]
default_step_fee = [20000, 30000, 40000, 50000, 60000]
default_flame_need_count = [1, 3, 5, 10, 20]

strength_fee = {
	item.MATERIAL_DS_REFINE_NORMAL : 10000,
	item.MATERIAL_DS_REFINE_BLESSED : 20000,
	item.MATERIAL_DS_REFINE_HOLLY : 30000,
}

default_strength_max_table = [
	[2, 2, 3, 3, 4],
	[3, 3, 3, 4, 4],
	[4, 4, 4, 4, 4],
	[4, 4, 4, 4, 5],
	[4, 4, 4, 5, 6],
	[4, 4, 4, 5, 6],
	]

default_refine_info = {
	"grade_need_count" : default_grade_need_count,
	"grade_fee" : default_grade_fee,
	"step_need_count" : default_step_need_count,
	"step_fee" : default_step_fee,
	"strength_max_table" : default_strength_max_table,
}

dragon_soul_refine_info = {
	11 : default_refine_info,
	12 : default_refine_info,
	13 : default_refine_info,
	14 : default_refine_info,
	15 : default_refine_info,
	16 : default_refine_info,
}

 

 

uidragonsoul.py

Spoiler
# Suchen sie nach :
			if app.ENABLE_DS_GRADE_MYTH:
				self.inventoryTab.append(self.GetChild("Inventory_Tab_06"))

# Ersetzen mit :
			self.inventoryTab.append(self.GetChild("Inventory_Tab_06"))




# Suchen sie nach :
		if app.ENABLE_DS_GRADE_MYTH:
			self.inventoryTab[5].SetEvent(lambda arg=5: self.SetInventoryPage(arg))

# Ersetzen mit :
		self.inventoryTab[5].SetEvent(lambda arg=5: self.SetInventoryPage(arg))




# Suchen sie nach :
		self.inventoryPageIndex = page
		if app.ENABLE_DS_GRADE_MYTH:
			self.inventoryTab[(page+1)%6].SetUp()
			self.inventoryTab[(page+2)%6].SetUp()
			self.inventoryTab[(page+3)%6].SetUp()
			self.inventoryTab[(page+4)%6].SetUp()
			self.inventoryTab[(page+5)%6].SetUp()
		else:
			self.inventoryTab[(page+1)%5].SetUp()
			self.inventoryTab[(page+2)%5].SetUp()
			self.inventoryTab[(page+3)%5].SetUp()
			self.inventoryTab[(page+4)%5].SetUp()

# Ersetzen mit 
		self.inventoryPageIndex = page
		self.inventoryTab[(page+1)%6].SetUp()
		self.inventoryTab[(page+2)%6].SetUp()
		self.inventoryTab[(page+3)%6].SetUp()
		self.inventoryTab[(page+4)%6].SetUp()
		self.inventoryTab[(page+5)%6].SetUp()

 

 

 

uitooltip.py

Spoiler
# Suchen sie nach :

	def __IsHair(self, itemVnum):
		if app.ENABLE_DS_GRADE_MYTH:
			return (self.__IsOldHair(itemVnum) or 
			self.__IsNewHair(itemVnum) or
			self.__IsNewHair2(itemVnum) or
			self.__IsNewHair3(itemVnum))
		else:
			return (self.__IsOldHair(itemVnum) or 
			self.__IsNewHair(itemVnum) or
			self.__IsNewHair2(itemVnum) or
			self.__IsNewHair3(itemVnum) or
			self.__IsCostumeHair(itemVnum)
			)

	if not app.ENABLE_DS_GRADE_MYTH:
		def __IsCostumeHair(self, itemVnum):
			return self.__IsNewHair3(itemVnum - 100000)

# Ersetzen mit :

	def __IsHair(self, itemVnum):
		return (self.__IsOldHair(itemVnum) or 
			self.__IsNewHair(itemVnum) or
			self.__IsNewHair2(itemVnum) or
			self.__IsNewHair3(itemVnum) or
			self.__IsCostumeHair(itemVnum)
			)





# Suchen sie nach :

def __AppendHairIcon(self, itemVnum):

# Davor hinzufugen :

	def __IsCostumeHair(self, itemVnum):
		return app.ENABLE_COSTUME_SYSTEM and self.__IsNewHair3(itemVnum - 100000)





# Suchen sie nach :

		elif not app.ENABLE_DS_GRADE_MYTH and self.__IsCostumeHair(itemVnum):
			itemImage.LoadImage("icon/hair/%d.sub" % (itemVnum - 100000))
		elif self.__IsCostumeHair(itemVnum):
			itemImage.LoadImage("icon/hair/%d.sub" % (itemVnum - 100000))

# Ersetzen mit :

		elif self.__IsCostumeHair(itemVnum):
			itemImage.LoadImage("icon/hair/%d.sub" % (itemVnum - 100000))

 

 

 

 

Have Fun !

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

3 hours ago, Tuckii said:

 

hs3a7hW.png

idk about that snce it was mentioned on the first page but the metin overall worked for me before I changed language so it shouldnt be my fault that I didnt do VS when I did that actually.

All edits ONLY IN GERMAN
if you change the language you have to include the new parts from locale and locale string

Link to comment
Share on other sites

1 hour ago, SolWayne said:

All edits ONLY IN GERMAN
if you change the language you have to include the new parts from locale and locale string

Ah I see, I misunderstood it thanks.

Are you planning to add more thing to the server in the future? Also what about common fixes are they included? And last question would be if someone adds something to the server can we share it with you or you are making it on your own?

Link to comment
Share on other sites

Hello guys her a fix for icons skills Over P

go to the root file and open uiaffectshower.py

search for :              chr.AFFECT_JEONGWI : (localeInfo.SKILL_JEONGWI, "d:/ymir work/ui/skill/warrior/jeongwi" + END_STRING + ".sub",), 
Ps: (carefull tabs)

 

after edit like this https://metin2.download/picture/4g3p3SORWsL669gPh2pc0UB28bqrYrh7/.png

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

NEW ARROW Fix

SRC:

Spoiler

Client/Userinterface/InstanceBase.cpp

Quote

# Suche nach : Funktion : UINT CInstanceBase::__GetRefinedEffect(CItemData* pItem)


#ifdef ENABLE_NEW_ARROW_SYSTEM
                case CItemData::WEAPON_UNLIMITED_ARROW:
#endif
        case CItemData::WEAPON_BELL:
            m_swordRefineEffectRight = EFFECT_REFINED+EFFECT_SMALLSWORD_REFINED7+refine-7;
            break;
            case CItemData::WEAPON_BOW:
#ifdef ENABLE_NEW_ARROW_SYSTEM
                if (m_awPart[CRaceData::PART_ARROW_TYPE] == CItemData::WEAPON_UNLIMITED_ARROW)
                    SetMotionMode(CRaceMotionData::MODE_BOW_SPECIAL);
                else
                    SetMotionMode(CRaceMotionData::MODE_BOW);
#else
                SetMotionMode(CRaceMotionData::MODE_BOW);
#endif


# Ersetzen mit :

        case CItemData::WEAPON_ARROW:
#ifdef ENABLE_NEW_ARROW_SYSTEM
                case CItemData::WEAPON_UNLIMITED_ARROW:
#endif


# Suche nache Funktion und ersetze : void CInstanceBase::RefreshState(DWORD dwMotIndex, bool isLoop)

void CInstanceBase::RefreshState(DWORD dwMotIndex, bool isLoop)
{
    DWORD dwPartItemID = m_GraphicThingInstance.GetPartItemID(CRaceData::PART_WEAPON);

    BYTE byItemType = 0xff;
    BYTE bySubType = 0xff;

    CItemManager & rkItemMgr = CItemManager::Instance();
    CItemData * pItemData;
    
    if (rkItemMgr.GetItemDataPointer(dwPartItemID, &pItemData))
    {
        byItemType = pItemData->GetType();
        bySubType = pItemData->GetWeaponType();
    }

    if (IsPoly())
    {
        SetMotionMode(CRaceMotionData::MODE_GENERAL);
    }
    else if (IsWearingDress())
    {
        SetMotionMode(CRaceMotionData::MODE_WEDDING_DRESS);
    }
    else if (IsHoldingPickAxe())
    {
        if (m_kHorse.IsMounting())
        {
            SetMotionMode(CRaceMotionData::MODE_HORSE);
        }
        else
        {
            SetMotionMode(CRaceMotionData::MODE_GENERAL);
        }
    }
    else if (CItemData::ITEM_TYPE_ROD == byItemType)
    {
        if (m_kHorse.IsMounting())
        {
            SetMotionMode(CRaceMotionData::MODE_HORSE);
        }
        else
        {
            SetMotionMode(CRaceMotionData::MODE_FISHING);
        }
    }
#ifdef ENABLE_COSTUME_WEAPON_SYSTEM
    else if (byItemType == CItemData::ITEM_TYPE_COSTUME)
    {
        switch (pItemData->GetValue(3))
        {
            case CItemData::WEAPON_SWORD:
                if (m_kHorse.IsMounting())
                    SetMotionMode(CRaceMotionData::MODE_HORSE_ONEHAND_SWORD);
                else
                    SetMotionMode(CRaceMotionData::MODE_ONEHAND_SWORD);
                break;
            case CItemData::WEAPON_DAGGER:
                if (m_kHorse.IsMounting())
                    SetMotionMode(CRaceMotionData::MODE_HORSE_DUALHAND_SWORD);
                else
                    SetMotionMode(CRaceMotionData::MODE_DUALHAND_SWORD);
                break;
            case CItemData::WEAPON_BOW:
                if (m_kHorse.IsMounting())
                    SetMotionMode(CRaceMotionData::MODE_HORSE_BOW);
                else
#ifdef ENABLE_NEW_ARROW_SYSTEM
                {
                    if (m_awPart[CRaceData::PART_ARROW_TYPE] == CItemData::WEAPON_UNLIMITED_ARROW)
                        SetMotionMode(CRaceMotionData::MODE_BOW_SPECIAL);
                    else
                        SetMotionMode(CRaceMotionData::MODE_BOW);
                }
#else
                    SetMotionMode(CRaceMotionData::MODE_BOW);
#endif
                break;
            case CItemData::WEAPON_TWO_HANDED:
                if (m_kHorse.IsMounting())
                    SetMotionMode(CRaceMotionData::MODE_HORSE_TWOHAND_SWORD);
                else
                    SetMotionMode(CRaceMotionData::MODE_TWOHAND_SWORD);
                break;
            case CItemData::WEAPON_BELL:
                if (m_kHorse.IsMounting())
                    SetMotionMode(CRaceMotionData::MODE_HORSE_BELL);
                else
                    SetMotionMode(CRaceMotionData::MODE_BELL);
                break;
            case CItemData::WEAPON_FAN:
                if (m_kHorse.IsMounting())
                    SetMotionMode(CRaceMotionData::MODE_HORSE_FAN);
                else
                    SetMotionMode(CRaceMotionData::MODE_FAN);
                break;
            default:
                    if (m_kHorse.IsMounting())
                        SetMotionMode(CRaceMotionData::MODE_HORSE);
                    else
                        SetMotionMode(CRaceMotionData::MODE_GENERAL);
                break;
        }
    }
#endif
    else if (m_kHorse.IsMounting())
    {
        switch (bySubType)
        {
            case CItemData::WEAPON_SWORD:
                SetMotionMode(CRaceMotionData::MODE_HORSE_ONEHAND_SWORD);
                break;

            case CItemData::WEAPON_TWO_HANDED:
                SetMotionMode(CRaceMotionData::MODE_HORSE_TWOHAND_SWORD); // Only Warrior
                break;

            case CItemData::WEAPON_DAGGER:
                SetMotionMode(CRaceMotionData::MODE_HORSE_DUALHAND_SWORD); // Only Assassin
                break;

            case CItemData::WEAPON_FAN:
                SetMotionMode(CRaceMotionData::MODE_HORSE_FAN); // Only Shaman
                break;

            case CItemData::WEAPON_BELL:
                SetMotionMode(CRaceMotionData::MODE_HORSE_BELL); // Only Shaman
                break;

            case CItemData::WEAPON_BOW:
                SetMotionMode(CRaceMotionData::MODE_HORSE_BOW); // Only Shaman
                break;

            default:
                SetMotionMode(CRaceMotionData::MODE_HORSE);
                break;
        }
    }
    else
    {
        switch (bySubType)
        {
            case CItemData::WEAPON_SWORD:
                SetMotionMode(CRaceMotionData::MODE_ONEHAND_SWORD);
                break;

            case CItemData::WEAPON_TWO_HANDED:
                SetMotionMode(CRaceMotionData::MODE_TWOHAND_SWORD); // Only Warrior
                break;

            case CItemData::WEAPON_DAGGER:
                SetMotionMode(CRaceMotionData::MODE_DUALHAND_SWORD); // Only Assassin
                break;

            case CItemData::WEAPON_BOW:
#ifdef ENABLE_NEW_ARROW_SYSTEM
                if (m_awPart[CRaceData::PART_ARROW_TYPE] == CItemData::WEAPON_UNLIMITED_ARROW)
                    SetMotionMode(CRaceMotionData::MODE_BOW_SPECIAL);
                else
                    SetMotionMode(CRaceMotionData::MODE_BOW);
#else
                SetMotionMode(CRaceMotionData::MODE_BOW);
#endif
                break;

            case CItemData::WEAPON_FAN:
                SetMotionMode(CRaceMotionData::MODE_FAN); // Only Shaman
                break;

            case CItemData::WEAPON_BELL:
                SetMotionMode(CRaceMotionData::MODE_BELL); // Only Shaman
                break;

            case CItemData::WEAPON_ARROW:
#ifdef ENABLE_NEW_ARROW_SYSTEM
                case CItemData::WEAPON_UNLIMITED_ARROW:
#endif
            default:
                SetMotionMode(CRaceMotionData::MODE_GENERAL);
                break;
        }
    }

    if (isLoop)
        m_GraphicThingInstance.InterceptLoopMotion(dwMotIndex);
    else
        m_GraphicThingInstance.InterceptOnceMotion(dwMotIndex);

    RefreshActorInstance();
}


 

Tools/dump_proto/ItemCSVReader.cpp

 

Quote

# Suche nach :

    string arSub1[] = { "WEAPON_SWORD", "WEAPON_DAGGER", "WEAPON_BOW", "WEAPON_TWO_HANDED",
                "WEAPON_BELL", "WEAPON_FAN", "WEAPON_ARROW", "WEAPON_MOUNT_SPEAR"};

# Ersetzen mit :

    string arSub1[] = { "WEAPON_SWORD", "WEAPON_DAGGER", "WEAPON_BOW", "WEAPON_TWO_HANDED",
                "WEAPON_BELL", "WEAPON_FAN", "WEAPON_ARROW", "WEAPON_UNLIMITED_ARROW", "WEAPON_MOUNT_SPEAR"};

 


 

  • Love 1
Link to comment
Share on other sites

HowTO install Files on FreeBSD12.3 ( BlazingFast )

Spoiler

##Alles mit Ja beantworten (TuT wurde bei BlazingFast getestet)
##Gebe den Befehl ein :

freebsd-update fetch

##Am ende wen da steht (end) muss man q drücken bis wieder root@user steht

freebsd-update install
pkg upgrade
shutdown -r now

freebsd-update -r 13.1-RELEASE upgrade

##Am ende (:) drücken dann (wq) Enter
freebsd-update install
shutdown -r now
pkg update
freebsd-update install
shutdown -r now
freebsd-version

(gucke ob es noch v12.3 oder v13.1 ist)

Have Fun

Edited by SolWayne
Link to comment
Share on other sites

7 hours ago, SolWayne said:

HowTO install Files on FreeBSD12.3 ( BlazingFast )

  Hide contents

##Alles mit Ja beantworten (TuT wurde bei BlazingFast getestet)
##Gebe den Befehl ein :

freebsd-update fetch

##Am ende wen da steht (end) muss man q drücken bis wieder root@user steht

freebsd-update install
pkg upgrade
shutdown -r now

freebsd-update -r 13.1-RELEASE upgrade

##Am ende (:) drücken dann (wq) Enter
freebsd-update install
shutdown -r now
pkg update
freebsd-update install
shutdown -r now
freebsd-version

(gucke ob es noch v12.3 oder v13.1 ist)

Have Fun

Why?

Use only latest build..

Btw. You can simply install bsd on which pc you want.

pkg fetch extract
pkg fetch update
pkg install mysql57-server (using mariadb)

config mysql and its all if you use static lib for devil..

in other case only devil requirement..

20 minutes full install for new case

Edit: For live server recommend use mysql_secure_installation + firewall for basic lowest installation

Edited by Pseudabo
Link to comment
Share on other sites

  • 2 weeks later...
12 hours ago, .Kuja said:

I get server errors when compiling the server source with your ServerSrc Everything works with the normal source of TMP4@ SolWayne
https://metin2.download/picture/9Rw64i4pJXd31vWcAim6878N0o7DJ8Mz/.png 

 

I use the TMP4 VDI. And compile on it too. (but this is a new version with aura system, offline shop and much more)
https://metin2.download/picture/SB7ws7CW9Sdf7jM77BPHb1V3zRuaO7iL/.gif

https://metin2.download/picture/d3a6R78fha1064J6UyqaOE1Y58P6Hk0R/.png


 

 

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

  • 3 weeks later...
  • 7 months later...

please upgrade the source 1 more time delete all add everything in one and upload amazing work dude but if you want to help us a lot we need to upload new source with all updates maybe we dont do something right and we have mixed files and fails something but if this work upload corectly all version we have better exp and we can handle the project i learn im old user of metin2 files project and i start again thank you so match ❤️

Link to comment
Share on other sites

we hope to see new upgrade update on source and client on solwaynesf v6 to v10 with elf and lycan on source to end the project we hope of this project 2024 solwayne for sure you have it and you can do for us ❤️ i hope in future see the last version of your  files ❤️ 

This is the hidden content, please

  • Metin2 Dev 24
  • Good 5
  • Love 2
  • Love 19
Link to comment
Share on other sites

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.