*Descriere:
Metin2 - Trigger quest la drop item
Acest tutorial iti arata cum sa adaugi un nou trigger de quest de tip {itemVnum}.drop in Metin2.
Astfel poti declansa questuri atunci cand un jucator arunca pe jos un anumit item, intr-o anumita zona.
Este foarte util pentru dungeon-uri, evente si mecanici custom.
*Poze / Video:
*Link download / Code:
Deschide common/service.h si cauta:
Adauga cu:
Deschide game/questmanager.cpp si cauta:
Adauga sub:
Cauta:
Adauga deasupra:
Deschide game/questmanager.h si cauta:
Adauga sub:
Deschide game/questnpc.cpp si cauta:
Adauga deasupra:
Tot in game/questnpc.cpp cauta:
Adauga sub:
Deschide game/quest.h si cauta:
Adauga deasupra:
Deschide game/char_item.cpp si cauta:
Adauga sub:
Daca vrei ca triggerul sa functioneze pentru toate itemele, nu doar pentru ITEM_QUEST, cauta:
Inlocuieste cu:
Exemplu quest:
Explicatie scurta:
- noul trigger {itemVnum}.drop se executa cand jucatorul arunca pe jos itemul respectiv
- poti verifica harta, coordonatele, zona sau alte conditii
- este ideal pentru questuri custom, puzzle-uri si trigger-e de dungeon
Metin2 - Trigger quest la drop item
Acest tutorial iti arata cum sa adaugi un nou trigger de quest de tip {itemVnum}.drop in Metin2.
Astfel poti declansa questuri atunci cand un jucator arunca pe jos un anumit item, intr-o anumita zona.
Este foarte util pentru dungeon-uri, evente si mecanici custom.
*Poze / Video:
![[Lua] Functie: Trigger quest la drop item - Mesaj 1 - Imagine 1 [Lua] Functie: Trigger quest la drop item - Mesaj 1 - Imagine 1](https://i.imgur.com/zSki2bI.gif)
Deschide common/service.h si cauta:
Cod: Selectaţi tot
#define DROP_ITEM_QUEST_TRIGGER
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschide game/questmanager.cpp si cauta:
Cod: Selectaţi tot
m_mapEventName.insert(TEventNameMap::value_type("pick", QUEST_ITEM_PICK_EVENT));
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Cauta:
Cod: Selectaţi tot
void CQuestManager::BeginOtherPCBlock(DWORD pid)
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschide game/questmanager.h si cauta:
Cod: Selectaţi tot
bool PickupItem(unsigned int pc, LPITEM item);
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschide game/questnpc.cpp si cauta:
Cod: Selectaţi tot
bool NPC::OnPickupItem(PC& pc)
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Tot in game/questnpc.cpp cauta:
Cod: Selectaţi tot
bool OnPickupItem(PC& pc);
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschide game/quest.h si cauta:
Cod: Selectaţi tot
QUEST_EVENT_COUNT
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Deschide game/char_item.cpp si cauta:
Cod: Selectaţi tot
ITEM_MANAGER::instance().FlushDelayedSave(pkItemToDrop);
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Daca vrei ca triggerul sa functioneze pentru toate itemele, nu doar pentru ITEM_QUEST, cauta:
Cod: Selectaţi tot
if (item->GetType() == ITEM_QUEST)
quest::CQuestManager::instance().DropItem(GetPlayerID(), item);
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Exemplu quest:
Conținut: Ascuns
Reacționează
la acest mesaj și conținutul se va afișa automat.
la acest mesaj și conținutul se va afișa automat.Explicatie scurta:
- noul trigger {itemVnum}.drop se executa cand jucatorul arunca pe jos itemul respectiv
- poti verifica harta, coordonatele, zona sau alte conditii
- este ideal pentru questuri custom, puzzle-uri si trigger-e de dungeon




