Cela dit, son utilisation nécessite de connaître un peu le fundelphi.
Alors voilà une explication :
MarchandBase (nom à moitié français, désolé) a été fait pour qu'on puisse en faire hériter un autre obstacle. Mais le tout s'embrouille et finalement, considérez MarchandBase comme un modèle. Dans votre unité FunDelphi, vous copiez et collez le code, vous enlevez la property Price. Lorsqu'on répond oui, le jeu vérifie si le joueur a une somme égale ou supérieur au prix. Forcément, il ne va rien comprendre si vous ne changez pas les trois "Price" situés juste après le
if Selected = 0 then
.
Ces trois-là, vous les changez par votre prix. Et vous modifiez les messages s'il ne vous plaisent pas.
Maintenant, imaginons que j'ai un marchand qui veut me vendre une clé d'argent à 10 € (en supposant que ce sont des euros, mais ce n'est qu'un nombre).
Je passerai de ça :
obstacle TMarchandBase
name 'Marchand de base';
category SCategoryMoney;
property Price : Integer;
on Pushing do
var
Selected: Integer;
begin
inherited;
if not KeyPressed then
Exit;
Selected := Player.ShowSelectionMsg(
'Veux-tu m''acheter quelque chose ?',
['Oui', 'Non']
);
if Selected = 0 then
begin
if MoneyPlugin.Counter >= Price then
MoneyPlugin.Counter := MoneyPlugin.Counter - Price
else
Player.ShowMessage ('Mais... Tu n''as pas assez d''argent ! Reviens quand tu en auras plus !');
end;
if Selected = 1 then
begin
Player.ShowMessage ('Alors, à la prochaine fois, peut-être !');
end;
end;
end;
à ça :
obstacle TMarchandOfSilverKey
name 'Marchand de clef d''argent';
category SCategoryMoney;
on Pushing do
var
Selected: Integer;
begin
inherited;
if not KeyPressed then
Exit;
Selected := Player.ShowSelectionMsg(
'Veux-tu acheter ma clé d''argent ?',
['Oui', 'Non']
);
if Selected = 0 then
begin
if MoneyPlugin.Counter >= 10 then
begin
MoneyPlugin.Counter := MoneyPlugin.Counter - 10
Player receives 1 SilverKey;
end else
Player.ShowMessage ('Mais... Tu n''as pas assez d''argent ! Reviens quand tu en auras plus !');
end;
if Selected = 1 then
begin
Player.ShowMessage ('Alors, à la prochaine fois, peut-être !');
end;
end;
end;
Un autre conseil : faites un marchand pour chaque objet. Au besoin, si vous vous voulez un marchand vendant plusieurs choses, vous l'entourez de tables qui seront des marchands (vous mettez la marchandise que vend la table derrière celle-ci).
A mettre dans "GenericSquares".