| Script de deux joueurs [RESOLU] | |
|
Auteur | Message |
---|
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Script de deux joueurs [RESOLU] Sam 24 Avr 2010 - 16:43 | |
| Si vous me dites que le titre n'est pas explicite, ben cassez vous x)En fait, je cherche un script qui fait que lorsqu'un interrupteur est activé et qu'une touche est pressée (X si possible, même si cela n'est pas possible à la base Berka à réussit à insérer toutes les touches, donc une seule doit être possbile), et bien ... c'est compliqué à expliquer...Je met des screens: Si je n'ai pas été clair, dites le-moi.
Dernière édition par DedZ le Dim 25 Avr 2010 - 18:02, édité 1 fois |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:15 | |
| |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:16 | |
| En fait ce que je voudrais c'est que les deux persos soient controlâbles avec les flêches directionelles, quand on appuie sur "X".Cette action ne sera dispo que si un interrupteur est activé. |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:19 | |
| Bah, le joueur pourra controler les 2 persos en même temps c'est pas mieux ? |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:27 | |
| Ben...Non =D Car se déplacer avec WASD c'est vraiment chiant, et ce n'est pas ce que je cherhce pour mon jeu.En fait à l'appui d'une touche l'esprit du héros sortira de son corps et pourra aller faire des actions et le corps restera là ou il était au moment de la transition.Aussi, au réappui d'une touche le corps disparaîtra sur une animation et l'esprit reprendra sa forme originale (corps+âme) donc comme sa on pourra se servir du héros comme d'un rocher qu'on pousse sur les interrupteurs, etc ...Aussi l'esprit ne sera pas repérable. |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:40 | |
| Bah il te reste l'event ^^. Car je connais aucun script qui puisse faire ça et moi n'étant pas scripteur je ne peux pas te le faire ^^.
Tu faits un event commun en processus parallèle avec un interrupteur que tu activeras sur les maps ou le héros pourra changer de corps ( si j'ai bien compris ^^ ). Et après, comme j'ai pas RPG maker vx sur cet ordi, tu peux me dire si on peux faire une condition avec la touche droite, gauche, bas ou haut est pressé ?
Merci ^^ |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:43 | |
| Oui on peut.Mais ce que je recherche est un système trop complexe pour qu'il soit fait en event.Et trop long, en plus ^^
Y'a-t-il un scripteur dans la salle ? |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:44 | |
| Trop complexe XD ? suffit de faire une condition si la touche X est préssé après une condition si la touche bas et pressé, et tu faits déplacer l'event vers le bas etc ... avec chaque direction et pour l'event qui fait l'interrupteur pour ouvrir la porte par exemple, tu mets en contact avec l'event, comme ça dès que l'event touchera l'interrupteur, bah ce que tu veux se produira ^^ |
|
| |
Voyageur Lv.10
Age : 28 Inscrit le : 08/02/2010 Messages : 483
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:47 | |
| |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:48 | |
| Non, c'est pas si simple ^^ Il faut que le truc soit disponible nimporte quand.Alors que là l'event soir dispo n'importe quand.
Mais je vais quand même essayer ton truc. |
|
| |
Voyageur Lv.10
Age : 28 Inscrit le : 08/02/2010 Messages : 483
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 8:56 | |
| Possible en Event. Aprés là j'ai pas beaucoup de temps, pas assé pour te le faire. Je sais pas trop si j'y arriverait en plus, mais demande à un EventMaker |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:05 | |
| Le problème c'est surtout que l'évènement d'esprit ne pourra pas passer sur d'autres events, donc mon système ne marche pas comme sa.J'ai besoin d'un script. |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:08 | |
| Script ou event la configuration sera la même. tu veux un script parce que t'as la flemme de configurer un truc en event.
Et en évent c'est pas très difficile. Pour ton problème, tu mets le héros en mode au dessus de tout et le tour est joué. |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:17 | |
| Non mais en fait ce que j'ai fait c'est que j'ai fait : Quand j'appuie sur [Y] in-game, l'esprit apparaît, mais l'esprit ne peut pas activer d'interrupteurs car sa le bloque.Et pis ...Ben voileh quoi ^^ |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:18 | |
| Faut mettre l'interrupteur en contact avec evenement et en dessous de tout peut être ^^ |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:20 | |
| C'est ce que j'ai fait :Sa ne fait rien. |
|
| |
Mage Lv.11
Age : 27 Inscrit le : 02/03/2009 Messages : 513
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:22 | |
| C'est à dire ça fait rien ? Le jeu se bloc tu peux plus jouer ou tout continues normalement alors que t'as marcher sur l'interrupteur ? |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 9:44 | |
| Tu te complique trop la vie.
Tu mets un event sur ta map. Quand tu switche avec les events, tu échange les positions du héros et de l'event, tu change les apparances et c'est bon. |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 10:12 | |
| Là j'ai pas compris :/ Il me faudrait un tuto, ou une aide approfondie, désolé je suis chiant ^^ |
|
| |
Maire Lv.9
Age : 28 Avertissements : 1 Inscrit le : 18/04/2010 Messages : 332
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 12:44 | |
| Salut moi j'ai un script de Woratana pour commencer place ce script au dessus de main - Spoiler:
#========================================= # [VX] 2 Players Engine #------------------------------------------------ # By Woratana [woratana@hotmail.com] # Version: 1.0 # Date: 14/03/2008 *HAPPY PIE DAY! lol* # # CREDIT: Original XP Version by Hima
=begin
+[FEATURES]+ - Create Player 2 that you can control, interact with other events in map, as same as Main Player.
- Editable Input Buttons for Player 2
- Player 2 can walk & Run 8 directions
+[HOW TO USE]+ To Create Player 2, use call script: $game_player2 = Game_Player2.new $game_player2.create(x, y, actor id, follow?)
x and y = X and Y that you want new player to appear
actor id = Character from ID of Actor that you want to use for new player (ID from Database)
follow? = true (Screen follow new player), false (not follow new player) *NOT RECOMMEND TO USE FOLLOW*
To Delete Player 2, use call script: $game_player2.delete
=end #==========================================
class Game_Player2 < Game_Character #-------------------------------------------------------------------------- # START SETUP script PART # * Constants: Commande du 2em joueur #-------------------------------------------------------------------------- DOWN = Input::Y # S du clavier LEFT = Input::X # A du clavier RIGHT = Input::Z # D du clavier UP = Input::R # W du clavier ENTER = Input::L # Q du clavier RUN = Input::A # Shift du clavier #-------------------------------------------------------------------------- # END SETUP script PART #-------------------------------------------------------------------------- CENTER_X = (544 / 2 - 16) * 8 # Screen center X coordinate * 8 CENTER_Y = (416 / 2 - 16) * 8 # Screen center Y coordinate * 8 #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :vehicle_type # type of vehicle currenting being ridden attr_accessor :character_name #-------------------------------------------------------------------------- # * Create and Set Player 2 Location #-------------------------------------------------------------------------- def create(x,y,id,need_center = false) @actor_id = id moveto(x,y) @need_center = need_center refresh end #-------------------------------------------------------------------------- # * Clear Player 2 #-------------------------------------------------------------------------- def delete @actor_id = nil refresh $game_player2 = nil end #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize super @vehicle_type = -1 @vehicle_getting_on = false # Boarding vehicle flag @vehicle_getting_off = false # Getting off vehicle flag @transferring = false # Player transfer flag @new_map_id = 0 # Destination map ID @new_x = 0 # Destination X coordinate @new_y = 0 # Destination Y coordinate @new_direction = 0 # Post-movement direction @walking_bgm = nil # For walking BGM memory end #-------------------------------------------------------------------------- # * Determine if Stopping #-------------------------------------------------------------------------- def stopping? return false if @vehicle_getting_on return false if @vehicle_getting_off return super end #-------------------------------------------------------------------------- # * Player Transfer Reservation # map_id : Map ID # x : x-coordinate # y : y coordinate # direction : post-movement direction #-------------------------------------------------------------------------- def reserve_transfer(map_id, x, y, direction) @transferring = true @new_map_id = map_id @new_x = x @new_y = y @new_direction = direction end #-------------------------------------------------------------------------- # * Determine if Player Transfer is Reserved #-------------------------------------------------------------------------- def transfer? return @transferring end #-------------------------------------------------------------------------- # * Execute Player Transfer #-------------------------------------------------------------------------- def perform_transfer return unless @transferring @transferring = false set_direction(@new_direction) if $game_map.map_id != @new_map_id $game_map.setup(@new_map_id) # Move to other map end moveto(@new_x, @new_y) end #-------------------------------------------------------------------------- # * Determine if Map is Passable # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def map_passable?(x, y) case @vehicle_type when 0 # Boat return $game_map.boat_passable?(x, y) when 1 # Ship return $game_map.ship_passable?(x, y) when 2 # Airship return true else # Walking return $game_map.passable?(x, y) end end #-------------------------------------------------------------------------- # * Determine if Walking is Possible # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def can_walk?(x, y) last_vehicle_type = @vehicle_type # Remove vehicle type @vehicle_type = -1 # Temporarily set to walking result = passable?(x, y) # Determine if passable @vehicle_type = last_vehicle_type # Restore vehicle type return result end #-------------------------------------------------------------------------- # * Determine if Airship can Land # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def airship_land_ok?(x, y) unless $game_map.airship_land_ok?(x, y) return false # The tile passable attribute is unlandable end unless $game_map.events_xy(x, y).empty? return false # Cannot land where there is an event end return true # Can land end #-------------------------------------------------------------------------- # * Determine if Riding in Some Kind of Vehicle #-------------------------------------------------------------------------- def in_vehicle? return @vehicle_type >= 0 end #-------------------------------------------------------------------------- # * Determine if Riding in Airship #-------------------------------------------------------------------------- def in_airship? return @vehicle_type == 2 end #-------------------------------------------------------------------------- # * Determine if Dashing #-------------------------------------------------------------------------- def dash? return false if @move_route_forcing return false if $game_map.disable_dash? return false if in_vehicle? return Input.press?(RUN) end #-------------------------------------------------------------------------- # * Determine if Debug Pass-through State #-------------------------------------------------------------------------- def debug_through? return false unless $TEST return Input.press?(Input::CTRL) end #-------------------------------------------------------------------------- # * Set Map Display Position to Center of Screen # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def center(x, y) display_x = x * 256 - CENTER_X # Calculate coordinates unless $game_map.loop_horizontal? # No loop horizontally? max_x = ($game_map.width - 17) * 256 # Calculate max value display_x = [0, [display_x, max_x].min].max # Adjust coordinates end display_y = y * 256 - CENTER_Y # Calculate coordinates unless $game_map.loop_vertical? # No loop vertically? max_y = ($game_map.height - 13) * 256 # Calculate max value display_y = [0, [display_y, max_y].min].max # Adjust coordinates end $game_map.set_display_pos(display_x, display_y) # Change map location end #-------------------------------------------------------------------------- # * Move to Designated Position # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def moveto(x, y) super # center(x, y) make_encounter_count # Initialize encounter if in_vehicle? # Riding in vehicle vehicle = $game_map.vehicles[@vehicle_type] # Get vehicle vehicle.refresh # Refresh end end #-------------------------------------------------------------------------- # * Increase Steps #-------------------------------------------------------------------------- def increase_steps super return if @move_route_forcing return if in_vehicle? $game_party.increase_steps $game_party.on_player_walk end #-------------------------------------------------------------------------- # * Get Encounter Count #-------------------------------------------------------------------------- def encounter_count return @encounter_count end #-------------------------------------------------------------------------- # * Make Encounter Count #-------------------------------------------------------------------------- def make_encounter_count if $game_map.map_id != 0 n = $game_map.encounter_step @encounter_count = rand(n) + rand(n) + 1 # As if rolling 2 dice end end #-------------------------------------------------------------------------- # * Determine if in Area # area : Area data (RPG::Area) #-------------------------------------------------------------------------- def in_area?(area) return false if area == nil return false if $game_map.map_id != area.map_id return false if @x < area.rect.x return false if @y < area.rect.y return false if @x >= area.rect.x + area.rect.width return false if @y >= area.rect.y + area.rect.height return true end #-------------------------------------------------------------------------- # * Create Group ID for Troop Encountered #-------------------------------------------------------------------------- def make_encounter_troop_id encounter_list = $game_map.encounter_list.clone for area in $data_areas.values encounter_list += area.encounter_list if in_area?(area) end if encounter_list.empty? make_encounter_count return 0 end return encounter_list[rand(encounter_list.size)] end #-------------------------------------------------------------------------- # * Refresh #-------------------------------------------------------------------------- def refresh if @actor_id != nil and $game_actors[@actor_id] != nil actor = $game_actors[@actor_id] # Get front actor @character_name = actor.character_name @character_index = actor.character_index else @character_name = "" end end #-------------------------------------------------------------------------- # * Determine if Same Position Event is Triggered # triggers : Trigger array #-------------------------------------------------------------------------- def check_event_trigger_here(triggers) return false if $game_map.interpreter.running? result = false for event in $game_map.events_xy(@x, @y) if triggers.include?(event.trigger) and event.priority_type != 1 event.start result = true if event.starting end end return result end #-------------------------------------------------------------------------- # * Determine if Front Event is Triggered # triggers : Trigger array #-------------------------------------------------------------------------- def check_event_trigger_there(triggers) return false if $game_map.interpreter.running? result = false front_x = $game_map.x_with_direction(@x, @direction) front_y = $game_map.y_with_direction(@y, @direction) for event in $game_map.events_xy(front_x, front_y) if triggers.include?(event.trigger) and event.priority_type == 1 event.start result = true end end if result == false and $game_map.counter?(front_x, front_y) front_x = $game_map.x_with_direction(front_x, @direction) front_y = $game_map.y_with_direction(front_y, @direction) for event in $game_map.events_xy(front_x, front_y) if triggers.include?(event.trigger) and event.priority_type == 1 event.start result = true end end end return result end #-------------------------------------------------------------------------- # * Determine if Touch Event is Triggered # x : x-coordinate # y : y-coordinate #-------------------------------------------------------------------------- def check_event_trigger_touch(x, y) return false if $game_map.interpreter.running? result = false for event in $game_map.events_xy(x, y) if [1,2].include?(event.trigger) and event.priority_type == 1 event.start result = true end end return result end #-------------------------------------------------------------------------- # * Processing of Movement via input from the Directional Buttons #-------------------------------------------------------------------------- def move_by_input return unless movable? return if $game_map.interpreter.running? if Input.press?(DOWN) move_down end if Input.press?(LEFT) move_left end if Input.press?(RIGHT) move_right end if Input.press?(UP) move_up end end #-------------------------------------------------------------------------- # * Determine if Movement is Possible #-------------------------------------------------------------------------- def movable? return false if moving? # Moving return false if @move_route_forcing # On forced move route return false if @vehicle_getting_on # Boarding vehicle return false if @vehicle_getting_off # Getting off vehicle return false if $game_message.visible # Displaying a message return false if in_airship? and not $game_map.airship.movable? return true end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update last_real_x = @real_x last_real_y = @real_y last_moving = moving? move_by_input super update_scroll(last_real_x, last_real_y) if @need_center update_vehicle update_nonmoving(last_moving) end #-------------------------------------------------------------------------- # * Update Scroll #-------------------------------------------------------------------------- def update_scroll(last_real_x, last_real_y) ax1 = $game_map.adjust_x(last_real_x) ay1 = $game_map.adjust_y(last_real_y) ax2 = $game_map.adjust_x(@real_x) ay2 = $game_map.adjust_y(@real_y) if ay2 > ay1 and ay2 > CENTER_Y $game_map.scroll_down(ay2 - ay1) end if ax2 < ax1 and ax2 < CENTER_X $game_map.scroll_left(ax1 - ax2) end if ax2 > ax1 and ax2 > CENTER_X $game_map.scroll_right(ax2 - ax1) end if ay2 < ay1 and ay2 < CENTER_Y $game_map.scroll_up(ay1 - ay2) end end #-------------------------------------------------------------------------- # * Update Vehicle #-------------------------------------------------------------------------- def update_vehicle return unless in_vehicle? vehicle = $game_map.vehicles[@vehicle_type] if @vehicle_getting_on # Boarding? if not moving? @direction = vehicle.direction # Change direction @move_speed = vehicle.speed # Change movement speed @vehicle_getting_on = false # Finish boarding operation @transparent = true # Transparency end elsif @vehicle_getting_off # Getting off? if not moving? and vehicle.altitude == 0 @vehicle_getting_off = false # Finish getting off operation @vehicle_type = -1 # Erase vehicle type @transparent = false # Remove transparency end else # Riding in vehicle vehicle.sync_with_player # Move at the same time as player end end #-------------------------------------------------------------------------- # * Processing when not moving # last_moving : Was it moving previously? #-------------------------------------------------------------------------- def update_nonmoving(last_moving) return if $game_map.interpreter.running? return if moving? return if check_touch_event if last_moving if not $game_message.visible and Input.trigger?(ENTER) return if get_on_off_vehicle return if check_action_event end update_encounter if last_moving end #-------------------------------------------------------------------------- # * Update Encounter #-------------------------------------------------------------------------- def update_encounter return if $TEST and Input.press?(Input::CTRL) # During test play? return if in_vehicle? # Riding in vehicle? if $game_map.bush?(@x, @y) # If in bush @encounter_count -= 2 # Reduce encounters by 2 else # If not in bush @encounter_count -= 1 # Reduce encounters by 1 end end #-------------------------------------------------------------------------- # * Determine Event Start Caused by Touch (overlap) #-------------------------------------------------------------------------- def check_touch_event return false if in_airship? return check_event_trigger_here([1,2]) end #-------------------------------------------------------------------------- # * Determine Event Start Caused by [OK] Button #-------------------------------------------------------------------------- def check_action_event return false if in_airship? return true if check_event_trigger_here([0]) return check_event_trigger_there([0,1,2]) end #-------------------------------------------------------------------------- # * Getting On and Off Vehicles #-------------------------------------------------------------------------- def get_on_off_vehicle return false unless movable? if in_vehicle? return get_off_vehicle else return get_on_vehicle end end #-------------------------------------------------------------------------- # * Board Vehicle # Assumes that the player is not currently in a vehicle. #-------------------------------------------------------------------------- def get_on_vehicle front_x = $game_map.x_with_direction(@x, @direction) front_y = $game_map.y_with_direction(@y, @direction) if $game_map.airship.pos?(@x, @y) # Is it overlapping with airship? get_on_airship return true elsif $game_map.ship.pos?(front_x, front_y) # Is there a ship in front? get_on_ship return true elsif $game_map.boat.pos?(front_x, front_y) # Is there a boat in front? get_on_boat return true end return false end #-------------------------------------------------------------------------- # * Board Boat #-------------------------------------------------------------------------- def get_on_boat @vehicle_getting_on = true # Boarding flag @vehicle_type = 0 # Set vehicle type force_move_forward # Move one step forward @walking_bgm = RPG::BGM::last # Memorize walking BGM $game_map.boat.get_on # Boarding processing end #-------------------------------------------------------------------------- # * Board Ship #-------------------------------------------------------------------------- def get_on_ship @vehicle_getting_on = true # Board @vehicle_type = 1 # Set vehicle type force_move_forward # Move one step forward @walking_bgm = RPG::BGM::last # Memorize walking BGM $game_map.ship.get_on # Boarding processing end #-------------------------------------------------------------------------- # * Board Airship #-------------------------------------------------------------------------- def get_on_airship @vehicle_getting_on = true # Start boarding operation @vehicle_type = 2 # Set vehicle type @through = true # Passage ON @walking_bgm = RPG::BGM::last # Memorize walking BGM $game_map.airship.get_on # Boarding processing end #-------------------------------------------------------------------------- # * Get Off Vehicle # Assumes that the player is currently riding in a vehicle. #-------------------------------------------------------------------------- def get_off_vehicle if in_airship? # Airship return unless airship_land_ok?(@x, @y) # Can't land? else # Boat/ship front_x = $game_map.x_with_direction(@x, @direction) front_y = $game_map.y_with_direction(@y, @direction) return unless can_walk?(front_x, front_y) # Can't touch land? end $game_map.vehicles[@vehicle_type].get_off # Get off processing if in_airship? # Airship @direction = 2 # Face down else # Boat/ship force_move_forward # Move one step forward @transparent = false # Remove transparency end @vehicle_getting_off = true # Start getting off operation @move_speed = 4 # Return move speed @through = false # Passage OFF @walking_bgm.play # Restore walking BGM make_encounter_count # Initialize encounter end #-------------------------------------------------------------------------- # * Force One Step Forward #-------------------------------------------------------------------------- def force_move_forward @through = true # Passage ON move_forward # Move one step forward @through = false # Passage OFF end end
class Scene_Title < Scene_Base alias wor_twopla_scetit_cregam create_game_objects def create_game_objects wor_twopla_scetit_cregam $game_player2 = nil end end
class Scene_Map < Scene_Base alias wor_twopla_scemap_upd update def update wor_twopla_scemap_upd $game_player2.update if $game_player2 != nil end end
class Spriteset_Map alias wor_twopla_sprmap_crecha create_characters alias wor_twopla_sprmap_updcha update_characters def create_characters wor_twopla_sprmap_crecha @character_sprites.push(Sprite_Character.new(@viewport1, $game_player)) @chara_two_pushed = false end def update_characters if !(@chara_two_pushed) and $game_player2 != nil @character_sprites.push(Sprite_Character.new(@viewport1, $game_player2)) @chara_two_pushed = true elsif @chara_two_pushed and $game_player2 == nil for i in 0..@character_sprites.size if @character_sprites[i].character.is_a?(Game_Player2) @character_sprites[i].character.character_name = "" @character_sprites[i].update @character_sprites.delete_at(i) break end end @chara_two_pushed = false end wor_twopla_sprmap_updcha end end
class Game_Map alias wor_twopla_gammap_passable passable? def passable?(x, y, flag = 0x01) if $game_player2 != nil and flag return false if $game_player2.x == x and $game_player2.y == y end wor_twopla_gammap_passable(x, y, flag) end end
puis créer un event sur la map de départ faite appellé script et entré - Code:
-
$game_player2 = Game_Player2.new $game_player2.create(x, y, id, true/false)
en remplacant x et y par la position de départ du deusième héros id par le numéro du héros de votre choix et true/false par false: l'écran suit le premié joueur true: l'écran suit le deusième joueur ex - Code:
-
$game_player2 = Game_Player2.new $game_player2.create(1, 1, 2, false) et pour finir - Code:
-
$game_player2.delete
pour suprimé le deusième joueur voila tout. |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 13:14 | |
| Oui cela je l'avais vu mais ce que je cherche est un script plus complexe. |
|
| |
Maire Lv.9
Age : 28 Avertissements : 1 Inscrit le : 18/04/2010 Messages : 332
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 15:50 | |
| OUAIS mais bon c'est déja ca vu que tu peut controlé deux personage à la fois. |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 16:28 | |
| Oui ^^ Mais moi ce que je te dis c'est que je ne veut pas contrôler deux persos à la fois !Je veut juste pouvoir en quelque sorte "sortir l'esprit du héros" et pouvoir le contrôler pendant que le héros reste là ou il était.Comme sa on peut faire pleins de chose sans avoir à pousser un rocher sur un interrupteur.C'est le principe de mon jeu. |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 17:55 | |
| Rah, mais pourquoi se faire chier a chercher un script alors qu'en event c'est 10x plus simple ? Ne recopie pas les commentaires : Evènement : |>Condition : Si Interrupteur [Transfert] == désactivé |>Opération : Variable [X héros] = Héros Coordonées X |>Opération : Variable [Y héros] = Héros Coordonées Y |>Opération : Variable [X évent] = Évent Coordonées X |>Opération : Variable [Y évent] = Évent Coordonées Y |>Commentaire : Ces variables enregistrent les positions de l'event et du héros |>Opération : Variable [IDMap] = ID de la carte |>Commentaire : Cette dernière servira aussi pour plus tard |>Effacer l'écran en fondu |>Commentaire : On efface en fondu l'écran pour éviter de montrer les étapes |>Téléporter l'équipe ID : [IDMap], X : [X évent], Y : [Y évent] |>Déplacer évenement : Héros |>Modifier Charset : 'Esprit' |>Commentaire : Téléportation et changement sur le héros |>Placer : Event, X : [X héros], Y : [Y héros] |>Déplacer évenement : Event |>Modifier Charset : 'Héros' |>Commentaire : Téléportation et changement sur l'évent |>Afficher l'écran en fondu |>Commentaire : Tout cela étant fini on réaffiche |>Opération : Interrupteur [Transfert] Activé |>Sinon |>Opération : Variable [X héros] = Héros Coordonées X |>Opération : Variable [Y héros] = Héros Coordonées Y |>Opération : Variable [X évent] = Évent Coordonées X |>Opération : Variable [Y évent] = Évent Coordonées Y |>Commentaire : Ces variables enregistrent les positions de l'event et du héros |>Opération : Variable [IDMap] = ID de la carte |>Commentaire : Cette dernière servira aussi pour plus tard |>Effacer l'écran en fondu |>Commentaire : On efface en fondu l'écran pour éviter de montrer les étapes |>Téléporter l'équipe ID : [IDMap], X : [X évent], Y : [Y évent] |>Déplacer évenement : Héros |>Modifier Charset : 'Héros' |>Commentaire : Téléportation et changement sur le héros |>Placer : Event, X : [X héros], Y : [Y héros] |>Déplacer évenement : Event |>Modifier Charset : 'Esprit' |>Commentaire : Téléportation et changement sur l'évent |>Afficher l'écran en fondu |>Commentaire : Tout cela étant fini on réaffiche |>Opération : Interrupteur [Transfert] Désactivé |>Fin - Condition
L'interrupteur s'active / se désactive selon si le joueur va vers l'event ou il reviens depuis l'évent |
|
| |
Voyageur Lv.10
Age : 27 Inscrit le : 12/03/2010 Messages : 465
| Sujet: Re: Script de deux joueurs [RESOLU] Dim 25 Avr 2010 - 18:01 | |
| Ah wéééééé O_°
Désolé de vous avoir fait chieyyy comme sa ![RESOLU] ! |
|
| |
| Sujet: Re: Script de deux joueurs [RESOLU] | |
| |
|
| |
| Script de deux joueurs [RESOLU] | |
|