Acest tutorial adauga un sistem de atac normal magic la distanta pentru caracterul Saman in Metin2. (ca si la arcas - Ninja)
Cu acest sistem, Samanul poate lovi de la distanta cu clopot sau evantai, fara sa mai mearga langa tinta.
Atacul principal da damage complet, iar mobii din jurul tintei primesc damage secundar redus.
Caracteristici sistem:
- Functioneaza doar pe caracterul Saman.
- Functioneaza doar cu arma de tip clopot sau evantai.
- Transforma atacul normal in atac magic de la distanta.
- Tinta principala primeste 100% damage.
- Poate lovi maxim 4 tinte extra din jurul tintei principale.
- In total pot primi damage maxim 5 tinte.
- Tintele extra primesc 10% din damage-ul principal.
- In PvP nu sare pe alte tinte.
- Viteza de atac este calculata dupa atac speed-ul caracterului.
- Distanta pentru client si server este setata la 1500.
*Poze / Video:
*Link download / Code:
Deschide Server/game/src/char_battle.cpp si cauta:
Code:
#include <vector>
Deschide Server/game/src/char_battle.cpp si adauga sub include-uri, intr-un loc potrivit:
Deschide Server/game/src/char_battle.cpp si cauta:
Code:
void CHARACTER::CreateFly(BYTE bType, LPCHARACTER pkVictim)
Deschide Server/game/src/char_battle.cpp si cauta:
Code:
void CHARACTER::CreateFly(BYTE bType, LPCHARACTER pkVictim)
Deschide Server/game/src/char_battle.cpp si cauta:
Code:
if (bType == 0)
{
Dupa aceasta adaugare, switch-ul existent sau codul de atac normal trebuie sa continue imediat dupa `else`.
Deschide Client/UserInterface/PythonPlayerInput.cpp si adauga in partea de sus, intr-un loc potrivit:
Deschide Client/UserInterface/PythonPlayerInput.cpp si adauga sub define:
Deschide Client/UserInterface/PythonPlayerInput.cpp si adauga intr-o zona globala potrivita:
Deschide Client/UserInterface/PythonPlayerInput.cpp si in zona unde incepe atacul pe target, inainte de mersul normal catre tinta, adauga:
Daca ai o zona care foloseste pointeri, aplica acelasi sistem pentru `pkInstMain` si `pkInstReserved`:
Deschide Client/UserInterface/PythonPlayer.cpp si cauta:
Code:
#include "../gamelib/GameLibDefines.h"
Deschide Client/UserInterface/PythonPlayer.cpp si adauga intr-o zona globala potrivita:
Deschide Client/UserInterface/PythonPlayer.cpp si cauta:
Code:
__ReserveClickActor(m_dwAutoAttackTargetVID);


la acest mesaj și conținutul se va afișa automat.


