• Anmelden

ExoReality

Ankömmling

  • »ExoReality« ist der Autor dieses Themas

Motto: Aus Tiefstem!

  • Nachricht senden

1

Mittwoch, 25. Januar 2012, 13:59

Richtungsänderung durch Antippen

Hallo Community,

Ich suche ein Skript das die Richtungsänderung der Characters erlaubt ähnlich wie bei Pokemon.
Der Character soll bei einem sehr kurzen Tastendruck lediglich in die dementsprechende Richtung schauen und nicht direkt ein Feld voransschreiten.
Das Script soll im Endeffekt dazu dienen in meinem AKS das Schießen in alle Richtungen ohne Bewegung zu ermöglichen.
Ich hoffe ihr versteht was ich meine ;D

Ist das möglich? Ich würde mich sehr über eine Antwort freuen, sei es auch das es nicht geht. Dann muss ich wenigstens nicht mehr danach
suchen :)
Ich habe mich diesbezüglich schon umgesehen, bin allerdings auch ratlos welche Tags ich benutzen müsste.

Danke schonmal im Vorraus ;)
Exo

2

Sonntag, 29. Januar 2012, 05:17

Hi,
es gibt nur zwei möglichkeiten, zumindest bei der PC-Tastatur, entweder ist die Taste gedrückt oder nicht und genau das überprüft auch jedes RGSS Script. Es besteht vielleicht die Möglichkeit das drehen auf andere Tasten zu legen. Weiß es aber leider nicht genau, da ich erst seit ein paar Tagen das RGSS angefangen habe zu lernen.

MfG,
Ch4ndl3r

Motto: Du kannst zwar niemals die Perfektion an sich erreichen, jedoch solltest du auch nicht vor ihr weglaufen

  • Nachricht senden

3

Sonntag, 29. Januar 2012, 05:46

wenn du das hoch, runter, links und rechts auf eine andere taste legst, könntest du es wie im bild machen.
»Vito Corleone« hat folgendes Bild angehängt:
  • Bewegungsverzörgerung.png
Spoiler
Mapping: :star: :star: :star-empty: :star-empty: :star-empty:
Scripting: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
Eventing: :star: :star: :star: :star: :star-empty:
Brainstorming: :star: :star: :star: :star-empty: :star-empty:
pic-Editing: :star: :star-half: :star-empty: :star-empty: :star-empty:
Music-komposing: :star-half: :star-empty: :star-empty: :star-empty: :star-empty:
Real-Living: :heart: :heart: :heart: :heart: :heart:

Hauptprojekt: Sons of a new World (Simulation)
Spoiler
Sons of a new World - Die Story

Unsere Reise beginnt an einem heißen Nachmittag im Juni 1999 in Mollywood. Einem 210.824 Einwohner kleinem Stadtteil von Los Devilis. Bis vor kurzem war das Leben hier noch in bester Ordnung. Die Arbeitslosenzahlen sanken jährlich, die Computerindustrie boomte und verschaffte jeden halbwegsintelligenten Bürger einen hohen Wohlstand. Aber etwas erschütterte die Menschen wie ein Laubfeuer in ihren Meinungen an eine glückliche Zukunft. Ein örtlich aufstrebender Zeitungsverlag meldete zum ersten Mal, das die Welt in Gefahr sei und die Unterschicht der Bevölkerung schenkte ihr gehör.

Beruhigende Worte des wiedergewählten Präsidenten Warnold Whitennegger konnten jedoch seine fleißigen Bürger besänftigen, bevor diese Meldungen über die Landesgrenzen hinaus schwappten.

Nichts desto trotz glauben die Menschen noch immer an den bevorstehenden Untergang der unabstreitbaren technologieabhängigen Weltbevölkerung zur Jahrtausendwende. Hochtitulierte Historiker, Wissenschaftler mit einem IQ von durchschnittlich 190 und überbezahlte Informatiker glauben fest daran, dass alle computergestützen Maschinen sich gegen die stumpfen Menschen auflehnen und in einem fürchterlichen Krieg besiegen werden. Doch gibt es bis jetzt noch keinen Beweis dafür, da der Informant der letzten Katastrophenmeldung sich scheinbar in Luft auflöste.

Sapple, ein Unternehmen, welches für seine überaus teuren Sapple-Computer und oPads bekannt wurde, fanden kurz darauf Hinweise in einem ihrer neusten oPhones. Eine uncodierte Quellcodepassage beschreibt unverwechselbar den Verlauf des Jüngsten Gerichts.

Zuerst dachte man daran, dass ein Sapple-Mitarbeiter sich einen Scherz erlaubte. Doch erwies sich das als Irrweg. Die Erkenntnis über die absolute Echtheit des Quellcodes stellte sich heraus, als sich eine Hand voll Programmierer versuchten, die indentifizierten Passagen zu löschen. Jedoch ohne Erfolg. Immer wieder verweigerte Notepad das Speichern und führte stets wiederholend zu einem Blue-Screen mit dem Fehlercode WEWILLKILLYOU.

Obwohl nun alles für den Weltuntergang spricht, gibt es immer noch ein paar Menschen, die sich versappelt fühlen. So soll der kürzlichst ausgerufene Katastrophen-Notstand insgeheim von den Killuminaten herbeigerufen worden sein, um endlich die Welt offiziell erobern zu können, welche es schon seit Jahrhunderten vergeblich mit allen Mitteln versuchten wie mit dem Blacksaturday, dem purpurnen Vorhang oder die World-Mall-Zerstörung.

So und nicht anders denkt auch unser junger Protagonist an eine Verschwörung. Wir nennen ihn mal fortan Klaus.

Klaus, 22 Jahre jung, blaue Augen, braune Haare. Arbeitet seit er 18 ist, ehrenamtlich beim örtlichen Naturschutz. Ein ganz gewöhnlicher Bürger von Mollywood. Wie jeden Samstag Nachmittag genießt Klaus seinen erholsamen Spaziergang im öffentlichen Park um die Ecke. Ihm faszinieren stets aufs neue die wunderschön spriesenden Gräser, die farbenprächtigen Blumen, welche er schon im Schlaf mit lateinischem Namen aufsagen kann und die vorbeifliegenden Schmetterlinge, die er schon alle einen eigenen Namen gab und bei Gelegenheit auch grüßt.

Unser friedlicher Protagonist war jedoch nicht immer so friedliebend. Klaus verbrachte seine Heranwachsendenzeit wie jeder Junge seinerzeits mit ausgelassenen Partys bis zum Morgengrauen.

Heute dachte Klaus mal wieder daran seinen Lieblingsbaum zu streicheln. Er vergaß es schon sooft und packte die Gelgenheit am Schopf. Klaus musste nur noch über die Brücke um ihn zu erreichen. Doch dann begann etwas, was er bis heute nicht vergaßund schildert es in seinem Tagebuch mit folgenden Worten:


Liebes Tagebuch,

ich schreibe dir heute dem 27.08.1999, weil mir etwas Furchbares passierte. Du wirst es nicht glauben, aber ich werde gerade gekidnappt und das noch bevor ich meinen Baum streicheln konnte. Ich kann es bisher immer noch nicht fassen...

Ich befinde mich gerade auf einem Schiff oder in einem Ballon. Ich kann es dir nicht genau sagen. Es ist sehr dunkel und ich habe nur meinen beleuchteten Kugelschreiber, der mir etwas von meiner Umgebung verrät.Ich sehe einige Geräte. Es scheinen Toaster, Mikrowellen und Computer zu sein. Ob es etwas mit dem Untergang der Welt zu tun hat? Ich kann es mir nicht erklären, was hier vor sich geht, aber ich bin sicher, dass ich es bald erfahren sollte.

Oje, unser armer Klaus. Er scheint deine Hilfe jetzt wirklich dringend zu benötigen. Wirst du ihm Helfen, sich aus dieser misslichen Lage zu befreien? Klaus und meine Wenigkeit zählen auf dich, also starte ein neues Spiel im Story-Modus oder bestreite es mit/ gegen einen Freund am gleichen Computer und lüfte das Geheimnis um den misteriösen Weltuntergang und der Gefangennahme vom verzweifelten Klaus.
zum Lesen den Text mit der Maus markieren

Nebenprojekte:
Spoiler
MySimCity (Wirtschaftssimulation)
zum Lesen den Text mit der Maus markieren
zum Lesen den Text mit der Maus markieren

Kenai

Landsknecht

Motto: “Niemals aufgeben, bevor man nicht alles versucht hat.”

  • Nachricht senden

4

Sonntag, 29. Januar 2012, 14:40

Ich hab ein wirklich kleines Skriptchen geschrieben, was dir deinen genannten Wunsch realisiert. Füge es einfach im Script Editor über Main ein. Sofern du nicht irgendwelche anderen Skripte laufen hast, die die Spielersteuerung in irgendeiner Weise beeinflussen, müsste es problemlos funktionieren. Ansonsten fragen^^.
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
=begin
* Beschreibung:       Dieses Skript bewirkt beim Antippen einer Richtungstaste 
                      einen Wechsel der Blickrichtung.
* Autor:              Kenai <http://cursalengine.rpg-studio.de/>
* Version:            1.0.0
* Datum:              2012-01-29
=end
 
#*****************************************************************************#
#                         Definition und Deklaration                          #
#*****************************************************************************#
 
class Game_Player < Game_Character
 
#* *** *** *** *** *** *** *** ** Konstanten  ** *** *** *** *** *** *** *** *#
 
  # Wartezeit in Frames bis sich der Spieler beim Drücken der Richtungstaste 
  # bewegt. Umso kleiner dieser Wert, desto zeitiger bewegt sich der Spieler 
  # in die gewünschte Richtung.
  DIRECTION_WAIT = 4
 
#* *** *** *** *** *** *** ***  Klassenaliasing  *** *** *** *** *** *** *** *#
 
  alias :kenai_dir_game_player_initialize :initialize # :nodoc:
 
#* *** *** *** *** *** ** Öffentliche Klassenmethoden ** *** *** *** *** *** *#
 
  # Konstruktor für +Game_Player+.
  def initialize(*args)
    @direction_wait   = 0
    @direction_moving = false
    kenai_dir_game_player_initialize(*args)
  end
 
#* *** *** *** *** *** ** Öffentliche Instanzmethoden ** *** *** *** *** *** *#
 
  # Diese Methode überschreibt das Original von +Game_Player+.
  def update
    last_moving = moving?
 
    unless moving? or $game_system.map_interpreter.running? or
           @move_route_forcing or $game_temp.message_window_showing
 
      dir = Input.dir4
      if dir > 0
        if @direction_moving or @direction == dir
          if @direction_wait > 0
            @direction_wait -= 1
          else
            case dir
            when 2
              move_down
            when 4
              move_left
            when 6
              move_right
            when 8
              move_up
            end
            @direction_moving = true
          end
        else
          case dir
          when 2
            turn_down
          when 4
            turn_left
          when 6
            turn_right
          when 8
            turn_up
          end
          @direction_wait = DIRECTION_WAIT
        end
      else
        @direction_wait   = 0
        @direction_moving = false
      end
 
    end
 
    last_real_x = @real_x
    last_real_y = @real_y
 
    super
 
    if @real_y > last_real_y and @real_y - $game_map.display_y > CENTER_Y
      $game_map.scroll_down(@real_y - last_real_y)
    end
    if @real_x < last_real_x and @real_x - $game_map.display_x < CENTER_X
      $game_map.scroll_left(last_real_x - @real_x)
    end
    if @real_x > last_real_x and @real_x - $game_map.display_x > CENTER_X
      $game_map.scroll_right(@real_x - last_real_x)
    end
    if @real_y < last_real_y and @real_y - $game_map.display_y < CENTER_Y
      $game_map.scroll_up(last_real_y - @real_y)
    end
 
    unless moving?
      if last_moving
        result = check_event_trigger_here([1,2])
        if result == false
          unless $DEBUG and Input.press?(Input::CTRL)
            if @encounter_count > 0
              @encounter_count -= 1
            end
          end
        end
      end
      if Input.trigger?(Input::C)
        check_event_trigger_here([0])
        check_event_trigger_there([0,1,2])
      end
    end
  end
end
zum Lesen den Text mit der Maus markieren
  • :doc: Neuigkeiten

    Sämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012).
  • :rmxp: Cursal Engine (Jump and Run Engine)

    Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3!
  • BildAvatar

    Diese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Kenai« (29. Januar 2012, 17:11)


ExoReality

Ankömmling

  • »ExoReality« ist der Autor dieses Themas

Motto: Aus Tiefstem!

  • Nachricht senden

5

Sonntag, 29. Januar 2012, 18:01

Hey Leute,

erstmal vielen Dank für eure schnellen und kompetenten Antworten ;) Hab das Script von Kenai direkt heute eingebaut. Funktioniert perfekt, meinen Respekt ;D Allerdings hab das von dir angesprochene Problem mit der Überschneidung mit der Script-Sammlung XAS 3.91 Moghunter Edition.
Ich kann leider nicht mehr diagonal laufen. Und die restlichen Funktionen wie schlagen sind ebenfalls nicht mehr vorhanden.

Lässt sich da was machen?
Hier sind die (meiner Meinung nach) verantwortlichen Scripts dafür:

XAS-Initialize
XAS-Movement 1
XAS-Movement 2

(vllt auch:
COG-Extra Frames für das diagonale Laufen
Yan Keyboard Input)


Ich denke es wäre am einfachsten wenn derjenige/diejenige der/die mir helfen möchte das XAS selber runter zu laden von
XAS v3.91 – by Moghunter «
Ansonsten kann ich die Scripts aber auch nachschicken.

War mein erster Post und bin sowieso ein ziemlicher Newbie in Sachen RPG-Maker und vor allem in Sachen RGSS.
Wäre super, wenn ihr mir daher bei meinen Problemen erneut helfen würdet.

Ansonsten noch einen schönen Sonnabend,
Exo

Kenai

Landsknecht

Motto: “Niemals aufgeben, bevor man nicht alles versucht hat.”

  • Nachricht senden

6

Sonntag, 29. Januar 2012, 18:18

Fertsch. Ein bisschen getestet und funktioniert so weit. Das XAS ist an einiges Stellen merkwürdig geschrieben, wodurch ich selben Quelltext bis zu vier mal in verschiedenen Methoden platzieren musste - allerdings funktioniert es. Bei weiteren Problemen nachfragen^^.
Spoiler

Ruby Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
=begin
* Beschreibung:       Dieses Skript bewirkt beim Antippen einer Richtungstaste 
                      einen Wechsel der Blickrichtung für das XAS 3.91.
* Autor:              Kenai <http://cursalengine.rpg-studio.de/>
* Version:            1.0.0
* Datum:              2012-01-29
=end
 
#*****************************************************************************#
#                         Definition und Deklaration                          #
#*****************************************************************************#
 
class Game_Player < Game_Character
 
#* *** *** *** *** *** *** *** ** Konstanten  ** *** *** *** *** *** *** *** *#
 
  # Wartezeit in Frames bis sich der Spieler beim Drücken der Richtungstaste 
  # bewegt. Umso kleiner dieser Wert, desto zeitiger bewegt sich der Spieler 
  # in die gewünschte Richtung.
  DIRECTION_WAIT = 4
 
#* *** *** *** *** *** *** ***  Klassenaliasing  *** *** *** *** *** *** *** *#
 
  alias :kenai_dir_game_player_initialize :initialize # :nodoc:
 
#* *** *** *** *** *** ** Öffentliche Klassenmethoden ** *** *** *** *** *** *#
 
  # Konstruktor für +Game_Player+.
  def initialize(*args)
    @last_direction   = @direction
    @direction_wait   = 0
    @direction_moving = false
    kenai_dir_game_player_initialize(*args)
  end
 
#* *** *** *** *** *** ** Öffentliche Instanzmethoden ** *** *** *** *** *** *#
 
  # Diese Methode überschreibt das Original von +Game_Player+ aus dem XAS.
  def quarter_confuse_move
    pre_quarter = @quarter
    dir = Input.dir8
    if dir > 0
      if @direction_moving or @last_direction == dir
        if @direction_wait > 0
          @direction_wait -= 1
        else
          case dir
          when 1
            move_right
            move_up  
            @quarter = true
          when 2
            move_up
          when 3
            move_up
            move_left 
            @quarter = true
          when 4
            move_right
          when 6
            move_left
          when 7
            move_down
            move_right    
            @quarter = true
          when 8
            move_down
          when 9
            move_left
            move_down
            @quarter = true
          end
          @last_direction   = dir
          @direction_moving = true
        end
      else
        case dir
        when 2
          turn_down
        when 4
          turn_left
        when 6
          turn_right
        when 8
          turn_up
        end
        @last_direction = dir
        @direction_wait = DIRECTION_WAIT
      end
    else
      @direction_wait   = 0
      @direction_moving = false
    end
    @need_refresh_pose = true if pre_quarter != @quarter
  end  
 
  # Diese Methode überschreibt das Original von +Game_Player+ aus dem XAS.
  def quarter_normal_move 
    pre_quarter = @quarter
    if $game_temp.check_name_time > 0 and self.action == nil and not
      moving? and @quarter
      $game_temp.check_name_time -= 1
      @quarter = false if $game_temp.check_name_time == 0
    end
    dir = Input.dir8
    if dir > 0
      if @direction_moving or @last_direction == dir
        if @direction_wait > 0
          @direction_wait -= 1
        else
          case dir
          when 1
            move_left
            move_down
            @quarter = true
          when 2
            move_down     
          when 3
            move_down
            move_right
            @quarter = true
          when 4
            move_left      
          when 6    
            move_right      
          when 7
            move_up
            move_left   
            @quarter = true
          when 8
            move_up      
          when 9
            move_right
            move_up
            @quarter = true
          end 
          @last_direction   = dir
          @direction_moving = true
        end
      else
        case dir
        when 2
          turn_down
        when 4
          turn_left
        when 6
          turn_right
        when 8
          turn_up
        end
        @last_direction = dir
        @direction_wait = DIRECTION_WAIT
      end
    else
      @direction_wait   = 0
      @direction_moving = false
    end
    $game_temp.check_name_time = XAS::FIX_DIAGONAL_TIME_STAND if moving?
    @need_refresh_pose = true if pre_quarter != @quarter  
  end
 
  # Diese Methode überschreibt das Original von +Game_Player+ aus dem XAS.
  def normal_movement
    dir = Input.dir4
    if dir > 0
      if @direction_moving or @last_direction == dir
        if @direction_wait > 0
          @direction_wait -= 1
        else
          case dir
          when 2
            move_down
          when 4
            move_left
          when 6
            move_right
          when 8
            move_up
          end   
          @last_direction   = dir
          @direction_moving = true
        end
      else
        case dir
        when 2
          turn_down
        when 4
          turn_left
        when 6
          turn_right
        when 8
          turn_up
        end
        @last_direction = dir
        @direction_wait = DIRECTION_WAIT
      end
    else
      @direction_wait   = 0
      @direction_moving = false
    end
  end
 
  # Diese Methode überschreibt das Original von +Game_Player+ aus dem XAS.
  def confuse_movement
    dir = Input.dir4
    if dir > 0
      if @direction_moving or @last_direction == dir
        if @direction_wait > 0
          @direction_wait -= 1
        else
          case dir
          when 2
            move_up
          when 4
            move_right
          when 6
            move_left
          when 8
            move_down
          end 
          @last_direction   = dir
          @direction_moving = true
        end
      else
        case dir
        when 2
          turn_down
        when 4
          turn_left
        when 6
          turn_right
        when 8
          turn_up
        end
        @last_direction = dir
        @direction_wait = DIRECTION_WAIT
      end
    else
      @direction_wait   = 0
      @direction_moving = false
    end
  end 
 
end
zum Lesen den Text mit der Maus markieren
  • :doc: Neuigkeiten

    Sämtliche Projekte sind erst mal pausiert. Weitere Informationen findet ihr hier. (Stand: 21.12.2012).
  • :rmxp: Cursal Engine (Jump and Run Engine)

    Mit Hilfe der Cursal Engine (RCE) ist es möglich auf ziemlich einfache Weise „Jump and Run“-Projekte im RPG Maker XP zu entwerfen. Das Anlegen basiert auf Installations- und Updatepaketen sowie reinen Archiven für fortgeschrittene Benutzer. Die Version 2 (CE2) befindet sich bereits in Entwicklung. Interessiert? Dann lade dir die neuste Version herunter ;3!
  • BildAvatar

    Diese kleinen, netten und knuffigen Vögelchen nennen sich Hamachou und dürften einigen aus Skies of Arcadia bekannt sein. Ich habe diese Bilder weder selbst gezeichnet noch modelliert. Dennoch finde ich sie so knuffig, dass man sie einfach lieb haben muss und ich hoffe euch geht's genau so^^". Diese Grafiken sind wirklich rar und ich bin stolz sie im Web gefunden zu haben.

ExoReality

Ankömmling

  • »ExoReality« ist der Autor dieses Themas

Motto: Aus Tiefstem!

  • Nachricht senden

7

Montag, 30. Januar 2012, 12:00

Habs jetzt getest und ich muss sagen: ich bin beeindruckt :)
Funktioniert alles einwandfrei und so wie ich mir das vorgestellt habe.
Wenn mir noch was auffällt schreib ich nochmal, aber ich denke eher weniger, dass das der Fall sein wird :)

Noch mal vielen Dank Kenai<3 ;D,
Exo

Verwendete Tags

Antippen, Steuerung

Social Bookmarks