Skocz do zawartości
Opublikowano

Witam, napotkalem sie na irytujący problem podczas pisania dungeonów.
Mianowicie: Jeśli mam counter na dungeonie lub jakąkolwiek akcje typu when kill to w przypadku gdy:
Zadam śmiertelny cios potworowi (załóżmy, że mam go na hita) -> potworowi ustawiane jest 0 hp i efekt tego otumanienia/przekręcenia/gonka chuj wie jak to nazwac, a gra dobija go i kłądzie na ziemie po około 2sek lub kolejnym hicie.
PROBLEM: W przypadku wystapienia tej sytuacji (jeden strzał śmiertelny) i wyjściu z dungeona, ten mob padnie,gdy nie będę wewnątrz dunga, więc kod, który jest przy when kill sie nie wykona i kolejne pietro/flaga lub cokolwiek nie zostanie poprawnie ustawiona. Nie jest to zbyt czesty przypadek, jednak istnieje i czy ktoś ma pomysł co tu z tym zrobić?

Zdjęcie obrazujące o co chodzi (szmata teoretycznie już jest martwa, a jednak nie do końca... można by powiedzieć: szmata szrodingera)

image.png

Rozwiązane przez Thorek

Przejdź do rozwiązania

Featured Replies

Opublikowano
  • Programista
  • Rozwiązanie

Spróbuj od końca podmienić w bool CHARACTER::Damage(...)

  if (GetHP() <= 0) {
    // @sndth002 BEGIN
    if (IsPC())
      Stun();
    else
      Dead();

    if (pAttacker) {
      if (pAttacker->IsNPC())
        m_dwKillerPID = 0;
      else
        m_dwKillerPID = pAttacker->GetPlayerID();
    }
    // @sndth002 END
  }

  return false;
}
Opublikowano
  • Autor
32 minuty temu, Thorek napisał(a):

Spróbuj od końca podmienić w bool CHARACTER::Damage(...)

  if (GetHP() <= 0) {
    // @sndth002 BEGIN
    if (IsPC())
      Stun();
    else
      Dead();

    if (pAttacker) {
      if (pAttacker->IsNPC())
        m_dwKillerPID = 0;
      else
        m_dwKillerPID = pAttacker->GetPlayerID();
    }
    // @sndth002 END
  }

  return false;
}

zajebiste, dzięki :) Proste a jakże skuteczne (mam nadzieje).

  • Januszek zablokował(a) ten temat
Gość
Ten temat został zamknięty. Brak możliwości dodania odpowiedzi.