Jump to content
Sign in to follow this  
.hack//ROOTS

gremio Sistema de valla de gremio SRC completo

Recommended Posts

O0XI4vB.png

oEzh5HW.png

nijcXtY.png

w5lM0dK.png

Hola,
Valla de guerra de gremios, sistema de obstáculos, no se requiere ninguna intervención.
La batalla comienza a contar 30 segundos después de 2 minutos. Cuando se acaba el tiempo, los obstáculos desaparecen.

No sabía qué se vendía por una tarifa, investigué y lo probé a tiempo.

w5lM0dK.png

Quote
//war_map.cpp

Arat:
EVENTFUNC(war_begin_event)

Fonksiyonun altına ekle:
EVENTFUNC(war_begin_protection_event)
{
	war_map_info* info = dynamic_cast<war_map_info*>(event->info);

	if (info == NULL)
	{
		sys_err( "war_begin_protection_event> <Factor> Null pointer" );
		return 0;
	}

	CWarMap* pMap = info->pWarMap;

	if (pMap->GetBeginProtectionStatus() == false)
	{
		DWORD dwElapsedTime = get_dword_time() - pMap->GetStartTime();
		if (dwElapsedTime >= 180000) {
			pMap->SetBeginProtectionStatus(true);
			pMap->Notice("Savas basladi!");
			SECTREE_MANAGER::instance().PurgeNPCsInMap(pMap->GetMapIndex());
		}
		else {
			char szNoticeText[512];
			snprintf(szNoticeText, sizeof(szNoticeText), "Savas %ld saniye icinde baslayacak.", 179 - (dwElapsedTime / 1000));
			pMap->Notice(szNoticeText);
		}
	}

	return PASSES_PER_SEC(1);
}

Arat:
void CWarMap::SetBeginEvent(LPEVENT pkEv)

Fonksiyonun altına ekle:
void CWarMap::SetEndEvent(LPEVENT pkEv)
{
	if (m_pkEndEvent != NULL) {
		event_cancel(&m_pkEndEvent);
	}
	if (pkEv != NULL) {
		m_pkEndEvent = pkEv;
	}
}

Arat:
    event_cancel(&m_pkBeginEvent);

Altına ekle:
    event_cancel(&m_pkBeginProtectionEvent);
	
Arat:
    m_dwStartTime = get_dword_time();
    m_bEnded = false;

Altına ekle:
    m_bBeginProtectionCompleted = false;
	
Arat:
void CWarMap::IncMember(LPCHARACTER ch)

Bul:
    if (isWarMember)
    {

Altına ekle:
        if (m_set_pkChr.empty()) {
            m_dwFirstLogonTime = get_dword_time();
            SetBeginProtectionEvent(event_create(war_begin_protection_event, info, PASSES_PER_SEC(1)));
        }
		
Arat:
	if (GetType() == WAR_MAP_TYPE_FLAG)
	{
		AddFlagBase(0);
		AddFlagBase(1);
		AddFlag(0);
		AddFlag(1);
	}
Altına Ekle:
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 127 * 100 + 32000, 102 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 120 * 100 + 32000, 109 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 115 * 100 + 32000, 114 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 109 * 100 + 32000, 120 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 103 * 100 + 32000, 126 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 99 * 100 + 32000, 130 * 100 + 0, 2, false, 225, true);

	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 156 * 100 + 32000, 129 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 151 * 100 + 32000, 134 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 146 * 100 + 32000, 139 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 141 * 100 + 32000, 144 * 100 + 0, 2, false, 225, true);
	CHARACTER_MANAGER::instance().SpawnMob(20387, GetMapIndex(), 134 * 100 + 32000, 151 * 100 + 0, 2, false, 225, true);
	
-------------------------------------------------

//war_map.h

Arat:
        void    SetBeginEvent(LPEVENT pkEv);

Altına ekle:
        void    SetBeginProtectionEvent(LPEVENT pkEv);

Arat:
        LPEVENT        m_pkBeginEvent;

Altına ekle:
        LPEVENT        m_pkBeginProtectionEvent;
		
Arat:
        void    DecMember(LPCHARACTER ch);

Altına ekle:
        DWORD    GetStartTime();
        bool    GetBeginProtectionStatus();
        void    SetBeginProtectionStatus(bool bNewStat);

Arat:
        bool        m_bEnded;

Altına ekle:
        bool        m_bBeginProtectionCompleted;
        DWORD         m_dwFirstLogonTime;

 

Como se quedaria agregado:

Quote

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

Debes iniciar sesión para ver el contenido del enlace en esta publicación.

 

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...