If you want certain items to go in to certain slots, Think of it as a table.
For instance if you wanted 6 slots (3 columns x 2 rows) you would set them up accordingly
index 1 row0 column 0 - Weapon Class
index 2 row0 column 1 - Weapon Class
index 3 row0 column 2 - Armor Class
index 4 row1 column 0 - Armor Class
index 5 row1 column 1 - Accessory Class
index 6 row1 column 2 - Accessory Class
so the top two left boxes will hold your weapons, the 3rd box on the top right would hold armor
the 4th box on the bottom left would hold another armor, the two boxes on the bottom right would hold accessories.
for the random spawning of heroes and assign them to players, ill upload a simple map in a sec.
I already have a system like that working, only it's completely automated (you don't have to do the same steps over and over again). My problem is for reason when I have two items that are the same "ingredient" the store only takes the 1, and by passes everything else.
Classes let you assign certain items to certain slots. For instance you might have two containers (one for equipping items, and one for storage)
The container for equipping items will have the following:
index 1 with the class "WeaponClass"
index 2 with the class "Armor"
index 3 with the class "Accessory"
and so on, and so forth. Now depending on the class of the item, it will fill one of those slots. You're storage container will have no classes, therefore anything can be put there.
So I'm working on a store, and I've got a lot of things working (buying items, buying requirements of items, etc) However there is one problem I've ran in to that I'm not sure how to solve. Currently I have items setup like the following:
Basic Items - (these can be used as requirements to purchase "big items")
Big Items - these are "composed" of basic items, and can be used as requirements to purchase "advanced items"
Advanced items - use big items as a requirement for purchase.
Now the problem is if I have two of the same items in a recipe, the store will only take one in to account, and skip over the 2nd duplicate item.
(below is the "upgrade" trigger)
What I want it to do, is take the duplicate item in to consideration, and also remove it from the inventory. I'm drawing a blank as to how I can do this, and could really appreciate any help. If you need a working example, I might be willing to provide that.
Store:UpgradeItemOptions:ActionReturnType:(None)ParametersUpgradeID=0<Integer>CategoryID=0<Integer>SubCategoryID=0<Integer>ItemID=0<Integer>Hero=NoUnit<Unit>GrammarText:Store:UpgradeItem(UpgradeID,CategoryID,SubCategoryID,ItemID,Hero)HintText:(None)CustomScriptCodeLocalVariablesRequirementsMet=false<Boolean[3]>Unit=NoUnit<Unit[3]>i=0<Integer>ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Upgradable_Items[UpgradeID].has_components==trueThenGeneral-Foreachintegerifrom1to6withincrement1,do(Actions)ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Upgradable_Items[UpgradeID].req1>0ThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Unittypeof(ItemcarriedbyHeroini))==Store:All_Upgradable_Items[Store:All_Upgradable_Items[UpgradeID].req1].Upgrade_ItemUnitThenVariable-SetUnit[1]=(ItemcarriedbyHeroini)Variable-SetRequirementsMet[1]=trueElseElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Upgradable_Items[UpgradeID].req2>0ThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Unittypeof(ItemcarriedbyHeroini))==Store:All_Upgradable_Items[Store:All_Upgradable_Items[UpgradeID].req2].Upgrade_ItemUnitThenVariable-SetUnit[2]=(ItemcarriedbyHeroini)Variable-SetRequirementsMet[2]=trueElseElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfAndConditionsStore:All_Upgradable_Items[UpgradeID].has_components==trueStore:All_Upgradable_Items[UpgradeID].req2==0ThenVariable-SetRequirementsMet[2]=trueElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Upgradable_Items[UpgradeID].req3>0ThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Unittypeof(ItemcarriedbyHeroini))==Store:All_Upgradable_Items[Store:All_Upgradable_Items[UpgradeID].req3].Upgrade_ItemUnitThenVariable-SetUnit[3]=(ItemcarriedbyHeroini)Variable-SetRequirementsMet[3]=trueElseElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfAndConditionsStore:All_Upgradable_Items[UpgradeID].has_components==trueStore:All_Upgradable_Items[UpgradeID].req3==0ThenVariable-SetRequirementsMet[3]=trueElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfAndConditionsRequirementsMet[1]==trueRequirementsMet[2]==trueRequirementsMet[3]==trueThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Player(Triggeringplayer)Minerals)>=Store:All_Upgradable_Items[UpgradeID].ItemCostThenPlayer-Modifyplayer(Triggeringplayer)Minerals:SubtractStore:All_Upgradable_Items[UpgradeID].ItemCostGeneral-Pickeachintegerfrom1to3,anddo(Actions)ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfUnit[(Pickedinteger)]!=NoUnitThenUnit-RemoveUnit[(Pickedinteger)]fromthegameElseGeneral-Wait0.25GameTimesecondsUnit-CreateoneStore:All_Upgradable_Items[UpgradeID].Upgrade_ItemUnititemintheinventoryofHeroElseUI-Display"Insufficient Minerals to purcahse I..."for(Playergroup((Triggeringplayer)))toSubtitleareaElseUI-Display"You do not have the required Items."for(Playergroup((Triggeringplayer)))toSubtitleareaElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Items[UpgradeID][SubCategoryID][ItemID].Upgradable==trueThenGeneral-Foreachintegerifrom1to6withincrement1,do(Actions)ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Items[CategoryID][SubCategoryID][ItemID].Componet1>0ThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Unittypeof(ItemcarriedbyHeroini))==Store:All_Upgradable_Items[Store:All_Items[CategoryID][SubCategoryID][ItemID].Componet1].Upgrade_ItemUnitThenVariable-SetUnit[1]=(ItemcarriedbyHeroini)Variable-SetRequirementsMet[1]=trueElseElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Items[CategoryID][SubCategoryID][ItemID].Componet2>0ThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Unittypeof(ItemcarriedbyHeroini))==Store:All_Upgradable_Items[Store:All_Items[CategoryID][SubCategoryID][ItemID].Componet2].Upgrade_ItemUnitThenVariable-SetUnit[2]=(ItemcarriedbyHeroini)Variable-SetRequirementsMet[2]=trueElseElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfAndConditionsStore:All_Items[CategoryID][SubCategoryID][ItemID].Componet2==0ThenVariable-SetRequirementsMet[2]=trueElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfStore:All_Items[CategoryID][SubCategoryID][ItemID].Componet3>0ThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Unittypeof(ItemcarriedbyHeroini))==Store:All_Upgradable_Items[Store:All_Items[CategoryID][SubCategoryID][ItemID].Componet3].Upgrade_ItemUnitThenVariable-SetUnit[3]=(ItemcarriedbyHeroini)Variable-SetRequirementsMet[3]=trueElseElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfAndConditionsStore:All_Items[CategoryID][SubCategoryID][ItemID].Componet3==0ThenVariable-SetRequirementsMet[3]=trueElseGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfAndConditionsRequirementsMet[1]==trueRequirementsMet[2]==trueRequirementsMet[3]==trueThenGeneral-If(Conditions)thendo(Actions)elsedo(Actions)If(Player(Triggeringplayer)Minerals)>=Store:All_Items[CategoryID][SubCategoryID][ItemID].ItemCostThenPlayer-Modifyplayer(Triggeringplayer)Minerals:SubtractStore:All_Items[CategoryID][SubCategoryID][ItemID].ItemCostGeneral-Pickeachintegerfrom1to3,anddo(Actions)ActionsGeneral-If(Conditions)thendo(Actions)elsedo(Actions)IfUnit[(Pickedinteger)]!=NoUnitThenUnit-RemoveUnit[(Pickedinteger)]fromthegameElseGeneral-Wait0.25GameTimesecondsUnit-CreateoneStore:All_Items[CategoryID][SubCategoryID][ItemID].ItemUnititemintheinventoryofHeroElseUI-Display"Insufficient Minerals to purcahse I..."for(Playergroup((Triggeringplayer)))toSubtitleareaElseUI-Display"You do not have the required Items."for(Playergroup((Triggeringplayer)))toSubtitleareaElse
currently in the process of developing a custom inventory using dialogs and such, however I could use a few pointers
Is possible to use the default inventory system, and HIDE it. Then simply use the dialog to display the items inside the inventory?
Should I use unit groups? For instance could I have a unit group, with an array of [3][6] (the first index is the player id, where the 2nd is the ID of a Item Unit, the simply use a loop to display the dialog?
create a a boolean variable with an array index of 2 (index 1 for team 1, index 2 for team 2)
add players unit to a unit group upon entering a region
get the number of units in that unit group that are tied to that region
if the number of units in group 1 > group 2 - decrease the amount of time for group 1, and increase the amount of time for group 2 (after I check the boolean)
if group 1's timer elapsed (they completed capping the point) set a boolean to true, and apply some kind of behavior to the capping team.
if the number of units in group 2 = group 2, - pause
if the number of units in group 1 =< group 2, check and see if the boolean for group 1 is set to true (in which case group 1 has already capped the * * point, and it needs to be uncapped.
Edit: I would also have to create a function which can get the TeamID and PlayerID of each player that enters the region, and assign it to a unit variable.
Hi there. I'm currently trying to figure out how to create a "zone control" map. For instance:
There will be 4 control points.
When a player gets in to a certain distance of a control point a "progress bar" appears with this teams "color" (lets say red for team 1, and blue for team 2). It takes 5 full seconds to capture a control point. Each player in the area speeds or slows the progress bar by .5 seconds (so two players the progress bar would move by 1).
if there is an equal amount of players in area on the opposition I want to "pause" the progress bar.
if team 1 has 2 players in the area, and team 1 has 1 player in the area, team 1 should slow the progress of the bar by .5
If a control point is already capped by a team, I want to uncap and then recap the control point.
This makes absolutely no sense, you're exporting content from one blizzard game, to Import in to another.
<<quote>>First of all, its not illegal. As long as your not redistributing the models as forgery (claiming them as your own work), and your not using them for commercial use, it is perfectly legitimate to import wow models/icons into your WC3 map.
I had a discussion about this just a couple of days ago with a Blizz employee over on the battle.net forums.<</quote>>
a quote from another forum, which DOES make sense. long as you give credit where credit is due, you're golden.
0
If you want certain items to go in to certain slots, Think of it as a table.
For instance if you wanted 6 slots (3 columns x 2 rows) you would set them up accordingly
index 1 row0 column 0 - Weapon Class
index 2 row0 column 1 - Weapon Class
index 3 row0 column 2 - Armor Class
index 4 row1 column 0 - Armor Class
index 5 row1 column 1 - Accessory Class
index 6 row1 column 2 - Accessory Class
so the top two left boxes will hold your weapons, the 3rd box on the top right would hold armor the 4th box on the bottom left would hold another armor, the two boxes on the bottom right would hold accessories.
for the random spawning of heroes and assign them to players, ill upload a simple map in a sec.
0
@zeldarules28: Go
I already have a system like that working, only it's completely automated (you don't have to do the same steps over and over again). My problem is for reason when I have two items that are the same "ingredient" the store only takes the 1, and by passes everything else.
0
@redconfusion: Go
how about checking for an item class?
0
I'm curious if you can check for an items class, and change it inside the trigger editor. If so, how do you do this?
0
Classes let you assign certain items to certain slots. For instance you might have two containers (one for equipping items, and one for storage)
The container for equipping items will have the following:
index 1 with the class "WeaponClass"
index 2 with the class "Armor"
index 3 with the class "Accessory"
and so on, and so forth. Now depending on the class of the item, it will fill one of those slots. You're storage container will have no classes, therefore anything can be put there.
0
So I'm working on a store, and I've got a lot of things working (buying items, buying requirements of items, etc) However there is one problem I've ran in to that I'm not sure how to solve. Currently I have items setup like the following:
Basic Items - (these can be used as requirements to purchase "big items") Big Items - these are "composed" of basic items, and can be used as requirements to purchase "advanced items" Advanced items - use big items as a requirement for purchase.
Now the problem is if I have two of the same items in a recipe, the store will only take one in to account, and skip over the 2nd duplicate item.
(below is the "upgrade" trigger)
What I want it to do, is take the duplicate item in to consideration, and also remove it from the inventory. I'm drawing a blank as to how I can do this, and could really appreciate any help. If you need a working example, I might be willing to provide that.
0
currently in the process of developing a custom inventory using dialogs and such, however I could use a few pointers
0
What if I do the following:
Edit: I would also have to create a function which can get the TeamID and PlayerID of each player that enters the region, and assign it to a unit variable.
0
Hi there. I'm currently trying to figure out how to create a "zone control" map. For instance:
Any help would be very much appreciated.
0
@NiNtoxicated01: Go
heres another discussion on a similar topic:
http://www.thehelper.net/forums/showthread.php?p=1184786
0
@tigerija: Go
Whats with the irrational reaction? It's perfectly legal (long as you don't pass them off as your own).
0
@AegisRunestone: Go
This makes absolutely no sense, you're exporting content from one blizzard game, to Import in to another.
<<quote>>
First of all, its not illegal. As long as your not redistributing the models as forgery (claiming them as your own work), and your not using them for commercial use, it is perfectly legitimate to import wow models/icons into your WC3 map.I had a discussion about this just a couple of days ago with a Blizz employee over on the battle.net forums.<</quote>>
a quote from another forum, which DOES make sense. long as you give credit where credit is due, you're golden.
0
I'm curious as to how hard of a process this is? I know this was doable in war3. Does the M3 plugin support this?
update: Check out [Galaxy Noobs] wow to sc2 in 30 seconds no 3dmax
0
I assumed by having the tmpInt variable in the for loop condition it would automatically increase, is this not the case?
I actually removed that.
Removed.
Instead I changed the loop entirely
Still no success, I'm obviously missing something.
0
bump