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

Większa ilość pc.mount_bonus dla jednego ID


Zeph

Rekomendowane odpowiedzi

Opublikowano

Funkcja pc.mount_bonus opowiada za bonusy wierzchowców które można użyć w queście.

 

Standardowo można tylko raz, ponieważ kiedy da się więcej, dodany bon się włączy a ten pierwszy nie będzie działał.

 

Aby można było dodać więcej, robimy to co niżej.

 

Przechodzimy do ścieżki:

game/src

 

Otwieramy plik questlua_pc.cpp

 

Szukamy to:

int pc_mount_bonus(lua_State* L)
{
BYTE applyOn = static_cast<BYTE>(lua_tonumber(L, 1));
long value = static_cast<long>(lua_tonumber(L, 2));
long duration = static_cast<long>(lua_tonumber(L, 3));
 
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
 
if( NULL != ch )
{
ch->RemoveAffect(AFFECT_MOUNT_BONUS);
ch->AddAffect(AFFECT_MOUNT_BONUS, aApplyInfo[applyOn].bPointType, value, AFF_NONE, duration, 0, false);
}
 
return 0;
}

Zmieniamy to:

 

ch->RemoveAffect(AFFECT_MOUNT_BONUS);

 

Na to:

 

//ch->RemoveAffect(AFFECT_MOUNT_BONUS);
Opublikowano

 

Funkcja pc.mount_bonus opowiada za bonusy wierzchowców które można użyć w queście.

 

Standardowo można tylko raz, ponieważ kiedy da się więcej, dodany bon się włączy a ten pierwszy nie będzie działał.

 

Aby można było dodać więcej, robimy to co niżej.

 

Przechodzimy do ścieżki:

game/src

 

Otwieramy plik questlua_pc.cpp

 

Szukamy to:

int pc_mount_bonus(lua_State* L)
{
BYTE applyOn = static_cast<BYTE>(lua_tonumber(L, 1));
long value = static_cast<long>(lua_tonumber(L, 2));
long duration = static_cast<long>(lua_tonumber(L, 3));
 
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
 
if( NULL != ch )
{
ch->RemoveAffect(AFFECT_MOUNT_BONUS);
ch->AddAffect(AFFECT_MOUNT_BONUS, aApplyInfo[applyOn].bPointType, value, AFF_NONE, duration, 0, false);
}
 
return 0;
}

Zmieniamy to:

ch->RemoveAffect(AFFECT_MOUNT_BONUS);

Na to:

//ch->RemoveAffect(AFFECT_MOUNT_BONUS);

A nie podwajają Ci się bonusy po zalogowaniu/teleportacji?

Opublikowano

 

 

Funkcja pc.mount_bonus opowiada za bonusy wierzchowców które można użyć w queście.

 

Standardowo można tylko raz, ponieważ kiedy da się więcej, dodany bon się włączy a ten pierwszy nie będzie działał.

 

Aby można było dodać więcej, robimy to co niżej.

 

Przechodzimy do ścieżki:

game/src

 

Otwieramy plik questlua_pc.cpp

 

Szukamy to:

int pc_mount_bonus(lua_State* L)
{
BYTE applyOn = static_cast<BYTE>(lua_tonumber(L, 1));
long value = static_cast<long>(lua_tonumber(L, 2));
long duration = static_cast<long>(lua_tonumber(L, 3));
 
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
 
if( NULL != ch )
{
ch->RemoveAffect(AFFECT_MOUNT_BONUS);
ch->AddAffect(AFFECT_MOUNT_BONUS, aApplyInfo[applyOn].bPointType, value, AFF_NONE, duration, 0, false);
}
 
return 0;
}

Zmieniamy to:

ch->RemoveAffect(AFFECT_MOUNT_BONUS);

Na to:

//ch->RemoveAffect(AFFECT_MOUNT_BONUS);

A nie podwajają Ci się bonusy po zalogowaniu/teleportacji?

 

Po ponownym zalogowaniu czy wybraniu postaci mam tą samą ilość bonusów, po teleportacji również.

Po załadowaniu mapy ogólnie mi resetuje, więc nie mam z tym problemów.

Opublikowano

 

 

 

Funkcja pc.mount_bonus opowiada za bonusy wierzchowców które można użyć w queście.

Standardowo można tylko raz, ponieważ kiedy da się więcej, dodany bon się włączy a ten pierwszy nie będzie działał.

Aby można było dodać więcej, robimy to co niżej.

Przechodzimy do ścieżki:

game/src

Otwieramy plik questlua_pc.cpp

Szukamy to:

int pc_mount_bonus(lua_State* L)
{
BYTE applyOn = static_cast<BYTE>(lua_tonumber(L, 1));
long value = static_cast<long>(lua_tonumber(L, 2));
long duration = static_cast<long>(lua_tonumber(L, 3));
 
LPCHARACTER ch = CQuestManager::instance().GetCurrentCharacterPtr();
 
if( NULL != ch )
{
ch->RemoveAffect(AFFECT_MOUNT_BONUS);
ch->AddAffect(AFFECT_MOUNT_BONUS, aApplyInfo[applyOn].bPointType, value, AFF_NONE, duration, 0, false);
}
 
return 0;
}

Zmieniamy to:

ch->RemoveAffect(AFFECT_MOUNT_BONUS);

Na to:

//ch->RemoveAffect(AFFECT_MOUNT_BONUS);
A nie podwajają Ci się bonusy po zalogowaniu/teleportacji?
Char_affect, NO_CLEAR_AFTER_DEATH.

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...