Ergebnis 1 bis 15 von 15

Thema: Script Bearbeitungs Hilfe

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    egal habs eben noch getestet ^^
    also "$game_actors[char_id].class_level_up(class_id)" funz net habs mit $game_actors[0].class_level_up(0) probiert und "undefined method `class_level_up' for nil:NilClass" fehler bekommen.
    bei $game_actors[char_id].class_level_up ebenfalls...
    die zu verringern hab ich noch nicht getestet aber die brauch ich ja eig auch net ^^

    nunja und ich weiss net recht was ich mit "clvl = $game_actors[char_id].class_levels[class_id]" machen soll ?!
    ich habs in nen branch in den script part getan und auch nen error bekommen.
    dann hab ics mit clvl = $game_actors[char_id].class_levels[class_id ==1 versucht und auch fehler...
    sry irgendwie klappt das net ganz so wies soll hmmmmmm

  2. #2
    Ich habe es gerade einmal ausprobiert, es scheint so, als ob der RMXP für einfachere Bedienung (oder aus anderen Gründen) die Arrays für $game_actor und $data_classes mit 1 beginnen lässt.
    Das heist, für den Charakter mit der ID 1 musst du tatsächlich die 1 verwenden.

    Falls du also in deinem "Conditional_Branch" beispielsweise die Bedingung "Stufe von Klasse[1] für Charakter[1] größer/gleich 3" einbauen willst musst du folgenden custom script in das Textfeld eingeben:
    Code:
    $game_actors[1].class_levels[1] >= 3
    Falls du die Klassenstufe des ersten Charakters um 1 erhöhen willst musst du im Call-Script folgende Zeile eingeben:
    Code:
    $game_actors[1].class_level_up
    Ich habe beides gerade ausprobiert und es hat funktioniert.

  3. #3
    sry für den doppelpost aber hab gemerkt warum das net ging hab nämlich nicht den code im script ausgetauscht nun hab ich das aber und bekommbeim start ne meldung das auf line 602 n fehler ist...

  4. #4
    Du musst in dem Fall wahrscheinlich etwas falsch kopiert haben, ein Fehler taucht für mich nicht auf.
    Die Wahrscheinlichkeit ist groß, dass entweder ein "end" zu viel oder zu wenig vorhanden ist, aber das lässt sich nicht ohne weitere Informationen sagen. Falls du die Fehlermeldung zitieren könntest wäre es bereits ein guter Anhaltspunkt.

  5. #5
    danke erstmal werds nachär mal testen muss grad ne neue graka kaufen gehen ^^
    also ich schreib dann später mal obs funzt, und ja stimmt das ich wahrscheinlich ein end zuviel oder so hatte...
    war schon müde wollts aber unbedingt noch testen gestern abend xD
    nun zu dem mit dem callscript bei klassenwechsel, das ist wichtiger als die charanzeige im large party script,
    und ich glaube auch das ich das selber lösen kann, hab da sonne idee ^^
    wäre wie gesagt klasse wenn du mir dabei helfen könntest das halt die scriptcalls bei klassenwechsel aufgerufen werden >.<
    thx

  6. #6
    Verstehe ich das richtig, dass du willst, dass bei einem Klassenwechsel der Zustand "ignore_offhand" auf true gesetzt wird falls die neue Klasse die ID 14 hat und in allen anderen Fällen soll der Zustand auf false gesetzt werden?

    In diesem Fall müsstest du einfach die alte Methode:
    (Zeile: 777 - 804)
    Code:
    def actor_class_change(actor_id, class_id)
        
        #setup which actors' class needs to be changed.
        changed_actors = LBConf.linked_actors(actor_id)
        changed_actors.push actor_id
        
        #memorize which class specific skills the actor has learned for the current
        #class, then make the actor forget them
        LBConf.class_spells($game_actors[actor_id].class_id).each{|skill_id|
        $game_actors[actor_id].forget_skill(skill_id)}
        
        #change the actor(s) class.
        changed_actors.each{|actorz|
        $game_actors[actorz].class_id = class_id
        
        #remember any class specific spells the actor has forgotten forthe class
        #they're changing to.
        $game_actors[actorz].learned_class_skills.each{|skill_id|
        if LBConf.class_spells($game_actors[actorz].class_id).include?(skill_id)
          $game_actors[actorz].learn_skill(skill_id)
        end}
        
        #if graphic changing is enabled, change the actor's graphic.
        if LBConf::CLASS_GRAPHIC_CHANGE == true
          actor_graphics_change(actorz)
        end}
        
      end
    In diese Version abändern:
    Code:
    def actor_class_change(actor_id, class_id)
        
        #setup which actors' class needs to be changed.
        changed_actors = LBConf.linked_actors(actor_id)
        changed_actors.push actor_id
        
        #memorize which class specific skills the actor has learned for the current
        #class, then make the actor forget them
        LBConf.class_spells($game_actors[actor_id].class_id).each{|skill_id|
        $game_actors[actor_id].forget_skill(skill_id)}
        
        #change the actor(s) class.
        changed_actors.each{|actorz|
        $game_actors[actorz].class_id = class_id
        
        #remember any class specific spells the actor has forgotten forthe class
        #they're changing to.
        $game_actors[actorz].learned_class_skills.each{|skill_id|
        if LBConf.class_spells($game_actors[actorz].class_id).include?(skill_id)
          $game_actors[actorz].learn_skill(skill_id)
        end}
        
        #if graphic changing is enabled, change the actor's graphic.
        if LBConf::CLASS_GRAPHIC_CHANGE == true
          actor_graphics_change(actorz)
        end
        
        if class_id == 14
          $game_actors[actorz].ignore_offhand = true
        else
          $game_actors[actorz].ignore_offhand = false
        end}
        
      end
    Wie man erkennt liegt der einzige Unterschied in folgenden Zeilen:
    Code:
    if class_id == 14
          $game_actors[actorz].ignore_offhand = true
        else
          $game_actors[actorz].ignore_offhand = false
        end
    Ich hoffe das sollte dein Problem beheben falls ich es denn richtig verstanden habe.

    Geändert von Cornix (31.05.2011 um 15:42 Uhr)

  7. #7
    ja das ist es ^^ ich teste es gleich ^^

    edit: big thx das wars ^^
    funzt !!!

    teste nun den rest von gestern !

    Geändert von buddysievers (31.05.2011 um 17:44 Uhr)

  8. #8
    alles funzt ^^ du bist der beste und so schnelle antworten echt respekt !

    so nun das lezte problem und ein neues xD (lezteres ist easy denk ich mal ^^)

    nr 1 wie schon gesagt, hier mal beispielbilder die alles erklären denk ich mal...
    http://imageshack.us/photo/my-images/191/bild1mzr.png/
    http://imageshack.us/photo/my-images/11/bild2bi.png/
    wie man sieht keine actor grafiken oder schrift und co aber der class change funzt ^^
    ist halt ne optische angelegenheit...
    dachte ich bekomms selbst hin aber hab mich da pbernommen xD

    nr 2 das neue problem...
    ich würde gerne im main menü das level des jobs sehen also neben dem job name noch das lv...
    http://imageshack.us/photo/my-images/832/bild3oo.png/

    wie geil das am ende sein muss >.<

  9. #9
    Problem Nr. 1:
    Im Legacy Script, um die Zeile 822 herum, solltest du eine Zeile finden welche so aussieht:
    Code:
    self.contents = Bitmap.new(width - 32, height - 32)
    Tausche diese Zeile mit folgender aus:
    Code:
    self.contents = Bitmap.new(width - 32, 32 + $game_party.actors.size * 80)
    Problem Nr. 2
    Öffne das Script "Window Base", es gehört zu den Standard Klassen des RPG-Makers XP und suche in der Zeile 131 eine Methode names "draw_actor_class(actor,x,y).
    Ersetze diese Methode mit folgender Methode:
    Code:
    def draw_actor_class(actor, x, y)
        self.contents.font.color = normal_color
        text = actor.class_name + " Lvl: " + actor.class_levels[actor.class_id].to_s
        self.contents.draw_text(x, y, 236, 32, text)
      end
    der Text sollte nun in folgender Form erscheinen:
    "KLASSE Lvl: KLASSENLEVEL"

  10. #10
    nice thx

    ich teste es gleich und sag ob es funzt

    also beides funzt wunderbar du bist der abslout größte !!!
    aber ein bug hat sich dadurch merkwürdiger weise eingeschlichen und das ist wirklich ein ganz praller ^^
    die enter taste geht nicht mehr aber c und space sowie die maus wunderbar wie vorher !
    keine ahnung warum das passiert sein könnte aber ich habe ja nur window_base und das legacy script bearbeitet bzw du ^^
    nunja deshalb ist es für mich absolut unerklärbar...

    nun eine allerlezte bitte hätte ich noch wenn das nicht zuviel ist >.>
    kannst du das job lv system ändern das jobs durch jp aufsteigen statt durch eigene levels.
    man erhält automatisch 50% der exp als jp sprich 100exp/50jp.
    hierzu muss man aber beachten das ich nicht das standart ks benutze (naja wer das macht kann kein gutes spiel erwarten, da das xp ks echt scheisse ist...)
    ich benutze GubiD's Tactical Battle System, hier der link:
    http://www.creationasylum.net/forum/...howtopic=20353
    hoffe das es nicht zu schwer ist das zu machen weil dann hätte ich ein perfektes jobsystem ^^
    aber wie schon gesagt alles in allem super hilfe !

    edit: ah hatte vergessen zu erwähnen das die job lv genausoviel jp brauch zum lv up beispiel: 100exp für lv 2 100jp für job lv 2 aber man bekommt ja halt nur 50% der exp die man erhällt somit kann man sagen das man ca jedes zweite job lv aufsteigt.

    Geändert von buddysievers (31.05.2011 um 20:16 Uhr)

  11. #11
    ok habs auf meinem pc ohne probleme getestet auf xp x86, dann heute nochmal von meinem bruder mit win7 x64 und aufeinmal gehts...
    war nurn windows bug mit der enter taste....
    deshalb mag ich xp auch am liebsten selber benutz ich win 7 nur zum zocken ^^

  12. #12
    ähm ich hab ein script gefunden was sowas enthällt und auch ein stat modiefier hat nur kann ich das selber nicht ausbauen und ins legacy script einbauen...
    habe mal blizzard ne pm geschickt was ich beachten muss für den stat modiefier weil den bekomm ich evtl selber hin.
    naja hoffe du oder irgendjemand anders kann mir eventuell helfen thx.
    http://forum.chaos-project.com/index.php?topic=115.0

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •