Ergebnis 1 bis 18 von 18

Thema: Suche nach Copy-Actors-Scrypt

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Danke, das Skript funktioniert wirklich gut, aber kannst du nicht auch noch hinzufügen, dass von den Gegnern die HP und SP auch noch sichtbar sind? Denn ich sonst ist der eine Spieler bein einem HotSeat Kampf ziemlich im Nachteil, da er keine Ahnung hat, wie viel HP und SP seine Actors gerade haben.

    Oh, und ich hab mal wieder ein paar fragen zu ein paar zeilen Codes, die ich brauche:
    1. wie kann ich durch Code die HP/SP eines Actors verändern?
    2. kann ich irgendwie per Code die Skills eines Enemies von der Datenbank abfragen und dann in eine Variable speichern?
    3. Wie kann ich einem Actor einen Skill per Variable zuweisen?
    4. Kann ich irgendwie per Skript die Character Grafik (Ich meine die, die auf der Karte animiert wird) und evtl. auch die andere Grafik eines Actors verändern?
    5. Ist es Möglich einen bestimmten Actor eine (besser zwei bzw. drei^^) Variable verändern zu lassen oder ihm einen Skill hinzuzufügen, Parameter, Grafik, States, Klasse und dergleichen zu ändern wenn er bspw. ein bestimmtes Level erreicht oder auch einen Skill ausführt oder irgendeines seiner Parameter einen bestimmten Wert erreicht oder irgendein Switch umgelegt ist oder so, also ich meine irgendwie direkt, so dass das auch mit diesem CopyActor Skrypt mitkopiert werden könnte, und ich kein Commen event auf Parallel Proces zu heben brauche.

    PS. Irgendwie funktioniert das mit dem Encounter umändern bei mir nicht so richtig ...

    Geändert von OneEyeShadow (10.08.2009 um 15:41 Uhr)

  2. #2
    die anzeige unten sollte eigentlich wechseln, sobald der andere spieler am zug ist.


    1)
    kommt darauf an, ob die die maximalen hp/sp meinst oder die aktuellen:
    $game_actors[ID].maxhp = wert
    $game_actors[ID].maxsp = wert
    $game_actors[ID].hp = wert
    $game_actors[ID].sp = wert


    2)
    gegner besitzen keine skills sondern nur aktionen. deshalb muss man jede aktion abfragen, ob sie einen skill ausführt

    Code:
    skills = []
    for action in $data_enemies[ID].actions
    if action.kind == 1
    skills.push(action.skill_id)
    end
    end
    $game_variables[vID] = skills[nr].to_i
    ID -> ID des gegners
    vID -> ID der variable
    nr -> der wievielte skill des gegners (fängt bei 0 an)

    3)
    $game_actors[ID].learn_skill($game_variables[vID])


    4)
    Code:
    $game_actors[ID].set_graphic("character grafik",character hue,"battler grafik", battler hue)
    $game_player.refresh
    hue ist diese veränderung der farben. hat nen wert zwischen 0-255
    bei den grafik namen an die " denken!

    wenn du bei Game_Actor vor character_name (zeile 13) das attr_reader durch attr_accessor ersetzt, aknnst du per
    Code:
    $game_actors[ID].character_name = "grafikname"
    $game_player.refresh
    kannst du direkt die lauf grafik eines helden ändern.

    ($game_player.refresh sorgt dafür, dass die änderung auf der karte sichtbar wird, wenn der held an 1. position in der party ist.)

    5)
    am einfachsten wäre es bei Game_Actor hinter zeile 468
    (also nach
    Code:
              learn_skill(j.skill_id)
            end
          end
    )
    folgendes einzufügen:
    Code:
          if self.name == "Helden Name"
            if self.eigenschaft == wert
              self.eigenschaft = neuer wert
            end
          end
    Bsp:
    Code:
          if self.name == "Arshes"
            if self.dex == 100
              self.int = 200
            end
          end
    in diesem beispiel würde der held arshes, sobald seine dexterity (heißt das so?) 100 erreicht einen intelligenz wert von 200 erhalten.
    diese abfrage geschiht nur bei einem level up (davon ausgehend, dass nur dann sich seine werte verändern)
    du kannst danach das selbe einfach nochmal mit anderen helden namen einfügen, falls noch bei anderen eigenschaften verändert werden sollen.

    un wegen dem encounter...ich hab aus versehen am ende ein end vergessen.
    korrigierte version:
    Code:
    class Game_Map
      def encounter_step=(n)
        @map.encounter_step = n
      end
      def encounter_list=(n)
        @map.encounter_list = n
      end
    end

    PS:
    fahre morgen für 3 tage weg.
    falls es also noch was gibt, musst du hoffen, dass jemand anderes hilft oder geduldig sein

  3. #3
    Danke für den Code, kannst du mir nochmal erklären, wie das mit dem Encounter gemacht werden muss, bei mir kommt da immer ne Fehlermeldung.
    Achja, bei deinem Save_Party Script hab ich nen kleinen Bug entdeckt, wenn man einen normalen Kampf gewinnt setzt es das Level aller Kämpfer wieder auf eins, und anstatt EXP zu bekommen, verlieren sie alle EXP, die sie hatten.

    Edit: Kannst du noch das normale Menü so verändern, dass man statt den Map Grafiken die Battler Grafiken der Actors sieht (auch bei den ganzen untermenüs).

    Und kannst du das Battle Script so verändern, dass man immer nur mit einer bestimmten (durch eine Variable bestimmt) Anzahl an Actors gleichzeitig kämpfen kann, und sobald einer von diesen Tod ist in ein auswahlfenster wechselt, wo man einen anderen Actor (Mit Battler Graphic) aus der Party auswählen kann der dann weiterkämpft, also mit dem, der KO ist ausgetauscht wird, und dementsprechend auch die Funktionen von Skills und Items, die als Ziel One Ally haben entsprechend funktionieren lässt, und das man dann Game Over ist, wenn alle Party Member KO sind, und wenn du eine Anzeige für die Gegnerischen HP, SP und einen bestimmten Wert reinbaust, die man per Switch ein und ausschalten kann?


    Ich weiß, dass ist etwaaaas viel, aber für mein Aktuelles Project brauche ich diese Scripts, ich würde mich wirklich freuen, wenn du die scripten könntest.

    Geändert von OneEyeShadow (13.08.2009 um 16:30 Uhr)

  4. #4
    was denn fürne fehlermeldung....

  5. #5
    Das übliche: "Syntax error occurred while running Script", oder so ähnlich.

    Das liegt warscheinlich daran, dass ich nicht so genau weiß, wie ich das verwenden muss ...

  6. #6
    ja einfach im callscript sowas schreiben
    $game_map.encounter_step = 100 # jett kommen wenig gegner
    oder
    $game_map.encounter_list = [1,2,3] # jetzt kommen die ersten drei troops

    musst nur auf den zeilenumbruch achten,
    nicht das sowas passiert:
    Code:
    $game_map.encounter_list = [1,2
    ,3]
    #sondern sowas
    $game_map.encounter_list =
    [1,2,3]
    #oder sowas
    $game_map.encounter_list = [1,2,
    3,4,5,6,7,8,9,12,22,33,
    44]
    das komma darf nie am anfang einer zeile stehen

  7. #7
    machst du ein pokemon spiel? (das mim im kampf austauschen kommt mir so bekannt vor^^)
    war deine frage, ob das script auch mit anderen ks funktioniert auf das pokemon starterkit bezogen?

    wie auch immer....
    das mit dem austauschen sollte nicht zu schwer sein. (soll der gegner eigentlich auch austauschen?)
    allerdings weiß ich noch nicht so recht, wie ich das mit dem multiplayer ermöglichen soll.
    gib mir ein bisschen zeit^^

    bezüglich exp
    du musst folgendes aus dem kampf script löschen:
    Code:
      def exp
        return EXP
      end
    müsste in zeile 322-324 sein.
    danach musst du folgendes am ende hinzufügen:
    Code:
    class Game_Battler
      def wexp
        return exp
      end
    end
    class Game_Actor
      def wexp
        return EXP
      end
    end
    und in scene_battle 2 in zeile 149
    Code:
    exp += enemy.exp
    durch
    Code:
    exp += enemy.wexp
    ersetzen.

    bezüglich grafiken:
    Window_Base zeile 108-114 mit folgendem ersetzen
    Code:
      def draw_actor_graphic(actor, x, y)
        bitmap = RPG::Cache.battler(actor.character_name, actor.character_hue)
        cw = bitmap.width
        ch = bitmap.height
        src_rect = Rect.new(0, 0, cw, ch)
        self.contents.blt(x - cw / 4, y - ch / 2, bitmap, src_rect)
      end
    aber bedenke, dass die grafiken jetzt nicht mehr 100% rein passen!

  8. #8
    Hallo Shining Advances, wieder zurück?


    Zitat Zitat
    machst du ein pokemon spiel? (das mim im kampf austauschen kommt mir so bekannt vor^^)
    war deine frage, ob das script auch mit anderen ks funktioniert auf das pokemon starterkit bezogen?
    Ich mach so was ähnliches, ohne Pokemon, aber mit gewissen anderen Monstern, aber meine Frage auf das Kampfskript war aus reiner neugier.

    Zitat Zitat
    das mit dem austauschen sollte nicht zu schwer sein. (soll der gegner eigentlich auch austauschen?)
    Ja, sollte er schon, aber am besten wärs, wenn er das nach zufallsprinzip oder über eine festgelegte reienfolge macht, und wenn alle Enemies x und y Koordinaten dann über Variablen bestimmt werden würden und wenn man per Variable die Anzahl der gleichzeitig aktiven Battler (beider seiten) bestimmen könnte ...

    Zitat Zitat
    bezüglich grafiken:
    Window_Base zeile 108-114 mit folgendem ersetzen
    Ah, danke, jetzt habe ich das Problem auch nicht mehr, danke.

    PS: Das Spiel, das ich gerade am makern bin kannst du dir, wenn du lust hast, oder neugierig bist, hier mal ansehen, evtl. (eher: ganzbestimmt) findest du dazu ja noch ein paar Verbesserungsvorschläge.

    Geändert von OneEyeShadow (14.08.2009 um 14:41 Uhr)

Berechtigungen

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