Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Rekomendowane odpowiedzi

Opublikowano

Witam, chciałbym zapytać czy jest możliwość zrobienia w queście funkcji coś w stylu komendy GM, gdy wpisujemy /go X Y to przenosi nas na podane kordynaty BEZ ładowania(jak to jest w przypadku komendy /warp). Wiem, że jest komenda, która za to odpowiada d.jump_all, ale tego używa się w dungeonie, mi zależy na tym, aby można to było zrobić bez dunga, po prostu na mapie o podanym indeksie, gdy się porozmawia z NPC on nas przenosi w dany obszar, bez ładowania paska gry.

Opublikowano

Nie wiem czy to jest ta:

pc.warp_local(x, y)

albo

 

 pc.set_warp_location(index, x, y)

Zawsze możesz ustawić ze gracz jest w dungeonie po kliknieciu na npc a potem to usunac po przeniesienu.

Opublikowano

niestety, obydwie te komendy przenoszą z paskiem ładowania, mógłbyś pokazać przykład jak tego użyć "Zawsze możesz ustawić ze gracz jest w dungeonie po kliknieciu na npc a potem to usunac po przeniesienu."

Opublikowano

To jest jeszcze:

pc.set_warp_location_local(index, x, y)

Chodziło mi żeby zrobić dungeon na danej mapie.

Tylko to chyba trzeba d.join(pc.get_map_index()) a d.join przenosi no chyba ze od razu będziesz tak robił kiedy ktoś w pierścieniu tp wybierze tą mape to wtedy można by używać d.jump

Opublikowano

Niestety te komendy nie trybią, próbuję na przeróżne sposoby i nic.

 

Co do src, tutaj mam kod z questlua_dungeon.cpp odnoścnie jump_all

	int dungeon_jump_all(lua_State* L)
	{
		if (lua_gettop(L)<2 || !lua_isnumber(L, 1) || !lua_isnumber(L,2))
			return 0;

		LPDUNGEON pDungeon = CQuestManager::instance().GetCurrentDungeon();

		if (!pDungeon)
			return 0;

		pDungeon->JumpAll(pDungeon->GetMapIndex(), (int)lua_tonumber(L, 1), (int)lua_tonumber(L, 2));
		return 0;
	}

jak to przekształcić na funkcję do użycia bez dungeonu?

Opublikowano

Podpinam się pod pytanie

 

napisałem takie coś w questlua_global.cpp 

	int pc_jump_all(lua_State * L)
	{
		int x, y;
		if (lua_gettop(L)<2 || !lua_isnumber(L, 1) || !lua_isnumber(L,2))
			return 0;

		LPCHARACTER pChar = CQuestManager::instance().GetCurrentCharacterPtr();
		long lMapIndex = (long) lua_tonumber(L, 1);

		pChar->Show(lMapIndex, x, y, 0); 
		return 0;
	}

w queście wpisuję

pc.jump_all(pc.get_map_index(), 136, 100)

lecz niestety nie działa, wydaje mi się, że ta funkcja jest źle napisana, mógłbyś powiedzieć co jest źle?

 

@Endymion

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...