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.