• Anmelden

1

Sonntag, 21. November 2010, 20:34

kampfausstellungs Skript

Hi Leute,

ich bräuchte ein Skript zum teambuilden also ich mein das so des man sein Teammember immer austauschen kann mit anderen Leuten die sich einen anschließen. Ich habe das gesehn beim Lets Play von Elements Destiny - Ancient Powers was Suishomaru erstellt hat wenn ihr es geht ich werd ein Link posten wo man das sieht. Ich finde das is so cool da würde ich das gerne in meinen eigenen RPG haben will

http://www.youtube.com/watch?v=OK0M8fEEgs8

ich hoffe ihr könnt mir helfen

mfg
Falcon

2

Montag, 22. November 2010, 13:58

Es ist nicht exakt so wie in dem Video, aber so ähhlich:

Link zu Itzamna

Du kannst damit die Helden austauschen.

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Alexis Hiemis« (24. November 2010, 13:50)


3

Mittwoch, 24. November 2010, 13:12

danke^^

4

Montag, 29. November 2010, 15:50

Fehler

ich muss euch nochmal stören ich wollte das skript einfügen so wie es da steht. aber wenn ich das testen will kommt eine fehler meldung.

5

Montag, 29. November 2010, 16:05

Was hast du wo eingefügt und was steht in der Fehlermeldung?
Dir sagt die Meldung vielleicht nichts, aber sie beschreibt meist genau das Problem und ohne den Wortlaut kann man dir nicht so einfach helfen.

6

Montag, 29. November 2010, 20:16

Beschreibung

also ich habe das so eingefügt wie es da seht

Öffne dein Projekt mit dem Maker. Danach öffne mit F11 den RGSS Editor, scrolle links die Liste bis zum Schluss. Klicke dann rechts auf 'Main' und dann 'Insert'. Nenne das neue Skript Teamwechsel V1 und füge auf der rechten Seite ein.

und wenn ich das testen will kommt das fenster
http://img251.imageshack.us/f/fehlerl.png/

ich hoffe ihr könnt mir helfen

BildBild

7

Montag, 29. November 2010, 20:32

Der Fehler besagt das in Zeile eins des unbenannten Scriptes, etwas steht womit der Interpreter nichts anfangen kann.

Zeig doch mal was du eingefügt hast, also poste den eingefügten Quellcode (am besten in Spoiler- und Rubytag)

8

Dienstag, 30. November 2010, 16:08

Hier ist das skript

Spoiler
<br />
<b>Notice</b>: ob_clean() [<a href='ref.outcontrol'>ref.outcontrol</a>]: failed to delete buffer. No buffer to delete. in <b>/var/www/vhosts/rpg-studio.de/httpdocs/scriptdb/1/dl.php</b> on line <b>23</b><br />
#==============================================================================
# ** Teamwechsel V1
# Teamwechsel.rb von Caesar (09.09.2009)
#------------------------------------------------------------------------------
# http://www.rpg-studio.de/scriptdb/node/386
# Teamwechsel V1
#==============================================================================

#//////////////////////////////////////////Teamwechsel//////////////////////////////////////
#~~~~~~~~~~~~~~~~~~~~by Caesar~~~~~~~~~~~~~~~~~
#\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
class Scene_Party
def main
@left = $game_party.actors.collect { |actor| actor.id}
@right = $game_temp.selectable_actors - $game_party.actors.collect{|i| i.id}
@window_actor = Window_ActorInfo.new
@help_window = Window_Help.new
@help_window.set_text(remove_actor_text, 1)
@window_left = Window_Command.new(320, @left.collect{
|i| $data_actors.name})
@window_left.y = 64
@window_left.height = 268
@window_right = Window_Command.new(320, @right.collect{
|i| $data_actors[i].name})
@window_right.x = 320
@window_right.y = 64
@window_right.height = 268
set_inactive(@window_right)
@old_index = -1
Graphics.transition
loop do
Graphics.update
Input.update
update
break unless $scene == self
end
Graphics.freeze
@window_actor.dispose
@help_window.dispose
@window_left.dispose
@window_right.dispose
end
#---------------
def update
@window_actor.update
@help_window.update
@window_left.update
@window_right.update
#::::::::::::::
if Input.trigger?(Input::B)
if @left.size <= 0
$game_system.se_play($data_system.buzzer_se)
@help_window.set_text(no_actors_text, 1)
elsif @left.size > 4
$game_system.se_play($data_system.buzzer_se)
@help_window.set_text(too_many_actors_text, 1)
else
$game_party.actors.clear
@left.each {|i| $game_party.add_actor(i)}
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
end
end
#:::::::::::::::::
if Input.trigger?(Input::C)
$game_system.se_play($data_system.decision_se)
if @window_left.active
@right.push(@left.delete_at(@window_left.index))
@old_index = -1
if @left.size <= 0
@help_window.set_text(remove_actor_text, 1)
set_inactive(@window_left)
set_active(@window_right)
end
else
@left.push(@right.delete_at(@window_right.index))
@old_index = -1
if @right.size <= 0
@help_window.set_text(add_actor_text, 1)
set_inactive(@window_right)
set_active(@window_left)
end
end
@window_left.commands = @left.collect{|i| $data_actors[i].name}
@window_right.commands = @right.collect{|i| $data_actors[i].name}
end
#::::::::::::::::::
if Input.trigger?(Input::LEFT) and @window_right.active
if @left.size > 0
@old_index = -1
@help_window.set_text(remove_actor_text, 1)
$game_system.se_play($data_system.cursor_se)
set_inactive(@window_right)
set_active(@window_left)
else
$game_system.se_play($data_system.buzzer_se)
end
end
#:::::::::::::::::
if Input.trigger?(Input::RIGHT) and @window_left.active
if @right.size > 0
@old_index = -1
@help_window.set_text(add_actor_text, 1)
$game_system.se_play($data_system.cursor_se)
set_inactive(@window_left)
set_active(@window_right)
else
$game_system.se_play($data_system.buzzer_se)
end
end
#::::::::::::::::::
if Input.repeat?(Input::L) and @window_left.active
@left.swap_up!(@window_left.index)
@window_left.swap_up
end
#::::::::::::::::::
if Input.repeat?(Input::R) and @window_left.active
@left.swap_down!(@window_left.index)
@window_left.swap_down
end
#::::::::::::::::::
index = @window_left.active ? @window_left.index : @window_right.index
if index != @old_index
@old_index = index
update_actor_info
end
end
#--------------------
def update_actor_info
if @window_left.active
index = @window_left.index
@window_actor.actor = $game_actors[@left[index]] if index != -1
else
index = @window_right.index
@window_actor.actor = $game_actors[@right[index]] if index != -1
end
end
#--------------------
def set_active(window)
window.active = true
window.opacity = 255
window.contents_opacity = 255
end
#--------------------
def set_inactive(window)
window.active = false
window.opacity = 160
window.contents_opacity = 160
end
#--------------------
def add_actor_text
"Helden dem Team hinzufügen"
end
#--------------------
def remove_actor_text
"Helden aus dem Team entfernen"
end
#--------------------
def too_many_actors_text
"Es sind zu viele Helden im Team!"
end
#--------------------
def no_actors_text
"Im Team muss sich mindestens ein Held befinden!"
end
end
#==================
class Window_ActorInfo < Window_Base
attr_reader :actor
#----------------
def initialize(actor=nil)
super(0, 332, 640, 148)
self.contents = Bitmap.new(width - 32, height - 32)
refresh
end
#-----------------
def refresh
self.contents.clear
return if @actor.nil?
x = 140
draw_actor_graphic(@actor, x - 40, 80)
draw_actor_name(@actor, x, 0)
draw_actor_class(@actor, x + 144, 0)
draw_actor_level(@actor, x, 32)
draw_actor_state(@actor, x + 90, 32)
draw_actor_exp(@actor, x, 64)
draw_actor_hp(@actor, x + 236, 32)
draw_actor_sp(@actor, x + 236, 64)
end
#-----------------
def actor=(actor)
@actor = actor
refresh
end
end
#=========================
class Window_Command < Window_Selectable
attr_reader :commands
#--------------
def commands=(commands)
if commands.size != @commands.size
@item_max = commands.size
self.contents = Bitmap.new(width - 32, @item_max * 32) if @item_max > 0
@index -= 1 if @index >= @item_max
@index = 0 if @item_max == 1
end
@commands = commands
refresh
end
#---------------
def swap_up
$game_system.se_play($data_system.cursor_se)
@commands = @commands.swap_up(@index)
if @index > 0
@index -= 1
refresh
end
end
#-----------------
def swap_down
$game_system.se_play($data_system.cursor_se)
@commands = @commands.swap_down(@index)
if @index < @commands.size-1
@index += 1
refresh
end
end
end
#========================
class Array
def swap_up(index)
arr = dup
return arr unless index > 0
arr[index] = self[index-1]
arr[index-1] = self[index]
return arr
end
#------------------
def swap_down(index)
arr = dup
return arr unless index < size-1
arr[index] = self[index+1]
arr[index+1] = self[index]
return arr
end
#----------------
def swap_up!(index)
return unless index > 0
temp = self[index]
self[index] = self[index-1]
self[index-1] = temp
end
#----------------
def swap_down!(index)
return unless index < size-1
temp = self[index]
self[index] = self[index+1]
self[index+1] = temp
end
end
#===
zum Lesen den Text mit der Maus markieren

9

Dienstag, 30. November 2010, 16:59

Mach mal alles weg, was über

#==============================================================================
# ** Teamwechsel V1

ist. Das ist irgendwie ein ausgabefehler, da ist irgendwleches HTML drinne, das nicht reingehört. Oder einfach vor die ersten 3 Zeilen ein #, damit sie grün werden (dann sind es nur noch kommentare)

10

Dienstag, 30. November 2010, 17:33

und wie kann man das aktivieren also im game.

Irrlicht

Leuchtendes Irgendwas

Motto: Keep shining!

  • Nachricht senden

11

Dienstag, 30. November 2010, 17:41

Wenn du die Meldung

Zitat

failed to delete buffer. No buffer to delete. in <b>/var/www/vhosts/rpg-studio.de/httpdocs/scriptdb/blubb
erhältst kann es sein dass auch das Script nicht vollständig angezeigt werden konnte. In dem Fall reicht es idR. die Seite (notfalls mehrmals) neu zu laden bis die Meldung verschwindet.

Ansonsten:

Zitat von »Anleitung aus Itzamná«

Im Anhang findet sich der Code in einer Textdatei. Der Code muss in einem neuen Script über Main eingefügt werden. Sonst sind keine Änderungen im Scripteditor nötig.
Wie das Script nun genau aufgerufen wird, bleibt dem Macher des Spiels überlassen. Es muss jedenfalls folgender Code ausgeführt werden, damit das Teamwechsel-Script aufgerufen wird:
$scene = Scene_Party.new

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Irrlicht« (30. November 2010, 19:33)


12

Dienstag, 30. November 2010, 20:34

und wo soll ich $scene = Scene_Party.new einfügen

Neo-Bahamut

Himmelsgleicher

Motto: Wer anderen eine Bratwurst brät, der hat ein Bratwurstbratgerät.

  • Nachricht senden

13

Dienstag, 30. November 2010, 21:05

In dem Eventbefehl "Script..." (Seite 3 unten rechts)
Spoiler: Wurstinator
zum Lesen den Text mit der Maus markieren

Spoiler: Lazer-Wurst
zum Lesen den Text mit der Maus markieren

Spoiler: Hallowurst
zum Lesen den Text mit der Maus markieren

14

Sonntag, 19. Dezember 2010, 20:33

okay kann man das auch so machen das man manche Chara später freischaltet denn zurzeit ist das so das ich alle chara auswählen kann sobald ich das event aktiviere bzw das skript wäre echt mega wenn ihr mir helfen könntet

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »MrFalcon3991« (19. Dezember 2010, 20:33)


15

Dienstag, 21. Dezember 2010, 00:10

Steht doch auf Itzamná in der Erklärung bei Punkt2

Du kannst mit einem Event per CallScript das regeln:

Ruby Quellcode

1
2
3
sa = $game_temp.selectable_actors
sa += [6,7]
sa -= [2,3]
Fügt Actor#6 und #7 hinzu, und entfernt #2 und #3, wobei man dieses Array, beliebig erweitern kann um weitere Nummern.

16

Dienstag, 21. Dezember 2010, 16:19

ich versteh gerade nicht wie ich das mit dem callstript einfügen soll und wo?

17

Dienstag, 21. Dezember 2010, 16:27

Na in dem Moment im Spiel, wo du meinst "Hey, jetzt sollte man Actor#5 ins Team einwechseln können!", zum Beispiel nach einem Gespräch mit einem NPC, dann lässt du ein Event dieses CallScript ausführen:

Ruby Quellcode

1
2
sa = $game_temp.selectable_actors
sa += [5]
und schon sollte #5 auswählbar sein .-.

18

Dienstag, 21. Dezember 2010, 19:36

ohhh man ich nerve bestimmt aber muss ich was beachten wenn ich das Callskript einfügen den zur zeit füge ich es so ein

# sa = $game_temp.selectable_actors
# sa += [5]

aber es verändert nix
und wenn ich es so einfüge



1 sa = $game_temp.selectable_actors
2 sa += [5]
kommt eine fehlermeldung wenn ich einen NPC mit diesen Skript anquatsche

19

Dienstag, 21. Dezember 2010, 20:19

Versteh ich dich richtig? ô_o
Das Symbol Raute (#) bewirkt, dass der Rest der Scriptzeile als Kommentar gewertet wird.

Ruby Quellcode

1
#Ich bin ein Kommentar, und beschreibe was hier gerade im Quelltext passiert

Lass die Kommentarzeichen(Rauten) weg, und es sollte funktionieren ;)

(Wenn Fehlermeldungen kommen, immer den genauen Fehlertext angeben.)

20

Samstag, 22. Januar 2011, 20:29

Hallo den Script benutz ich auch und hab ein Problem ich hab gemacht dass ich am Anfang nur 5 Actor auswählen kann alles klappt ganz gut nur wenn ich das Spiel neu startete kann ich alle auswählen kann mir bitte einer helfen?

Ähnliche Themen

Social Bookmarks