[Problem]Einfügen neuer Boni (Python)

09/18/2015 03:06 -!Kontra!-#1
Hallo leutz,

hab mal wieder n kleines Problemchen.

Ich war dabei neue Bonis einzufügen nach diesem Tutorial:
[Only registered and activated users can see links. Click Here To Register...]

Dass das nich alles gewesen sein kann war mir ja im vorraus schon klar, und hab jetzt manuell neue Boni eingefügt in die Datenbank, er ließt das ja nich aus oder?

Jedenfalls hab ich nun folgendes problem, welches nach erfolgreichem login auftritt:

Client schließt sich und hinterlässt syserr einträge dieser Art:
PHP Code:
0918 02:44:27917 :: 
networkModule.py(line:208SetSelectCharacterPhase
system
.py(line:130__pack_import
system
.py(line:110_process_result
introSelect
.py(line:23) <module>
system.py(line:130__pack_import
system
.py(line:110_process_result
uiAffectShower
.py(line:8) <module>
system.py(line:130__pack_import
system
.py(line:110_process_result
uiToolTip
.py(line:314) <module>
uiToolTip.py(line:368ItemToolTip

networkModule
.SetSelectCharacterPhase - <type 'exceptions.AttributeError'>:'module' object has no attribute 'APPLY_ATTBONUS_SPIDER'

0918 02:44:27917 :: ============================================================================================================
0918 02:44:27917 :: Abort!!!! 
Irgentwo fehlt da was...

das ist in der Tooltip zeile 368:
PHP Code:
        item.APPLY_ATTBONUS_SPIDER localeInfo.TOOLTIP_APPLY_ATTBONUS_SPIDER
irgentwas muss es sich doch damit auf sich haben das mit dem "item.APPLY"
Weil in ieiner Item datei hab ichs nich eingefügt, finde aber auch nix dergleichen :(
auch in der localeinfo hab ich schon übersetzungen eingefügt...

Wird immer lustiger mit den Metin files xD


Hoffe mir kann da jmd helfen! <3

MFG
09/18/2015 06:57 Avulsed#2
Hast du "APPLY_ATTBONUS_SPIDER" auch im Source der Binary deklariert?

Falls nicht: Öffne die ItemData.h, such nach "EApplyTypes" und trag es dort an der gleichen Stelle ein wie in der length.h.


Dann öffnest du die PythonItemModule.cpp und fügst ganz unten folgendes hinzu:


Code:
    PyModule_AddIntConstant(poModule, "APPLY_ATTBONUS_SPIDER",        CItemData::APPLY_ATTBONUS_SPIDER);
09/18/2015 09:25 -!Kontra!-#3
Danke, jetzt kommt keine Fehlermeldung mehr. Ein problem hab ich jedoch... Irgentwie will dieser Boni nicht auf die Waffe rauf. (Und ja ich hab sie in der item_attr eingefügt, ihnen prob 20 gegeben und bei weapon ne 5 eingetragen). Muss man die noch irgentwo anders verknüpfen oder so? Bekomme keine Fehlermeldungen zu dem Boni...
09/18/2015 10:01 Avulsed#4
Hm in diesem Tutorial fehlt irgendwie mehr als die Hälfte. Öffne mal die char.h und such nach EPointTypes. Füg dort folgendes hinzu:

Code:
POINT_ATTBONUS_SPIDER
Dann öffne die constants.cpp und such nach const TApplyInfo aApplyInfo[MAX_APPLY_NUM]. Dort fügst du folgendes hinzu:


Code:
{ POINT_ATTBONUS_SPIDER, },
Dann such ebenfalls in der constants.cpp nach TValueName c_aApplyTypeNames[] und füg folgendes hinzu (achte darauf, dass es an derselben Position ist wie in der vorherigen Tabelle):


Code:
{ "ATTBONUS_SPIDER",APPLY_ATTBONUS_SPIDER    },
Dann öffne die char.cpp und such nach "case APPLY_ATTBONUS_UNDEAD:" wo und füg darunter hinzu (prinzipiell ist es egal wo, da switch-case Anweisungen nicht in sortierter Reihenfolge arbeiten):


Code:
case APPLY_ATTBONUS_SPIDER:
Und zu guter Letzt öffne die ProtoReader.cpp vom db cache und such nach "string arApplyType[]". Füg da am Ende "ATTBONUS_SPIDER" hinzu.
09/18/2015 11:03 -!Kontra!-#5
Irgentwie ist in meiner lenght.h nix mit POINT bonis... O.O

09/18/2015 11:16 Avulsed#6
Hab mich verschrieben, meinte char.h. :D
09/18/2015 11:20 -!Kontra!-#7
Dort hab ichs auch gerade gefunden ^^

Ne frage, wie wird denn das alles mit den ganzen attr "vnums" ausgewertet? Überall stehen andere zahlen (vnums) für die Bonis.. xD Irritiert mich (nicht nur) ein wenig!

MFG

Edit:Wenn es dieses "release" noch nich so komplett gab, könntest du es ja komplett öffentlich "releasen" oder? Würde sicher welche helfen bevor sie den schrott von dem anderen Typen lesen und sich denken das wars fast.
09/18/2015 11:27 Avulsed#8
Du brauchst eigentlich nur den Wert von APPLY_ATTBONUS_SPIDER das ist die "ID" von dem Boni (in der item_proto oder item Tabelle).
09/18/2015 11:56 -!Kontra!-#9
[Only registered and activated users can see links. Click Here To Register...]

Jetzt steht da son UNKNOWN wert.. seitdem ich versucht hab die Boni einzufügen (2 neue) kommt auch noch Immun gg Stürzen, was vorher nie war. Ist das jetzt weil sich die Boni iwie kreuzen oder so? :/

Manoman wenn man neuling in C++ ist dann is das schon kacke ^^

Edit:
Scheinbar hab ich das mit dem Unknown boni und dem stürzenboni behoben, jetzt ist wieder alles wie gehabt, nur halt ich kann die neuen Boni nicht einfügen. Sie kommen nicht in das Equip rein...

[Only registered and activated users can see links. Click Here To Register...]

Hab ich vlt in der item_attr ein fehler drinne? Wie müsste ich das da einfügen? Ich bin völlig durcheinander.