Jump to content

HaiosMotan

Member
  • Posts

    73
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by HaiosMotan

  1. Acum 1 oră, xRooT a spus:

    This system, my friend, is showing you the item that you can not trade or can not sell or drop it. Second, the red color shows you what item you put in your trade list or store or when you upgrade the weapon and connect the other item in red like stone rushing + 3 shows you that this is the stone in the inventory you want to install on the CD, etc

    For example, you open the trading list between me and you, the system automatically covers items that you can not trade in white,

    that's what i said why you tagged me?  : ?

  2. La 10.10.2017 la 19:16, .plechito' a spus:

    Hi, i released Blue death room some time ago smile.gif

    Many of you wrote about whole dungeon like that so i finally found a time to make it. I'm sharing with you these modified skill effects for free smile.gif

    Video:

     

     

    Download

    can you give me "12_tex_tornado3.dds" ? please?

    • Metin2 Dev 2
    • Think 1
    • Good 1
    • Love 1
    • Love 1
  3. Acum 18 ore, Reco a spus:

    Hi guys i have a Problem with this System: 

    Client Sysser

    0727 19:16:33089 :: AttributeError
    0727 19:16:33089 :: : 
    0727 19:16:33089 :: 'module' object has no attribute 'IsBlockByName'
    0727 19:16:33089 :: 

     

    I can`t remove blocked players. 

    and when i click on a player i cant see the bar with Whisper, Exchange Friend Duel and with Gm account i see the bar

    i dont understand Where I should insert that -.- 

    
    //In Server-Side:
    
    	if (MessengerManager::instance().IsBlocked(player1name, player2name))
    	{
    		ChatPacket(CHAT_TYPE_INFO, LC_TEXT("BLOKLANDIN"));
    		return;
    	}
    	if (MessengerManager::instance().IsFriend(player1name, player2name))
    	{
    		ChatPacket(CHAT_TYPE_INFO, "This is your friend.");
    		return;
    	}
    //In Client:
    	if messenger.IsBlockByName(player2name) or messenger.IsBlockByName(player1name):
    		return
    		
    //In Quest
    	if pc.is_blocked(targetname) == true then
    		say("This player blocked")
    		
    	if pc.is_friend(targetname) == true then
    		say("This is your friend")

     

    you can insert that if u want to do something by yourself. I mean if pc.is_blocked == true begin say("somebody hates you") .Function that you can use in client/server source /quest.

  4. La 09.07.2017 la 10:09, flexio a spus:

    When a player write from channel 1 to 99(example) core drops. 

    input_main.cpp

    
    else if (MessengerManager::instance().IsBlocked_Target(ch->GetName(), pkChr->GetName()))

    change to

    
    else if (pkChr && MessengerManager::instance().IsBlocked_Target(ch->GetName(), pkChr->GetName()))

     

    La 29.06.2017 la 15:12, Mali61 a spus:

    I know :facepalm: simple only 1 return

    if you do this, you can send/recive mesages to/from the person you blocked without any error. :(

  5. in cmd_general.cpp

        #ifdef ENABLE_MESSENGER_BLOCK
        if (MessengerManager::instance().IsBlocked_Target(ch->GetName(), pkVictim->GetName()))
        {
            //ben blokladım hacı
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s blokkk"), pkVictim->GetName());
            return;
        }
        if (MessengerManager::instance().IsBlocked_Target(ch->GetName(), pkVictim->GetName()))
        {
            //o blokladı hacı
            ch->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("%s blokkk_me"), pkVictim->GetName());
            return;
        }
        #endif

    the second must be IsBlocked_me

    same thing for exchange.cpp

    same thing for imput_main.cpp : partyInvite

    cmd_emotion.cpp

  6. What i did wrong?


    input_main.cpp:832: warning: unused variable 'len_global'
    input_main.cpp: In member function 'int CInputMain::Messenger(CHARACTER*, const             char*, size_t)':
    input_main.cpp:1170: error: 'class MessengerManager' has no member named 'IsFriend'
    input_main.cpp:1176: error: 'class MessengerManager' has no member named 'IsBlocked'
    input_main.cpp:1216: error: 'class MessengerManager' has no member named 'IsFriend'
    input_main.cpp:1222: error: 'class MessengerManager' has no member named 'IsBlocked'
    input_main.cpp:1242: error: 'class MessengerManager' has no member named 'IsFriend'
     

     

    https://pastebin.com/ZjkqirLR

     

    https://pastebin.com/98tVyv4w

     

    https://pastebin.com/38YxJEQa

  7. La 10.09.2014 la 8:34, xP3NG3Rx a spus:

    Hi devs!

    The original equipment viewer is not updated for the new equipments I am thinking of costumes + rings + belt
    Here is the extended version.

    Images:

     

    Conținut ascuns




    Here are my modified files to root and uiscript package, the .py files:

    uiEquipDialog.py
    Pastebin ~ MEGA

    UIScriptEquipmentDialog.py
    Pastebin ~ MEGA

    UIScriptCostumeEquipmentDialog.py
    Pastebin ~ MEGA

    Ehm yeah this was the easiest part of this, now comin' the serverside and binary parts.
    Server:
    1.) Open gamepacket.h than search for: "typedef struct pakcet_view_equip" and replace all structure with this:

     

    
    typedef struct pakcet_view_equip
    {
    	BYTE	header;
    	DWORD	vid;
    	struct {
    		DWORD	vnum;
    		BYTE	count;
    		long	alSockets[ITEM_SOCKET_MAX_NUM];
    		TPlayerItemAttribute aAttr[ITEM_ATTRIBUTE_MAX_NUM];
    	} equips[16];
    } TPacketViewEquip;

    PS: lel "pakcet" xD nevermind Save&Close

    2.) Open char.cpp and search for this: "void CHARACTER::SendEquipment(LPCHARACTER ch)" and replace the event with this(Thanks ATAG):

    
    void CHARACTER::SendEquipment(LPCHARACTER ch)
    {
    	TPacketViewEquip p;
    	p.header = HEADER_GC_VIEW_EQUIP;
    	p.vid    = GetVID();
    	int pos[16] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 19, 20, 21, 22, 23 };
    	for (int i = 0; i < 16; i++)
    	{
    		LPITEM item = GetWear(pos[i]);
    		if (item)
    		{
    			p.equips[i].vnum = item->GetVnum();
    			p.equips[i].count = item->GetCount();
    
    			thecore_memcpy(p.equips[i].alSockets, item->GetSockets(), sizeof(p.equips[i].alSockets));
    			thecore_memcpy(p.equips[i].aAttr, item->GetAttributes(), sizeof(p.equips[i].aAttr));
    		}
    		else
    		{
    			p.equips[i].vnum = 0;
    		}
    	}
    	ch->GetDesc()->Packet(&p, sizeof(p));
    }

    Serverside done! - Build!


    Binary:
    1.) Open UserInterfacePacket.h than search for this: "typedef struct pakcet_view_equip" and replace with this:

     

    
    typedef struct pakcet_view_equip
    {
    	BYTE	header;
    	DWORD	dwVID;
    	TEquipmentItemSet equips[16];
    } TPacketGCViewEquip;

    PS: we met again with pakcet xD, Save&Close.

    2.) Open UserInterfacePythonNetworkStreamPhaseGame.cpp than search for this: "bool CPythonNetworkStream::RecvViewEquipPacket()" and replace with this:

    
    bool CPythonNetworkStream::RecvViewEquipPacket()
    {
    	TPacketGCViewEquip kViewEquipPacket;
    	if (!Recv(sizeof(kViewEquipPacket), &kViewEquipPacket))
    		return false;
    
    	PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "OpenEquipmentDialog", Py_BuildValue("(i)", kViewEquipPacket.dwVID));
    	for (int i = 0; i < 16; ++i)
    	{
    		TEquipmentItemSet & rItemSet = kViewEquipPacket.equips[i];
    		PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogItem", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, rItemSet.vnum, rItemSet.count));
    
    		for (int j = 0; j < ITEM_SOCKET_SLOT_MAX_NUM; ++j)
    			PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogSocket", Py_BuildValue("(iiii)", kViewEquipPacket.dwVID, i, j, rItemSet.alSockets[j]));
    
    		for (int k = 0; k < ITEM_ATTRIBUTE_SLOT_MAX_NUM; ++k)
    			PyCallClassMemberFunc(m_apoPhaseWnd[PHASE_WINDOW_GAME], "SetEquipmentDialogAttr", Py_BuildValue("(iiiii)", kViewEquipPacket.dwVID, i, k, rItemSet.aAttr[k].bType, rItemSet.aAttr[k].sValue));
    	}
    
    	return true;
    }

    Binaryside done! - Build!

    ---Edit----
    Multiple opening bugfix:
    Open interFaceModule.py and search for this: "def OpenEquipmentDialog(self, vid):" if you found it replace that function with this:

     

    
    	def OpenEquipmentDialog(self, vid):
    		if self.equipmentDialogDict.has_key(vid):
    			self.equipmentDialogDict[vid].Destroy()
    			self.CloseEquipmentDialog(vid)
    
    		dlg = uiEquipmentDialog.EquipmentDialog()
    		dlg.SetItemToolTip(self.tooltipItem)
    		dlg.SetCloseEvent(ui.__mem_func__(self.CloseEquipmentDialog))
    		dlg.Open(vid)
    
    		self.equipmentDialogDict[vid] = dlg

    Show the "View equip" button on the targetbar:
    Open uitarget.py and check this diff to fix it for yourself:
    https://www.diffchecker.com/lqi9xdb7

    (
    ----EndEdit----

    Ohh I almost forgot, here are the bgs ^^-> ui.7z - MEGA
    All done, press escape to exit... :')

    I tried to install this and it works,somehow.After i put the "system" only GM can use mount system i have 2 accounts side by side and when i use the white lion on GM it works when i use the lion on the player account the lion doesn't appear.sum help? (no error sysser client/server)

  8. Good evening metin2 dev.I have a problem when I close the launcher,every time i get the " ???????????????????????" and it's getting me crazy because i don't know how to solve it.

    sysser=0 errors

    ErrorLog.txt :

    Module Name: E:\shinote new\123\123\Metin2Distribute.exe
    Time Stamp: 0x592128b2 - (null)

    Exception Type: 0xc0000005

    eax: 0x00000000    ebx: 0x00000000
    ecx: 0x03b81f58    edx: 0x1e1fe760
    esi: 0x1e086860    edi: 0x03b81f58
    ebp: 0x0018fa50    esp: 0x0018fa0c

    0x1e07ad65    E:\shinote new\123\123\python27.dll
    0x005bd695    E:\shinote new\123\123\Metin2Distribute.exe
    0x00471895    E:\shinote new\123\123\Metin2Distribute.exe
    0x00474482    E:\shinote new\123\123\Metin2Distribute.exe
    0x0053e6c5    E:\shinote new\123\123\Metin2Distribute.exe
    0x755e8e71    C:\Windows\SYSTEM32\USER32.dll
    0x755e90d1    C:\Windows\SYSTEM32\USER32.dll
    0x755e932c    C:\Windows\SYSTEM32\USER32.dll
    0x755e9529    C:\Windows\SYSTEM32\USER32.dll
    0x77480596    C:\Windows\SYSTEM32\ntdll.dll
    0x004d3626    E:\shinote new\123\123\Metin2Distribute.exe
    0x004d398b    E:\shinote new\123\123\Metin2Distribute.exe
    0x005cad72    E:\shinote new\123\123\Metin2Distribute.exe
    0x74e37c04    C:\Windows\SYSTEM32\KERNEL32.DLL
    0x7749ab8f    C:\Windows\SYSTEM32\ntdll.dll
    0x7749ab5a    C:\Windows\SYSTEM32\ntdll.dll

    Please help :(.

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