Opublikowano 6 Grudnia 20231 r Panowie mam pytanko. Chciałbym zrobić tak, żeby nie tracić punktów rangi po zabijaniu, ponieważ będę robił serwer tylko dla paru moich znajomych i dzielimy się na dwa teamy w jednym królestwie. Konkurencja będzie wyglądać tak, że jedyna opcja w walce o bossy będzie musiała się opierać na zabijaniu w trybie wolnym, oraz gildyjnym. Zdaję sobie sprawę, że też będzie trzeba ogarnąć kod w trybie pt jak np tu w char_battle : if (number(1, 100) < iNoPenaltyProb) pkKiller->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żë˝ĹŔÇ ş¸ČŁ·Î ľĆŔĚĹŰŔĚ ¶łľîÁöÁö ľĘľŇ˝Ŕ´Ď´Ů.")); else { if (g_iUseLocale && pkKiller->GetParty()) { FPartyAlignmentCompute f(-20000, pkKiller->GetX(), pkKiller->GetY()); pkKiller->GetParty()->ForEachOnlineMember(f); if (f.m_iCount == 0) pkKiller->UpdateAlignment(-20000); else { sys_log(0, "ALIGNMENT PARTY count %d amount %d", f.m_iCount, f.m_iAmount); f.m_iStep = 1; pkKiller->GetParty()->ForEachOnlineMember(f); } } else pkKiller->UpdateAlignment(-20000); } Żeby tego nie robić głupio wolałbym się doradzić kogoś. Który kod dokładnie edytować czy usunąć (jeśli chodzi o edycje to dobrze jakby ktoś kumaty pomógł) Pozdrawiam
Opublikowano 6 Grudnia 20231 r Autor Edytowałem -20000 na 0 i rangi nie tracę. Działa, ale jeśli jest rozsądniejsze rozwiązanie to prosiłbym o info.
Opublikowano 7 Grudnia 20231 r Rozwiązanie @Drip-133 Tak, wystarczy zmiana wartości na 0 lub użyć komentarzy. if (number(1, 100) < iNoPenaltyProb) { pkKiller->ChatPacket(CHAT_TYPE_INFO, LC_TEXT("żë˝ĹŔÇ ş¸ČŁ·Î ľĆŔĚĹŰŔĚ ¶łľîÁöÁö ľĘľŇ˝Ŕ´Ď´Ů.")); } else { if (g_iUseLocale && pkKiller->GetParty()) { FPartyAlignmentCompute f(0, pkKiller->GetX(), pkKiller->GetY()); pkKiller->GetParty()->ForEachOnlineMember(f); if (f.m_iCount == 0) { // pkKiller->UpdateAlignment(0); } else { sys_log(0, "ALIGNMENT PARTY count %d amount %d", f.m_iCount, f.m_iAmount); f.m_iStep = 1; pkKiller->GetParty()->ForEachOnlineMember(f); } } else { // pkKiller->UpdateAlignment(0); } }