Problème JavaScript

Pour les scripts écrits en Javascript (UnityScript). :!: Obsolète :!:
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Nebz
Messages : 10
Inscription : 28 Fév 2016 23:33

Problème JavaScript

Message par Nebz » 28 Fév 2016 23:41

Bonjour/Bonsoir,

Alors ça fait depuis un moment déjà que je créer mon Jeu et tout c'est bien passé. Jusqu'à ce que j'arrive à ce moment..
J'ai téléchargé un Package ayant des prefabs/scripts y compris, j'arrive à play le jeu pour tester 2, 3 choses, et quand j'implante le script sur l'arme et applique la prefab dans "l'animation GO" (screen : http://prnt.sc/a93wnv) et bien, je n'arrive à lancer pour voir si aucun problème ou erreur n’apparaît.
Liste écrite de l'erreur JS :
NullReferenceException: Object reference not set to an instance of an object
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.Invoke (System.Object target, System.String name, System.Object[] args)
UnityScript.Lang.UnityRuntimeServices.Invoke (System.Object target, System.String name, System.Object[] args, System.Type scriptBaseType)
WeaponTest+$DrawWeapon$1+$.MoveNext () (at Assets/FPS Kit By (HDGameP)/My Kit/Acr/Scripts/WeaponTest.js:36)
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
WeaponTest:Start() (at Assets/FPS Kit By (HDGameP)/My Kit/Acr/Scripts/WeaponTest.js:10)


Cela fait 3 heures que je me casse la tête a essayer de trouver une solution, sur des forums anglais ou français, aucune solution...
Je pensais refaire un script pour savoir si c'était celui du Pack qui ne fonctionné pas ou plus, enfin voilà, merci d'avance !


Nebz.

sekiroO
Messages : 42
Inscription : 27 Fév 2016 17:07

Re: Problème JavaScript

Message par sekiroO » 28 Fév 2016 23:55

NullReferenceException: Object reference not set to an instance of an object

Cela me le fait quand l'inspector pas assez renseigné.

Nebz
Messages : 10
Inscription : 28 Fév 2016 23:33

Re: Problème JavaScript

Message par Nebz » 29 Fév 2016 00:55

Bah en fait le script est le même qu'utilise la personne sur la vidéo :pascontent:
C'est ça que je comprend pas, après que la console me sorte une erreur aussi grande ma surpris :triste1:

sekiroO
Messages : 42
Inscription : 27 Fév 2016 17:07

Re: Problème JavaScript

Message par sekiroO » 29 Fév 2016 08:04

La plupart des tutos sont pas fait pour la version 5.x.

Nebz
Messages : 10
Inscription : 28 Fév 2016 23:33

Re: Problème JavaScript

Message par Nebz » 29 Fév 2016 10:12

Ouais je suis au courant, mais pour moi ça semblé être bon, au final non, mais bon mdr
Et le problème c'est que je ne sais pas quoi ajouté/modifié/supprimé, (pour ça serais un gain de temps monstre, sachant que je seul au développement) depuis hier soir je me casse la tête... :berk1:

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6255
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème JavaScript

Message par boubouk50 » 29 Fév 2016 12:21

On peut voir le Start () de ton script WeaponTest.js, stp.
Ne poste pas tout le code si l'asset est payant. Seulement le Start (). (les lignes vers la dixième exactement)

Assets/FPS Kit By (HDGameP)/My Kit/Acr/Scripts/WeaponTest.js:10
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Nebz
Messages : 10
Inscription : 28 Fév 2016 23:33

Re: Problème JavaScript

Message par Nebz » 29 Fév 2016 12:59

boubouk50 a écrit :On peut voir le Start () de ton script WeaponTest.js, stp.
Ne poste pas tout le code si l'asset est payant. Seulement le Start (). (les lignes vers la dixième exactement)

Assets/FPS Kit By (HDGameP)/My Kit/Acr/Scripts/WeaponTest.js:10
Oui bien sur ! Et non il n'est pas payant :-D
Ligne 10. DrawWeapon();

--------------------
Balises Code! tabernak!

Code : Tout sélectionner

function DrawWeapon() {
  if(drawWeapon)
    return;
       
        animationGO.Animation.Play(drawAnim);
        drawWeapon = true;
        yield WaitForSeconds(0.6);
        drawWeapon = false;

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6255
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème JavaScript

Message par boubouk50 » 29 Fév 2016 13:09

Code : Tout sélectionner

animationGO.Animation.Play(drawAnim);
Pourrait être la ligne incriminée.
Bon, déjà tu mets le script sur l'objet auquel tu fais appel... ce qui est redondant.
animationGO n'a plus lieu d'être du coup et les appels deviennent lourds.
Ensuite, remplace la ligne par:

Code : Tout sélectionner

animationGO.GetComponent.<Animation>().Play (drawAnim);
qui correspond justement aux appels aux Components depuis la version 5.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Nebz
Messages : 10
Inscription : 28 Fév 2016 23:33

Re: Problème JavaScript

Message par Nebz » 29 Fév 2016 13:50

boubouk50 a écrit :

Code : Tout sélectionner

animationGO.Animation.Play(drawAnim);
Ensuite, remplace la ligne par:

Code : Tout sélectionner

animationGO.GetComponent.<Animation>().Play (drawAnim);
qui correspond justement aux appels aux Components depuis la version 5.
Le script me permet de faire Play, pas comme avant ou l'erreur apparaissait directement, cependant, lorsque j'utilise (le même script) qui contient la function Update "Fire1" ou "r" cela stop la scene Game. Et met une nouvelle erreur :/

Erreur :
NullReferenceException: Object reference not set to an instance of an object
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.String cacheKeyName, System.Type[] cacheKeyTypes, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.GetDispatcher (System.Object target, System.Object[] args, System.String cacheKeyName, Boo.Lang.Runtime.DynamicDispatching.DispatcherFactory factory)
Boo.Lang.Runtime.RuntimeServices.Invoke (System.Object target, System.String name, System.Object[] args)
UnityScript.Lang.UnityRuntimeServices.Invoke (System.Object target, System.String name, System.Object[] args, System.Type scriptBaseType)
WeaponTest+$Reloading$4+$.MoveNext () (at Assets/FPS Kit By (HDGameP)/My Kit/Acr/Scripts/WeaponTest.js:46)
UnityEngine.MonoBehaviour:StartCoroutine_Auto(IEnumerator)
WeaponTest:Update() (at Assets/FPS Kit By (HDGameP)/My Kit/Acr/Scripts/WeaponTest.js:20)

Les 2 JS présent sont =

46 / animationGO.Animation.Play(reloadAnim);
20 / Reloading();

Si j'ai bien compris ce n'est pas ou mal assemblé entre le script, les animations et l'arme ?
(désolé de ma noobitude je n'ai jamais eu ce genre d'erreur)

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 6255
Inscription : 28 Avr 2014 11:57
Localisation : Saint-Didier-en-Bresse (71)

Re: Problème JavaScript

Message par boubouk50 » 29 Fév 2016 14:22

boubouk50 a écrit :

Code : Tout sélectionner

animationGO.GetComponent.<Animation>().Play (drawAnim);
qui correspond justement aux appels aux Components depuis la version 5.
Je t'ai donné la solution au delà de la réponse: L'appel aux Components depuis la version 5 a changé.
Donc pour tous tes scripts, à chaque appel à un Component il faut que tu passes par la nouvelle manière. Normalement, Unity aurait du te le détecter et te demander si tu veux corriger automatiquement (il te demande d'abord si tu as fait un backUp)
Donc pour tout:

Code : Tout sélectionner

gameObject.Component.fonction (paramètres)
tu dois faire

Code : Tout sélectionner

gameObject.GetComponent <Component> ().fonction (paramètres)
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Verrouillé

Revenir vers « (Js) Javascript »