Sujet n°13539
Posté par Sopramars le 25 Jan - 13:46 (2014)
Titre : Script sur la map
Bonjour, lorsque je téléporte mon héros sur un escalier pour la troisième étage d'un immeuble, le bug suivant s'affiche:


??????'map'?141???nomethoderror?????
undefined method '[]`for nil:NilClasdn

J'aurais bien aussi copié la ligne 141 en question, malheureusement il y a des temps où mon ordinateur ne veut pas démarrer. Dans un sujet créé par Sphinx (je crois) qui regroupe tous les bugs connus, il dit de relire le manuel. ce que j'ai bel et bien fait, mais ne comprenant rien aux scripts, ben, j'peux rien faire.
Je me tourne donc ici: comment faire, s'il vous plaît?

Merci d'avance!

MarS.

Posté par Zohran le 25 Jan - 13:54 (2014)
Mmmh, bah il serait bien malgré tout que tu nous donnes un copié collé de ton script s'il te plaît, ça serait plus simple. Tu es sûr déjà que tu as bien configuré ta téléportation, elle ne renvoie pas vers une map que tu aurais supprimé déjà?

Tu as rajouté ou modifié des scripts?

Posté par Sopramars le 25 Jan - 13:58 (2014)
Euh, non, j'ai bel et bien reconfiguré la téléportation 5 fois d'afilée, puis j'ai supprimé la map, la téléportation, et j'ai re-mappé pour finalement obtenir le même résultat.

Je n'ai jamais au grand J touché à un seul script, parce que j'y comprends rien!

Posté par Zohran le 25 Jan - 13:59 (2014)
Bon, déjà s'il te plaît poste nous le script où la ligne bug en intégralité svp (n'oublie pas de mettre ça en code Imbécile heureux )

Posté par Sopramars le 25 Jan - 14:15 (2014)
Je verrais ça lorsque mon pc voudra bien démarrer...

Posté par Zohran le 25 Jan - 14:17 (2014)
D'accord, j'attend ton prochain post Imbécile heureux

Posté par Pαlвσlѕку le 25 Jan - 14:19 (2014)
Tu essayes de te téléporter sur la MAP de la carte du monde...

Cf le manuel pour la gestion de la carte du monde. Gros matou qui ronronne

Posté par Sopramars le 25 Jan - 14:40 (2014)
Euh... J'ai pas bien compris. Lorsque je me téléporte, tu veux que je me retrouve sur la carte de la région?

Posté par Zohran le 25 Jan - 14:43 (2014)
Sopramars a écrit:
Euh... J'ai pas bien compris

Effectivement mdr Résignation man
Non, Palbolsky est en train de te dire que tu essayes de te téléporter sur la carte de la région, c'est CA ton problème, je pense que la variable qui contient l'ID de la carte de région doit correspondre à l'ID de la carte où tu veux faire ta téléportation, du coup, bah ça bug...

Posté par Sopramars le 25 Jan - 15:10 (2014)
J'use de ma mémoire, donc je ne peux pas assurer que c'est effectivement le code dans le script.

Code erroné

Je ne sais plus vraiment si la deuxième ligne est comme ça, mais si c'est une faute, je corrigerais plus tard.

Posté par Zohran le 25 Jan - 22:00 (2014)
Merci Imbécile heureux

Bon, donc ça doit bien être le bug que t'as décrit Palbolsky dans ce cas, ça se confirme.

Posté par Sopramars le 29 Jan - 13:30 (2014)
Bon, finalement voici le code depuis la ligne 141.

Code:
def initialize_world_map
  if $game_temp.map_temp[1]
   end
   $game_temp.map_temp[1]=true
map_id =$gamme_temp.map_temp[2]
map_zone = $data_mapzone[map_id][0]
$game_system.menu_disabled=true
found=true


Bon, ben, si j'essaie de me téléporter sur la map du monde, comment faire pour l'éviter alors?

Posté par joeyw le 29 Jan - 13:48 (2014)
C'est ton téléporteur qui est mal configuré. Il renvoie sur la map monde sur qui créé l'erreur.

Posté par Sphinx le 29 Jan - 15:22 (2014)
Ou bien l'id de la carte du monde est mal configuré (par défaut c'est la map 10) Imbécile heureux dans ce cas, il faut que tu relises le manuel et plus précisément la partie concernant la worldmap ^^

Posté par Schneitizel le 29 Jan - 15:24 (2014)
"map_id =$gamme_temp.map_temp[2] "

$gamme?
T'es sur que c'pas $game?

Posté par TouzaxA le 29 Jan - 18:30 (2014)
Schneitizel a écrit:
"map_id =$gamme_temp.map_temp[2] "

$gamme?
T'es sur que c'pas $game?


Sans doute, connais pas non plus. XD

Posté par Pαlвσlѕку le 29 Jan - 20:21 (2014)
Pourquoi vous regardez dans le script Map ?
Il fonctionne très bien il n'y a rien à modifié dedans.

Pour changer l'ID de la carte du monde (encore appelé World Map), va dans le script Config Panel et recherche ces lignes :
Code:
  # --------------------------------------------------------
  # _WMAPID
  #   - Vous pouvez y régler une valeur par défaut ici
  # --------------------------------------------------------
  def self._WMAPID
    if $game_variables[6] == 0
      return 6 #Valeur par défaut
    end
    return $game_variables[6]
  end

C'est dans la ligne où il y a return 6 qu'il y a l'ID de la World Map par défaut.

Si tu as une World Map, indique le bon ID.
Si tu n'as pas de World Map, met 100 par exemple (le but est d'éviter que ce problème ne se reproduise, je pense qu'il te faudra un moment pour avoir 100 maps).

Néanmoins, si tu ne veux pas toucher au script, suit ce qui est indiqué ici :
http://krosk.free.fr/manuel/manuel.htm#C21b

Tu obtiendras le même résultat.

Posté par Sopramars le 2 Fév - 13:18 (2014)
Merci beaucoup! je vais essayer tout de suite! le sujet peut être clos.