Aller au contenu


Aide Sur Un Script


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

#1 Ariolas

Ariolas

Posté 23 octobre 2009 - 11:45

Bonjour a tous, je vien pour avir un petit renseignement, et si possible un peu d'aide...

En effet, apres plusieur mois a faire seulementd u modding par objet, je m'interesse aux script...

J'ai donc creer ce petit script qui a pour but de permettre au joueur de recevoir de l'argent quand il equipe un certain anneau...

Neanmoint, meme si j'ai bien acces au menu, je ne rentre pas dans la condition qui permet de recevoir l'argent... Pourriez vous me donner un coup de main SVP?
begin afficheur_tempo



short MessageOn

short button

short OnPCEquip



if (OnPCEquip == 0)

  return

endif



if (OnPCEquip == 1)

  

   MessageBox "Combien voulez vous retirer?" "100" "200" "300"

   set button to GetButtonPressed 

   set MessageOn to 1

   set OnPCEquip to 0



endif



if ( MessageOn == 1 )



	if ( button == 0 )

	   Player->Additem, "gold_001" 100

	   MessageBox "Voici 100golds"

	endif



	if ( button == 1 )

	   Player->Additem, gold_001, 200

	endif



	if ( button == 2 )

	   Player->Additem, gold_001, 300

	endif

endif



end afficheur_tempo

Ainsi, quand je fait le choix de recevoir 100Gold, la box ne s'affiche pas, j'en conclu que je ne rentre pas dans la condition....

Merci d'avance de votre aide sleeping.gif

#2 Dorjé

Dorjé

    3e433ème effet d'un papillon tibétain


Posté 23 octobre 2009 - 12:20

Je suis pas un grand expert en script, mais dans le mod Bank of Cyrodiil (traduit ici me semble t-il), il existe un menu faisant exactement la même chose en nous proposant de retirer ou de déposer de l'argent avec : 100, 500, 1000 po etc... Jette un coup d'oeil sur leur script et recopie le (ou tout du moins la partie approprié) pour l'adapter à tes besoins.

(au passage, si s'est pour une VF, il vaudrait mieux dire "voici XX or" plutôt que "voici XX gold" sleeping.gif )

Edition : J'avais pas vu que j'étais dans un topic pour Morrowind, mais la remarque (et le script) reste valable, le mod "Bank of Cyrodiil" étant pour Oblivion.

Modifié par Dorje, 23 octobre 2009 - 12:21.

Essayer ne veut rien dire. Fais le ou ne le fais pas ! (maître Yoda :) )

Lien : PROJET MORROWIND 3E433 (Morrowind dans Oblivion !)

#3 Korfandar

Korfandar

    Ch'ti dragon normand...dans son trou


Posté 23 octobre 2009 - 13:06

Cela vient de l'endroit où est placé ton geetbuttonpressed, va voir ma réponse à un problème similaire ici

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...


#4 Ariolas

Ariolas

Posté 23 octobre 2009 - 20:55

Bonjour, c'est re moi^^

alors j'ai tenter de modifier le script, comme vous me l'avez dit, malheureusement, sa ne marche toujours pas....

Voici le nouveau script

begin afficheur_tempo

short MessageOn
short button
short OnPCEquip

if (OnPCEquip == 0)
  return
endif

if (OnPCEquip == 1)
  
   MessageBox "Combien voulez vous retirer?" "100" "200" "300" 
   set MessageOn to 1
   set OnPCEquip to 0

endif

if ( MessageOn == 1 )

  set button to GetButtonPressed
	if ( button == -1 )
		return
	endif

	if ( button == 0 )
	   Player->Additem, "gold_001" 100
	   MessageBox "Voici 100golds"
	endif

	if ( button == 1 )
	   Player->Additem, gold_001, 200
	endif

	if ( button == 2 )
	   Player->Additem, gold_001, 300
	endif
endif

end afficheur_tempo

Et cela ne fonctionne toujours pas.... Pourriez vous SVP, me le corriger??

Je tourne sous GOTY avec Vista, sa influe en quelquechose?

Merci d'avance sleeping.gif

#5 elendell

elendell

    Mécano Dell'Arte


Posté 24 octobre 2009 - 00:08

Bonjour,

Voir le messageAriolas, le 23.10.2009 à 21:54, dit :

Et cela ne fonctionne toujours pas.... Pourriez vous SVP, me le corriger??
"OnPCEquip" = 1 juste pendant une frame et a moins d'être aussi rapide que Lucky luke, le bouton n'est pas pressé dans cette frame.

Enlève ce bloc et ça fonctionnera :

if ( OnPCEquip == 0 )
  return
endif

EDIT : Du coup, tu dois ajouter "Set MessageOn to 0", pour qu'il ne donne pas de l'or en permanence :

begin afficheur_tempo

short MessageOn
short button
short OnPCEquip

if ( OnPCEquip == 1 )
  
   MessageBox "Combien voulez vous retirer?" "100" "200" "300" 
   set MessageOn to 1
   set OnPCEquip to 0

endif

if ( MessageOn == 1 )

  set button to GetButtonPressed
	if ( button == -1 )
		return
	endif

	if ( button == 0 )
	   Player->Additem, "gold_001" 100
	   MessageBox "Voici 100golds"
	elseif ( button == 1 )
	   Player->Additem, gold_001, 200
	else
	   Player->Additem, gold_001, 300
	endif

	set MessageOn to 0

endif

end afficheur_tempo

EDIT 2 : Attention à laisser un espace entre les caractères et les parenthèses. Généralement, ça fonctionne sans mais pas toujours.




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

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