Problem mit View Range
Ich möchte den folgenden Skript verwenden verstehe aber nicht wie man den aun auslösen kann
Kann mir wer helfen?
~Danke im Vorraus
|
|
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 |
#==============================================================================
# View Range Script
#------------------------------------------------------------------------------
# By: Near Fantastica
# Date: 07/04/05
#==============================================================================
class View_Range
#--------------------------------------------------------------------------
# ? Range system works by sereching the area of a circle for the Player's xy
# The Veiw is set in each event and is the radius of the circle
# The Eaquation used is (Px-EX)^2 + (Py-Ey)^2 = radius^2
# If the Radius is less than or equal to the View the Player is inside the circle
#--------------------------------------------------------------------------
def initialize
@playing_bgs = []
@bgs = BGS.new
@bgs.pitch = 100
@event_id = 0
@event_locial_switch = ""
@view_range = 0
@playerx = 0
@playery = 0
@eventx = 0
@eventy = 0
@event_direction = 0
end
#--------------------------------------------------------------------------
# Max Sound Effect Range is 8 units DO NOT OVER LAP
# or it will go into super lag mode you have been warned
# This is because you are trying to play 2 different sound
# effects and will cycles between them
#
# Note : This overrides the maps default sound effect
#--------------------------------------------------------------------------
def event_sound(event_id, bgs_name)
@bgs.name = bgs_name
@event_id = event_id
@playerx = $game_player.x
@playery = $game_player.y
@eventx = $game_map.events[@event_id].x
@eventy = $game_map.events[@event_id].y
@event_direction = $game_map.events[@event_id].direction
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius > 64
if @playing_bgs[event_id] != nil
@playing_bgs[event_id] = nil
$game_system.bgs_fade(1)
return
end
elsif radius <= 64 and radius > 49
if @playing_bgs[event_id] == nil
@bgs.volume = 30
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
end
@bgs.volume = 30
if @bgs.volume != @playing_bgs[event_id].volume or
@bgs.name != @playing_bgs[event_id].name
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
end
elsif radius <= 49 and radius > 36
@bgs.volume = 40
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 36 and radius > 25
@bgs.volume = 50
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 25 and radius > 16
@bgs.volume = 60
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 16 and radius > 9
@bgs.volume = 70
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 9 and radius > 4
@bgs.volume = 80
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius <= 4 and radius > 1
@bgs.volume = 90
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
elsif radius = 1
@bgs.volume = 100
@playing_bgs[event_id] = @bgs
$game_system.bgs_play(@bgs)
return
end
end
#--------------------------------------------------------------------------
def enemies_view(event_id, view_range, els)
@event_id = event_id
@view_range = view_range
@event_locial_switch = els
@playerx = $game_player.x
@playery = $game_player.y
@eventx = $game_map.events[@event_id].x
@eventy = $game_map.events[@event_id].y
@event_direction = $game_map.events[@event_id].direction
if @event_direction == 2
if @playery >= @eventy
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
if @event_direction == 4
if @playerx <= @eventx
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
if @event_direction == 6
if @playerx >= @eventx
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
if @event_direction == 8
if @playery <= @eventy
radius = (@playerx-@eventx)*(@playerx-@eventx) + (@playery-@eventy)*(@playery-@eventy)
if radius <= @view_range
key=[$game_map.map_id, @event_id, @event_locial_switch]
$game_self_switches[key] = true
$game_map.need_refresh = true
end
end
end
end
end
#======================================================
class Scene_Title
#--------------------------------------------------------------------------
alias vr_scene_title_update update
#--------------------------------------------------------------------------
def update
$view_range = View_Range.new
vr_scene_title_update
end
end
#======================================================
class Game_System
attr_accessor :playing_bgs
end
#======================================================
class BGS
#--------------------------------------------------------------------------
attr_accessor :name
attr_accessor :volume
attr_accessor :pitch
#--------------------------------------------------------------------------
def initialize
@name
@volume
@pitch
end
end
#======================================================
class Game_Map
#--------------------------------------------------------------------------
attr_accessor :map
end |
zum Lesen den Text mit der Maus markieren
Kann mir wer helfen?
~Danke im Vorraus
~Kitsu
mein Leben fängt jetzt endlich richtig an - und es wird wunderschön :3
möchte wer Kekse? ^-^
Mach ein paralleles Event und für dort einen Eventscript Code aus:
z.B.
Mfg Monsta
|
|
Quellcode |
1 |
$view_range.event_sound(event_id, bgs_name) |
z.B.
|
|
Quellcode |
1 2 |
$view_range.event_sound( 1, "001-Wind01") |
Mfg Monsta
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
1- kann man auch das gleiche event nehmen? (also in 1 ist der skript und auf 1 bezeiht sich der skript)
wenn nein 2- muss ich für jedes event ein eigenes "auslöse-event" machen?
wenn nein 2- muss ich für jedes event ein eigenes "auslöse-event" machen?
~Kitsu
mein Leben fängt jetzt endlich richtig an - und es wird wunderschön :3
möchte wer Kekse? ^-^
1. Dafür gibt es die Variabel @event_id:
2. Du kannst auch alle Event Sounds in ein Event packen und parallel laufen lassen:
(Hab ich deine Frage jetzt richtig verstanden?!?)
Mfg Monsta
|
|
Quellcode |
1 2 |
$view_range.event_sound( @event_id, "001-Wind01") |
2. Du kannst auch alle Event Sounds in ein Event packen und parallel laufen lassen:
|
|
Quellcode |
1 2 3 4 5 6 |
$view_range.event_sound( @event_id, "001-Wind01") $view_range.event_sound( 1, "001-Wind01") $view_range.event_sound( 2, "001-Wind01") |
(Hab ich deine Frage jetzt richtig verstanden?!?)
Mfg Monsta
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Kleine Korrektur, Monsta
![]()
Quellcode
1 $view_range.event_sound(Range, bgs_name)
Bist dir da Sicher?
Schau dir das gepostete Skript mal genau an:
|
|
Quellcode |
1 |
def event_sound(event_id, bgs_name) |
Skripte:
Animations "Entruckler"
Console
Drunken Mode
Eventskript Debugger
Flat-Events
Impassable Script
Item Shortcut
MSS: Monsta's Shoot System (Neu)
Radius Skript
Random Event Teleport
RMXP Leistungstest
Single Rotate
Split Screen (Beta)
Tutorials:
'alias' Bug beheben
Eigenes RTP
Standard KS komplett Übersetzen
RGSS: Eigener HUD
Programme:
Maker Exchange [ MEX ]
RMXP Skript Explorer
RPGXP Code Converter
Spiele:
[Minispiel] Stampfi V1.5 (Gold)
[Minispiel] Mastermind XP
[Humor] Verfressene Klone
______________________________
[Zukunft] Evil Science
zum Lesen den Text mit der Maus markieren
Du hattest recht, Monsta, hab mir das Script nochmal angeschaut (und meinen Beitrag gelöscht). Aber in V1 konnte man glaub ich noch die Range angeben.
Das ist denk ich, auch noch wichtig:
# Max Sound Effect Range is 8 units DO NOT OVER LAP
# or it will go into super lag mode you have been warned
# This is because you are trying to play 2 different sound
# effects and will cycles between them
also aufpassen, dass die Events sich nicht überlappen.
Aber bei den Enemys gibt ne View_Range.
Das ist denk ich, auch noch wichtig:
# Max Sound Effect Range is 8 units DO NOT OVER LAP
# or it will go into super lag mode you have been warned
# This is because you are trying to play 2 different sound
# effects and will cycles between them
also aufpassen, dass die Events sich nicht überlappen.
Aber bei den Enemys gibt ne View_Range.
|
|
Quellcode |
1 2 3 4 |
def enemies_view(event_id, view_range, els) @event_id = event_id @view_range = view_range @event_locial_switch = els |
Rabu
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Rabu« (8. August 2007, 20:44)
@ monsta jop haste richtig verstanden und verständlich erklärt
@ rabu (or anyone else ^^ ) was mache ich denn dann mit dem meer rund um ne insel (ich glaub du weißt was ich meine ^^ )
@ rabu (or anyone else ^^ ) was mache ich denn dann mit dem meer rund um ne insel (ich glaub du weißt was ich meine ^^ )
~Kitsu
mein Leben fängt jetzt endlich richtig an - und es wird wunderschön :3
möchte wer Kekse? ^-^
Fiele mir auf die Schnelle nur ein, ein paar solche Events in passendem Abstand rund um die Küste zu setzen. Aber sind halt viele parallele Events und somit Speicher-Fresser (Lagging). Wär mir jetzt zu kritisch, nur wegen so nem bisschen Sound-Effekt.
Aber vll gäb's ja ne Script-Lösung für solch einen flächenabhängigen Sound. Vll was mit Terrain_ID, kA?
Aber vll gäb's ja ne Script-Lösung für solch einen flächenabhängigen Sound. Vll was mit Terrain_ID, kA?
Rabu
Wär schon toll wenns sowas gäbe aber ich bin ne absolute skiptniete
@all wer weiß da Rat?
~danke ezelo
@all wer weiß da Rat?
~danke ezelo
~Kitsu
mein Leben fängt jetzt endlich richtig an - und es wird wunderschön :3
möchte wer Kekse? ^-^
