Aller au contenu


Créer des objets à partir d'autres


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

#1 Confridín

Confridín

    Daddy ! je VEUX un nouveau sous-nom!!!


Posté 15 juin 2004 - 20:36

Voici un exemple de script (ici, créer des munitions pour des armes à feux) afin de pouvoir fabriquer in-game des objet à partir d'autres objets, plantes,...


Il suffit d'attacher ce script à l'outil avec lequel vous voulez fabriquer d'autres objets.

Par contre, ce script ne gère pas les echecs. Chaque tentative réussit. Il suffirait de rajouter une condition "if random100 <= X" et de faire échouer à une certaine valeure.
Voici un exemple de script (ici, créer des munitions pour des armes à feux) de script afin de pouvoir fabriquer in-game des objet à partir d'autres.


Il suffit d'attacher ce script à l'outil avec lequel vous voulez fabriquer d'autres objets.

Par contre, ce script ne gère pas les echecs. Chaque tentative réussit.

Begin "ara2_script_créer_munition1"


;On établit toutes les variables
Short OnPcEquip
Short MessageOn
Short poudre1
Short poudre2
Short button



if ( OnPCEquip == 1 )
  ;Là, on regarde si le player à suffisamment des deux ingrédients (poudre1 et poudre2)
    Set poudre1 to ( "Player"->GetItemCount "ara2_poudre1" )
    Set poudre2 to ( "Player"->GetItemCount "ara2_poudre2" )
	
      ;Là, on empèche le joueur de s'équiper de l'outil s'il n'a pas les matériaux nécessaires
        if ( poudre1 < 1 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
            Set OnPcEquip to 0
            Return
        Elseif ( poudre2 < 1 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
             set OnPcEquip to 0
             Return

      ;On demande au joueur s'il veut créer des munitions
        else
             MessageBox "Voulez vous créer des munitions?" , "Oui, je le désire." , "Non, pas pour le moment."
             Set MessageOn to 1
             set OnPcEquip to 0
        endif
endif





if ( MessageOn == 1 )
  ;On établit la variable bouton (le 0 corespond au 1er, 1 au 2nd,....)
    set button to GetButtonPressed
    if ( button == 1 )
      ;Le joueur ne veux rien faire, on déséquipe l'outil
        Set MessageOn to 0
        Set OnPcEquip to 0
    Elseif ( button == 0 )
        :on laisse le choix au joueur de ce qu'il veut créer
        MessageBox "Combien voulez-vous en créer?" , "Une seule" , "5" , "10" , "25" , "50" , "Finalement, aucune"
        Set MessageOn to 2
    endif
endif







if ( MessageOn == 2 )
  ;On redéfinit le choix du joueur
    Set button to GetButtonPressed 
    if ( button == 0 )
      ;On vérifie que le jouer à suffisamment de matériaux
        if ( poudre1 < 1 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Elseif ( poudre2 < 1 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
      ;On fabrique les objets désirés en enlevant les matériaeux utilisés
        Else
            Player->RemoveItem "ara2_poudre1" 1
            Player->RemoveItem "ara2_poudre2" 1
            Player->AddItem "ara2_poudre" 1
            Set MessageOn to 0
        endif

  ;Idem pour la suite
    Elseif ( button == 1 )
        if ( poudre1 < 5 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Elseif ( poudre2 < 5 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Else
            Player->RemoveItem "ara2_poudre1" 5
            Player->RemoveItem "ara2_poudre2" 5
            Player->AddItem "ara2_poudre" 5
            Set MessageOn to 0
        endif
    Elseif ( button == 2 )
         if ( poudre1 < 10 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Elseif ( poudre2 < 10 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Else
            Player->RemoveItem "ara2_poudre1" 10
            Player->RemoveItem "ara2_poudre2" 10
            Player->AddItem "ara2_poudre" 10
            Set MessageOn to 0
        endif
    Elseif ( button == 3 )
        if ( poudre1 < 25 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Elseif ( poudre2 < 25 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Else
            Player->RemoveItem "ara2_poudre1" 25
            Player->RemoveItem "ara2_poudre2" 25
            Player->AddItem "ara2_poudre" 25
            Set MessageOn to 0
        endif
    Elseif ( button == 4 )
        if ( poudre1 < 50 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Elseif ( poudre2 < 50 )
            MessageBox "Vous ne possédez pas le nécéssaire pour créer des munitions."
        Else
            Player->RemoveItem "ara2_poudre1" 50
            Player->RemoveItem "ara2_poudre2" 50
            Player->AddItem "ara2_poudre" 50
            Set MessageOn to 0
        endif
    Elseif ( button == 5 )
        Set MessageOn to 0
    endif
endif

end

Modifié par Lespagnol, 15 juin 2004 - 22:47.

Ancien modérateur de Wiwiland à la retraite.

Ancien créateur et fan du mod Morrowind Stargate.

Et depuis, je suis devenu consultant SEO sur SeoMix et game addict sur Play-Mod




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

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