Aller au contenu


Objet Disable Pour La Nuit


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

#1 eventstorm

eventstorm

Posté 11 mai 2010 - 10:30

Bonjour à toutes et tous.
dans mon mod certain marchant en extérieur se repose la nuit.
Donc sur les objets vendus, j'ai changé le nom et mis un script pour les désactiver la nuit.
voici le script
Begin AAtl_Boat_Jour

if ( GameHour >= 8 ) 
	if ( GameHour <= 20 ) 
		if ( GetDisabled == 1 ) 
			Enable 
		endif 
	endif 
endif

if ( GameHour > 20 ) 
	if ( GetDisabled == 0 ) 
		Disable
	endif 
elseif ( GameHour < 7 )
	if ( GetDisabled == 0 ) 
		Disable 
	endif 
endif

End

Mais. Il y a un hic.
je prends un exemple :

J’achète un bouclier chez un marchant, je le porte la nuit pas de soucie, mais dès que je le pose il disparaît pour ne ce remontré que le jour
vous me direz normal vue le script !
donc je me demande si vous n’aviez pas un moyen de désactiver le script une fois l'objet vendu

Je tiens à préciser. Que je suis nul en script, en fait je ne fais que de copier et modifier des scripts existants

merci a vous eventstorm

#2 Korfandar

Korfandar

    Ch'ti dragon normand...dans son trou


Posté 11 mai 2010 - 11:04

Une solution possible est d'individualiser chacun des objets exposés et vendus par ton vendeurs (i.e. chaque exemplaire a une ID unique, si tu as deux fois le même bouclier, il faudra quand même 2 ID) et pour chacun écrire un script unique. Tous les scripts auront la même ossature, la seule différence portant sur l'id de l'objet testé.
L'ossature est la suivante :
Begin AAtl_Boat_Jour_idobjet

short buy

if ( buy > 0 ) 
  return
endif

if ( player->GetItemCount, "IDobjet" > 0 )
  set buy to 1
  enable
  return
endif

if ( GameHour >= 8 ) 
		if ( GameHour <= 20 ) 
				if ( GetDisabled == 1 ) 
						Enable 
				endif 
		endif 
endif

if ( GameHour > 20 ) 
		if ( GetDisabled == 0 ) 
				Disable
		endif 
elseif ( GameHour < 7 )
		if ( GetDisabled == 0 ) 
				Disable 
		endif 
endif

End

L'abus de SMS est dangereux pour l'élocution mentale

Le mod qui révèle (presque) tout sur les dwemers : Dwarmor

Fervent Partisan de l'Instabilité Avatarienne
Quart du quarteron des VGM...


#3 eventstorm

eventstorm

Posté 11 mai 2010 - 12:10

parfait exactement ce que je cherchais
tous les objet en question ont déjà leur propre ID car dés que je touche un objet je lui donne une ID propre bonne ou mauvaise habitude ? mais dans ce cas précis sa serre lol

merci a toi Korfandar
eventstorm

#4 elendell

elendell

    Mécano Dell'Arte


Posté 11 mai 2010 - 13:12

Bonjour evenstorm,

Voir le messageeventstorm, le 11 mai 2010 - 10:30, dit :

dans mon mod certain marchant en extérieur se repose la nuit.
Donc sur les objets vendus, j'ai changé le nom et mis un script pour les désactiver la nuit.
Si c'est la seule raison, tu n'as pas besoin de scripter les objets. C'est même à éviter puisque cela ajoute des scripts inutiles. Il suffit d'interdire les services de ces marchands pendant la nuit :

Image IPB

Note : Tu peux assigner cet ordre à chaque marchand concerné ou faire une faction spéciale (inaccessible au PJ) pour tous tes marchands extérieurs et refuser le service de nuit pour cette faction.  :oops:

#5 eventstorm

eventstorm

Posté 11 mai 2010 - 15:36

elendell coucou

je connaissais pas sette fonction mais

le pnj ne part pas ? il reste la  et donc moi ce que je cherche c'est a envoyer tous ce beau monde chez lui pour la nuit ceci afin de rendre les rue moins peuplé

ceci devrais engendrer environ 30 script diffèrent c'est gênant a ce point ?

#6 Dallara

Dallara

    Fortificateur fortiche


Posté 11 mai 2010 - 17:51

Salut,

personnellement quand j'ai fais annimer les rues de mon village j'ai créer un certain nombres de pnjs avec des scripts enable et disable à différentes heures et j'ai jamais eu de soucis.
Il faut juste faire à chaque fois au moins deux pnjs (celui qui est enable alors que l'autre est disable) avec le même nom mais pas le même Id (ex: "Mon_PNJ_J" (jour) et "Mon_Pnj_N" (nuit) ).
C'est juste pour te donner une petite idée de solution et je n'ai jamais eu de soucis.

Dallara
Heureux qui comme la rivière peu suivre son cours sans quitter son lit.

Le travail c'est la santé, laisse le au malade.

Mieux vaut arriver en retard qu'en corbillard!

VGM

#7 Korfandar

Korfandar

    Ch'ti dragon normand...dans son trou


Posté 11 mai 2010 - 18:08

Je pense que vous n'avez pas bien saisi le pb, ou alors c'est moi qui n'est rien compris  :oops:
Ce ne serait pas le pnj le problème.
Le problème c'est qu'il a des objets à vendre exposés à la vue du joueur sur son étal et que ce que veut eventstorm c'est que ces objets ne soit pas visibles quand le marchand n'est pas là, notamment pour qu'ils ne soient pas volés...
C'est bien ça eventstorm ?

L'abus de SMS est dangereux pour l'élocution mentale

Le mod qui révèle (presque) tout sur les dwemers : Dwarmor

Fervent Partisan de l'Instabilité Avatarienne
Quart du quarteron des VGM...


#8 eventstorm

eventstorm

Posté 11 mai 2010 - 18:28

Voir le messageKorfandar, le 11 mai 2010 - 18:08, dit :

Je pense que vous n'avez pas bien saisi le pb, ou alors c'est moi qui n'est rien compris  :mrgreen:
Ce ne serait pas le pnj le problème.
Le problème c'est qu'il a des objets à vendre exposés à la vue du joueur sur son étal et que ce que veut eventstorm c'est que ces objets ne soit pas visibles quand le marchand n'est pas là, notamment pour qu'ils ne soient pas volés...
C'est bien ça eventstorm ?
tous a fait sa en fait le pnj va se coucher sa c'est régler mais que fait t'ont des objet en exposition

après petit discutions avec Dallara sur msn son idée est pas mal

en fait il suffi de mettre comme propriétaire un garde de mettre les même objet dans un coffre qui lui appartient au vendeur

Modifié par eventstorm, 11 mai 2010 - 18:38.


#9 elendell

elendell

    Mécano Dell'Arte


Posté 11 mai 2010 - 22:01

Voir le messageKorfandar, le 11 mai 2010 - 18:08, dit :

Le problème c'est qu'il a des objets à vendre exposés à la vue du joueur sur son étal et que ce que veut eventstorm c'est que ces objets ne soit pas visibles quand le marchand n'est pas là, notamment pour qu'ils ne soient pas volés...
Effectivement, je n'avais pas compris ça.  :mrgreen:


Voir le messageeventstorm, le 11 mai 2010 - 18:28, dit :

en fait il suffi de mettre comme propriétaire un garde de mettre les même objet dans un coffre qui lui appartient au vendeur
Des tas de solutions sont possibles mais si tu ne veux vraiment pas que le PJ puisse voler des objets exposés, ils faut les enlever la nuit (ou les rendre inaccessibles avec une barrière, une bâche, un (faux) sort, etc. Un garde empêche difficilement un bon voleur d'agir, sauf dans certaines circonstances et il faut aussi que la présence d'un garde sur place soit justifiable. C'est logique pour un marché mais difficilement crédible si le marchand est seul, sauf si c'est un garde personnel. Et le marchand doit logiquement être très riche ou influent pour pouvoir se payer un garde que pour son étal. Enfin, d'autres raisons peuvent justifier un garde, tu es le mieux placé pour savoir ce qu'il en est.

PS : Le nombre de scripts n'est en rien gênant s'ils sont utiles car ils utilisent peu de ressources.

Note : Tu peux aussi ne scripter que les objets exposés mais ceux que le vendeur donnerait au PJ lors de la transaction ne seraient pas scriptés.

#10 eventstorm

eventstorm

Posté 11 mai 2010 - 22:32

Pour commencer. merci de vos réponses

Après plusieurs essais et ceci, ne concerne que moi !

La solution de « Korfandar » me semble être la plus appropriée dans mon cas.
Car mettre en propriétaire une tierce personne a pour inconvénient de ne pas faire disparaitre de l'étal ledit objet, une fois vendu
Sur cet étal il n'y a qu'une petite quantité d'objets.
le système de paravent et autre cache ne serait pas justifié, dans ce cas je pense

#11 Kira

Kira

    Top-modeleuse...


Posté 11 mai 2010 - 22:58

Bonjour...
Désolée, j'arrive un peu après la fin de la discussion, mais la solution que, pour ma part, j'emploie pour éviter que les objets en étalage ne soient volés ou déplacés, est d'en faire des factices en activateurs...
Cela offre deux avantages, tout d'abord celui de contrecarrer toute velléité malhonnête de la part du joueur, mais aussi de pouvoir attacher toutes sortes de scripts aux objets, que ce soit pour décrire le produit proposé dans une message box, appeler la garde en cas de tentative de larcin, ou, comme dans le cas qui nous intéresse ici, de faire apparaitre ou disparaitre ces produits sur l'étalage, soit parce qu'ils ont été vendus, soit parce que l'échoppe est momentanément fermée...
Tout n'est qu'illusion... Surtout le fait de le penser.....
Image IPB
(Wiwi d'or de la plus serviable et de la plus cool... Merci à vous tous...)




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

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