Beiträge von Schokokeks

    Du kannst einem NPC einfach mehrere "chats" zuweisen und diese dann einzeln mit Bedingungen verknüpfen .

    LUA
    1. when 20018.chat."Server Intro Reset" with pc.is_gm() begin
    2. pc.setqf("serverintro", 0)
    3. setskin(NOWINDOW)
    4. end
    5. when 20018.chat."Server Intro" begin
    6. -- hier gebe ich dem Spieler paar Sachen und setze die Flag
    7. pc.give_item2(72003, 1)
    8. pc.setqf("bizzyintro", 1)
    9. end

    Mehreren NPC's den gleichen Text zuzuweisen geht ganz einfach mit einem oder ebene mehreren Oder-Statements:

    LUA
    1. when WÄCHTER1.chat."TEXT" or WÄCHTER2.chat."TEXT" or WÄCHTER3.chat."TEXT" begin

    Vermute mal der Fehler liegt in der Datenbank bei der apply enumeration. Die Position des Bonus dort muss mit length.h bzw. itemData.h übereinstimmen. Bei dir hast du deinen Metin Bonus auf 244 gesetzt und dein Glocke/Fächer-Def auf 245, in der Datenbank sind das dann aber 82 und 83.

    Heißt das eine muss auf das andere angepasst werden.

    Try it with this

    LUA
    1. when __TARGET__.target.click or 9006.chat."..." with pc.count_item(20354) > 0 begin
    2. target.delete("__TARGET__")
    3. say_title("sdfdsf")
    4. say("xccvb")
    5. pc.remove_item(20354, 1)
    6. set_quest_state("main_quest_lv4","run")
    7. end

    Dein SlotCount ist wahrscheinlich höher als die Anzahl der Elemente in:

    Python
    1. self.elemets_world["position"]

    Tippe mal darauf, dass da das Schulterband fehlt. Einfach noch ein Element mit den passenden X,Y Koordinaten hinzufügen.

    Ohne ein gewisses Grundverständnis ist das im Allgemeinen recht unvorteilhaft. Aber für Python kann man quasi ohne Verständnis sagen, dass nach jedem ":" die darauffolgenden Anweisungen eingerückt werden müssen. Außerdem könntest du in Notepad++ "Alle Zeichen anzeigen" aktivieren, dann siehst du alle Tabs und Leerzeichen.

    Bitte melden Sie sich an, um diesen Link zu sehen.


    Oder du benutzt z.B. Visual Code, da rückt er dir das passend ein.

    Bitte melden Sie sich an, um diesen Link zu sehen.

    Anhand deiner Tabelle:

    Auf deinem rohen Drachenstein ist 1 Bonus (1 basis) drauf, dann wird er veredelt auf brilliant und hat die Chance auf maximal noch einen zusätzlichen Bonus, so dass er minimal 1 Bonus und maximal 2 Boni hat (1 basis +1 add_max).

    Wird dieser nun erneut veredelt auf rar Kann dieser minimal 1 Bonus un maximal 3 Boni haben (1 basis + 2 add_max).

    Auf antik kann er dann minimal 2 Boni und maximal 4 Boni haben (2 basis + 2 add_max).

    Auf legendär hat er dann minimal 3 Boni und maximal 8 Boni (3 basis + 5 add_max).

    Code
    1. Group ApplyNumSettings # ???
    2. {
    3. Group Default
    4. {
    5. #--# GRADE_NORMAL GRADE_BRILLIANT GRADE_RARE GRADE_ANCIENT GRADE_LEGENDARY
    6. basis 1 1 1 2 3 --Anzahl der Boni die standardmäßig auf dem Stein sind
    7. add_min 0 0 0 0 0 --Anzahl der Boni die mindestens zusätzlich auftreten können
    8. add_max 0 1 2 2 5 --Anzahl der Boni die maximal zusätzlich auftreten können
    9. }
    10. }

    Wofür die WeightTables sind weiß ich leider auch nichtmehr, ist dann doch zu lange her dass ich damit gearbeitet habe.

    Dann ersetz das was ich oben geschrieben habe hiermit:

    LUA
    1. if party.is_party() then
    2. d.new_jump_party(DUNGEON_MAP_INDEX, setting.dungeon_entry_pos[1], setting.dungeon_entry_pos[2])
    3. else
    4. d.new_jump(DUNGEON_MAP_INDEX, setting.dungeon_entry_pos[1]*100, setting.dungeon_entry_pos[2]*100)
    5. end

    Und diesen Block in Zeile 392:

    LUA
    1. else
    2. say_title("Die Rotdrachen-Festung ~ Dungeon")
    3. say("")
    4. say_reward("Betreten fehlgeschlagen!")
    5. say("")
    6. say("Ich schätze deinen Mut, doch alleine wirst du in")
    7. say("der Rotdrachen-Festung in dein Verderben rennen.")
    8. say("Stelle eine starke Gruppe zusammen und ich werde")
    9. say("dir Einlass gewähren.")

    hiermit:

    Falls dann noch was sein sollte einfach privat schreiben.