Page 1 sur 2

[Problème] Etape 9[Résolu]

Publié : 14 Oct 2012 17:33
par Jeannen
Salut ! :)
J'en suis à l'étape 9 du tuto pour le FPS, mais j'ai un problème au niveau du script, j'ai une erreur, Assets/Data/Scripts/enemyScript.js(58,21): UCE0001: ';' expected. Insert a semicolon at the end. Sauf que quand je la corrige (ajout d'un ";" , il y a plein de nouvelles erreurs qui apparaissent )
J'ai mis le code que j'ai modifié ou y avais le moins d'erreur , et ça fait plus de 3h que j'essaye de régler ça,je cherche de partout, je vais péter un cable ! ^^
Please aidez moi !
Voici mon script:

Code : Tout sélectionner

#pragma strict

function Start () {

}

var hitPoints=20;
var explosion:Transform;

var characterLayer:LayerMask;
var gravity=20;
private var player:GameObject;
player=GameObject.Find("Player");

var visionAngle:float=45;
var visionRange:float=100;
private var distanceToPlayer:float;
private var canSeePlayer:boolean=false;

var hit:RaycastHit;

function Update(){
seekPlayer();
}

function seekPlayer(){
var directionToPlayer=player.transform.position-transform.position;
var distanceToPlayer=Vector3.Distance(transform.position,player.transform.position);

var playerAngle=Vector3.Angle(directionToPlayer,transform.forward);

if((Mathf.Abs(playerAngle)<visionAngle &&distanceToPlayer<visionRange)||canSeePlayer==true){
Physics.Linecast(transform.position,player.transform.position,hit,~characterLayer.value);

if((hit.collider.name==player.collider.name)){
var MoveDirection=transform.forward;
var tempRot=Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(directionToPlayer),2*Time.deltaTime);

tempRot.x=0;
tempRot.z=0;
transform.rotation=tempRot;
canSeePlayer=true;

}

moveDirection.y-=gravity*Time.deltaTime;
var controller:CharacterController=GetComponent(CharacterController);
var flags=controller.Move(moveDirection*3*Time.deltaTime);



function (makeDamage,damage:float)
hitPoints.damage;

if(hitPoints<=0);
{
Instantiate(explosion,transform.position,transform.rotation):
Destroy(gameObject)}
}
}
Si quelqu'un pourrait me le corriger, ça serait super sympa (Je comprend rien au Java Script, je me contente de recopier bêtement ce qu'il y a d'ecrit, je sais c'est pas bien, mais j'ai pas trouvé de tuto potable pour apprendre je Java Script... :| )

Re: [Problème] Etape 9

Publié : 14 Oct 2012 17:56
par Max
Bon, si on s'en tient à un plan purement syntaxique, et en survollant vite fait,
il semble manquer quelques } après la ligne var flags=controller.Move(moveDirection*3*Time.deltaTime); , non ?
En suite, attention à la case, car si j'ai bien lu moveDirection n'est pas la même chose que MoveDirection.
Quand à la fonction makeDamage, là c'est zarbi... c'est un carnage ( les ( , les {}, et autre ; .... )

c'est pas plutôt un truc du genre ?

Code : Tout sélectionner

function makeDamage(damage:float) {
	hitPoints=damage;

	if(hitPoints<=0)
	{
		Instantiate(explosion,transform.position,transform.rotation);
		Destroy(gameObject);
	}
}
je sais que coder ça s’apprend pas en un jour, mais si c'est de la recopie par contre, là c'est plus moche Image

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:21
par Jeannen
Donc en gros, si je remplace ma portion de code par la tienne ça devrait marcher ? :3

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:30
par Max
Jeannen a écrit :Donc en gros, si je remplace ma portion de code par la tienne ça devrait marcher ? :3
pour ce petit bout , oui, tout en corrigeant aussi au moins les points précisé avant (il y a peut-être d'autres erreurs, je n'ai fait que survoler le code fournis, et non pas testé).
Mais attention ceci dit, résorber les erreurs de syntaxes ne signifie pas pour autant que le résultat attendu sera là pour autant.
donc....

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:34
par Jeannen
Okay merci :)
Je teste et je te dit si c'est bon

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:41
par Jeannen
C'est toujours pas bon :/
J'essaye de reproduire le code de la partie 9, la création du mouvement de l'IA

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:46
par Max
Jeannen a écrit :C'est toujours pas bon :/
J'essaye de reproduire le code de la partie 9, la création du mouvement de l'IA
Je connais pas ce tuto, du moins je ne l'ai jamais fait.
Si ton code pose toujours problème, alors reposte ta dernière version, au moins on pourra voir...

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:54
par Jeannen

Code : Tout sélectionner

function Start () {

}

var hitPoints=20;
var explosion:Transform;

var characterLayer:LayerMask;
var gravity=20;
private var player:GameObject;
player=GameObject.Find("Player");

var visionAngle:float=45;
var visionRange:float=100;
private var distanceToPlayer:float;
private var canSeePlayer:boolean=false;

var hit:RaycastHit;

function Update(){
seekPlayer();
}

function seekPlayer(){
var directionToPlayer=player.transform.position-transform.position;
var distanceToPlayer=Vector3.Distance(transform.position,player.transform.position);

var playerAngle=Vector3.Angle(directionToPlayer,transform.forward);

if((Mathf.Abs(playerAngle)<visionAngle &&distanceToPlayer<visionRange)||canSeePlayer==true){
Physics.Linecast(transform.position,player.transform.position,hit,~characterLayer.value);

if((hit.collider.name==player.collider.name)){
var moveDirection=transform.forward;
var tempRot=Quaternion.Slerp(transform.rotation,Quaternion.LookRotation(directionToPlayer),2*Time.deltaTime);

tempRot.x=0;
tempRot.z=0;
transform.rotation=tempRot;
canSeePlayer=true;

}

moveDirection.y-=gravity*Time.deltaTime;
var controller:CharacterController=GetComponent(CharacterController);
var flags=controller.Move(moveDirection*3*Time.deltaTime);
}


function makeDamage.damage:float; {
hitPoints:damage};
if(hitPoints<=0);
{
Instantiate(explosion,transform.position,transform.rotation):
Destroy(gameObject);
}
}
Au fur et à mesur que je change es trucs, les mêmes erreurs reviennent, comme une boucle , c'est zarb'

Re: [Problème] Etape 9

Publié : 14 Oct 2012 18:58
par Max
Il manque toujours pour moi un } après var flags=controller.Move(moveDirection*3*Time.deltaTime);.....
Quand à la fonction makeDamage, visiblement tu n'as pas vraiment tenu compte de ce que je t'avais fournis :roll:

Re: [Problème] Etape 9

Publié : 14 Oct 2012 19:06
par Jeannen
Si, mais j'ai corrigé plusieurs fois, j'ai du enlever au passage.
Je met mon code après toutes tes corrections ;)