Aller au contenu


[Fonction] Disable et Enable


  • Veuillez vous connecter pour répondre
Aucune réponse à ce sujet

#1 Ethaniel

Ethaniel

    Scribe de la main


Posté 09 janvier 2003 - 22:07

[size=18]Fonctions Disable et Enable

Les fonctions disable et enable font disparaître ou aparaître des objets ou personnages en disable l'objet est invisible et n'entre pas en collision avec les autres objets mais un script peut s'activer lorsque l'on rentre dans la cellule.
Ces fonctions sont assez symaphatiques pour créer par exemple quelques piéges

Exemple de dalle piégée

Ce script permet de créer une dalle piégée qui disparait lorsque le joueur marche dessus. Le script en lui-même est à associer à un misc item posé au centre de la dalle. En raison du fait qu'on ne peut associer un script à un static, c'est en effet le script à associer à ce misc item qui fera disaparaitre la dalle, ce qui entraine que si plusieurs dalles piégées sont plaçées dans une même cellule, elles disparaitront tous en même temps lorsque le joueur marchera sur l'une d'entre elles.
Note : Pensez à mettre un étage en dessous si vous ne voulez pas voir votre personnage tomber dans le néant :-).

begin dalle_1



Short start


; On disable le misc item qui ne sert qu'à porter le script faisant disparaitre la dalle.



disable



if(start==1); tant que le joueur n'a pas activé le piége

return

endif



if(start==0)

If ( GetDistance Player <= 50 ); distance < 50; pour être sûr que le joueur se trouve au centre de la dalle

MessageBox "Piége"

in_dae_room_l_floor_02_01->disable; in_dae_rom_floor_02_01 est le nom de la ou des dalles (s'il y en a plusieurs toutes les dalles disparaîssent).

set start to 1; le piége s'est déclanché

endif

endif
; ici on peut remettre le piége en place lorsque le joueur sort de la cellule en faisant réaparaître la dalle.

end dalle_1

Autre exemple de l'emploi de ces fonctions pour créer un guet-apens.
Nous sommes dans un couloir et dans ce couloir, quatre personnages (perso_a, perso_b, perso_c, perso_d) et un objet ou un autre perso un peu plus loin sur lequel sera mis ce script.


Begin guetapens



short cache





objet_a->Disable; on disable l'objet qui contient le script


;cache sera mis à 1 lorsque l'action débutera dans ce cas le script ne doit pas revenir pour recommencer



if(cache==1)

 return

endif


; ici on teste si le script doit être lancer avec un index de journal ou si les quatre personnages sont morts



if(perso_a->Ondeath==1)

	if(perso_b->Ondeath==1)

  if(perso_c->Ondeath==1)

 	 if(perso_d->Ondeath==1)

    return; ils sont morts donc return

 	 endif

  endif

	endif

endif
; lorsque le joueur rentre dans la cellule on cache les personnages



if (cache==0)

	perso_a->disable

	perso_a->disable

	perso_a->disable

	perso_a->disable

endif



if(getdistanceplayer < 150)

	return; ici on ressort si le joueur est trop loin de l'objet

else

	set cache to 1

	perso_a->enable

	perso_a Startcombat player

	perso_b->enable

	perso_b Startcombat player

	perso_c->enable

	perso_c Startcombat player

	perso_d->enable

	perso_d Startcombat player

endif
; normalement ici les quatre personnages apparaîssent dans le dos du joueur et l'attaquent







End guetapens

Il y a d'autres exemples que l'on peut faire avec ces deux fonctions par exemple faire balader un personnage avec la fonction AItravel de telle façon  qu'il arrive devant une porte et là on fait un disable et cela donne l'impression  que le personnage est rentré dans la maison.

Il n'y a pas bcp de limite juste l'imagination. Bon courage.
A+ Ethaniel
Ça y est la retraite est arrivée.

“Tout ce que tu feras sera dérisoire, mais il est essentiel que tu le fasses.” Gandhi

Démon de l'Air de Kalendaar




0 utilisateur(s) li(sen)t ce sujet

0 membre(s), 0 invité(s), 0 utilisateur(s) anonyme(s)