{% extends 'base.html' %} {% block title %}{{character.name}} · {{panel_brand}}{% endblock %} {% block content %} {% from '_macros.html' import tooltip %} ← Powrót do graczy

PODGLĄD POSTACI

{{character.job_name}}

{{character.name}}{% if character.gm_rank %}GM{% endif %} · {{character.job_name}} · poziom {{character.level}}

{{character.class_profile.gender}} · portret z klienta gry

{% set empire=empire_info(character.empire) %}{% if empire.flag %}{{empire.name}}{{empire.name}}{% endif %}HP {{character.hp}} / {{character.max_hp}}MP {{character.mp}} / {{character.max_mp}}Yang {{'{:,}'.format(character.gold or 0).replace(',', ' ')}}{{map_name(character.map_index)}}{% if character.channel %}{{'📡' if character.channel_live else '💤'}} CH{{character.channel}}{% endif %}⏱ {{character.playtime_hours}} h {{character.playtime_minutes}} min🕐 Ostatnio: {{character.last_play.strftime('%d.%m.%Y %H:%M') if character.last_play else '—'}}💎 {{'{:,}'.format(character.cash).replace(',', ' ')}} Smoczych Monet{% if character.marriage_partner %}💍 Poślubiony/a z {{character.marriage_partner}}{% endif %}{% if character.guild_name %}🏯 {{character.guild_name}}{% if character.guild_grade %} ({{character.guild_grade}}){% endif %}{% endif %}{% for p in character.premiums %}⭐ {{p.label}} do {{p.expires.strftime('%d.%m.%Y')}}{% else %}⭐ Brak aktywnego VIP{% endfor %}
{% if offline_shop %}🏪 Zobacz sklepik{% endif %}
❤ PŻ
{{character.hp_percent}}%
✦ PM
{{character.mp_percent}}%
⚡ EXP
{{character.experience.percent}}% · {{'{:,}'.format(character.experience.current).replace(',', ' ')}} / {{'{:,}'.format(character.experience.required).replace(',', ' ')}}
Pozycja
{{character.x}}, {{character.y}}
Ranga
{{character.honor.title}} · {{'{:,}'.format(character.honor.points).replace(',', ' ')}} pkt
Osobowość
{{character.personality}}
{% if character.persona %}
Persona
{{character.persona}}
Nastrój
{{character.mood}}{% if character.hold %} · {{character.hold}}{% endif %}{% if character.mood_lock %} ({{character.mood_lock}}){% endif %}
{% endif %}
Ambicja
{{character.ambition}}
Aktualny cel
{{character.goal}}
Akcja
{{character.action}}
Koń
Lv {{character.horse_level}}
{% if mission_progress %}

📋 Kartoteka misji

{% for m in mission_progress %}
{{m.label}}{{m.current}} / {{m.target}} {{m.unit}}
{% endfor %}
{% endif %}

📊 Statystyki

STR{{character.st}}
VIT{{character.ht}}
DEX{{character.dx}}
INT{{character.iq}}

Nierozdane: {{character.stat_point or 0}} pkt statystyk · {{character.skill_point or 0}} pkt umiejętności

✨ Umiejętności

{% for skill in character.skills %}
{{skill.name}}{{skill.rank}}
{{skill.name}}Ranga: {{skill.rank}}
{% else %}

Postać nie wybrała jeszcze profesji.

{% endfor %}{% for skill in character.passive_skills %}
{{skill.name}}{{skill.rank}}
{{skill.name}}Ranga: {{skill.rank}} · poziom {{skill.level}}
{% endfor %}
{% if offline_shop %}

{{offline_shop.map_name}}, współrzędne {{offline_shop.x}}, {{offline_shop.y}}.{% if offline_shop.expired %} Czas sklepu wygasł — oferta nie jest już aktywna.{% endif %}

{% endif %}

📜 Historia ekwipunku

{% for line in gear_history %}
{{line.label}} {{line.item}}{% if line.detail %} {{line.detail}}{% endif %}
{% else %}

Brak zapisanych zdarzeń ekwipunku.

{% endfor %}

📟 Dziennik zdarzeń bota (logi na żywo)

Linie z logu rdzenia gry wspominające tę postać — zbierane od otwarcia tej strony, nie znikają między odświeżeniami.

Wczytywanie logów…

🏆 Statystyki postaci (panel Y)

Zabite potwory (ogółem){{'{:,}'.format(character_stats.monsters).replace(',', ' ')}}
Pokonane bossy{{character_stats.bosses}}
Pokonane minibossy{{character_stats.minibosses}}
Zniszczone kamienie Metin{{character_stats.metins}}
Pokonani gracze (przeciwne królestwo){{character_stats.pvp_kills}}
Wygrane pojedynki{{character_stats.duel_wins}}
Wykopane rudy{{character_stats.mining}}
Złowione ryby{{character_stats.fishing}}
Śmierci (łącznie){{character_stats.deaths_total}}
Śmierci od potworów{{character_stats.deaths_by_mob}}
Śmierci od graczy{{character_stats.pvp_deaths}}
Największe obrażenia (zwykłe){{'{:,}'.format(character_stats.damage_max).replace(',', ' ')}}
Największe obrażenia (konno){{'{:,}'.format(character_stats.damage_max_horse).replace(',', ' ')}}
Największe obrażenia (umiejętność){{'{:,}'.format(character_stats.damage_max_skill).replace(',', ' ')}}
Pomyślne ulepszenia{{character_stats.refine_success}}
Spalone przedmioty u Kowala{{character_stats.refine_burned}}
Zdobyty Yang (łącznie){{'{:,}'.format(character_stats.gold_earned).replace(',', ' ')}}
Yang ze sprzedaży u NPC{{'{:,}'.format(character_stats.gold_from_shop_sale).replace(',', ' ')}}

Źródło: tabela silnika player_special_flag (system PLAYER_STATS_*), zapisywana po stronie serwera przy każdej zmianie — dokładnie ten sam licznik, który wypełnia okno "Statystyki" pod klawiszem Y w grze. Cztery pola z panelu Y — ukończone lochy, zebrane kwiaty, otwarte skrzynie, ukończone księgi misji — są zdefiniowane w silniku, ale nigdy nie są zwiększane przez żaden kod gry na tej wersji serwera, więc nie mają tu żadnej wartości do pokazania.

{% if takeover_bot %}

🎮 Przejmij bota

Bot wyloguje się z gry, a Ty zalogujesz się na jego konto w kliencie gry. Po upływie czasu bot wraca do swoich zajęć – także wtedy, gdy nadal jesteś zalogowany (zostaniesz wylogowany), a login i hasło przestają działać.

{% if takeover and takeover.running %}
{{takeover.label}}{% if takeover.left_text %}⏱ zostało {{takeover.left_text}}{% endif %}
{% if takeover.state in ('requested','active') %}
Login{{takeover.login}}
Hasło{{takeover.password_plain}}
{% if takeover.state == 'requested' %}

Konto otworzy się, gdy bot zniknie z gry (kilka sekund). Odśwież stronę.

{% endif %}{% endif %} {% if takeover.state in ('requested','active') %}
{% endif %} {% else %}
{% endif %}
{% endif %}

⚙ Akcje administracyjne

Nadaj VIP

Nadaj Smocze Monety

Zmień nick

Jeśli to żywy bot, silnik nie powinien cofnąć zmiany przy zapisie — ale w razie czego krótko zrestartuj kanał gry.

Resetuj pozycję

Przenosi do stolicy własnego królestwa (jak żywy bot — może zostać nadpisane przy zapisie z pamięci).

Ranga GM

Silnik czyta listę GM-ów z common.gmlist przy starcie i przy /reload a (wymaga zalogowanego Właściciela) — bez tego zmiana zadziała od następnego logowania tej postaci.

⚠ Usuń postać (nieodwracalne)

Wpisz dokładną nazwę postaci, żeby potwierdzić: {{character.name}}. Kopia wiersza trafi do web_seban_deleted_players przed usunięciem.
{% endblock %}