Ultima modifica:
Ciao ragazzi!
Come tutti sappiamo, l'unico trigger per le missioni su metin2 che viene attivato al ricevimento di un oggetto è il trigger di raccolta (when 19.pickup begin).
Sfortunatamente, questo copre solo il caso in cui raccogli un oggetto da terra, quindi è molto limitato.
Alcune persone chiedevano di migliorarlo, quindi ho creato un nuovo trigger, con il quale puoi coprire altri casi.
L'idea è quella di arricchirlo col tempo ed avere un trigger che conta tutti gli ottenimenti possibili, metti che vuoi fare una quest
dove raggiunto un tot numero di item X, questi si scambino automaticamente con item Y, l'unico modo per farlo è costringere il giocatore a raccogliere l'oggetto
Per ora funziona in questi casi:
Commercio
Acquista da negozio npc
Acquista da negozio npcEx
Acquista da negozio pc
Raccogli da terra
/item command(per test)
Esempio:
Download:
Quest esempio se vuoi utilizzarlo per swappare item in real time:
Come tutti sappiamo, l'unico trigger per le missioni su metin2 che viene attivato al ricevimento di un oggetto è il trigger di raccolta (when 19.pickup begin).
Sfortunatamente, questo copre solo il caso in cui raccogli un oggetto da terra, quindi è molto limitato.
Alcune persone chiedevano di migliorarlo, quindi ho creato un nuovo trigger, con il quale puoi coprire altri casi.
L'idea è quella di arricchirlo col tempo ed avere un trigger che conta tutti gli ottenimenti possibili, metti che vuoi fare una quest
dove raggiunto un tot numero di item X, questi si scambino automaticamente con item Y, l'unico modo per farlo è costringere il giocatore a raccogliere l'oggetto
Per ora funziona in questi casi:
Commercio
Acquista da negozio npc
Acquista da negozio npcEx
Acquista da negozio pc
Raccogli da terra
/item command(per test)
Esempio:

Download:
Per vedere questo contenuto, devi Accedere o Registrarti.

Quest esempio se vuoi utilizzarlo per swappare item in real time:
C++:
quest swap_item begin
state start begin
when 70001.receive begin
local item_to_change = 70001
local count_needed = 10
local reward_vnum = 19
local reward_count = 1
while(pc.count_item(item_to_change) >= count_needed) do
if not pc.enough_inventory(reward_vnum) then
syschat("You don't have enough space to receive the item, free up space.")
syschat("After freeing up space, you will have to receive it again.")
break
end
pc.remove_item(item_to_change, count_needed)
pc.give_item2(reward_vnum, reward_count)
syschat(string.format("Congratulations! You have collected %s x %d! In return you will receive: %s x %d", item.get_name(item_to_change), count_needed, item.get_name(reward_vnum), reward_count ))
end
end
end
end
NB: Se hai alcuni sistemi che interagiscono con oggetti, dovrai aggiungere una riga di codice al nuovo caso, puoi chiedere info qui sotto.