
VT
DATABASE (FINAL):
CREATE TABLE item_memory (
id BIGINT PRIMARY KEY,
boss_kill INT DEFAULT 0,
metin_kill INT DEFAULT 0,
pvp_kill INT DEFAULT 0,
damage_taken BIGINT DEFAULT 0,
owner_count INT DEFAULT 1,
memory_level INT DEFAULT 0
);
item_memory.h:
struct SItemMemory {
int boss;
int metin;
int pvp;
long long damage;
int level;
};
Boss / Metin Hook cpp:
void CHARACTER::OnKill(LPCHARACTER victim)
{
LPITEM weapon = GetWear(WEAR_WEAPON);
if (!weapon) return;
if (victim->IsBoss())
weapon->AddMemory("boss", 1);
else if (victim->IsStone())
weapon->AddMemory("metin", 1);
}
Damage Hook (Zırh) cpp:
void CHARACTER::Damage(LPCHARACTER attacker, int damage)
{
LPITEM armor = GetWear(WEAR_BODY);
if (armor)
armor->AddMemory("damage", damage);
}
MEMORY LEVEL HESAPLAMA cpp:
int CalculateMemoryLevel(LPITEM item)
{
int score =
item->boss_kill * 5 +
item->metin_kill * 2 +
item->pvp_kill * 10 +
(item->damage_taken / 10000);
return score / 100;
}
QUEST (item_memory.quest):
quest item_memory begin
state start begin
when login begin
cmdchat("OpenItemMemoryUI")
end
end
end
CLIENT UI (Özet) Tooltip ekleme:
if item.HasItemMemory():
self.AppendTextLine(
"Hafıza Seviyesi: %d" % item.GetMemoryLevel(),
grp.GenerateColor(0.8, 0.6, 0.2)
)



