Posté le: 31/08/14 00:46 Sujet du message: [REGLE]Modification des récoltes (a la warcraft 2)
Bien le bonjour !!
Alors voila hein comme cité dans le titre je me suis lancé dans mon petit projet de refaire un warcraft 2 sur war3 (oui je sais ça a déja été fait surement mais je voulais mon mien a moi )
J'ai déjà fait la liste unités batiments (en improvisant pour certains) ainsi que l'équilibrage stats des unités "a l'ancienne" surtout pour les combats
La ou je bute maintenant c'est pour le système de récolte a l'ancienne qui pour ceux qui savent était de 100 gold/bois par trajet (ça c fait aussi )
Non la ou je bloque c'est pour appliquer le bonus lié aux batiments que sont le donjon , le château et la scierie avec respectivement +10/+20 et +25 gold et bois à chaque rentrée de ressources
Plus en détail pour ceux qui ne sauraient pas : un paysan va à la mine il ramène 100 po ... si j'ai amélioré l'hotel de ville en donjon il prendra toujours 100 dans la mine mais au retour j'aurai 100 + 10 = 110 ... etc pour les 2 autres bâtiments
J'ai créé l'amélioration de récolte sur le modèle de la "collecte de bois perfectionnée" qui fonctionne si je l'utilise de manière traditionnelle (sauf que ils piquent 110 a chaque fois dans la mine lol )
Donc voici ma question = Est- il possible de faire en sorte qu'une fois un hôtel de ville amélioré en donjon les paysans continuent de prendre 100 gold a la mine et me ramènent 110 à la dépose ?
Bon les 100 a la mine c'est un détail ils peuvent prendre 110 c'est pas bien grave
Je n'arrive pas faire en sorte que lorsqu'un hotel de ville est amélioré , l'amélioration de récolte prenne un level
J'ai tenté avec "a unit termine l'amélioration ... if unit type of triggering is Donjon ... Set amélioration ressources to lvl 1"
(désolé j'ai pas d'image il est trés tard)
Si je précise l'unité ça fonctionne mais le souci c que je veux que ça puisse s'appliquer a un batiment aléatoirement construit par le jouer ou l'IA .. vous suivez ? ^^
Bon merci d'avance pour toute réponse et désolé si jamais je m'a trompé d'endroit ou si j'ai loupé un tuto car j'ai pourtant zyeuter tout ça _________________
Dernière édition par PepeK le 07/09/14 11:54; édité 1 fois
Oh mince j'ai pas vu ma faute ... mais euh si j'ai testé avec Hotel de Ville bien sur
J'ai testé plein de manières différentes mais pour l'instant je bloque
En fait j'ai fait un test tout bête pour voir si mon déclencheur fonctionnait : si je précise l'unité (Hotel de Ville ****<gen>) la condition unit comparison fonctionne et j'affiche un texte sur l'unité
C'est la condition Unit-type qui refuse de fonctionner ... mais comme je veux que ça soit "générique" pour que ça se lance a partir d'un bâtiment aléatoirement construit ou amélioré (puisque lvl 2 au chateau) et bien je trouve pas d'autre moyen que celui-ci :/
Dans les évènements y a unit - termine construction/amélioration ...
C'est surtout a la condition que je bloque d'ailleurs je ne trouve pas de réponse évènement à amélioration
Je termine l'action sur un set owner of unit amélioration ressource to lvl *
Enfin c'est ce qui me paraissait le plus logique pour que une fois un Hotel de Ville (qui n'existe pas forcément au départ) amélioré en Donjon donne automatiquement le bonus d'or
Il doit également disparaitre si ce batiment disparait s'il est en unique exemplaire
Bon je vais mettre une image dès que je peux pour clarifier tout ça
PS : peut etre faut il passer par des hashtables ? J'ai vu que c'était assez puissant mais j'ai pas encore pu potasser le sujet _________________
Inscrit le: 19 Oct 2011 Messages: 382 Sujets: 32 Spécialité en worldedit: Il faut vraiment que je réponde ?
Posté le: 31/08/14 19:56 Sujet du message:
Sinon tu utilise une amélioration (genre Epée de mithril) de niveau 1.
Event - A unit finit de rechercher une amélioration
Condition - Amélioration recherchée = "Améliorer en Donjon"
Action - ... (Sans oublié le "Unité replace recherching unit par Donjon)
Après je crois qu'il faut utiliser le
Joueur - Disable (recherche) pour (joueur)
Joueur - Set level of (recherche) for (player) to 0
Joueur - Enable (recherche) pour (joueur)
Pour que l'amélioration soit de nouveau disponible pour les autres hôtels de ville.
PS: Si sa marche pas fait le recruter une unité, que tu supprimes quand elle apparaît sur la map, comme sa sa marche pr tous les hôtels de ville. _________________
Heeey merci pour vos réponses déjà ça fait plaisir
Sinon je passais pour vous dire que j'ai en partie résolu le problème (et que je viens de comprendre le fonctionnement des balises gui sur le forum lol)
EDIT : Finalement il s'avere que la solution que j'envisageai au départ fonctionne maintenant ... je comprends pas pourquoi ça fonctionnait pas avant
Gui:
Trigger:
SetBonus MapStart
Evénements
Map initialization
Conditions
Actions
Groupe unité - Pick every unit in (Units of type Bastion) and do (Joueur - Set the current research level of Bonus d'or to 1 for (Owner of (Picked unit))) Groupe unité - Pick every unit in (Units of type Donjon) and do (Joueur - Set the current research level of Bonus d'or to 1 for (Owner of (Picked unit))) Groupe unité - Pick every unit in (Units of type Forteresse) and do (Joueur - Set the current research level of Bonus d'or to 2 for (Owner of (Picked unit))) Groupe unité - Pick every unit in (Units of type Château) and do (Joueur - Set the current research level of Bonus d'or to 2 for (Owner of (Picked unit))) Groupe unité - Pick every unit in (Units of type Scierie Troll) and do (Joueur - Set the current research level of Bonus de bois to 1 for (Owner of (Picked unit)))
Groupe unité - Pick every unit in (Units of type Scierie) and do (Joueur - Set the current research level of Bonus de bois to 1 for (Owner of (Picked unit)))
Gui:
Trigger:
Evénements
Unité - A unit Termine une amélioration
Conditions
Actions
If ((Unit-type of (Triggering unit)) Egal à Bastion) then do (Joueur - Set the current research level of Bonus d'or to 1 for (Owner of (Triggering unit))) else do (Do nothing) If ((Unit-type of (Triggering unit)) Egal à Forteresse) then do (Joueur - Set the current research level of Bonus d'or to 2 for (Owner of (Triggering unit))) else do (Do nothing) If ((Unit-type of (Triggering unit)) Egal à Donjon) then do (Joueur - Set the current research level of Bonus d'or to 1 for (Owner of (Triggering unit))) else do (Do nothing)
If ((Unit-type of (Triggering unit)) Egal à Château) then do (Joueur - Set the current research level of Bonus d'or to 2 for (Owner of (Triggering unit))) else do (Do nothing)
ça fonctionne parfaitement du coup c'est un problème de moins pour mon warcraft a l'ancienne lol
Il faudra que je vois si je peux maintenant appliquer ce bonus tout en enlevant son effet sur les mines d'or ... mais la je pense que ça va être beaucoup plus compliqué ^^
Je me posais une question : quand je teste ma carte via l'éditeur .. l'ordinateur est comme sans IA ... il ne fait rien ... je pense que des unités personnalisées sont incompatibles avec l'IA de base ... mais si je pouvais avoir confirmation ou bien une piste pour m'indiquer la procédure pour pondre une IA qui servirait a des cartes "campagne solo"
EDIT : Il faut exporter les données objets et importer ce fichier dans l'éditeur IA ... c'est juste ? m'en vais tester ^^
Inscrit le: 19 Oct 2011 Messages: 382 Sujets: 32 Spécialité en worldedit: Il faut vraiment que je réponde ?
Posté le: 01/09/14 08:59 Sujet du message:
Oui les unités personnalisées sont incompatibles avec l'IA de base.
Donc soit unités personnalisées + IA personnalisé, soit unités du jeu de base (mais modifiée) + IA inchangée. _________________
Vous ne pouvez pas poster de nouveaux sujets dans ce forum Vous ne pouvez pas répondre aux sujets dans ce forum Vous ne pouvez pas éditer vos messages dans ce forum Vous ne pouvez pas supprimer vos messages dans ce forum Vous ne pouvez pas voter dans les sondages de ce forum