collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Hilfe zu Skripten.  (Gelesen 51423 mal)

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Hilfe zu Skripten.
« Antwort #480 am: August 26, 2010, 19:22:49 »
Ich habe eine Frage: Ich habe mir heute dieses Tutorial zum aliasen angeschaut: http://www.rpgrevolution.com/forums/?showtopic=13319
Nun habe ich mal versucht, eine andere Scene als Menü aufzurufen. Das habe ich so gemacht:
class Scene_Map < Scene_Base
 
  alias change_menu_ai call_menu
   def call_menu
     $scene = Scene_Menu.new
     $scene = AcIn::MENU_SCENE.new
     end
#--------------------------------------------------------------------------
 end
#--------------------------------------------------------------------------
Es funktioniert eigentlich, die andere Scene wird aufgerufen. Wenn ich aber nun die Scene verlasse (also X drücke), wird die Scene sofort wieder aufgerufen.
Was habe ich falsch gemacht?
PDM's Gameplays
Skype-Name: lordpdm

Re: Hilfe zu Skripten.

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Hilfe zu Skripten.
« Antwort #481 am: August 26, 2010, 20:04:15 »
Es funktioniert eigentlich, die andere Scene wird aufgerufen. Wenn ich aber nun die Scene verlasse (also X drücke), wird die Scene sofort wieder aufgerufen.
Was habe ich falsch gemacht?

Das liegt an der Art des Aufruffs vom Menu.
In update_call_menu wird überprüft, ob die Taste B gedrückt wurde, in diesem Fall wird in game_temp die Variable next_scene auf "menu" gesetzt.
Nun wird in update_scene_change geschaut, welchen Wert die Variable next_scene hat. Diese hat den Wert "menu" deshalb wird die Methode call_menu aufgerufen.
Nun kommt deine Veränderung ins Spiel.
In der originallen Methode, wird die Variable $game_temp.next_scene auf nil gesetzt, bei dir aber nicht. Du rufst einfach nur 2 Scenes auf, was übrigens auch falsch ist, da nur die letzte Scene aufgeruffen wird (Scene_Menu öffnet sich zwar kurz, wechselbt aber sofort wieder).
Nun schliesst du das Menu und der Update fängt von vorne an und die Variable $game_temp.next_scene hat immer noch den Wert "menu" deshalb wird sofort wieder call_menu aufgeruffen. Folge ist dieser kleine Fehler. ^^

Falls du die komplette Methode ändern möchtest, musst du letzendlich überschreiben und nicht aliasen. ^^ Das heisst in dem Fall war das Aliasen überflüssig, vor allem weil du die alte Methode garnicht gebraucht hast. :) Ausserdem solltest du folgedes beim aliasen verwenden: unless $@ oder unless method_defined?("neuer_methode_name"), um Stack Errors vorzubeugen.

MfG
Deity



Re: Hilfe zu Skripten.

Offline koushirou

  • Database-Verunstalter
  • **
  • Beiträge: 174
Re: Hilfe zu Skripten.
« Antwort #482 am: September 01, 2010, 09:30:43 »
Ich hätte mal wieder eine Frage >3<
Und zwar mit welchem Skript(Skripten) ich so etwas wie auf diesem Screen aufbauen kann KLICK
Sprich, ein Sideview System, unten die Artworks der Charaktere (statt den Avataren oder nur den Namen) und oben Links oder Rechts das Menü?
Sideview KS kenn ich ja zu genüge, aber gibt es für die auch ein Add-on für Artworks?


Projekt by FlipelyFlip

Re: Hilfe zu Skripten.

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Hilfe zu Skripten.
« Antwort #483 am: September 01, 2010, 14:17:22 »
Tankentai mit ein paar kleinen Modifikationen (das der Battlehud so ausguckt unten, ansonsten is der blos leicht nach rechts zusammengedrückt) + Ziifee Spin Command (Overdrive Add-On)

Re: Hilfe zu Skripten.

Offline koushirou

  • Database-Verunstalter
  • **
  • Beiträge: 174
Re: Hilfe zu Skripten.
« Antwort #484 am: September 02, 2010, 10:47:51 »
Hab jetzt zwar nur Bahnhof verstanden, aber trotzdem danke dir! q.q

Neben dem Problem habe ich noch ein anderes, ich weiß nicht mal ob so etwas möglich ist, aber das kann mir sicher irgend wer sagen, und zwar hab ich irgend wo mal ein skript gesehen, mit dem man die Person mit der man läuft wechseln kann (sprich man hat 2 Chars in der Party, Held 1 und Held 2, statt Held 1 kann man nach belieben auswählen ob man vll auch mal mit Held 2 laufen möchte) so, nun zu meiner eigentlichen Frage, kann man den Helden dann auch spezifische Fähigkeiten geben, so das man Held 1 spielt z.B sprinten kann, mit Held 2 springen u.s.w.?


Projekt by FlipelyFlip

Re: Hilfe zu Skripten.

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Hilfe zu Skripten.
« Antwort #485 am: September 02, 2010, 11:17:13 »
Hi,
ja das ist sogar ziemmlich leicht.
Das ganze würde ich sogar ohne Ruby machen, naja nicht ganz. xD
Du erstellst ein Common Event, welches parallel zum Spiel läuft.
In der ersten Zeile müsstest du mit einem Call Script arbeiten und zwar folgendes einfügen:
$game_variables[id] = $game_party.members[0].idNun wird die Variable, die die ID id besitzt, der ID des ersten Partymitglieds gleichgesetzt. Also, ist Ralph das erste Partymitglied, so ist der Wert der Variable 1, wäre Bannet das erste Mitglied der Party, wäre der Wert 3, diese Werte entsprechen den IDs dieser Actors in der Database. ^^
(id im Call Script unbedingt mit der ID der Variable ersetzen, mit welcher du arbeiten willst.)
Nun kannst du also mit leichtigkeit abfragen, welcher Actor an erster Stelle steht.
In das Common Event, welches parallel läuft kannst du nun deine Spezialfähigkeiten packen. ^^
In den folgenden Zeilen fragst du einfach ab, welches der Partymitglieder an erster Stelle steht und fügst Effekte hinzu.
Also z.B.
ConditionalBranch Variable == 1
Sprinten: AN
else
Sprinten: AUS
end
Das kannst du nun einfach mit allen Actors aus der Database machen. ^^
Zum Actoraustausch auf der Map, kannst du ja ein Script verwenden, welches bereits geschrieben wurde, das mit Events zu gestalten wäre unnötig kompliziert.
Hier ein sehr simples von mir:
module Play_Exchange
  SE_NAME = "Cursor"
end
class Game_Party
  def change_first_member_l
    @actors.insert(0,@actors[-1])
    @actors.pop
    $game_player.refresh
  end
  def change_first_member_r
    @actors.insert(-1,@actors[0])
    @actors.delete_at(0)
    $game_player.refresh
  end
end
class Scene_Map
  alias update_player_exchange update unless $@
  def update
    if Input.trigger?(Input::L)
      Audio.se_play("Audio/SE/#{Play_Exchange::SE_NAME}")
      $game_party.change_first_member_l
    elsif Input.trigger?(Input::R)
      Audio.se_play("Audio/SE/#{Play_Exchange::SE_NAME}")
      $game_party.change_first_member_r
    end
    update_player_exchange
  end
end
Auf der Map durch drücken von Q/W kannst du den Player wechseln.

Hoffe konnte dir einen Anstoss in die Richtige Richtung geben. :P

MfG
Deity
« Letzte Änderung: September 02, 2010, 14:32:56 von Ðeity »



Re: Hilfe zu Skripten.

Offline koushirou

  • Database-Verunstalter
  • **
  • Beiträge: 174
Re: Hilfe zu Skripten.
« Antwort #486 am: September 02, 2010, 15:06:11 »
Danke für das Skript Deity, hätte jetzt auf anhieb auch nicht das gefunden, was ich mal irgend wo gesehen hatte, klappt auch super <3

Für den Rest bin ich irgend wie zu doof, ich hab auch noch nie großartig mit Common Events und Variablen gearbeitet, daher ist es grad etwas schwer für mich da einzufinden. Wobei ich das mit dem Common Event glaub ich sogar einigermaßen verstanden hab, nur an den Variablen scheitert es dann >3<


Projekt by FlipelyFlip

Re: Hilfe zu Skripten.

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Hilfe zu Skripten.
« Antwort #487 am: September 02, 2010, 15:42:09 »
Also ich habe ein einfaches Beispiel gemacht, was sehr weit ausgebaut werden kann, aber das Prinzip bleibt.
Hier erstmal das Bild zum Common Event.
http://250kb.de/u/100902/p/2ud4SxHKFN1K.png

Also als erstes wie oben schon gesgat, allerdings etwas anders geschrieben, um Fehler zu vermeiden.

Call Script:
id = $game_party.members[0].id
$game_variables[1] = id

Die Variable mit der ID 1 wird in diesem Fall der Database-ID des ersten Partymitglieds gesetzt. (In der STandart DB, Ralph = 1, Ulrika = 1, Bennet = 3 etc.)
Ändere die ID, sprich die 1 in die Variable, die die ID des Actor beinhalten soll.

Nun wird als erstes abgefragt welchen Wert diese Variable hat, dafür benutzt du einfach Conitional Branch, Variable == ID.
Die erste Abfrage ist für Ralph, deshalb wird abgefragt, ob die Variable den Wert 1 hat, ist dies der Fall, so habe ich mich zur Demonstration für eine HP-Regeneration entschieden, die jede 5 Sekunden (300 Frames) geschehen soll. Also lass ich eine Variable die Frames zählen und frag ab, ob 300 Frames vorbei sind und wenn ja regeneriere ich die HP um 10 und ressete die Variable.
Das selbe Prinzip habe ich auch nun bei der Abfrage für Ulrika verwendet, allerdings mit MP.
Bei der Abfrage ob Bennet der "spielbare" Character ist, habe ich einfach mal Zufallskämpfe erlaubt bzw. verboten.
Nach diesem Prinzip kannst du für alle Actors der Database, individuelle Fähgkeiten entwickeln, allerdings kann es natürlich verfeinert werden, da der Screen bzw. das Beispiel nur zur Demonstartion dienen soll. ^^

Hoffe es ist klarer geworden, was ich meine.

MfG
Deity



Re: Hilfe zu Skripten.

Offline koushirou

  • Database-Verunstalter
  • **
  • Beiträge: 174
Re: Hilfe zu Skripten.
« Antwort #488 am: September 02, 2010, 17:33:53 »
Vielen lieben Dank! Klappt nun super <3
brauchte nur eine ganze weile bis mir eingefallen ist das man erst einmal die Bedinung für das Common Event erfüllen sollte *hust*
Hast mir wirklich sehr weiter geholfen! '_'


Projekt by FlipelyFlip

Re: Hilfe zu Skripten.

Offline Ðeity

  • No Pain, no gain!
  • Administrator
  • Eventmeister
  • ****
  • Beiträge: 427
  • No Pain, no Gain!
    • Deity-VX
Re: Hilfe zu Skripten.
« Antwort #489 am: September 02, 2010, 17:51:48 »
Freut mich, dass ich dir helfen konnte. :)

MfG
Deity



Re: Hilfe zu Skripten.

Offline Omega

  • Ralph
  • *
  • Beiträge: 7
Re: Hilfe zu Skripten.
« Antwort #490 am: September 06, 2010, 16:55:19 »
Ich hät da mal eine Frage...

Ich hab jetzt das Script für die benutzung mehrer Tilesets für MAPS mal ausprobiert(das von hellmiror)
da bräuchte ich das Java set (das ich habe) und das "Tileset_reLoaded" ding...
habe beides...
Und dann steht da das ich das Tileset_reLoaded starten muss um wechseln zu können... aber es zeigt immer wieder die Meldung...
"Fehler!"
"Kein Projekt gefunden!"
an.

Was hab ich falsch gemacht?

Schonmal danke an die Antworten die noch kommen...

Re: Hilfe zu Skripten.

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Hilfe zu Skripten.
« Antwort #491 am: September 06, 2010, 17:01:02 »
hast dus im Projektordner, in dem gewechselt werden soll?

Re: Hilfe zu Skripten.

Offline Omega

  • Ralph
  • *
  • Beiträge: 7
Re: Hilfe zu Skripten.
« Antwort #492 am: September 06, 2010, 17:42:54 »
Ja... (Was fürn Spam von mir -__-)
« Letzte Änderung: September 06, 2010, 17:43:38 von Omega »

Re: Hilfe zu Skripten.

Offline rayman

  • Eventkenner
  • Eventmeister
  • ***
  • Beiträge: 358
Re: Hilfe zu Skripten.
« Antwort #493 am: September 06, 2010, 18:49:56 »
Ich habe mal ein Script versucht...

Zitat
module Ray
  SWITCH_ID = 20
end

class Game_Player < Game_Character
  class Scene_Ray
  def main
    if $game_switches[Ray::SWITCH_ID] == true
        $scene_Game_Character_CENTER_X = (544/ 2 - 16) * 4
        $scene_Game_Character_CENTER_Y = (416/ 2 - 16) * 4
      end
    end
  end
end

Damit soll die feste Position des Spielers verändert werden. Dafür muss der Switch 20 aktiviert sein. Doch aus einem mir unbekannten Grund funktioniert es nich -.-
Es kommt kein Error, es funktioniert einfach nur nicht -.-
Kann mir jemand helfen?
RPG-EVOLUTION:



Re: Hilfe zu Skripten.

Offline PDM

  • Bibliothekar
  • Global Mod
  • VX-Kenner
  • ****
  • Beiträge: 468
    • Mein Blog
Re: Hilfe zu Skripten.
« Antwort #494 am: September 09, 2010, 21:23:09 »
Ich suche nach einer Möglichkeit, statt dem normalen Speichern es so zu machen:

In einer bereits vorhandenen Savedatei sollen z.B. nur die Switches, Variablen und Gold überspeichert werden. D.h., dass alles andere in der Savedatei beibehalten werden soll.

Geht so etwas?
PDM's Gameplays
Skype-Name: lordpdm

 


 Bild des Monats

rooftop party

Views: 3583
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal