Skocz do zawartości
Opublikowano

Cześć mam 3 pytania , na 1 już chyba widziałem tutaj fixa lecz nie mogę go znaleźć.

  1. To emotki na koniu źle się wyświetlają tzn. pokazują się w postaci.

  2. Gdzie zmienić to :

    Przechwytywanie.PNG

    To znaczy tą nazwę konia. Brak spacji miedzy nickiem a Koń ;D

  3. Oraz gdzie zmienić Nick żeby był wyżej:

    Przechwytywanie2.PNG

Rozwiązane przez Sevence

Przejdź do rozwiązania

Featured Replies

Opublikowano



o to chodziło?

Edytowane przez Igor

Opublikowano
  • Autor
27 minut temu, Igor napisał(a):



o to chodziło?

nie to nie to .

Opublikowano
  • Autor

F5

Opublikowano
  • Rozwiązanie

Co do emotikon ten powyższy temat również powinien to rozwiązać, a jeśli nie to musisz dodać do wysokości w SetEmoticon gdy postać jest na koniu. A co do nazwy konia to w char_horse - CHARACTER::HorseSummon jest setowana nazwa.

Opublikowano
  • Autor
23 minuty temu, Sevence napisał(a):

Co do emotikon ten powyższy temat również powinien to rozwiązać, a jeśli nie to musisz dodać do wysokości w SetEmoticon gdy postać jest na koniu. A co do nazwy konia to w char_horse - CHARACTER::HorseSummon jest setowana nazwa.

tak masz racje pomogło do Emotek a tu mam kod z HorseSummon :

void CHARACTER::HorseSummon(bool bSummon, bool bFromFar, DWORD dwVnum, const char* pPetName)
{
	if ( bSummon )
	{
		//NOTE : summonÇߴµĄ ŔĚąĚ horse°ˇ ŔÖŔ¸¸é ľĆą«°Íµµ ľČÇŃ´Ů.
		if( m_chHorse != NULL )
			return;

		if (GetHorseLevel() <= 0)
			return;

		// ą«ľđ°ˇ¸¦ Ÿ°í ŔÖ´Ů¸é ˝ÇĆĐ
		if (IsRiding())
			return;

		sys_log(0, "HorseSummon : %s lv:%d bSummon:%d fromFar:%d", GetName(), GetLevel(), bSummon, bFromFar);

		long x = GetX();
		long y = GetY();

		if (GetHorseHealth() <= 0)
			bFromFar = false;

		if (bFromFar)
		{
			x += (number(0, 1) * 2 - 1) * number(2000, 2500);
			y += (number(0, 1) * 2 - 1) * number(2000, 2500);
		}
		else
		{
			x += number(-100, 100);
			y += number(-100, 100);
		}

		m_chHorse = CHARACTER_MANAGER::instance().SpawnMob(
				(0 == dwVnum) ? GetMyHorseVnum() : dwVnum, 
				GetMapIndex(), 
				x, y,
				GetZ(), false, (int)(GetRotation()+180), false);

		if (!m_chHorse)
		{
			ChatPacket(CHAT_TYPE_INFO, LC_TEXT("¸» ĽŇČŻżˇ ˝ÇĆĐÇĎż´˝Ŕ´Ď´Ů."));
			return;
		}

		if (GetHorseHealth() <= 0)
		{
			// Á×Ŕş°ĹĂł·ł ŔÖ°Ô ÇĎ´Â Ăł¸®
			m_chHorse->SetPosition(POS_DEAD);

			// ŔĎÁ¤˝Ă°ŁŔÖ´Ů »ç¶óÁö°Ô ÇĎŔÚ.
			char_event_info* info = AllocEventInfo<char_event_info>();
			info->ch = this;
			m_chHorse->m_pkDeadEvent = event_create(horse_dead_event, info, PASSES_PER_SEC(60));
		}

		m_chHorse->SetLevel(GetHorseLevel());

		const char* pHorseName = CHorseNameManager::instance().GetHorseName(GetPlayerID());

		if ( pHorseName != NULL && strlen(pHorseName) != 0 )
		{
			m_chHorse->m_stName = pHorseName;
		}
		else
		{
			m_chHorse->m_stName = GetName();
			m_chHorse->m_stName += LC_TEXT("´ÔŔÇ ¸»");
		}

		if (!m_chHorse->Show(GetMapIndex(), x, y, GetZ()))
		{
			M2_DESTROY_CHARACTER(m_chHorse);
			sys_err("cannot show monster");
			m_chHorse = NULL;
			return;
		}

		if ((GetHorseHealth() <= 0))
		{
			TPacketGCDead pack;
			pack.header	= HEADER_GC_DEAD;
			pack.vid    = m_chHorse->GetVID();
			PacketAround(&pack, sizeof(pack));
		}

		m_chHorse->SetRider(this);
	}
	else
	{
		if (!m_chHorse)
			return;

		LPCHARACTER chHorse = m_chHorse;

		chHorse->SetRider(NULL); // m_chHorse assign to NULL

		if (!bFromFar)
		{
			M2_DESTROY_CHARACTER(chHorse);
		}
		else
		{
			// ¸ÖľîÁö¸éĽ­ »ç¶óÁö´Â Ăł¸® Çϱâ
			chHorse->SetNowWalking(false);
			float fx, fy;
			chHorse->SetRotation(GetDegreeFromPositionXY(chHorse->GetX(), chHorse->GetY(), GetX(), GetY())+180);
			GetDeltaByDegree(chHorse->GetRotation(), 3500, &fx, &fy);
			chHorse->Goto((long)(chHorse->GetX()+fx), (long) (chHorse->GetY()+fy));
			chHorse->SendMovePacket(FUNC_WAIT, 0, 0, 0, 0);
		}

		m_chHorse = NULL;
	}
}

i tutaj chyba nazwe daje jak dobrze kumam lecz gdzie dać spacje miedzy nickiem a koniem ;D

const char* pHorseName = CHorseNameManager::instance().GetHorseName(GetPlayerID());

		if ( pHorseName != NULL && strlen(pHorseName) != 0 )
		{
			m_chHorse->m_stName = pHorseName;
		}
		else
		{
			m_chHorse->m_stName = GetName();
			m_chHorse->m_stName += LC_TEXT("´ÔŔÇ ¸»");
		}
Opublikowano

W locale_string wyszukaj sobie koń i dupnij spację przed szczerze mówiąc jednak ta spacja gdzieś indziej jest dodawana.

Opublikowano
  • Autor

Można zamknąć ogarnięte , dziekuje @Sevence

  • Sevence zmienił(a) tytuł na Jak naprawić pozycję nazwy nad koniem i emotke na koniu?
  • Sevence zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.