Dear visitor, welcome to RPG Studio - Make your World real. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

Volgeon

Krieger

  • "Volgeon" started this thread

Motto: Der Mensch ist scheiße, nur ich bin cool.

  • Send private message

1

Saturday, July 2nd 2011, 3:47pm

Koordinaten zum Bewegen aussuchen

Hallo,

ich arbeite schon länger im VX und mir blieb diese Frage immer offen. Als Eventer selber habe ich noch keine Möglichkeit gefunden, deshalb wollte ich hier mal anfragen. Gibt es eine Möglichkeit, beim VX, einen Koordinaten Punkt zu setzen, wo ein Spieler/Event hingehen soll? Statt einem "Event platzieren" oder "Teleport" soll dort hingelaufen werden ,aber wie geht das? Per Eventebene denke ich, ist das unmöglich, aber wie sähe es mit Scripts aus?

Einfach mal posten, was klappen würde, ob es überhaupt klappt und wenn ja wie, egal ob mit Event oder Script.

[Nur für die, die das jetzt nicht verstehen: In Wc3 gab es auch einen Editor (Welt-Editor) mit diesem konnte man einstellen, dass ein "Event" zu einem bestimmten Punkt läuft und währenddessen alles was im Weg kommt angreift oder auch nur hinläuft. Wollte deshalb wissen, wie man das einstellen, falls es möglich ist, das man einen bestimmten Punkt für den Spieler/das Event ausmacht.]

Gruß

Volgeon
  • :user-silhouette: Kontakt

  • :puzzle: Projekte

    :rmxp: Fungame: Let's Roll (2. Spieleversion - Demo)

    :cup: DrookieClicker (Testversion - Demo)

    Spoiler: :rmvx: Slime Adventure (Stop)
    In "Slime Adventure" geht es um einen (wer hätte das gedacht) Slime.
    Dieser Slime muss Kekse essen, um weiterzukommen. Manche heilen ihn und manche fügen ihm Schaden zu.
    Das Besondere hierbei ist, dass man für manche Kekse ein bestimmtes Element gegessen haben muss.
    Besonders bei den Bosskämpfen muss man aufpassen, dass man hier keinen falschen Keks erwischt.
    zum Lesen den Text mit der Maus markieren


    Spoiler: :rmvx: Drookie - The hungry Cookie (Demo in Zukunft - mit GameMakerStudio2)
    In "Drookie - The hungry Cookie" geht es um Drookie (mein Keks-Avatar),
    welcher in einem Wettkampf mit anderen großen Kekskonzernen ist. Er
    will ein Monopol bilden und frisst deshalb die Kekse der anderen
    Konzerne weg, damit diese Pleite werden. Ein ziemlich unernstes und
    unlogisches Spiel, welches nur vom Gameplay überzeugen soll. Man bewegt
    Drookie (links und rechts) und muss versuchen genügend Kekse zu essen
    (gibt eine Keks-o-meter-Anzeige).
    zum Lesen den Text mit der Maus markieren


    Spoiler: :rmvx: Drookie RPG (großes Projekt - folgt in Keks Jahren)
    In "Drookie RPG" geht es um Drookie (mein Keks-Avatar), welcher die keksige Welt vor den bösen Keksbanden aufhalten muss. Es gibt mehrere Kekse, welche ihm Beiseite stehen werden. Man hat von Anfang an ein Grundstück und dort muss man mehrere Kekse herstellen als auch Material für das Abenteuer. Das Abenteuer besteht aus der Verfolgung von mehreren Keksbanden und spannenden Quests.
    zum Lesen den Text mit der Maus markieren
  • :rmvx: :rmxp: Fähigkeiten

    :light-bulb: Ideen: :star: :star: :star: :star: :star-empty:
    :game: Eventen: :star: :star: :star: :star: :star-empty:
    :book: Story: :star: :star: :star: :star-empty: :star-empty:
    :palette: Grafik: :star: :star-empty: :star-empty: :star-empty: :star-empty:
    :map: Mappen: :star: :star-empty: :star-empty: :star-empty: :star-empty:
    :quill: Scripten: :star: :star: :star: :star-empty: :star-empty:
  • :trophy: Contests

    Bild
  • :kumpel: Bündnis

    Bündnis für
    Bündnis durch
    Bündnis mit
    Bündnis seit
    Weltherrschaft Kompromiss Evrey 03.01.2013 19:32

Mitsch93

Drachentöter

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Send private message

2

Saturday, July 2nd 2011, 4:55pm

Mit dem Mausskript ist es möglich den Spieler zu der Position laufen zu lassen, wo
man mit der Maus hinklickt.

HBGames.ORG • Home Brew & Independent Game Making Forums • View topic - [VX] Simple Mouse System

Es gibt auch eine Variante mit Events, allerdings müsste ich mir das vorher nochmal anschauen
wie das geht. Hab das seit einer Ewigkeit nicht mehr gemacht.

Volgeon

Krieger

  • "Volgeon" started this thread

Motto: Der Mensch ist scheiße, nur ich bin cool.

  • Send private message

3

Saturday, July 2nd 2011, 7:06pm

Ich schaue mir mal den Link an. Ich selber will ja nicht das Event i-wie lenken, sondern es soll automatisch zu einem bestimmten Koordinaten Punkt hinlaufen, ohne die Route einzustellen. Zum Beispiel macht man, dass ein Event dauernd zufällig rumläuft, nach einer bestimmten Zeit soll es aber zu einem bestimmten Punkt. Da man aber sowas nicht einstellen kann und nie weiß, wo der Charakter ist, müsste man es mit einem Script oder mir unbekannten Eventbefehl machen.
  • :user-silhouette: Kontakt

  • :puzzle: Projekte

    :rmxp: Fungame: Let's Roll (2. Spieleversion - Demo)

    :cup: DrookieClicker (Testversion - Demo)

    Spoiler: :rmvx: Slime Adventure (Stop)
    In "Slime Adventure" geht es um einen (wer hätte das gedacht) Slime.
    Dieser Slime muss Kekse essen, um weiterzukommen. Manche heilen ihn und manche fügen ihm Schaden zu.
    Das Besondere hierbei ist, dass man für manche Kekse ein bestimmtes Element gegessen haben muss.
    Besonders bei den Bosskämpfen muss man aufpassen, dass man hier keinen falschen Keks erwischt.
    zum Lesen den Text mit der Maus markieren


    Spoiler: :rmvx: Drookie - The hungry Cookie (Demo in Zukunft - mit GameMakerStudio2)
    In "Drookie - The hungry Cookie" geht es um Drookie (mein Keks-Avatar),
    welcher in einem Wettkampf mit anderen großen Kekskonzernen ist. Er
    will ein Monopol bilden und frisst deshalb die Kekse der anderen
    Konzerne weg, damit diese Pleite werden. Ein ziemlich unernstes und
    unlogisches Spiel, welches nur vom Gameplay überzeugen soll. Man bewegt
    Drookie (links und rechts) und muss versuchen genügend Kekse zu essen
    (gibt eine Keks-o-meter-Anzeige).
    zum Lesen den Text mit der Maus markieren


    Spoiler: :rmvx: Drookie RPG (großes Projekt - folgt in Keks Jahren)
    In "Drookie RPG" geht es um Drookie (mein Keks-Avatar), welcher die keksige Welt vor den bösen Keksbanden aufhalten muss. Es gibt mehrere Kekse, welche ihm Beiseite stehen werden. Man hat von Anfang an ein Grundstück und dort muss man mehrere Kekse herstellen als auch Material für das Abenteuer. Das Abenteuer besteht aus der Verfolgung von mehreren Keksbanden und spannenden Quests.
    zum Lesen den Text mit der Maus markieren
  • :rmvx: :rmxp: Fähigkeiten

    :light-bulb: Ideen: :star: :star: :star: :star: :star-empty:
    :game: Eventen: :star: :star: :star: :star: :star-empty:
    :book: Story: :star: :star: :star: :star-empty: :star-empty:
    :palette: Grafik: :star: :star-empty: :star-empty: :star-empty: :star-empty:
    :map: Mappen: :star: :star-empty: :star-empty: :star-empty: :star-empty:
    :quill: Scripten: :star: :star: :star: :star-empty: :star-empty:
  • :trophy: Contests

    Bild
  • :kumpel: Bündnis

    Bündnis für
    Bündnis durch
    Bündnis mit
    Bündnis seit
    Weltherrschaft Kompromiss Evrey 03.01.2013 19:32

Bex

Seher

Motto: Lets have some Fun.

  • Send private message

4

Sunday, July 3rd 2011, 4:09pm

Wenn es keinerlei Hindernisse auf der Map gibt, könntest das mit den Koordinaten regeln ,und so ne art Kompass für
die Laufrichtung nutzen. Asandril hatte das mal genutzt um einen Pfeil auf ein Questziel auszurichten.
Du müstest halt statt Turn to Questziel , Mouve To Questziel benutzen.

Falls es hindernisse gibt? Habe mal gehört da soll es specielle Skripte geben. Bei besseren Pacman Spielen sollen auch solche Skripte genutzt werden um die Gegner zu Steuern.
Gegner Lauf Algorithmus oder so hiessen die.

Edit: Hier Asandrils Demo ,schon umgeändert mit dem Set Mouve Route Befehl.
Er hat allerdings die Beschreibung für die Richtungen vertauscht. Also nicht wundern.und es klappt auch nur ,wenn keine hindernisse im Weg sind.
Bex has attached the following file:

Mitsch93

Drachentöter

Motto: Aufgeben ist es, was den Menschen tötet. Nur der Mensch, der sich weigert aufzugeben, hat sich das Recht verdient, auf dem glanzvollen Pfad der Menschheit zu wandeln.

  • Send private message

5

Sunday, July 3rd 2011, 5:32pm

Mit Hindernissen ist das ganze ein wenig schwieriger.
Haben mal in der 10. in Info ein Männeken programmiert, was Hinternisse umlaufen konnte.
Wenn man das auf Eventbasis machen würde, wäre das viel Arbeit mit Bedingungen usw, aber
rein theoretisch möglich.
Aber persönlich würde ich für so etwas einen Skript benutzen.

FlipelyFlip

Unregistered

6

Tuesday, July 5th 2011, 10:22pm

heyey,

hab etwas in der englischen com gesucht und bin zufällig über folgendes gestolpert:

Spoiler

Ruby Source code

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
245
246
247
248
249
250
251
252
253
254
255
#===============================================================
# ● [VX] ◦ Move Commands +Plus ◦ □
# * Improve some move commands and add move commands~
#--------------------------------------------------------------
# ◦ by Woratana [woratana@hotmail.com]
# ◦ Thaiware RPG Maker Community
# ◦ Released on: 20/03/2008
# ◦ Version: 1.0
#--------------------------------------------------------------
=begin
========================================================
                   + COMMANDS LIST +
========================================================
#--------------------------------------
● IMPROVED MOVE COMMANDS ●
#--------------------------------------
□ SAFE JUMP:
Don't Jump if its destination is OUT OF THE SCREEN (or) NOT PASSABLE.
(Old jump will not check before jump)
 
□ IMPROVED RANDOM MOVE
Find the movable direction before move.
(Old random move will just skip to move in that frame, if its destination is not passable.)
 
□ IMPROVED COLLIDE_WITH_CHARACTERS CHECK
'Same as Characters' events are able to walk on other 'Below Characters' events.
 
● Note: If you don't want one of this improved command, just delete its part.
(I put all of their command name above their script part)
#=====================================
 
#-------------------------------------------
● SPECIAL (NEW) MOVE COMMANDS ●
#-------------------------------------------
# >> HOW TO USE 
#-------------------------------------------
● Open 'Move Route' window, (or event command 'Set Move Route')
Click on the button 'Script...' and type move command you want...
#-----------------------------------------------
 
□ MOVE TOWARD POSITION X/Y
move_toward_pos(x,y)
 
□ MOVE AWAY FROM POSITION X/Y
move_away_from_pos(x,y)
 
□ MOVE TOWARD EVENT ID
move_toward_event(id)
 
□ MOVE AWAY FROM EVENT ID
move_away_from_event(id)
 
□ TURN TOWARD POSITION X/Y
turn_toward_pos(x,y)
 
□ TURN AWAY FROM POSITION X/Y
turn_away_from_pos(x,y)
 
□ TURN TOWARD EVENT ID
turn_toward_event(id)
 
□ TURN AWAY FROM EVENT ID
turn_away_from_event(id)
#============================================================
 
=end
class Game_Character
  ##################################################################
  # IMPROVED MOVE COMMANDS
  ##################################################################
  #-------------------------------------------------------------
  # SAFE JUMP
  #-------------------------------------------------------------
  def jump(x_plus, y_plus)
    if x_plus.abs > y_plus.abs
      x_plus < 0 ? turn_left : turn_right
    elsif x_plus.abs > y_plus.abs
      y_plus < 0 ? turn_up : turn_down
    end
    new_x = @x + x_plus
    new_y = @y + y_plus
    if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y)
      @x += x_plus
      @y += y_plus
      distance = Math.sqrt(x_plus * x_plus + y_plus * y_plus).round
      @jump_peak = 10 + distance - @move_speed
      @jump_count = @jump_peak * 2
      @stop_count = 0
      straighten
    end
  end
 
  #-------------------------------------------------------------
  # IMPROVED RANDOM MOVE
  #-------------------------------------------------------------
  def move_random
    safe = false
    checked = []
    while safe == false
      break if checked.include?(0) and checked.include?(1) and
      checked.include?(2) and checked.include?(3)
      case rand(4)
      when 0; return if checked.include?(0); checked.push 0
        if passable?(@x, @y + 1)
          safe = true; move_down(false)
        end
      when 1; return if checked.include?(1); checked.push 1
        if passable?(@x - 1, @y)
          safe = true; move_left(false)
        end
      when 2; return if checked.include?(2); checked.push 2
        if passable?(@x + 1, @y)
          safe = true; move_right(false)
        end
      when 3; return if checked.include?(3); checked.push 3
        if passable?(@x - 1, @y)
          safe = true; move_up(false)
        end
      end
    end
  end
 
  #----------------------------------------------------------------------
  # IMPROVED COLLIDE_WITH_CHARACTERS CHECK
  #----------------------------------------------------------------------
  def collide_with_characters?(x, y)
    for event in $game_map.events_xy(x, y)          # Matches event position
      unless event.through                          # Passage OFF?
        return true if event.priority_type == 1     # Target is normal char
      end
    end
    if @priority_type == 1                          # Self is normal char
      return true if $game_player.pos_nt?(x, y)     # Matches player position
      return true if $game_map.boat.pos_nt?(x, y)   # Matches boat position
      return true if $game_map.ship.pos_nt?(x, y)   # Matches ship position
    end
    return false
  end
 
  ##################################################################
  # SPECIAL(NEW) MOVE COMMANDS
  ##################################################################
  #--------------------------------------------------------------------------
  # * Move toward Position
  #--------------------------------------------------------------------------
  def move_toward_pos(x,y)
    sx = distance_x_from_pos(x)
    sy = distance_y_from_pos(y)
    if sx != 0 or sy != 0
      if sx.abs > sy.abs                  # Horizontal distance is longer
        sx > 0 ? move_left : move_right   # Prioritize left-right
        if @move_failed and sy != 0
          sy > 0 ? move_up : move_down
        end
      else                                # Vertical distance is longer
        sy > 0 ? move_up : move_down      # Prioritize up-down
        if @move_failed and sx != 0
          sx > 0 ? move_left : move_right
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Move away from Position
  #--------------------------------------------------------------------------
  def move_away_from_pos(x,y)
    sx = distance_x_from_pos(x)
    sy = distance_y_from_pos(y)
    if sx != 0 or sy != 0
      if sx.abs > sy.abs                  # Horizontal distance is longer
        sx > 0 ? move_right : move_left   # Prioritize left-right
        if @move_failed and sy != 0
          sy > 0 ? move_down : move_up
        end
      else                                # Vertical distance is longer
        sy > 0 ? move_down : move_up      # Prioritize up-down
        if @move_failed and sx != 0
          sx > 0 ? move_right : move_left
        end
      end
    end
  end
  #--------------------------------------------------------------------------
  # * Move toward Event
  #--------------------------------------------------------------------------
  def move_toward_event(id)
    move_toward_pos($game_map.events[id].x,$game_map.events[id].y)
  end
  #--------------------------------------------------------------------------
  # * Move away from Event
  #--------------------------------------------------------------------------
  def move_away_from_event(id)
    move_away_from_pos($game_map.events[id].x,$game_map.events[id].y)
  end
  #--------------------------------------------------------------------------
  # * Turn toward Position
  #--------------------------------------------------------------------------
  def turn_toward_pos(x,y)
    sx = distance_x_from_pos(x)
    sy = distance_y_from_pos(y)
    if sx.abs > sy.abs                    # Horizontal distance is longer
      sx > 0 ? turn_left : turn_right
    elsif sx.abs < sy.abs                 # Vertical distance is longer
      sy > 0 ? turn_up : turn_down
    end
  end
  #--------------------------------------------------------------------------
  # * Turn away from Position
  #--------------------------------------------------------------------------
  def turn_away_from_pos(x,y)
    sx = distance_x_from_pos(x)
    sy = distance_y_from_pos(y)
    if sx.abs > sy.abs                    # Horizontal distance is longer
      sx > 0 ? turn_right : turn_left
    elsif sx.abs < sy.abs                 # Vertical distance is longer
      sy > 0 ? turn_down : turn_up
    end
  end
  #--------------------------------------------------------------------------
  # * Turn toward Event
  #--------------------------------------------------------------------------
  def turn_toward_event(id)
    turn_toward_pos($game_map.events[id].x,$game_map.events[id].y)
  end
  #--------------------------------------------------------------------------
  # * Turn away from Event
  #--------------------------------------------------------------------------
  def turn_away_from_event(id)
    turn_away_from_pos($game_map.events[id].x,$game_map.events[id].y)
  end
  #--------------------------------------------------------------------------
  # * Calculate X Distance From Event
  #--------------------------------------------------------------------------
  def distance_x_from_pos(x)
    sx = @x - x
    if $game_map.loop_horizontal?         # When looping horizontally
      if sx.abs > $game_map.width / 2     # Larger than half the map width?
        sx -= $game_map.width             # Subtract map width
      end
    end
    return sx
  end
  #--------------------------------------------------------------------------
  # * Calculate Y Distance From Event
  #--------------------------------------------------------------------------
  def distance_y_from_pos(y)
    sy = @y - y
    if $game_map.loop_vertical?           # When looping vertically
      if sy.abs > $game_map.height / 2    # Larger than half the map height?
        sy -= $game_map.height            # Subtract map height
      end
    end
    return sy
  end
end
highlight to read


Wie das ganze richtig funktioniert siehst du in der Beschreibung habs mir jetzt nicht großartig angeguckt, weiß nur das es sehr gut funkt.
Am besten den Befehl 2 oder 3 mal angeben und auch etwas mit wait arbeiten, ansonsten is es recht einfach zu verwenden (:

lg flip

7

Saturday, April 20th 2013, 11:16am

Auf Wunsch des TE geschlossen.
nyan, nyan, nyan ...

Similar threads

Social bookmarks