Partagez
Aller en bas
avatar
Louislochiste
Membre

Nombre de messages : 22
Age : 34
Localisation : Dans ma tête
Distinction : aucune
Date d'inscription : 19/10/2008

Grand pb pour la téléportation.

le Dim 2 Nov 2008 - 22:50
Hello tout le monde.

Voilà je veux faire une sorte de système de «sphèrier»à la FFX sur mon projet.

En fait le sphèrier serai tout simplement une map avec tout un système d'event que je crée avec des conditions etc....

Par exemple pour activer le sphèrier il suffit de cliquer sur un objet dans l'inventaire.

Donc une fois que je prends l'objet le joueur est téléporté sur la map du sphèrier puis le joueur active les cases du sphèrier qu'il à envi et une fois finit il faut le faire revenir sur la map d'où il provient exactement.

Le problème que j'ai c'est que je ne trouve pas le moyen de le faire revenir d'où il vient exactement et je veux vraiment que le sphèrier soit activable à n'importe quel instant !

Voilà mon problème en gros !

Et si quelqu'un a une idée pour foutre plus simplement une catégorie "Sphèrier" dans le menu du jeu et de faire que lorsque l'on clic dessus on ce téléporté sur le sphèrier , je suis preneur.

Merci d'avance Very Happy
avatar
Berka
Administrateur

Nombre de messages : 1831
Age : 28
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Re: Grand pb pour la téléportation.

le Dim 2 Nov 2008 - 23:03
pas testé:

avant d'ouvrir le menu, tu assignes le n° de la map, et les coordonnées du heros dans des variables
a mettre au dessus de main:
Code:
class Scene_Menu < Scene_Base
ID_MAP = 0 # id de la map du spherier
X = 5 # coord x sur la nouvelle map
Y = 5 # coord y sur la nouvelle map
  def create_command_window
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = "Sphérier"
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # If number of party members is 0
      @command_window.draw_item(0, false)    # Disable item
      @command_window.draw_item(1, false)    # Disable skill
      @command_window.draw_item(2, false)    # Disable equipment
      @command_window.draw_item(3, false)    # Disable status
    end
    if $game_system.save_disabled            # If save is forbidden
      @command_window.draw_item(4, false)    # Disable save
    end
  end
  def update_command_selection
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # Item
        $scene = Scene_Item.new
      when 1,2,3  # Skill, equipment, status
        start_actor_selection
      when 4
        $game_map.setup(ID_MAP) 
        $game_player.moveto(X, Y)
        $game_player.refresh
        $scene = Scene_Map.new
      when 5
        $scene = Scene_File.new(true, false, false)
      when 6      # End Game
        $scene = Scene_End.new
      end
    end
  end
avatar
Louislochiste
Membre

Nombre de messages : 22
Age : 34
Localisation : Dans ma tête
Distinction : aucune
Date d'inscription : 19/10/2008

Re: Grand pb pour la téléportation.

le Dim 2 Nov 2008 - 23:23
Merci pour le script ^^

Quand tu dis :
avant d'ouvrir le menu, tu assignes le n° de la map, et les coordonnées du heros dans des variables
a mettre au dessus de main:

J'imagine que tu parles du début du script : Si c'est la map 8 je change le 0 par 8 et je place en dessous l'emplacement du hero sur cette map avec X et Y.

Je viens de tester le script sur un nouveau projet , mais j'ai un message d'erreur directement quand je lance le jeu :

script sphèrier line 54:SyntaxError occurred.

La ligne 54 , c'est end !

Par contre , au moins que j'ai vraiment rien compris :

when 4
$game_map.setup(ID_MAP)
$game_player.moveto(X, Y)
$game_player.refresh
$scene = Scene_Map.new

Alors que le sphèrier est en when 5 non? désolè d'avance encore une fois si mes questions sont un peu conne !
avatar
Arayashiki
Membre

Nombre de messages : 655
Age : 28
Localisation : Trois lettres me demangent. Oserai-je ?
Distinction : FUCKING nouveau dieu du mal. Gros connard en chef.
Date d'inscription : 18/08/2008

Re: Grand pb pour la téléportation.

le Dim 2 Nov 2008 - 23:31
Tout simplement un end en trop ou en plus et pour ta question bah les index de tableau commence à 0. Donc 0,1,2,3,4 correspond au cinquième élément.
avatar
Louislochiste
Membre

Nombre de messages : 22
Age : 34
Localisation : Dans ma tête
Distinction : aucune
Date d'inscription : 19/10/2008

Re: Grand pb pour la téléportation.

le Dim 2 Nov 2008 - 23:44
Ok merci !

C'est vraiment très cool pour le script.

Il me manque juste la solution pour le faire revenir sur la map d'origine après avoir utilisé celle du sphèrier et c'est nickel mais j'ai l'impression que c'est vraiment pas évident.
avatar
Elscorto
Membre

Nombre de messages : 486
Age : 33
Localisation : Dans sa tombe en ce moment
Distinction : Homme de goût en chef.
Date d'inscription : 10/07/2008

Re: Grand pb pour la téléportation.

le Lun 3 Nov 2008 - 10:30
Avant de te téléporter sur le sphérier, tu mets dans des variables l'Id de la map ou tu te trouves actuellement ainsi que les positions X et Y, après quand tu pars du sphérier,tu téléportes ton perso avec ces variables.

Enfin c'est comme ça que je ferai
avatar
Yao
Membre

Nombre de messages : 38
Age : 32
Distinction : aucune
Date d'inscription : 21/10/2008

Re: Grand pb pour la téléportation.

le Lun 3 Nov 2008 - 11:25
J'allais le dire, j'aurais fait pareil^^
Tout est dans la page de gestion des variables, les deux dernière cases :"évènement" et "autres"
avatar
Louislochiste
Membre

Nombre de messages : 22
Age : 34
Localisation : Dans ma tête
Distinction : aucune
Date d'inscription : 19/10/2008

Re: Grand pb pour la téléportation.

le Lun 3 Nov 2008 - 16:13
J'ai pas vraiment tout comprit le procédé mais je vais quand même tester ce soir cette histoire d'ID map et de coordonner.
Merci de m'aider ^^

Mais j'ai l'impression , à lire vos propositions , qu' il faut que je rentre toujours l'ID de la map et la position du perso dans votre procédure si le joueur utilise le sphèrier , sauf que encore une fois , le sphèrier s'active quand le joueur le veut et non pas en cliquant sur une orbe sur la map ou quelque chose du genre. Donc c'est pas vraiment prévisible de savoir ou il est vue qu'il l'active n'importe quand et n'importe ou^^

Donc je sais pas si avec les events je peux réellement faire ce que j'ai besoin !

Il faudrait que le système du jeu sauvegarde la map avant d'allez sur celle du shpèrier et avoir une option pour retourner sur la map + position sur lequel j'étais avant d'être sur celle du sphèrier (et enfaîte plus je m'explique plus j'imagine qu'il faut un script pour le réaliser cette histoire ou alors ne plus passer par une map pour le sphèrier mais par un menu mais la ça demande encore plus de boulot en script ! donc impossible pour moi à faire.)
avatar
Elscorto
Membre

Nombre de messages : 486
Age : 33
Localisation : Dans sa tombe en ce moment
Distinction : Homme de goût en chef.
Date d'inscription : 10/07/2008

Re: Grand pb pour la téléportation.

le Lun 3 Nov 2008 - 16:23
Ce que tu fais,quand le joueur sélectionne l'objet pour aller sur le sphérier,c'est ici que tu dois mettre dans des variables,l'ID de la map ainsi que ces positions X et Y.

En Event Commun
Si l'objet est sélectionné
Variable ID_MAP_Actuelle = ID_MAP
Variable PosXActuelle = Pos X
Variable PosYActuelle = Pos Y
Téléporter équipe sur le sphérier (là tu fais ce que t'as à faire)
// Quand tu veux revenir
Téléporter équipe à (ID_MAP_Actuelle ; PosXActuelle ; PosYActuelle)

Voilà comment je ferai.
avatar
Yao
Membre

Nombre de messages : 38
Age : 32
Distinction : aucune
Date d'inscription : 21/10/2008

Re: Grand pb pour la téléportation.

le Lun 3 Nov 2008 - 17:02
Encore une fois Elscorto, j'aurais fait la même chose.

chocobolouis a écrit:Donc je sais pas si avec les events je peux réellement faire ce que j'ai besoin !
Bien sur que si^^
En fait dans ce cas, même pas besoin de script.
Tu pourrais tout faire en event...

Ps: au fait Elscorto, c'est bien Nami de one piece sur ton avatar?
avatar
Louislochiste
Membre

Nombre de messages : 22
Age : 34
Localisation : Dans ma tête
Distinction : aucune
Date d'inscription : 19/10/2008

Re: Grand pb pour la téléportation.

le Lun 3 Nov 2008 - 18:13
Merci beaucoup de votre aide !

Je viens de tester et ça marche nickel !

Je trouve quand même qu'activer un sphèrier à partir d'un objet est un peu nul , et le script de berka est vraiment ce que je cherche.
Donc l'idée final est de combiner le script de berka avec les events.

Donc au final il me manque quoi pour que le script soit complet? Les trois variable de base avant d'être téléporter non? Le variable Map , le variable X et le variable Y.
Ou alors peut être que je me trompe totalement car dans la méthode des events il y a une condition : Celle d'avoir un objet et que dans le script il n'y a pas de condition.

Oh que oui je suis chiant lol ^^ Enfin je promet que je boss vraiment très sérieusement sur mon projet et que c'est vraiment pas pour rien au final si je demande tout ça ^^

Si c'est vraiment trop complexe , alors j'activerai simplement le sphèrier à partir d'un objet même si , je pense , que le résultat est moins convainquant !

Merci encore de votre aide qui est vraiment très utile

Edit :

J'imagine quelque chose comme ça enfaîte pour le script : Lancer un événement commun
Mon événement commun, dans la base de donné, je fou que la condition est que mon perso est au moins lvl 1 Puis je fou les 3 variables MAP + Y+ X.
Donc dans le script je lance la commande des évenement commun et je donne L'ID de l'événement de ma base de donné.
Puis je téléporte , toujours avec le script , l'équipe vers le sphèrier (en fait, ça c'est exactement ce que fais le script de Berka)

J'imagine que la commande pour les événement commun c'est :

class Game_CommonEvent
#--------------------------------------------------------------------------
# * Object Initialization
# common_event_id : common event ID

et après j'ai plus cas mettre un téléporteur sur mon sphèrier avec les variable MAP + X + Y.

Comme ça pas besoin de passer par un objet mais simplement par une condition : Celui d'être lvl 1.

Je suis vraiment nul en script , je découvre depuis 3 semaines seulement alors j'exprime juste ce que j'ai cru comprendre bien que même si ce que je dis est peut être exact je ne serai pas réellement le capable de le mettre dans le script.
Mais au final j'essaye quand même de comprendre et de ne pas juste attendre les réponses.
avatar
Elscorto
Membre

Nombre de messages : 486
Age : 33
Localisation : Dans sa tombe en ce moment
Distinction : Homme de goût en chef.
Date d'inscription : 10/07/2008

Re: Grand pb pour la téléportation.

le Mar 4 Nov 2008 - 9:20
Re ,pour ce qui est des scripts,je ne peux pas te dire car je ne m'y suis jamais penché, mais je pense qu'en combinant le script de Messire Berka ainsi que l'event commun,tout devrai marché comme tu le souhaites.
Bon courage pour ta suite

[HS] Yao : Mon avatar est Aya Brea de Parasite Eve [/HS]
Contenu sponsorisé

Re: Grand pb pour la téléportation.

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum