Jump to content

Poeta

Premium
  • Posts

    28
  • Joined

  • Last visited

  • Feedback

    0%

Posts posted by Poeta

  1. 10 minutes ago, Amun said:

    Ah, no, it's 5000ms since the player attacked someone, not the other way around.

    If you want it to happen only when you get hit, then do the following:

     

    Necessary setup:

      Hide contents
    // char.h
    // find
    		DWORD			GetLastAttackTime() const	{ return m_dwLastAttackTime; }
    
    // add
    		void			MarkPVPHitReceived(uint32_t time) { m_LastPVPHitReceivedTime = time; }
    		uint32_t		GetLastPVPHitReceivedTime() const	{ return m_LastPVPHitReceivedTime; }
    
    // find
    		DWORD			m_dwLastAttackTime;
    
    // add
    		uint32_t		m_LastPVPHitReceivedTime;
    
    
    // char.cpp
    // find
    	m_bAddChrState = 0;
    
    // add
    	m_LastPVPHitReceivedTime = 0;
    
    
    // char_battle.cpp
    
    // find
    	if (!cannot_dead)
    	{
    		PointChange(POINT_HP, -dam, false);
    	}
    
    // add
    		if (IsPC() && pAttacker && pAttacker->IsPC())
    			MarkPVPHitReceived(get_dword_time());

     

     

    Actual blocking of the horse:

      Hide contents
    // cmd_general.cpp
    // find
    ACMD(do_user_horse_ride)
    {
    	...
    	// and edit this:
    	if (ch->IsHorseRiding() == false)
    	{
    		if (get_dword_time() - ch->GetLastPVPHitReceivedTime() < 5000)
    			return;
    
    }
    
    // find
    ACMD(do_ride)
    {
    	...
    	{
    		if (get_dword_time() - ch->GetLastPVPHitReceivedTime() < 5000)
    			return;
    
    		if (ch->GetHorse())
    		{
    			ch->StartRiding();
    			return;
    		}
    	...
    }
    
    
    
    // cmd_gm.cpp
    // find and edit
    ACMD(do_horse_ride)
    {
    	if (ch->IsHorseRiding())
    		ch->StopRiding();
    	else
    	{
    		if (get_dword_time() - ch->GetLastPVPHitReceivedTime() < 5000)
    			return;
    
    		ch->StartRiding();
    	}
    }

     

    If you use some mount system you'll probably have to add it in there as well. Also, I don't know which of the three commands I gave you are used, I didn't check, so I just gave you all of them.

     

    Good luck

    Thanks brother will test all options. Wish you everything good

    • Love 1
  2. 44 minutes ago, Amun said:
    // char.h
    	void				ClearStone();
    
    // Replace with
    	void				ClearStone(LPCHARACTER pkKiller = nullptr);
    
    
    
    // char.cpp
    void CHARACTER::ClearStone()
    
    // Replace with this
    void CHARACTER::ClearStone(LPCHARACTER pkKiller)
    {
    	if (!m_set_pkChrSpawnedBy.empty())
    	{
    		// Kill all monsters I spawned.
    		FuncDeadSpawnedByStone f(pkKiller);
    		std::for_each(m_set_pkChrSpawnedBy.begin(), m_set_pkChrSpawnedBy.end(), f);
    		m_set_pkChrSpawnedBy.clear();
    	}
    
    	if (!m_pkChrStone)
    		return;
    
    	m_pkChrStone->m_set_pkChrSpawnedBy.erase(this);
    	m_pkChrStone = nullptr;
    }
    
    
    // Find this struct and replace it
    struct FuncDeadSpawnedByStone
    {
    private:
    	LPCHARACTER m_pkKiller;
    
    public:
    	FuncDeadSpawnedByStone(LPCHARACTER pkKiller) : m_pkKiller(pkKiller)
        {}
    
    	void operator () (LPCHARACTER ch)
    	{
    		ch->Dead(m_pkKiller);
    		ch->SetStone(nullptr);
    	}
    };
    
    
    // char_battle.cpp
    		if (IsStone())
    			ClearStone();
    
    // replace with
    		if (IsStone())
    			ClearStone(pkKiller);

     

    I didn't even try to compile it. Lemme know if it works

    Well thank you for saving me again. i will try and let you know 

    • Good 1
  3. 1 hour ago, Amun said:
    if (get_dword_time() - ch->GetLastAttackTime() < 5000)
    	return;

    I assume you don't want them blocked on the horse, so just block the riding.

    Global search in game for ch->StartRiding(); and do your magic wherever you want. You may want to change that 5k with a global variable.

    Hi thank you for the reply @ Amun really appreciate your time.

    But yeah my goal is just to block them to Mount after getting 1hit by a Player.

    This 5k represent the last time the player got a hit from another player?

    Just want to add 7-10secs max so he can only Mount and run after that time.  

  4. Hello guys hows everyone doing?
    I would like to ask help for those who understand more about it regarding this topics:

    1- Killing Stones too fast (high dmg) and not recieving the same amount of EXP / YANG from monsters compared to someone with (low dmg)

    If i have low dmg and all monsters spawn from the Stone and i manage to kill all of them before finishing the Stone HP i get good Yang / Exp

    But with Higher dmd thats not happening and i recieve less.

    2- I would like to ask for info about: Where i can change this to maintain the same for both situations.

    3-What file / If is to hard to do it or complicated.

    Hope i can fix this issue with your help and thank you everyone who is going to reply to this. Really appreciate you all and this platform. For helping everyone constantly. 

    • Good 1
  5. As i mentioned on the tittle me and my team we are looking for a Designer to work for us on a Server Presentation.

    If you reading this and you know someone or you have experience and past works that you can show me feel free to contact me so we can talk about pricings and what we need from you! 

    Examples of what we looking for: 

    Presentation Example 1
    Presentation Example 2
    Presentation Example 3
    Presentation Example 4
    Presentation Example 5

    Remember that we gonna provide all the images needed and work with you 24/7 for all questions you may have.. Contact me 

    Discord: cHs_tv#8155

    Instagram 

     

    • Love 1
  6. Version of Files XXX

    Hello everyone im here again to ask for help if possible from those who understand about this ..

    Im having a problem at PServer! Im trying to create a guild and when i confirm the name and press "Create" after a few seconds i get disconnected!

     

    If i use the command "/makeguild" i dont have any problem at all and for that i need an GM acc. 

    And im looking for a fix where the "player function of create by him self" stay working fine!

    Oh one more thing i tried to paste the same files i have on this Machine for one with the same files + source and after doing that on my "Test Server" is everything working fine..

    But when comes to the "Oficial Server" i got that "dc" after trying to create.

     

    This is what i got on my "syserr" after the dc

     

    My biggest problem here is to understand why is this happening + if i "copy paste" to another Machine with the same files why on the Test Server is working and at Official i got dc?

    Ofc if someone can provide that information with i would like to know: Wish  file i need to change and why and with what code. 

    If is a complicated thing to solve i can pay for that as well i just need to have that working so my friend can keep working in another things..

     

    Thanks, Sincerly, Poeta
     

     

  7. @arves100 Sorry i forgot to mention that me and my friend who are working on that we found a solution. Im still waiting for his answer about where he changed or did to paste here for those who may have the same problem in the future! But yes you right was on those files.

    Thank you everyone who tried to help. I will keep posting stupid questions like that to see if i learn more about it. Tbh this forum is friendly as fuck so i hope you all understand :D

  8. @WeedHex Thats everything i have on my syserr:

     

    Jul  4 17:16:11 :: LOG: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip) VALUES('CHARACTER', NOW(), 1, 964686, 274135, 0, 'WARP', '123123 MapIdx 41 DestMapIdx0 DestX344000 DestY502500 1', '77.54.109.92')
    Jul  4 17:16:11 :: LOG: INSERT DELAYED INTO command_log (userid, server, ip, port, username, command, date ) VALUES(1, 999, '77.54.109.92', 1, '123123', 'go d', NOW()) 
    Jul  4 17:16:11 :: GLOBAL_TIME: Jul  4 17:16:11 time_gap 0
    Jul  4 17:16:11 :: SAVE: 123123 344000x502500
    Jul  4 17:16:12 :: DISCONNECT: 123123 (DESC::~DESC)
    Jul  4 17:16:12 :: LOG: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip) VALUES('CHARACTER', NOW(), 1, 964686, 274135, 0, 'LOGOUT', '77.54.109.92 1999978999 0 0 1 41 10', '77.54.109.92')
    Jul  4 17:16:12 :: Click Quest : MatchingQuest
    Jul  4 17:16:12 :: SAVE: 123123 344000x502500
    Jul  4 17:16:12 :: QUEST clear timer 0
    Jul  4 17:16:12 :: LOG: INSERT DELAYED INTO log (type, time, who, x, y, what, how, hint, ip, vnum) VALUES('ITEM', NOW(), 3, 31, 0, 10000009, 'SET_SOCKET', '', '', 71224)

     

    Sorry about this questions..  and thanks everyone whos trying  to help..

  9. Version of Files XXX

    Hello everyone im having this error and when i log on my P Server and i teleport my client crash and close instantly  

    Im kind of new on the area but after a few changes.. i tried to use old backups from 5days and even 1 week ago but i always get the same error.. After teleport to any map my client just close and i get this message on sysser:

     

    0704 13:39:25410 :: no argument name
    0704 13:39:25410 ::  !! PARSING ERROR - Unknown Arguments : 9, |6;Cancel

    0704 13:40:01438 :: no argument name
    0704 13:40:01438 ::  !! PARSING ERROR - Unknown Arguments : 9, |6;Cancel

     

    Can someone help me with that problem? 

     

     

    Thanks, Sincerly,
    Poeta

     

  10. Hi @r00t sorry i dont have your experience about it but what do you mean with: "if you find a way to start ONLY with patcher you block it"  I have been " dreaming about keep learning stuffs about metin2 servers and how to create and prevent my self and my server from things Like M2BOB and my conclusion is .. 10 Tells me that is impossible now in 2020 to block it and 10 tells me that you can block it.. Now my main question is: Instead of "svside" do you know any other better or a decent service that can really block it? Price is not a problem to be honest if is really a good service i mean : if you dont have the knowledge you need to find someone ho does for a price!  

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