Jump to content

enisina

Active+ Member
  • Posts

    195
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by enisina

  1. Since I was using the officiall proto files, I noticed that when I was on the mount, I was thrown backwards and the slots were not loaded. When I looked at the proto file, I saw that they had removed the folder files of the mounts, so I pulled the folder names directly from the npclist.txt file. If the mob type is horse [CHAR_TYPE_HORSE], it gets it from here, otherwise it gets it according to mob_proto.

    This is the hidden content, please

    This is the hidden content, please

    • Metin2 Dev 16
    • kekw 1
    • Good 2
    • Love 6
  2. I want to compile the files that I use without any problems on the Freebsd server with Visual Studio and use them on the Windows server. I keep selecting the character but the client crashes completely before the character appears. The unknown packet error I get is always the same number. When I use it on freebsd server there is no problem.

     

    spacer.png

  3. 25.10.2015 saat 00:22'de ds_aim şunları söyledi:

    Hayır, Wireshark yapısında.

    Sadece bir ip filtresi bileşimi (freebsd - windows host)

    Ve Wireshark'ın yakalanmasına izin verin.  Wireshark'ın linkini verdim:D

    127.0.0.1 ip adresini nasıl takip edebilirim? Wireshark görmüyor (metin2 windows sunucu dosyaları)I'm listening to 127.0.0.1 and there are thousands of packets. how do I know which one is metin2?

  4. 2 hours ago, Draveniou1 said:

    add fuction

     

    (!your fuction)
    {
    return;
    }

    I wrote the following code for testing purposes and it gave core on this line. There is an error in the function but I couldn't understand what it is.

     

    						sys_err("result0 %s, result1 %s", atoi(results[0].c_str()), atoi(results[1].c_str()));

     

  5. hello, when I create an item after something I add, I get game.core. can you help me ?

    spacer.png

    spacer.png

     

    split_value func:

    #include <vector>
    void split_value(std::string str, std::string splitBy, std::vector<std::string>& tokens)
    {
    	tokens.push_back(str);
    
    	size_t splitAt;
    	size_t splitLen = splitBy.size();
    	std::string frag;
    	while (true)
    	{
    		frag = tokens.back();
    		splitAt = frag.find(splitBy);
    		if (splitAt == std::string::npos)
    			break;
    
    		tokens.back() = frag.substr(0, splitAt);
    		tokens.push_back(frag.substr(splitAt + splitLen, frag.size() - (splitAt + splitLen)));
    	}
    }

    item_manager.cpp

    This is the hidden content, please

     

    line to crash(359):

     

    					const TItemTable* item_table = item->GetProto();
    
    					for (int i = 0; i < ITEM_RANDOM_VALUES_MAX_NUM; i++)
    					{
    						if (!item_table->alSockets[i])
    							continue;
    
    						std::string foo = std::to_string(item_table->alSockets[i]);
    						std::vector<std::string> results;
    						split_value(foo, "00", results);
    
    359:					const auto irandomValue = static_cast<uint16_t>(number(atoi(results[0].c_str()), atoi(results[1].c_str())));
    						item->SetRandomDefaultAttr(i, irandomValue);
    					}


     

    • Metin2 Dev 1
    • Facepalm 1
  6. Hi,  I have a problem like this. After choosing a character, it throws it at the login screen. No Client Syserr.

     

    CH1 Syslog

    Jan 18 15:01:26 :: SYSTEM: new connection from [192.168.1.102] fd: 16 handshake 4237746029 output input_len 0, ptr 0x48165600
    Jan 18 15:01:26 :: Packet Analyze [Header 255][bufferLeft 13]
    Jan 18 15:01:26 :: Packet Analyze [Header 255][bufferLeft 13]
    Jan 18 15:01:26 :: Handshake: lower than zero -178
    Jan 18 15:01:26 :: Packet Analyze [Header 255][bufferLeft 13]
    Jan 18 15:01:26 :: Packet Analyze [Header 255][bufferLeft 13]
    Jan 18 15:01:26 :: Packet Analyze [Header 255][bufferLeft 13]
    Jan 18 15:01:26 :: Handshake: client_time 0 server_time 1109997
    Jan 18 15:01:27 :: Packet Analyze [Header 251][bufferLeft 261]
    Jan 18 15:01:27 :: Packet Analyze [Header 109][bufferLeft 52]
    Jan 18 15:01:27 :: LOGIN_BY_KEY: admin key 676564720
    Jan 18 15:01:28 :: LoginSuccess
    Jan 18 15:01:28 ::     player(Dev).job(0)
    Jan 18 15:01:28 ::     player(test).job(8)
    Jan 18 15:01:28 ::     player().job(0)
    Jan 18 15:01:28 ::     player().job(0)
    Jan 18 15:01:28 ::     player().job(0)
    Jan 18 15:01:28 :: success to 0.0.0.0:12101
    Jan 18 15:01:28 :: success to 0.0.0.0:12101
    Jan 18 15:01:28 :: InputDB::login_success: admin
    Jan 18 15:01:31 :: SYSTEM: new connection from [192.168.1.102] fd: 17 handshake 1299000312 output input_len 0, ptr 0x48165b00
    Jan 18 15:01:31 :: Packet Analyze [Header 100][bufferLeft 9]
    Jan 18 15:01:31 :: MARK_SERVER: Login
    Jan 18 15:01:35 :: Packet Analyze [Header 104][bufferLeft 1]
    Jan 18 15:01:35 :: LargePacket Size 24
    Jan 18 15:01:35 :: MARK_SERVER: GuildMarkIDXList 31 bytes sent.
    Jan 18 15:01:35 :: Packet Analyze [Header 101][bufferLeft 322]
    Jan 18 15:01:35 :: MARK_SERVER: Sending blocks. (imgIdx 0 diff 0 size 10)
    Jan 18 15:01:35 :: SYSTEM: closing socket. DESC #17
    Jan 18 15:01:40 :: SYSTEM: closing socket. DESC #16
    Jan 18 15:01:44 :: GLOBAL_TIME: Jan 18 15:01:44 time_gap 0
    Jan 18 15:02:10 :: CHARACTER COUNT vid 18179 pid 0

     

    Auth Syslog

    Jan 18 15:01:25 :: SYSTEM: new connection from [192.168.1.102] fd: 15 handshake 148142307 output input_len 0, ptr 0x214eca00
    Jan 18 15:01:25 :: Handshake: client_time 0 server_time 1120192
    Jan 18 15:01:25 :: AUTH_PHASE 0x214eca00
    Jan 18 15:01:25 :: InputAuth::Login : admin(5) desc 0x214eca00
    Jan 18 15:01:25 :: SetLoginKey 676564720
    Jan 18 15:01:25 :: InputAuth::Login : key 676564720:0xc03bae3 login admin
    Jan 18 15:01:25 :: QID_AUTH_LOGIN: START 676564720 0x214eca00
    Jan 18 15:01:25 :: Create_Time 1606372416 20201126
    Jan 18 15:01:25 :: Block Time -1
    Jan 18 15:01:26 :: SetRemainSecs admin 0
    Jan 18 15:01:26 :: SendAuthLogin admin language 11 key 1
    Jan 18 15:01:26 :: AuthLogin result 1 key 676564720
    Jan 18 15:01:26 :: SYSTEM: closing socket. DESC #15

     

  7. On 3/2/2020 at 8:44 AM, OtherChoice said:

    Nice shot. For better code management and reusability you could remove the delete from the if (pkOldGrid) check and put it into the override method CGrid::CGrid(CGrid * pkGrid, int w, int h) : m_iWidth(w), m_iHeight(h) like this:
     

    
    CGrid::CGrid(int w, int h) : m_iWidth(w), m_iHeight(h)					
    {
    	m_pGrid = new char[m_iWidth * m_iHeight];						
    	memset(m_pGrid, 0, sizeof(char) * m_iWidth * m_iHeight);
    }
    
    CGrid::CGrid(CGrid * pkGrid, int w, int h) : m_iWidth(w), m_iHeight(h)		//<- if you add delete pkGrid here you can call M2_NEW CGrid(CGrid*, width, height) and it will delete the old pointer of safebox function at the end of this method 
    {
    	m_pGrid = new char[m_iWidth * m_iHeight];
    	int iSize = std::MIN(w * h, pkGrid->m_iWidth * pkGrid->m_iHeight);
    	thecore_memcpy(m_pGrid, pkGrid->m_pGrid, sizeof(char) * iSize);
      	//here
    	delete pkGrid;
    }

     

    you are just doing excess code.

    • Love 1
  8. On 12/12/2019 at 12:43 AM, VegaS™ said:
      Reveal hidden contents
    
    
    void CPetActor::SetName()
    {
    	std::string petName = m_pkOwner->GetName();
    
    	if (true == IsSummoned() && m_dwVnum == 34025)
    	{
    		petName += " - |cFFFF0049|H|hPhoenix de Foc";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34010)
    	{
    		petName += " - |cFFc9ff00|H|hBambi";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34003)
    	{
    		petName += " - |cFF009DFF|H|hPhoenix de Gheata";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34004)
    	{
    		petName += " - |cFF732222|H|hMicul Azrael";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34005)
    	{
    		petName += " - |cFF528508|H|hPorcusor";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34006)
    	{
    		petName += " - |cFF528508|H|hRufus";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34007)
    	{
    		petName += " - |cFF528508|H|hKhan";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34008)
    	{
    		petName += " - |cFF528508|H|hLeonidas";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34009)
    	{
    		petName += " - |cFFDCE627|H|hMicul Azrael (Aur)";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34011)
    	{
    		petName += " - |cFF009DFF|H|hKnuud";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34012)
    	{
    		petName += " - |cFF009DFF|H|hBao Bao";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34013)
    	{
    		petName += " - |cFF732222|H|hMini Executor";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34014)
    	{
    		petName += " - |cFFDCE627|H|hMini Executor (Aur)";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34015)
    	{
    		petName += " - |cFFc9ff00|H|hBoney";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34016)
    	{
    		petName += " - |cFFA1C718|H|hPhoenix de Jad";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34017)
    	{
    		petName += " - |cFF109EC7|H|hPorkie Polar";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34019)
    	{
    		petName += " - |cFF109EC7|H|hArctis Khan";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34020)
    	{
    		petName += " - |cFF109EC7|H|hLeonidas Alb";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34021)
    	{
    		petName += " - |cFFc9ff00|H|hSheldon";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34022)
    	{
    		petName += " - |cFFc9ff00|H|hChooper";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34023)
    	{
    		petName += " - |cFFC97D87|H|hPui de Pantera";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34028)
    	{
    		petName += " - |cFF109EC7|H|hFulg de Nea";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34029)
    	{
    		petName += " - |cFF109EC7|H|hClopotel de Nea";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34030)
    	{
    		petName += " - |cFFF42B07|H|hElf Rosu";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34031)
    	{
    		petName += " - |cFF34962B|H|hElf Verde";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34032)
    	{
    		petName += " - |cFF6B6B6B|H|hJiangshi Junior";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34033)
    	{
    		petName += " - |cFF237A00|H|hMr Jiangshi";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34034)
    	{
    		petName += " - |cFF16ACB8|H|hShiver";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34035)
    	{
    		petName += " - |cFF16ACB8|H|hSnivel";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34036)
    	{
    		petName += " - |cFFA210AB|H|hLiliacul Bruce";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34037)
    	{
    		petName += " - |cFFA210AB|H|hLiliacul Wayne";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34038)
    	{
    		petName += " - |cFF77B8EA|H|hRamblue";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34039)
    	{
    		petName += " - |cFFD58DEE|H|hEweriel";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34040)
    	{
    		petName += " - |cFF732222|H|hMicul Huashin";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34100)
    	{
    		petName += " - |cFFE13066|H|hSemiluna Rosie";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34101)
    	{
    		petName += " - |cFF6271E3|H|hSemiluna Albastra";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34102)
    	{
    		petName += " - |cFFE13066|H|hLanterna Rosie";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34103)
    	{
    		petName += " - |cFF6271E3|H|hLanterna Albastra";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34104)
    	{
    		petName += " - |cFFF91ECE|H|hValentinia";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34105)
    	{
    		petName += " - |cFF6271E3|H|hValentino";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34106)
    	{
    		petName += " - |cFFE13066|H|hAmoras";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34107)
    	{
    		petName += " - |cFFE13066|H|hInima Iute";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34108)
    	{
    		petName += " - |cFF13A575|H|hBonsai";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34109)
    	{
    		petName += " - |cFF13A575|H|hDonnie";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned() && m_dwVnum == 34110)
    	{
    		petName += " - |cFF13A575|H|hBonnie";
    		
    		m_pkChar->SetName(petName);
    	}
    	else if (true == IsSummoned())
    	{
    		petName += " Companiot";
    		
    		m_pkChar->SetName(petName);
    	}
    
    	m_name = petName;
    }

     

    You could do it with a map.

    
    #include "cff.h"
    using TPetName = std::map<uint32_t, std::tuple<std::string, std::string>>;
    static const TPetName map_pet_names =
    {
    	{ 34003, {"Phoenix de Gheata", "#009DFF"} },
    	{ 34004, {"Micul Azrael", "#732222"} },
    	{ 34005, {"Porcusor", "#528508"} },
    };
    
    void CPetActor::SetName()
    {
    	std::string& stPetName = m_pkOwner->GetName();
    	const auto& it = map_pet_names.find(m_dwVnum);
    	if (it != map_pet_names.end())
    		stPetName.append(CFF::format(std::get<0>(it->second), std::get<1>(it->second)));
    	
    	m_pkChar->SetName(stPetName);
    }

    Also you could use my

    This is the hidden content, please
    (there exists
    This is the hidden content, please
    ) for coloring a string, much easier.

    
    #include "cff.h"
    std::string text = CFF::format("Metin2", "green");
    std::string text = CFF::format(std::to_string(8000), "banana");
    std::string text = CFF::format(std::to_string(412.55), "red");
    std::string text = CFF::format("Pending", "#113355");
    std::string text = CFF::format("Item name:", "springgreen", CFF::FLAG_NEW_TAB) + CFF::format(pItemData->GetName(), "chocolate");
    
    std::vector<string> text = CFF::multi_format({"a", "b", "c"}, "red"); // text[0], text[1], text[2]

     

    computepoints(); on this system Why is it used? Does the need to use?

    • Metin2 Dev 1
    • Good 1
×
×
  • 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.