Domanda Creazione Nuovi Bonus C++

Stato
Discussione chiusa ad ulteriori risposte.

HunabKu-AkA-Hunter

Utente Platinum
8 Settembre 2010
3,059
96
1,170
1,055
Salve, come da titolo mi stavo cimentando nella creazione di nuovi bonus e riscontro i seguenti problemi:

Esempio: FORTE Vs METIN.

Lato Source
1) Service.h specifico:

Codice:
#define ATTBONUS_METIN
2) Battle.cpp voglio testare il mio bonus su una categoria di mob pre esistente lascio quindi "RACE_FLAG_ANIMAL"

Codice:
#ifdef ATTBONUS_METIN
        else if (pkVictim->IsRaceFlag(RACE_FLAG_ANIMAL))
            iAtk += (iAtk * pkAttacker->GetPoint(POINT_ATTBONUS_METIN)) / 100;
#endif
3) Char.cpp

Codice:
#ifdef ATTBONUS_METIN
        case POINT_ATTBONUS_METIN:
#endif
4) Char.h

Codice:
#ifdef ATTBONUS_METIN
    POINT_ATTBONUS_METIN = 145,            // 145
#endif
5) constants.cpp

Codice:
#ifdef ATTBONUS_METIN
    { POINT_ATTBONUS_METIN },            //97
#endif


--Linko il mio bonus nell'item_attr nel mio db

Lato client

1) Locale_inch.h

Codice:
#define ATTBONUS_METIN

2) ItemData.h
Codice:
#ifdef ATTBONUS_METIN
            APPLY_ATTBONUS_METIN,        // 98
#endif


3) Pythonmodule.cpp

Codice:
#ifdef ATTBONUS_METIN
    PyModule_AddIntConstant(poModule, "APPLY_ATTBONUS_METIN", CItemData::APPLY_ATTBONUS_METIN);
#endif

4) Packet.h

Codice:
#ifdef ATTBONUS_METIN
    POINT_ATTBONUS_METIN,
#endif
};



ROOT
uiToolTip.py

Codice:
item.APPLY_ATTBONUS_METIN : localeInfo.TOOLTIP_APPLY_ATTBONUS_METIN,

ItemCSVReader

Codice:
#define ATTBONUS_METIN


Codice:
    string arApplyType[] = {"APPLY_NONE", "APPLY_MAX_HP", "APPLY_MAX_SP", "APPLY_CON", "APPLY_INT", "APPLY_STR", "APPLY_DEX", "APPLY_ATT_SPEED", "APPLY_MOV_SPEED", "APPLY_CAST_SPEED", "APPLY_HP_REGEN", "APPLY_SP_REGEN", "APPLY_POISON_PCT", "APPLY_STUN_PCT", "APPLY_SLOW_PCT", "APPLY_CRITICAL_PCT", "APPLY_PENETRATE_PCT", "APPLY_ATTBONUS_HUMAN", "APPLY_ATTBONUS_ANIMAL", "APPLY_ATTBONUS_ORC", "APPLY_ATTBONUS_MILGYO", "APPLY_ATTBONUS_UNDEAD", "APPLY_ATTBONUS_DEVIL", "APPLY_STEAL_HP", "APPLY_STEAL_SP", "APPLY_MANA_BURN_PCT", "APPLY_DAMAGE_SP_RECOVER", "APPLY_BLOCK", "APPLY_DODGE", "APPLY_RESIST_SWORD", "APPLY_RESIST_TWOHAND", "APPLY_RESIST_DAGGER", "APPLY_RESIST_BELL", "APPLY_RESIST_FAN", "APPLY_RESIST_BOW","APPLY_RESIST_FIRE", "APPLY_RESIST_ELEC", "APPLY_RESIST_MAGIC", "APPLY_RESIST_WIND", "APPLY_REFLECT_MELEE", "APPLY_REFLECT_CURSE", "APPLY_POISON_REDUCE", "APPLY_KILL_SP_RECOVER", "APPLY_EXP_DOUBLE_BONUS", "APPLY_GOLD_DOUBLE_BONUS", "APPLY_ITEM_DROP_BONUS", "APPLY_POTION_BONUS", "APPLY_KILL_HP_RECOVER", "APPLY_IMMUNE_STUN", "APPLY_IMMUNE_SLOW", "APPLY_IMMUNE_FALL", "APPLY_SKILL", "APPLY_BOW_DISTANCE", "APPLY_ATT_GRADE_BONUS", "APPLY_DEF_GRADE_BONUS", "APPLY_MAGIC_ATT_GRADE", "APPLY_MAGIC_DEF_GRADE", "APPLY_CURSE_PCT", "APPLY_MAX_STAMINA", "APPLY_ATTBONUS_WARRIOR", "APPLY_ATTBONUS_ASSASSIN", "APPLY_ATTBONUS_SURA", "APPLY_ATTBONUS_SHAMAN", "APPLY_ATTBONUS_MONSTER", "APPLY_MALL_ATTBONUS", "APPLY_MALL_DEFBONUS", "APPLY_MALL_EXPBONUS", "APPLY_MALL_ITEMBONUS", "APPLY_MALL_GOLDBONUS", "APPLY_MAX_HP_PCT", "APPLY_MAX_SP_PCT", "APPLY_SKILL_DAMAGE_BONUS","APPLY_NORMAL_HIT_DAMAGE_BONUS", "APPLY_SKILL_DEFEND_BONUS", "APPLY_NORMAL_HIT_DEFEND_BONUS", "APPLY_PC_BANG_EXP_BONUS", "APPLY_PC_BANG_DROP_BONUS", "APPLY_EXTRACT_HP_PCT", "APPLY_RESIST_WARRIOR", "APPLY_RESIST_ASSASSIN", "APPLY_RESIST_SURA", "APPLY_RESIST_SHAMAN", "APPLY_ENERGY",    "APPLY_DEF_GRADE", "APPLY_COSTUME_ATTR_BONUS", "APPLY_MAGIC_ATTBONUS_PER", "APPLY_MELEE_MAGIC_ATTBONUS_PER", "APPLY_RESIST_ICE", "APPLY_RESIST_EARTH", "APPLY_RESIST_DARK", "APPLY_ANTI_CRITICAL_PCT", "APPLY_ANTI_PENETRATE_PCT", "APPLY_ATTBONUS_WOLF", "APPLY_RESIST_WOLF", "APPLY_RESIST_CLAW","APPLY_ANTI_RESIST_MAGIC","APPLY_ATTBONUS_METIN"};


Locale_game.txt

Codice:
TOOLTIP_APPLY_ATTBONUS_METIN    Strong against METIN +%d%%    SA








PROBLEMI:


1) Ho ovviamente aggiunto l'effetto su un arma nell'item_proto e caricato sul db nonostante ciò il bonus non viene conteggiato


2) Il bonus viene letto come Unkowntype[255]
 
Ti manca un po' di roba:

in common:

1. Il Flag alla razza per attribuire a quale mob far entrare il Forte contro Metin

2. Il "Types" del Bonus

---
In char:
oltre al POINT anche l'apply

---
In costant oltre al point anche apply

----
Le stringhe messe in Pythonmodule.cpp , vanno in PythonItemModule.cpp


Mancherebbero altri file per essere completo come:
cmd_general, cmd_gm ecc ecc

----
Non facendo comunicare il serverside e clientside, normale che non ti legge il bonus.
Non hai al momento questo collegamento dal common al launcher
 
Ti manca un po' di roba:

in common:

1. Il Flag alla razza per attribuire a quale mob far entrare il Forte contro Metin

2. Il "Types" del Bonus

---
In char:
oltre al POINT anche l'apply

---
In costant oltre al point anche apply

----
Le stringhe messe in Pythonmodule.cpp , vanno in PythonItemModule.cpp


Mancherebbero altri file per essere completo come:
cmd_general, cmd_gm ecc ecc

----
Non facendo comunicare il serverside e clientside, normale che non ti legge il bonus.
Non hai al momento questo collegamento dal common al launcher


Grazie per la risposta :D


Avrei una domanda in piu' quando io voglio studiare una funzione per poi replicarla o modificarla da dove conviene iniziare?
 
Stato
Discussione chiusa ad ulteriori risposte.
Indietro
Top Bottom