Aller au contenu


Script : Prendre Objet + Message Box...


  • Veuillez vous connecter pour répondre
6 réponses à ce sujet

#1 chef

chef

Posté 05 février 2006 - 20:43

Bonjour bonjour !

J' ai en faite un probleme de script  :rolleyes:
Il faudrais que quand on prend un objet dans l' inventaire d' un NPC il affiche un message box...
Un scripteur a court de temps m' as vite dis au passage que je pouvais utuliser la fonction OnPCAdd...

Mais je ne sais pas comment...

Un autre scripte d' on j' aurais besoin :beat:
Mettre a jour le journale lord de la mort d' un certain NPC...

Je vous remercie d' avance !

Bye !

Modifié par chef, 05 février 2006 - 21:31.

Team Stargate



"Si vous traversez l'enfer, ne vous y arrêtez pas." - Wiston Churchill


#2 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 05 février 2006 - 21:32

Simple question: ton objet est-il un objet unique? La MessageBox ne doit-elle apparaître qu'une seule fois?

Si oui et oui, ça me semble assez simple: script à attacher sur le PNJ

Begin Detrousseur

Short DoOnce

if ( DoOnce == 1 )
	  Return
endif

if ( DoOnce == 0 )
	  if ( Player->GetItemCount, "IDObjet" > 0 )
			MessageBox "Blabla."
			Set DoOnce to 1
	  endif
endif

End Detrousseur

« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#3 chef

chef

Posté 05 février 2006 - 22:42

Il y a 7 perso les meme avec chaque fois le meme objet...
Mais le message box peut etre activer une ou deux fois, c' est comme on veux...

Donc, l' objet, et le npc ne sont pas unique...

Team Stargate



"Si vous traversez l'enfer, ne vous y arrêtez pas." - Wiston Churchill


#4 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 06 février 2006 - 09:43

Okay. Alors voici une proposition de script. Comme elle est faite sans le TESCS et que je n'ai jamais essayé un truc comme ça, je ne suis pas sûr que ça fonctionne:

Script à attacher sur le(s) pnj(s) portant l'objet (je suis parti du principe que les pnjs ne sont pas dans la même cell (s'ils étaient dans la même cell, le script serait différent)):

Begin Detrousseur

Short DoOnce
Short NbreObjet

if ( DoOnce == 0 )
	Set NbreObjet to ( Player->GetItemCount, "IDObjet" )
	Set DoOnce to 1
endif

if ( DoOnce == 1 )
	if ( NbreObjet < ( Player->GetItemCount, "IDObjet" ) )
		Set NbreObjet to ( Player->GetItemCount, "IDObjet" )
		  MessageBox "Blabla."
		Set DoOnce to 2
	endif
endif

End Detrousseur

En fait je ne suis pas certain que l'on puisse employer Player->GetItemCount, "IDObjet" comme une variable. :)

Question subsidiaire: n'y a-t-il que les pnjs auxquels ce script est attaché qui possèdent cet objet ou peut-on le trouver ailleurs?

Modifié par Not Quite Dead, 06 février 2006 - 09:44.

« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV

#5 goaould

goaould

Posté 06 février 2006 - 14:48

Citation

Un autre scripte d' on j' aurais besoin
Mettre a jour le journale lord de la mort d' un certain NPC...

Je suis pas du tout un dieu des scripts, mais je pense que ça devrait marcher:

Citation

begin mort_npc

short doonce

if ( doonce == 1 )
     return
endif

if ( ondeath == 1 )
     journalindex , entree_journal 10     ;10 pour l'index par ex
     set doonce to 1
endif

end


Script à attacher au NPC qui meurt

Si c'est pas ça, je pense que Note Quite Dead corrigera :)
Si tu tournes le dos à tes problèmes, tu ne pourras jamais leurs faire face...

#6 chef

chef

Posté 06 février 2006 - 20:51

Pour le script de la mise a jour des npc quand il meurt, j' ai réussi a le faire, en piquant une partie du scripte des assassin de tribunal  ;) Sinon merci !

je le met ici comme sa tout le monde pourra s' en servire...


begin Mise_a_jour_mort
if ( GetJournalIndex SDF_salle_fete == 55 )
	if ( OnDeath == 1 )
	Journal SDF_salle_fete 60
endif
endif

end



Et merci a Not Quite Dead pour son script !

Team Stargate



"Si vous traversez l'enfer, ne vous y arrêtez pas." - Wiston Churchill


#7 Not Quite Dead

Not Quite Dead

    Rincevent


Posté 06 février 2006 - 21:50

Parce qu'en plus il fonctionne? :)

Bon à savoir, ça. ;)
« I was a soldier! I killed people!
- You were a doctor!
- I had bad days! »
John Watson, en train d'étrangler Sherlock Holmes, Sherlock - A Scandal in Belgravia (2012)
---------------
Vous aussi rejoignez les Fervents Partisans de l'Immuabilité Avatarienne!
---------------
VGM impénitent (était-il besoin de le préciser?)
---------------
Paterfamilias niv.IV




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

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