Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

252 connectés actuellement

29185497 visiteurs
depuis l'ouverture

5762 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Lumen

RPG Maker VX

Hellsoft

Tous nos partenaires

Devenir
partenaire



Téléportation spéciale

Permet une programmation plus rapide pour les téléportations dans certains cas particuliers.

Script pour RPG Maker XP
Ecrit par Trebor777 (Guillaume777)
Publié par trebor777 (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : Trebor777 (Guillaume777)
Logiciel : RPG Maker XP
Nombre de scripts : 1

Ce script évite, d'écrire 5 ou 6 lignes de commande dans un event.... pour téléporter sur des map spécifiques: je m'explique

disons que j'ai "maison_level_1", 2 , 3 , etc ....

mon event spécial, permet simplement juste en spécifiant le (2, 3, etccc) de téléporter le joueur sur la map de même nom, mais d'indice différent.
et ceux, juste en ayant le nom de l'event.

actuellement, le nom de l'event ressemble à celà :
"warp_2" , téléportera à la map de même nom mais d'indice 2. (donc "maison_level_2")

le joueur est téléporté au même endroit qu'il était au contact de l'event.

On peut mettre une transition, paramétrable niveau durée pour le téléport. si elle n'est pas spécifié le changement de map est instantané.

En éditant le script, vous pouvez personnaliser les noms des paramètres : c'est à dire remplacer "warp_" parce que vous voulez par exemple mettre "aller à la map n°"
pareil pour le paramètre de transition.

je pense que dans une version future, on pourra spécifié de nouvelles coordonnées dans le nom de l'event...

Bon les contraintes de fonctionnement :
- le nom de l'event suit un ordre précis : d'abord le paramètre de map où aller, ensuite en option , le paramètre de transition
- l'event doit être en "contact avec le héros" ( le deuxième type de déclenchement )

Portion de code : Tout sélectionner

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
#=================================================== 
# Initialisation des constantes 
#=================================================== 
TR = "t+" 
WARP = "warp_" 
#=================================================== 
# ▼ CLASS Game_Map Additional Code Begins 
#=================================================== 
class Game_Map 
  #Dubealex Addition (from XRXS) to show Map Name on screen 
  def name 
    $map_infos[@map_id] 
  end 
  #Trebor777 Addition 
  alias warp_setup setup 
  def setup(map_id) 
    warp_setup(map_id) 
    @name = {} 
    for i in @map.events.keys 
      @name[i] = @map.events[i].name 
    end 
  end 
  #------------------------------------------------------------------------- 
  def event_name(event) 
    @event_id = event 
    @name[@event_id] 
  end 
  #-------------------------------------------------------------------------- 
end  
#=================================================== 
# ▲ CLASS Game_Map Additional Code Ends 
#=================================================== 
  
#=================================================== 
# ▼ CLASS Scene_Title Additional Code Begins 
#=================================================== 
class Scene_Title 
  #Dubealex Addition (from XRXS) to show Map Name on screen 
  $map_infos = load_data("Data/MapInfos.rxdata") 
  $map_info = {} 
  for key in $map_infos.keys 
    $map_infos[key] = $map_infos[key].name 
  end 
  #Trebor777 Addition 
  $map_info = $map_infos.invert    
end 
#=================================================== 
# ▲ CLASS Scene_Title Additional Code Ends 
#===================================================  
 
#=================================================== 
# ▼ CLASS Game_Player Additional Code Begins 
#=================================================== 
class Game_Player < Game_Character 
#-------------------------------------------------------------------------- 
alias warp_update update 
  def update 
    warp_update 
    unless moving? 
      if touche_event([1]) and @touch!=true and @event_hit !=nil 
        @touch=true 
        base_n=$game_map.name 
        eventname=$game_map.event_name(@event_hit) 
        str = eventname.split(/[^0-9]/) 
        str.delete("") 
        base_n[-1,1] = str[0] 
        name = base_n 
        $game_temp.player_new_x=@x 
        $game_temp.player_new_y=@y 
        Graphics.freeze if eventname.include?(TR) 
        $game_temp.player_new_map_id=$map_info[name] 
        $scene.transfer_player 
        Graphics.transition(str[1].to_i) if eventname.include?(TR) 
      end 
    end 
  end 
#------------------------------------------------------------ 
  def touche_event(triggers) 
    result = false 
    @event_hit=nil 
    if $game_system.map_interpreter.running? 
      return result 
    end 
    new_x = @x + (@direction == 6 ? 1 : @direction == 4 ? -1 : 0) 
    new_y = @y + (@direction == 2 ? 1 : @direction == 8 ? -1 : 0) 
    for event in $game_map.events.values 
      if event.x == new_x and event.y == new_y and 
         triggers.include?(event.trigger) and ($game_map.event_name(event.id)).include?(WARP) 
         if not event.jumping? and not event.over_trigger? 
           @event_hit=event.id 
           result = true 
        end 
      end 
    end 
    if result == false 
      if $game_map.counter?(new_x, new_y) 
        new_x += (@direction == 6 ? 1 : @direction == 4 ? -1 : 0) 
        new_y += (@direction == 2 ? 1 : @direction == 8 ? -1 : 0) 
        for event in $game_map.events.values 
          if event.x == new_x and event.y == new_y and 
             triggers.include?(event.trigger) and ($game_map.event_name(event.id)).include?(WARP) 
             if not event.jumping? and not event.over_trigger? 
               @event_hit=event.id 
               result = true 
            end 
          end 
        end 
      end 
    end 
    return result 
  end 
#-------------------------------------------------- 
end 
#=================================================== 
# ▲ CLASS Game_Player Additional Code Ends 
#===================================================



donc on peut voir les constantes des paramètres, définies en début de script vous permettant de changer ou non, le nom qu'aura l'event.
vous le coller dans un nouveau script au dessus de main. et çà ira.

des exemples de nom d'event fonctionnant :
"warp_2" -> pas de transition
"warp_2 t+5" -> transition de 5 frames
"warp_2t+5" -> transition de 5 frames
"warp_2blalfjiejfozefj zoifjofjeofjze oifjzf t+5" -> transition de 5 frames

Enjoy !


Mis à jour le 22 novembre 2020.






worms6d - posté le 02/07/2010 à 15:43:15 (2 messages postés)

❤ 0

j'ai l'impression que sa sert a rien :) ce titre m'a attiré parce-que je travail sur un sort simple de téléportation ou on veut et je n'y arrive pas! et le pire c'est que je post trois ans plus tard :feu :-/

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers