Le système utilise le fait qu'on peut utiliser le bug de cette fonction:
Jass:
function ...
call UnitAddItemToSlotById40;unit,itemid,-1341;
endfunction
Comme vous le voyez, on peut mettre un numéro de slot négatif. (-13).
Du coup on peut augmenter la taille de l'inventaire.
Attention, à utiliser avec précaution. Je me suis fait avoir en regardant pour RC601, comme le système utilise les évènements EVENT_PLAYER_UNIT_PICK_ITEM et EVENT_PLAYER_UNIT_DROP_ITEM, tout déclencheur de votre facture qui se sert des mêmes évènements va avoir quelques conflits avec cet inventaire étendu.
Je m'en suis sorti en remplaçant mes déclencheurs par des EVENT_PLAYER_UNIT_USE_ITEM dans la plupart des cas.
Si vous avez des questions, n'hésitez pas (l'auteur étant lent à répondre). _________________
Inscrit le: 14 Oct 2007 Messages: 110 Sujets: 17 Spécialité en worldedit: Créer des fatals errors :O
Posté le: 09/08/10 18:04 Sujet du message:
Buhuhu c'est pas juste , j'ai scrupuleusement recopier les triggers en faisant ce qu'on me demande et ça marche pas, (en fait j'ai modifié un peu pour ne pas avoir a prendre le sac au début, mais même avec le sac ça fonctionne pas donc bon >.<, je me suis dit que ça devait être autre chose donc après j'ai revérifié le déclo et après une petite migraine a tout revérifier plusieurs fois, bah ça marche pas et pourtant tout à l'air ok.)
Voila les déclos, si vous voyez quelque chose qui colle pas dites le moi, je vous en supplieeeee
Ah j'ai aussi fait en sorte que le déclo fonctionne pour les 8 joueurs.
Player - Disable Livre de inventaire 1 for Player 1 (Red) Player - Disable Livre de inventaire 1 for Player 2 (Blue) Player - Disable Livre de inventaire 1 for Player 3 (Teal) Player - Disable Livre de inventaire 1 for Player 4 (Purple) Player - Disable Livre de inventaire 1 for Player 5 (Yellow) Player - Disable Livre de inventaire 1 for Player 6 (Orange) Player - Disable Livre de inventaire 1 for Player 7 (Green) Player - Disable Livre de inventaire 1 for Player 8 (Pink) Player - Disable Livre de inventaire 2 for Player 1 (Red) Player - Disable Livre de inventaire 2 for Player 2 (Blue) Player - Disable Livre de inventaire 2 for Player 3 (Teal) Player - Disable Livre de inventaire 2 for Player 4 (Purple) Player - Disable Livre de inventaire 2 for Player 5 (Yellow) Player - Disable Livre de inventaire 2 for Player 6 (Orange) Player - Disable Livre de inventaire 2 for Player 7 (Green) Player - Disable Livre de inventaire 2 for Player 8 (Pink) Player - Disable Livre de inventaire 3 for Player 1 (Red) Player - Disable Livre de inventaire 3 for Player 2 (Blue) Player - Disable Livre de inventaire 3 for Player 3 (Teal) Player - Disable Livre de inventaire 3 for Player 4 (Purple) Player - Disable Livre de inventaire 3 for Player 5 (Yellow) Player - Disable Livre de inventaire 3 for Player 6 (Orange) Player - Disable Livre de inventaire 3 for Player 7 (Green) Player - Disable Livre de inventaire 3 for Player 8 (Pink) Player - Disable Livre de inventaire 4 for Player 1 (Red) Player - Disable Livre de inventaire 4 for Player 2 (Blue) Player - Disable Livre de inventaire 4 for Player 3 (Teal) Player - Disable Livre de inventaire 4 for Player 4 (Purple) Player - Disable Livre de inventaire 4 for Player 5 (Yellow) Player - Disable Livre de inventaire 4 for Player 6 (Orange) Player - Disable Livre de inventaire 4 for Player 7 (Green) Player - Disable Livre de inventaire 4 for Player 8 (Pink) Player - Disable Livre de inventaire 5 for Player 1 (Red) Player - Disable Livre de inventaire 5 for Player 2 (Blue) Player - Disable Livre de inventaire 5 for Player 3 (Teal) Player - Disable Livre de inventaire 5 for Player 4 (Purple) Player - Disable Livre de inventaire 5 for Player 5 (Yellow) Player - Disable Livre de inventaire 5 for Player 6 (Orange) Player - Disable Livre de inventaire 5 for Player 7 (Green) Player - Disable Livre de inventaire 5 for Player 8 (Pink) Player - Disable Livre de inventaire 6 for Player 1 (Red) Player - Disable Livre de inventaire 6 for Player 2 (Blue) Player - Disable Livre de inventaire 6 for Player 3 (Teal) Player - Disable Livre de inventaire 6 for Player 4 (Purple) Player - Disable Livre de inventaire 6 for Player 5 (Yellow) Player - Disable Livre de inventaire 6 for Player 6 (Orange) Player - Disable Livre de inventaire 6 for Player 7 (Green) Player - Disable Livre de inventaire 6 for Player 8 (Pink)
et pis ensuite:
Secret:
Gui:
Trigger:
double invent PARTIE2 Events Unit - A unit leaves Choix hero <gen>
Conditions
((Triggering unit) is A Hero) Equal to True
Actions
Trigger - Turn off (This trigger) Unit - Add Bag Inventory to (Leaving unit)
et pis ensuite les deux gros:
Secret:
Gui:
Trigger:
double invent PARTIE3 Events Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Bag Inventory
Actions
Set NumberItem = (Number of items carried by (Triggering unit))
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Set PointItem = (Random point in Bag inventory 1 <gen>) Set SlotsInventaire_Hero[(Integer A)] = (Item carried by (Triggering unit) in slot (Integer A)) Item - Move SlotsInventaire_Hero[(Integer A)] to PointItem Custom script: call RemoveLocation( udg_PointItem )
Unit - Remove Inventaire (Héros) from (Triggering unit) Set NumberItem_Bag = (Number of items carried by (Triggering unit)) Set NumberItem_Hero = (NumberItem - NumberItem_Bag)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Set PointItem = (Random point in Bag inventory 1 <gen>) Item - Move SlotsInventaire_Bag[(Integer A)] to PointItem Custom script: call RemoveLocation( udg_PointItem )
Unit - Remove Inventaire (bag) from (Triggering unit) Unit - Remove Inventaire (supplémentaire) from (Triggering unit) Unit - Remove Livre de inventaire 1 from (Triggering unit) Unit - Remove Livre de inventaire 2 from (Triggering unit) Unit - Remove Livre de inventaire 3 from (Triggering unit) Unit - Remove Livre de inventaire 4 from (Triggering unit) Unit - Remove Livre de inventaire 5 from (Triggering unit) Unit - Remove Livre de inventaire 6 from (Triggering unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Hero Equal to 1
Then - Actions Unit - Add Livre de inventaire 1 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (bag) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Hero Equal to 2
Then - Actions Unit - Add Livre de inventaire 2 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (bag) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Hero Equal to 3
Then - Actions Unit - Add Livre de inventaire 3 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (bag) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Hero Equal to 4
Then - Actions Unit - Add Livre de inventaire 4 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (bag) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Hero Equal to 5
Then - Actions Unit - Add Livre de inventaire 5 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (bag) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Hero Equal to 6
Then - Actions Unit - Add Livre de inventaire 6 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (bag) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Else - Actions
Unit - Remove Bag Inventory from (Triggering unit) Unit - Add Hero Inventory to (Triggering unit)
Gui:
Trigger:
double invent PARTIE4 Events Unit - A unit Starts the effect of an ability
Conditions
(Ability being cast) Equal to Hero Inventory
Actions
Set NumberItem = (Number of items carried by (Triggering unit))
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Set SlotsInventaire_Hero[(Integer A)] = (Item carried by (Triggering unit) in slot (Integer A)) Set PointItem = (Random point in Hero Inventory 1 <gen>) Item - Move SlotsInventaire_Bag[(Integer A)] to PointItem Custom script: call RemoveLocation( udg_PointItem )
Unit - Remove Inventaire (bag) from (Triggering unit) Set NumberItem_Hero = (Number of items carried by (Triggering unit)) Set NumberItem_Bag = (NumberItem - NumberItem_Bag)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Set PointItem = (Random point in Hero Inventory 1 <gen>) Item - Move SlotsInventaire_Hero[(Integer A)] to PointItem Custom script: call RemoveLocation( udg_PointItem )
Unit - Remove Livre de inventaire 6 from (Triggering unit) Unit - Remove Livre de inventaire 1 from (Triggering unit) Unit - Remove Livre de inventaire 2 from (Triggering unit) Unit - Remove Livre de inventaire 3 from (Triggering unit) Unit - Remove Livre de inventaire 4 from (Triggering unit) Unit - Remove Livre de inventaire 5 from (Triggering unit)
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Bag Equal to 1
Then - Actions Unit - Add Livre de inventaire 1 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (supplémentaire) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Bag Equal to 2
Then - Actions Unit - Add Livre de inventaire 2 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (supplémentaire) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Bag Equal to 3
Then - Actions Unit - Add Livre de inventaire 3 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (supplémentaire) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Bag Equal to 4
Then - Actions Unit - Add Livre de inventaire 4 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (supplémentaire) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Bag Equal to 5
Then - Actions Unit - Add Livre de inventaire 5 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (supplémentaire) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
NumberItem_Bag Equal to 6
Then - Actions Unit - Add Livre de inventaire 6 to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Bag[(Integer A)] to (Triggering unit)
Unit - Add Inventaire (supplémentaire) to (Triggering unit)
For each (Integer A) from 1 to 6, do (Actions)
Loop - Actions Hero - Give SlotsInventaire_Hero[(Integer A)] to (Triggering unit)
Else - Actions
Unit - Remove Hero Inventory from (Triggering unit) Unit - Add Bag Inventory to (Triggering unit)
Le truc bon à savoir, c'est que apparemment c'est seulement le add ability qui veut pas fonctionner, vu que j'ai essayé de rajouter l'action kill leaving unit, et bah l'unité elle mourrait x), mais toujours pas de sorts Bag inventory qui s'ajoute
Bon apparemment j'aurais du lire la page 2 pour me rendre compte que ce tuto est hautement foireux x), d'ailleurs c'est une honte de le laisser dans la partie tutoriaux, pensez a ces pauvres mappeur qui comme moi vont perdre une après-midi a recopier, modifier et tout refaire plusieurs fois des déclencheurs qui au final ne fonctionnent pas ou alors pas entièrement! Je vais le dire a ma maman!
PS:Et pis c'est normal que je voie certaines parties de mon trigger avec une roue rose trop belle quand je poste dans les balises gui? Ptet parce que j'utilise WEU ? _________________
Inscrit le: 21 Avr 2008 Messages: 1607 Sujets: 81 Spécialité en worldedit: Utiliser le travail des autres Médailles: 3 (En savoir plus...)
Posté le: 09/08/10 18:57 Sujet du message:
Il est pas complètement foireux... Usine à gaz certes, mais il marche. Le fait est que tu as essayé de le faire pour 8 joueurs à mon avis ça vient de là.
C'est quand même une méthode qui garde les passifs et les coldowns. Dans les autres systèmes d'inventaires que j'ai testé (en GUI) je l'ai jamais vu. _________________
Coucou, j'ai une question, j'ai recopier le système de Crowolf intégralement (vive le copier collé des variables) ainsi que les sorts. Mais çà ne marche pas. Après avoir vérifier 3 fois l'intégralité des déclencheurs, j'ai eus une hypothèse peut-être probable. Serait-ce les régions Bag_enventory_1 et Hero_inventory_1 qui serait responsable de mon echec ? Telle est la question. _________________
Inscrit le: 11 Fév 2011 Messages: 2151 Sujets: 114 Spécialité en worldedit: Chasser le Dragon, puis l'exterminer proprement avec une petite cuillère et une poêle.
Posté le: 11/04/12 18:26 Sujet du message:
Les régions sont pas forcément des variables. Il faut que tu places les régions sur la map peut-être. _________________
Toutes les heures sont au format GMT + 1 Heure Aller à la page Précédente1, 2, 3, 4Suivante
Page 3 sur 4
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