Aller au contenu

Problème script avec StartConversation


Invité hofmeister

Messages recommandés

Invité hofmeister

Bonjour tout le monde, j'ai fait un script basique attaché à un personnage qui doit lui faire engager le dialogue avec le joueur, mais ça ne marche pas... ça donne à peu près ça Begin GameMode StartConversation player (nomdutopic) end C'est un script "objet". Quelqu'un aurait une idée? Et sinon, je suis sous vista et mon mod plante au bout de 5 min maximum. D'où ça peut venir? Peut être parce que c'est pas optimisé? Bon j'ai utilisé un pack dialogue à la place, le geck plantait peut-être à cause du fait que j'ai dupliqué et effacé une cellule, avec conflit de données. En tout cas ça marche avec une sauvegarde du début du jeu. Sinon j'essaye d'utiliser la fonction enable avec une syntaxe très simple, mais le script ne veut pas sauvegarder. Begin GameMode nomref.Enable End ça ne marche pas. Une idée? Ah je crois que c'est parceque j'avais préfixé par un nombre

Lien vers le commentaire
Partager sur d’autres sites

  • 3 mois après...

-bah tu peut faire un script objet rataché sur le personnage que tu veut qu'il engage la discution, que nous allons appeler XXXREF en nom d'id(tout ce qui est suivi de ; et juste la pour information)
nous allons mettre en linkref de XXXREF un Xmarker genre a 3 pas devant lui !
on va aussi cocher disabled sur XXXREF !

script exemple:




float timer ;<--on peut declarer un timer(que j'utilise pas dans le script dailleur)
short doonce ;<--important le doonce y a aussi une autre solution "short playertriggered"

Begin GameMode

if player.GetDistance < 1024 && XXXREF.getenabled == 0

; si le joueur a une distance inferieure a 1024 et que XXXREF est pas load dans lemonde

XXXREF.enable

; dans ce cas on enable XXXREF

set doonce to 1

; on met doonce a 1
end if

if doonce == 1 && if player.GetDistance < 512

; et si doonce est = a 1 et que le joueur et a une distance inferieure a 512

XXXREF.GetLinkedRef

; on dit a XXXREF de se deplacer jusqu'a sa linkref

set doonce to 2

; on met doonce a 2
endif
if doonce == 2 && if player.GetDistance < 256
; et si doonce est = a 2 et que le joueur et a une distance inferieure a 256
SayTo XXXREF SONTEXTE 1 1
; XXXREF dit alors la ligne SONTEXTE en regardant le joueur avec lessous
;titres

endif
end




ps : possible qu'il y est des defaut dans ce script mais c pour te donner une idée !
ps : comme tu le vois y faut beaucoup metre de condition !
on peut aussi rajouter le timer dans le script entre les doonce , pour architecturisé tout ca !
quant tu ecris un script au debut sert toi de l aide

http://geck.bethsoft.com/index.php/Category:Functions
sur le geck regarde aussi les script deja existant pour te guider

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...
Invité hofmeister

Merci pour ta réponse! Cependant j'ai l'impression que tu as mixé les deux requêtes que j'avais (autant pour moi, j'aurais du les distinguer mieux), il s'agissait d'une part de faire engager la conversation avec le joueur, et d'autre part d'activer un objet. Je ne sais plus comment je m'y suis pris, mais depuis le temps ça a marché. Ah oui et j'ai constaté que les world markers préfixés par un numéro ne pouvaient pas être activés. Désolé je t'ai fait cogité sur une question pour rien, quoique ça fasse toujours un exemple!

Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...