• 🏆 Texturing Contest #33 is OPEN! Contestants must re-texture a SD unit model found in-game (Warcraft 3 Classic), recreating the unit into a peaceful NPC version. 🔗Click here to enter!
  • It's time for the first HD Modeling Contest of 2024. Join the theme discussion for Hive's HD Modeling Contest #6! Click here to post your idea!

Help with RPG and Attachments

Status
Not open for further replies.
Level 4
Joined
Mar 12, 2009
Messages
64
In my rpg all heroes can attach weapons/armors and such. one problem im going to see is that people are going to want to drop a weapon such as a bow making the character shooting arrows from their hands. i want to know if there is a way to have a default weapon on them (using a trigger to have an attachment on them) then when they equip, for example a new bow it will replace the default bow with the new attachment.
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
In my rpg all heroes can attach weapons/armors and such. one problem im going to see is that people are going to want to drop a weapon such as a bow making the character shooting arrows from their hands. i want to know if there is a way to have a default weapon on them (using a trigger to have an attachment on them) then when they equip, for example a new bow it will replace the default bow with the new attachment.

store to variable...

example:
Special effect variable array: Weapon

if each player have 1 hero then Weapon[player number (owner of trigger unit)]=last create special effect

when u pick new then destroy Weapon[player number (owner of trigger unit)] and create new :p

but u arrow part if model dont got animation for it, i mean that part when u put arrow from quiver to bow, because in object editor u can edit the missile model but no the chargeing animation

allso ahve a system how can u transform unit from melee to ranged and invers.

simple need 1 unit what is melee, another who is ranged, make a bear form ability, normal unit type = melee unit, altered/morphed unit type ur ranged hero.

add ability in object editor to unit, disable it at map init (disable ability for player)
so it is invisble

when unit pick up a bow then enable ability, order it, disable and ur unit already ranged,when u drop bow then do same for transform back

Check this http://www.hiveworkshop.com/forums/...board-inventory-stats-attachments-etc-208095/

i think here still i used gui instead jass
 
Level 19
Joined
Aug 8, 2007
Messages
2,765
Sorry, the guy above me is kinda confusing.

Ok, so heres what you do. Make the unit have no weapon at all. By default, the unit will have an ability called "Default Bow" that is basically the attachment of the default bow. Now, when you want to switch bows, you just simply remove "Default Bow" and add the proper abilty that displays your new bow attachment.

The only problem with using bow attachments is that the string will not appear to get pulled when the unit shoots

If you have a unit that needs his bow taken off, post in the request section
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
Sorry, the guy above me is kinda confusing.

Ok, so heres what you do. Make the unit have no weapon at all. By default, the unit will have an ability called "Default Bow" that is basically the attachment of the default bow. Now, when you want to switch bows, you just simply remove "Default Bow" and add the proper abilty that displays your new bow attachment.

maybe confusing to you, but atleasy dont need 100 ability if i have more weapon than 1-2 :p

easier store special effect to array and destroy it when u want then make ability to each attachment.

1 array (with 12 size) vs alot ability
 
Level 4
Joined
Mar 12, 2009
Messages
64
Veryy good help. i only have like 10 bow attachments, not many models for bows. im using a villager male that has the animations for using the bow. i kinda find shallow way confusing, do you have an example?
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
Id estimate about 9 bows. 100 bows is just retarded, just wasted file space

ok i mean u can store others weapon to same variable, because maybe later have axe/spear/sword&long sword/dagger/hammer/staff/wand/mace&club

9*9 or 11*9 already 81 or 99 :p

81 ability could make a bit loading time if u want preload this abilities and still we dont talked about armor/helmet/shield/boots/wings etc

Veryy good help. i only have like 10 bow attachments, not many models for bows. im using a villager male that has the animations for using the bow. i kinda find shallow way confusing, do you have an example?

pls try this map
http://www.hiveworkshop.com/forums/...board-inventory-stats-attachments-etc-208095/

because invetory is limited, u need a inventory system, like multiboard inventory, spellbook inventory etc

i used multiboard inventory

first in map init i declare the attack animation strings (like example attack lumber is the animation for bow, if i remember well)

this maybe 1st time is deep to you but try going over it, and try practice it on demo map, if u have question just pm

map init
  • Map init 1
    • Events
      • Map initialization
    • Conditions
    • Actions
    • //i preloaded the unit, for avoid the little lag when u create it later
      • For each (Integer A) from 1 to 10, do (Actions)
        • Loop - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Player((Integer A))) slot status) Equal to Is playing
              • ((Player((Integer A))) controller) Equal to User
            • Then - Actions
              • Set TempPoint = (Random point in Starter <gen>)
              • Unit - Create 1 Hero for (Player((Integer A))) at TempPoint facing Default building facing degrees
              • Unit - Remove (Last created unit) from the game
              • Custom script: call RemoveLocation(udg_TempPoint)
            • Else - Actions
      • //socket stones what u can put into equipments, Gems array is item type array, u dont need this
        • Set Gems[1] = Life materia
        • Set Gems[2] = Blue materia
        • Set Gems[3] = Earth materia
        • Set Gems[4] = Spiritual materia
        • Set Gems[5] = Fire materia
        • Set Gems[6] = Sea materia
        • //store attack animation tag names to a string array
        • Set Attack_Anim[1] = Flesh //short sword animation
        • Set Attack_Anim[2] = Flesh //axe & hammer animation in my map
        • Set Attack_Anim[3] = Channel //long sword animation
        • Set Attack_Anim[4] = Lumber //bow animation
        • Set Attack_Anim[5] = Gold //dagger animation
        • Set Attack_Anim[6] = none //magic weapon use default animation because u dont need attack animation for cast spell
        • Set Abilities2[4] = Add HP //needed for increase max hp
        • Set Abilities2[5] = Add MP // needed for increase max mp
        • Set Abilities2[9] = Dummy Bear Form // needed for transform melee to archer
        • // i store every item to item type array, here the index is the item level in object editor, so lv heavy armor item level in object editor is lv100, i use this because later when u equip the armor u must check the item level and u already know what is this item
        • Set Item_Type[100] = Heavy Armor (2)
        • Set Item_Type[101] = Heavy Armor (12)
        • Set Item_Type[102] = Heavy Armor (22)
        • Set Item_Type[103] = Heavy Armor (32)
        • Set Item_Type[104] = Heavy Armor (42)
        • Set Item_Type[105] = Heavy Armor (52)
        • Set Item_Type[106] = Heavy Armor (62)
        • Set Item_Type[107] = Heavy Armor (72)
        • Set Item_Type[108] = Heavy Armor (82)
        • Set Item_Type[109] = Heavy Armor (92)
        • Set Item_Type[150] = Light Armor (2)
        • Set Item_Type[151] = Light Armor (12)
        • Set Item_Type[152] = Light Armor (22)
        • Set Item_Type[153] = Light Armor (32)
        • Set Item_Type[154] = Light Armor (42)
        • Set Item_Type[155] = Light Armor (52)
        • Set Item_Type[156] = Light Armor (62)
        • Set Item_Type[157] = Light Armor (72)
        • Set Item_Type[158] = Light Armor (82)
        • Set Item_Type[159] = Light Armor (92)
        • Set Item_Type[200] = Robe Armor (2)
        • Set Item_Type[201] = Robe Armor (12)
        • Set Item_Type[202] = Robe Armor (22)
        • Set Item_Type[203] = Robe Armor (32)
        • Set Item_Type[204] = Robe Armor (42)
        • Set Item_Type[205] = Robe Armor (52)
        • Set Item_Type[206] = Robe Armor (62)
        • Set Item_Type[207] = Robe Armor (72)
        • Set Item_Type[208] = Robe Armor (82)
        • Set Item_Type[209] = Robe Armor (92)
        • Set Item_Type[250] = Heavy Helmet (3)
        • Set Item_Type[251] = Heavy Helmet (13)
        • Set Item_Type[252] = Heavy Helmet (23)
        • Set Item_Type[253] = Heavy Helmet (33)
        • Set Item_Type[254] = Heavy Helmet (43)
        • Set Item_Type[255] = Heavy Helmet (53)
        • Set Item_Type[256] = Heavy Helmet (63)
        • Set Item_Type[257] = Heavy Helmet (73)
        • Set Item_Type[258] = Heavy Helmet (83)
        • Set Item_Type[259] = Heavy Helmet (93)
        • Set Item_Type[300] = Light Helmet (3)
        • Set Item_Type[301] = Light Helmet (13)
        • Set Item_Type[302] = Light Helmet (23)
        • Set Item_Type[303] = Light Helmet (33)
        • Set Item_Type[304] = Light Helmet (43)
        • Set Item_Type[305] = Light Helmet (53)
        • Set Item_Type[306] = Light Helmet (63)
        • Set Item_Type[307] = Light Helmet (73)
        • Set Item_Type[308] = Light Helmet (83)
        • Set Item_Type[309] = Light Helmet (93)
        • Set Item_Type[350] = Robe Helmet (3)
        • Set Item_Type[351] = Robe Helmet (13)
        • Set Item_Type[352] = Robe Helmet (23)
        • Set Item_Type[353] = Robe Helmet (33)
        • Set Item_Type[354] = Robe Helmet (43)
        • Set Item_Type[355] = Robe Helmet (53)
        • Set Item_Type[356] = Robe Helmet (63)
        • Set Item_Type[357] = Robe Helmet (73)
        • Set Item_Type[358] = Robe Helmet (83)
        • Set Item_Type[359] = Robe Helmet (93)
        • Set Item_Type[400] = Heavy Boots (1)
        • Set Item_Type[401] = Heavy Boots (11)
        • Set Item_Type[402] = Heavy Boots (21)
        • Set Item_Type[403] = Heavy Boots (31)
        • Set Item_Type[404] = Heavy Boots (41)
        • Set Item_Type[405] = Heavy Boots (51)
        • Set Item_Type[406] = Heavy Boots (61)
        • Set Item_Type[407] = Heavy Boots (71)
        • Set Item_Type[408] = Heavy Boots (81)
        • Set Item_Type[409] = Heavy Boots (91)
        • Set Item_Type[450] = Light Boots (1)
        • Set Item_Type[451] = Light Boots (11)
        • Set Item_Type[452] = Light Boots (21)
        • Set Item_Type[453] = Light Boots (31)
        • Set Item_Type[454] = Light Boots (41)
        • Set Item_Type[455] = Light Boots (51)
        • Set Item_Type[456] = Light Boots (61)
        • Set Item_Type[457] = Light Boots (71)
        • Set Item_Type[458] = Light Boots (81)
        • Set Item_Type[459] = Light Boots (91)
        • Set Item_Type[500] = Robe Boots (1)
        • Set Item_Type[501] = Robe Boots (11)
        • Set Item_Type[502] = Robe Boots (21)
        • Set Item_Type[503] = Robe Boots (31)
        • Set Item_Type[504] = Robe Boots (41)
        • Set Item_Type[505] = Robe Boots (51)
        • Set Item_Type[506] = Robe Boots (61)
        • Set Item_Type[507] = Robe Boots (71)
        • Set Item_Type[508] = Robe Boots (81)
        • Set Item_Type[509] = Robe Boots (91)
        • Set Item_Type[550] = Ancient Wings
        • Set Item_Type[551] = Dark Wings
        • Set Item_Type[552] = Heaven Wings
        • Set Item_Type[600] = Ring (4)
        • Set Item_Type[601] = Ring (14)
        • Set Item_Type[602] = Ring (24)
        • Set Item_Type[603] = Ring (34)
        • Set Item_Type[604] = Ring (44)
        • Set Item_Type[605] = Ring (54)
        • Set Item_Type[606] = Ring (64)
        • Set Item_Type[607] = Ring (74)
        • Set Item_Type[608] = Ring (84)
        • Set Item_Type[609] = Ring (94)
        • Set Item_Type[610] = exc Ring (1)
        • Set Item_Type[611] = exc Ring (2)
        • Set Item_Type[612] = exc Ring (3)
        • Set Item_Type[613] = exc Ring (4)
        • Set Item_Type[614] = exc Ring (5)
        • Set Item_Type[615] = exc Ring (6)
        • Set Item_Type[616] = exc Ring (7)
        • //intem_lv is integer array, i store here the item level requiment, then array index again the item level, so lets say u pick up a item (exc Ring (1) and u check the item level, then make a if Item_Lv[item level of item beign manupulated] > triggering unit level then drop this item)
        • Set Item_Lv[610] = 15
        • Set Item_Lv[611] = 30
        • Set Item_Lv[612] = 45
        • Set Item_Lv[613] = 70
        • Set Item_Lv[614] = 100
        • Set Item_Lv[615] = 100
        • Set Item_Lv[616] = 100
        • Set Item_Type[650] = Amulet (5)
        • Set Item_Type[651] = Amulet (15)
        • Set Item_Type[652] = Amulet (25)
        • Set Item_Type[653] = Amulet (35)
        • Set Item_Type[654] = Amulet (45)
        • Set Item_Type[655] = Amulet (55)
        • Set Item_Type[656] = Amulet (65)
        • Set Item_Type[657] = Amulet (75)
        • Set Item_Type[658] = Amulet (85)
        • Set Item_Type[659] = Amulet (95)
        • Set Item_Type[660] = exc Amulet (1)
        • Set Item_Type[661] = exc Amulet (2)
        • Set Item_Type[662] = exc Amulet (3)
        • Set Item_Type[663] = exc Amulet (4)
        • Set Item_Type[664] = exc Amulet (5)
        • Set Item_Type[665] = exc Amulet (6)
        • Set Item_Type[666] = exc Amulet (7)
        • Set Item_Lv[660] = 20
        • Set Item_Lv[661] = 40
        • Set Item_Lv[662] = 60
        • Set Item_Lv[663] = 80
        • Set Item_Lv[664] = 100
        • Set Item_Lv[665] = 100
        • Set Item_Lv[666] = 100
        • Set Item_Type[700] = Shield (6)
        • Set Item_Type[701] = Shield (16)
        • Set Item_Type[702] = Shield (26)
        • Set Item_Type[703] = Shield (36)
        • Set Item_Type[704] = Shield (46)
        • Set Item_Type[705] = Shield (56)
        • Set Item_Type[706] = Shield (66)
        • Set Item_Type[707] = Shield (76)
        • Set Item_Type[708] = Shield (86)
        • Set Item_Type[709] = Shield (96)
        • Set Item_Type[710] = exc Shield (1)
        • Set Item_Type[711] = exc Shield (2)
        • Set Item_Type[712] = exc Shield (3)
        • Set Item_Type[713] = exc Shield (4)
        • Set Item_Type[714] = exc Shield (5)
        • Set Item_Lv[710] = 20
        • Set Item_Lv[711] = 50
        • Set Item_Lv[712] = 80
        • Set Item_Lv[713] = 100
        • Set Item_Lv[714] = 100
      • //i store to string array the imported attachments path (that path what is in import manager)
        • Set Attachment_Path[700] = Orc Shield(Left) 2.mdl
        • Set Attachment_Path[701] = Orc Shield(Left) 2.mdl
        • Set Attachment_Path[702] = Human Shield Rigth.mdl
        • Set Attachment_Path[703] = Human Shield Rigth.mdl
        • Set Attachment_Path[704] = Lion Shield.mdl
        • Set Attachment_Path[705] = Lion Shield.mdl
        • Set Attachment_Path[706] = Orc Shield(Rigth).mdl
        • Set Attachment_Path[707] = Orc Shield(Rigth).mdl
        • Set Attachment_Path[708] = SkullBuckler.mdl
        • Set Attachment_Path[709] = SkullBuckler.mdl
        • Set Attachment_Path[710] = HordeJuggernautShield.mdl
        • Set Attachment_Path[711] = GargoyleShield.mdl
        • Set Attachment_Path[712] = GryphonShieldbySunchipsRight.mdl
        • Set Attachment_Path[713] = Lordaeron Soldier Sword by Sunchips.mdl
        • Set Attachment_Path[714] = Frozen Shield.mdl
        • Set Item_Type[750] = Short Sword (7)
        • Set Item_Type[751] = Short Sword (17)
        • Set Item_Type[752] = Short Sword (27)
        • Set Item_Type[753] = Short Sword (37)
        • Set Item_Type[754] = Short Sword (47)
        • Set Item_Type[755] = Short Sword (57)
        • Set Item_Type[756] = Short Sword (67)
        • Set Item_Type[757] = Short Sword (77)
        • Set Item_Type[758] = Short Sword (87)
        • Set Item_Type[759] = Short Sword (97)
        • Set Item_Type[760] = exc Short Sword (1)
        • Set Item_Type[761] = exc Short Sword (2)
        • Set Item_Type[762] = exc Short Sword (3)
        • Set Item_Type[763] = exc Short Sword (4)
        • Set Item_Type[764] = exc Short Sword (5)
        • Set Item_Type[765] = exc Short Sword (6)
        • Set Item_Type[766] = exc Short Sword (7)
        • Set Item_Lv[760] = 19
        • Set Item_Lv[761] = 39
        • Set Item_Lv[762] = 59
        • Set Item_Lv[763] = 79
        • Set Item_Lv[764] = 99
        • Set Item_Lv[765] = 100
        • Set Item_Lv[766] = 100
        • Set Attachment_Path[760] = ElfScimitar.mdl
        • Set Attachment_Path[761] = japsword.mdl
        • Set Attachment_Path[762] = SearingBlade.mdl
        • Set Attachment_Path[763] = Fire Sword.mdl
        • Set Attachment_Path[764] = Rune Etched Scimitar.mdl
        • Set Attachment_Path[765] = Palm_sword.mdl
        • Set Attachment_Path[766] = RedSun.mdl
        • Set Item_Type[775] = Mace (3)
        • Set Item_Type[776] = Mace (13)
        • Set Item_Type[777] = Mace (23)
        • Set Item_Type[778] = Mace (33)
        • Set Item_Type[779] = Mace (43)
        • Set Item_Type[780] = Axe (53)
        • Set Item_Type[781] = Axe (63)
        • Set Item_Type[782] = Axe (73)
        • Set Item_Type[783] = Club (83)
        • Set Item_Type[784] = Axe (93)
        • Set Attachment_Path[775] = Mace.mdl
        • Set Attachment_Path[776] = Spiked Mace.mdl
        • Set Attachment_Path[777] = Club1.mdl
        • Set Attachment_Path[778] = MithrilMace.mdl
        • Set Attachment_Path[779] = Spiked Club.mdl
        • Set Attachment_Path[780] = Scythe.mdl
        • Set Attachment_Path[781] = BanditBludgeonbySunchips.mdl
        • Set Attachment_Path[782] = Dwarven Axe.mdl
        • Set Attachment_Path[783] = PredatorsAxe.mdl
        • Set Attachment_Path[784] = demonaxe.mdl
        • Set Item_Type[800] = Hammer (8)
        • Set Item_Type[801] = Hammer (18)
        • Set Item_Type[802] = Hammer (28)
        • Set Item_Type[803] = Hammer (38)
        • Set Item_Type[804] = Hammer (48)
        • Set Item_Type[805] = Hammer (58)
        • Set Item_Type[806] = Hammer (68)
        • Set Item_Type[807] = Hammer (78)
        • Set Item_Type[808] = Hammer (88)
        • Set Item_Type[809] = Hammer (98)
        • Set Item_Type[810] = exc Hammer (1)
        • Set Item_Type[811] = exc Hammer (2)
        • Set Item_Type[812] = exc Hammer (3)
        • Set Item_Type[813] = exc Hammer (4)
        • Set Item_Lv[810] = 39
        • Set Item_Lv[811] = 49
        • Set Item_Lv[812] = 69
        • Set Item_Lv[813] = 100
        • Set Attachment_Path[810] = Doomhammer.mdl
        • Set Attachment_Path[811] = Maul_of_Havoc.mdl
        • Set Attachment_Path[812] = HordeOnyxHammerbySunchips.mdl
        • Set Attachment_Path[813] = Sulfuras.mdl
        • Set Item_Type[825] = Polearm (1)
        • Set Item_Type[826] = Polearm (11)
        • Set Item_Type[827] = Polearm (21)
        • Set Item_Type[828] = Polearm (31)
        • Set Item_Type[829] = Polearm (41)
        • Set Item_Type[830] = Polearm (51)
        • Set Item_Type[831] = Polearm (61)
        • Set Item_Type[832] = Polearm (71)
        • Set Item_Type[833] = Polearm (81)
        • Set Item_Type[834] = Polearm (91)
        • Set Attachment_Path[825] = Quarterstaff.mdl
        • Set Attachment_Path[826] = Spear.mdl
        • Set Attachment_Path[827] = Halberd.mdl
        • Set Attachment_Path[828] = MithrilSpear.mdl
        • Set Attachment_Path[829] = Polearm_2H_Bladed_B_02.mdl
        • Set Attachment_Path[830] = OgreAxe.mdl
        • Set Attachment_Path[831] = SpikedStoneMaul.mdl
        • Set Attachment_Path[832] = Polearm_2H_PVPHorde_A_01.mdl
        • Set Attachment_Path[833] = NagaSirenBlade.mdl
        • Set Attachment_Path[834] = Polearm_2H_PVPAlliance_A_01.mdl
        • Set Item_Type[850] = Long Sword (9)
        • Set Item_Type[851] = Long Sword (19)
        • Set Item_Type[852] = Long Sword (29)
        • Set Item_Type[853] = Long Sword (39)
        • Set Item_Type[854] = Long Sword (49)
        • Set Item_Type[855] = Long Sword (59)
        • Set Item_Type[856] = Long Sword (69)
        • Set Item_Type[857] = Long Sword (79)
        • Set Item_Type[858] = Long Sword (89)
        • Set Item_Type[859] = Long Sword (99)
        • Set Item_Type[860] = exc Long Sword (1)
        • Set Item_Type[861] = exc Long Sword (2)
        • Set Item_Type[862] = exc Long Sword (3)
        • Set Item_Type[863] = exc Long Sword (4)
        • Set Item_Type[864] = exc Long Sword (5)
        • Set Item_Type[865] = exc Long Sword (6)
        • Set Item_Type[866] = exc Long Sword (7)
        • Set Item_Lv[860] = 19
        • Set Item_Lv[861] = 29
        • Set Item_Lv[862] = 49
        • Set Item_Lv[863] = 69
        • Set Item_Lv[864] = 89
        • Set Item_Lv[865] = 100
        • Set Item_Lv[866] = 100
        • Set Attachment_Path[860] = Royal Longsword.mdl
        • Set Attachment_Path[861] = Vampire Sword.mdl
        • Set Attachment_Path[862] = Masamune.mdl
        • Set Attachment_Path[863] = DemonicSword.mdl
        • Set Attachment_Path[864] = LifebringerV2.mdl
        • Set Attachment_Path[865] = Sword_of_War.mdl
        • Set Attachment_Path[866] = Zin Rokh.mdl
        • Set Item_Type[900] = Bow (6)
        • Set Item_Type[901] = Bow (16)
        • Set Item_Type[902] = Bow (26)
        • Set Item_Type[903] = Bow (36)
        • Set Item_Type[904] = Bow (46)
        • Set Item_Type[905] = Bow (56)
        • Set Item_Type[906] = Bow (66)
        • Set Item_Type[907] = Bow (76)
        • Set Item_Type[908] = Bow (86)
        • Set Item_Type[909] = Bow (96)
        • Set Item_Type[910] = exc Bow (1)
        • Set Item_Type[911] = exc Bow (2)
        • Set Item_Type[912] = exc Bow (3)
        • Set Item_Type[913] = exc Bow (4)
        • Set Item_Type[914] = exc Bow (5)
        • Set Item_Type[915] = exc Bow (6)
        • Set Item_Lv[910] = 19
        • Set Item_Lv[911] = 39
        • Set Item_Lv[912] = 59
        • Set Item_Lv[913] = 79
        • Set Item_Lv[914] = 100
        • Set Item_Lv[915] = 100
        • Set Attachment_Path[910] = WoodenBow.mdl
        • Set Attachment_Path[911] = Copperbow.mdl
        • Set Attachment_Path[912] = Hordebow.mdl
        • Set Attachment_Path[913] = Doomshooter.mdl
        • Set Attachment_Path[914] = Metalbow.mdl
        • Set Attachment_Path[915] = LethalBow.mdl
        • Set Item_Type[950] = Dagger (7)
        • Set Item_Type[951] = Dagger (17)
        • Set Item_Type[952] = Dagger (27)
        • Set Item_Type[953] = Dagger (37)
        • Set Item_Type[954] = Dagger (47)
        • Set Item_Type[955] = Dagger (57)
        • Set Item_Type[956] = Dagger (67)
        • Set Item_Type[957] = Dagger (77)
        • Set Item_Type[958] = Dagger (87)
        • Set Item_Type[959] = Dagger (97)
        • Set Item_Type[960] = exc Dagger (1)
        • Set Item_Type[961] = exc Dagger (2)
        • Set Item_Type[962] = exc Dagger (3)
        • Set Item_Type[963] = exc Dagger (4)
        • Set Item_Type[964] = exc Dagger (5)
        • Set Item_Type[965] = exc Dagger (6)
        • Set Item_Type[966] = exc Dagger (7)
        • Set Item_Lv[960] = 19
        • Set Item_Lv[961] = 39
        • Set Item_Lv[962] = 59
        • Set Item_Lv[963] = 79
        • Set Item_Lv[964] = 89
        • Set Item_Lv[965] = 100
        • Set Item_Lv[966] = 100
        • Set Attachment_Path[960] = LightningDagger.mdl
        • Set Attachment_Path[961] = MithrilDagger.mdl
        • Set Attachment_Path[962] = Doomsting.mdl
        • Set Attachment_Path[963] = RuneDagger.mdl
        • Set Attachment_Path[964] = AcolyteDagger.mdl
        • Set Attachment_Path[965] = Sacrificial Knife by Sunchips.mdl
        • Set Attachment_Path[966] = DraeneiSword.mdl
        • Set Item_Type[1000] = Wand (2)
        • Set Item_Type[1001] = Wand (12)
        • Set Item_Type[1002] = Wand (22)
        • Set Item_Type[1003] = Wand (32)
        • Set Item_Type[1004] = Wand (42)
        • Set Item_Type[1005] = Wand (52)
        • Set Item_Type[1006] = Wand (62)
        • Set Item_Type[1007] = Wand (72)
        • Set Item_Type[1008] = Wand (82)
        • Set Item_Type[1009] = Wand (92)
        • Set Item_Type[1010] = exc Wand (1)
        • Set Item_Type[1011] = exc Wand (2)
        • Set Item_Type[1012] = exc Wand (3)
        • Set Item_Type[1013] = exc Wand (4)
        • Set Item_Type[1014] = exc Wand (5)
        • Set Item_Lv[1010] = 29
        • Set Item_Lv[1011] = 49
        • Set Item_Lv[1012] = 79
        • Set Item_Lv[1013] = 100
        • Set Item_Lv[1014] = 100
        • Set Attachment_Path[1010] = Wand.mdl
        • Set Attachment_Path[1011] = Ice Wand.mdl
        • Set Attachment_Path[1012] = RodOfNecromancy.mdl
        • Set Attachment_Path[1013] = Pyrebane.mdl
        • Set Attachment_Path[1014] = Wand of Plague.mdl
        • Set Item_Type[1050] = Staff (4)
        • Set Item_Type[1051] = Staff (14)
        • Set Item_Type[1052] = Staff (24)
        • Set Item_Type[1053] = Staff (34)
        • Set Item_Type[1054] = Staff (44)
        • Set Item_Type[1055] = Staff (54)
        • Set Item_Type[1056] = Staff (64)
        • Set Item_Type[1057] = Staff (74)
        • Set Item_Type[1058] = Staff (84)
        • Set Item_Type[1059] = Staff (94)
        • Set Item_Type[1060] = exc Staff (1)
        • Set Item_Type[1061] = exc Staff (2)
        • Set Item_Type[1062] = exc Staff (3)
        • Set Item_Type[1063] = exc Staff (4)
        • Set Item_Type[1064] = exc Staff (5)
        • Set Item_Type[1065] = exc Staff (6)
        • Set Item_Type[1066] = exc Staff (7)
        • Set Item_Lv[1060] = 19
        • Set Item_Lv[1061] = 39
        • Set Item_Lv[1062] = 49
        • Set Item_Lv[1063] = 69
        • Set Item_Lv[1064] = 89
        • Set Item_Lv[1065] = 100
        • Set Item_Lv[1066] = 100
        • Set Attachment_Path[1060] = ArcaneStaff.mdl
        • Set Attachment_Path[1061] = Mindstaff.mdl
        • Set Attachment_Path[1062] = RottenStaff.mdl
        • Set Attachment_Path[1063] = StaffOfAges.mdl
        • Set Attachment_Path[1064] = StaffOfNegation.mdl
        • Set Attachment_Path[1065] = StaffOfSilence.mdl
        • Set Attachment_Path[1066] = StaffofDemonicEntities.mdl
        • Set TempNr = 0
        • Set Item_Lv[550] = 15
        • Set Item_Lv[551] = 15
        • Set Item_Lv[552] = 15
        • //this way u can attach the bonus things to item, example item lv550 is a wing, if u want that wing give + 30% attack level (i can say +x% mroe damage too) then u can check what item what bonus give
        • Set Item_AttLv[550] = 30
        • Set Item_AttLv[551] = 50
        • Set Item_AttLv[552] = 0
        • Set Item_DefLv[550] = 30
        • Set Item_DefLv[551] = 0
        • Set Item_DefLv[552] = 50
        • //this way u can attach any info to a item type, so when u pick up the item then add to hero stat the Item_Agi[item level of item beign manipulated]. if u dont declared it then its 0, so dont change ur agility, when u unequip the item then u can decrease
        • Set Item_Agi[100] = 10
        • Set Item_Hp[100] = 250
      • // i turned of the gold reward for neutral hostile units, so u dont have that yellow text when u kill a creep
        • Player - Turn Gives bounty Off for Neutral Hostile
i used integer variables arrays,where i store the items level what i wear
example i am player 1, i pick up a heavy armor (2) then Armor[my player number]=item level

its look like
  • Armor[1]= (Item level of (Item being manipulated))
i make Armor/Weapon/Wings/Boots/Helmet variable, i mean for every equipable item 1 integer variable array

then u can remove attachment by checking this variables see this

i call them in gui this way
  • //in any trigger
  • Set Attachment_Unit = unit
  • Trigger - Run Remove all attachment <gen> (ignoring conditions)
then

  • Remove all attachment
    • Events
    • Conditions
    • Actions
      • Set plNR = (Player number of (Owner of Attachment_Unit))
        • //if armor = 0 then its mean u dont ahve any equiped armor because dont ahve any armor what have item level 0
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Armor[plNR] Not equal to 0
        • Then - Actions
          • //so if it is 0 then we destroy the armor special effect
          • Special Effect - Destroy Attachment_Armor[plNR]
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Boot[plNR] Not equal to 0
        • Then - Actions
          • Custom script: if udg_Attachment_Boots[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Boots[plNR]
          • Special Effect - Destroy Attachment_Boots2[plNR]
          • Custom script: endif
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Helm[plNR] Not equal to 0
        • Then - Actions
          • Custom script: if udg_Attachment_Helm[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Helm[plNR]
          • Custom script: endif
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Shield[plNR] Not equal to 0
        • Then - Actions
          • Custom script: if udg_Attachment_Shield[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Shield[plNR]
          • Custom script: endif
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Wings[plNR] Not equal to 0
        • Then - Actions
          • Custom script: if udg_Attachment_Wings[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Wings[plNR]
          • Custom script: endif
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Weapon[plNR] Not equal to 0
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Weapon_Dummy_unit[plNR] Not equal to No unit
            • Then - Actions
              • Unit - Remove Weapon_Dummy_unit[plNR] from the game
              • Set Weapon_Dummy_unit[plNR] = No unit
            • Else - Actions
          • Custom script: if udg_Attachment_Weapon[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Weapon[plNR]
          • Custom script: endif
          • Custom script: if udg_Attachment_Weapon2[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Weapon2[plNR]
          • Custom script: endif
          • Custom script: if udg_Attachment_Quiver[udg_plNR] != null then
          • Special Effect - Destroy Attachment_Quiver[plNR]
          • Custom script: endif
        • Else - Actions
        • //if weapon was bow and every bow item level is between 900-950, then transform my hero to ranged hero, else if my hero dont have bow weapon but he is ranged hero then transform back to melee
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Weapon[plNR] Greater than or equal to 900
          • Weapon[plNR] Less than 950
        • Then - Actions
          • Player - Enable Transform Villager for (Player(plNR))
          • Unit - Order Attachment_Unit to Night Elf Demon Hunter - Metamorphosis
          • Player - Disable Transform Villager for (Player(plNR))
        • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • (Unit-type of Attachment_Unit) Equal to Hero Ranged
            • Then - Actions
              • Player - Enable Transform Villager for (Player(plNR))
              • Unit - Order Attachment_Unit to Night Elf Demon Hunter - Metamorphosis
              • Player - Disable Transform Villager for (Player(plNR))
            • Else - Actions
  • //if u give a bear form ability, order it and remove then ur unit transformed back to original and the attachments removed instantly, else special effects have a death time, what is mostly few second, when still is attached even it is destroyed
    • Unit - Add Abilities2[9] to Attachment_Unit
    • Unit - Order Attachment_Unit to Night Elf Druid Of The Claw - Bear Form
    • Unit - Remove Abilities2[9] from Attachment_Unit
and we give back every attachment

  • Create all attachment
    • Events
    • Conditions
    • Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Armor[plNR] Not equal to 0
        • Then - Actions
          • Custom script: set udg_Attachment_Armor[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Armor[udg_plNR]], udg_Attachment_Unit, "chest")
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Boot[plNR] Not equal to 0
        • Then - Actions
          • Custom script: set udg_Attachment_Boots2[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Boot[udg_plNR]], udg_Attachment_Unit, "foot right")
          • Custom script: set udg_Attachment_Boots[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Boot[udg_plNR]], udg_Attachment_Unit, "foot left")
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Helm[plNR] Not equal to 0
        • Then - Actions
          • Custom script: set udg_Attachment_Helm[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Helm[udg_plNR]], udg_Attachment_Unit, "head")
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Shield[plNR] Not equal to 0
        • Then - Actions
          • Custom script: set udg_Attachment_Shield[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Shield[udg_plNR]], udg_Attachment_Unit, "hand left")
        • Else - Actions
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Wings[plNR] Not equal to 0
        • Then - Actions
          • Unit - Add Abilities2[12] to Attachment_Unit
          • Unit - Remove Abilities2[12] from Attachment_Unit
          • Animation - Change Attachment_Unit flying height to 25.00 at 0.00
          • Custom script: set udg_Attachment_Wings[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Wings[udg_plNR]], udg_Attachment_Unit, "chest")
        • Else - Actions
      • Custom script: call AddUnitAnimationProperties(udg_Attachment_Unit,udg_Attack_Anim[udg_Attack_Int[udg_plNR]],true)
      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
        • If - Conditions
          • Weapon[plNR] Not equal to 0
        • Then - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • WeaponClass[plNR] Equal to 1
              • Weapon_Dummy_unit[plNR] Equal to No unit
            • Then - Actions
              • Set TempPoint = (Random point in (Playable map area))
              • Unit - Create 1 Shielder weapon for (Player(plNR)) at TempPoint facing Default building facing degrees
              • Custom script: call RemoveLocation(udg_TempPoint)
              • Set Weapon_Dummy_unit[plNR] = (Last created unit)
            • Else - Actions
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Or - Any (Conditions) are true
                    • Conditions
                      • WeaponClass[plNR] Equal to 2
                      • WeaponClass[plNR] Equal to 3
                  • Weapon_Dummy_unit[plNR] Equal to No unit
                • Then - Actions
                  • Set TempPoint = (Random point in (Playable map area))
                  • Unit - Create 1 Warrior weapon for (Player(plNR)) at TempPoint facing Default building facing degrees
                  • Custom script: call RemoveLocation(udg_TempPoint)
                  • Set Weapon_Dummy_unit[plNR] = (Last created unit)
                • Else - Actions
                  • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                    • If - Conditions
                      • WeaponClass[plNR] Equal to 4
                      • Weapon_Dummy_unit[plNR] Equal to No unit
                    • Then - Actions
                      • Set TempPoint = (Random point in (Playable map area))
                      • Unit - Create 1 Bow weapon for (Player(plNR)) at TempPoint facing Default building facing degrees
                      • Custom script: call RemoveLocation(udg_TempPoint)
                      • Set Weapon_Dummy_unit[plNR] = (Last created unit)
                    • Else - Actions
                      • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                        • If - Conditions
                          • WeaponClass[plNR] Equal to 5
                          • Weapon_Dummy_unit[plNR] Equal to No unit
                        • Then - Actions
                          • Set TempPoint = (Random point in (Playable map area))
                          • Unit - Create 1 Assassin weapon for (Player(plNR)) at TempPoint facing Default building facing degrees
                          • Custom script: call RemoveLocation(udg_TempPoint)
                          • Set Weapon_Dummy_unit[plNR] = (Last created unit)
                        • Else - Actions
                          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                            • If - Conditions
                              • Or - Any (Conditions) are true
                                • Conditions
                                  • WeaponClass[plNR] Equal to 6
                                  • WeaponClass[plNR] Equal to 7
                              • Weapon_Dummy_unit[plNR] Equal to No unit
                            • Then - Actions
                              • Set TempPoint = (Random point in (Playable map area))
                              • Unit - Create 1 Magic weapon for (Player(plNR)) at TempPoint facing Default building facing degrees
                              • Custom script: call RemoveLocation(udg_TempPoint)
                              • Set Weapon_Dummy_unit[plNR] = (Last created unit)
                            • Else - Actions
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • Weapon[plNR] Greater than or equal to 900
              • Weapon[plNR] Less than 950
            • Then - Actions
              • Custom script: set udg_Attachment_Weapon[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Weapon[udg_plNR]], udg_Attachment_Unit, "hand left")
              • Custom script: set udg_Attachment_Quiver[udg_plNR] = AddSpecialEffectTarget("Quiver.mdl", udg_Attachment_Unit, "chest")
            • Else - Actions
              • Custom script: set udg_Attachment_Weapon[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Weapon[udg_plNR]], udg_Attachment_Unit, "hand right")
              • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
                • If - Conditions
                  • Weapon[plNR] Greater than or equal to 950
                  • Weapon[plNR] Less than 1000
                • Then - Actions
                  • Custom script: set udg_Attachment_Weapon2[udg_plNR] = AddSpecialEffectTarget(udg_Attachment_Path[udg_Weapon[udg_plNR]], udg_Attachment_Unit, "hand left")
                • Else - Actions
        • Else - Actions
      • Set plNR = (Player number of (Owner of Attachment_Unit))
 
Last edited:
Level 17
Joined
Nov 13, 2006
Messages
1,814
example equipable trigger i cant post here because already higher than post text limit (84000+ character), not because it is too hard thing, just the many if raise the length, my advice check the template map in 2nd post or where i posted, then if u got question then ask me
 
Level 17
Joined
Nov 13, 2006
Messages
1,814
thank you very much, i will check it out. :)

i reply here coz i post the map, a short multiboard creating (but acctually dont matter if u use multiboard invetory or spellbook invetory because my equipment system was based on useing a item, dont related with multiboard, multiboard just used to show to player the equipment but actually multiboard dont touch my equipment sustem)

just a basic example about create multiboard to each player in gui

  • Multiboard
    • Events
      • Time - Elapsed game time is 0.00 seconds
    • Conditions
    • Actions
      • For each (Integer A) from 1 to 12, do (Actions)
        • Loop - Actions
          • -------- we dont create to every player because its dont needed if player dont playing --------
          • If (All Conditions are True) then do (Then Actions) else do (Else Actions)
            • If - Conditions
              • ((Player((Integer A))) controller) Equal to User
              • ((Player((Integer A))) slot status) Equal to Is playing
            • Then - Actions
              • Multiboard - Clear (Last created multiboard)
              • Multiboard - Create a multiboard with 2 columns and 10 rows, titled ((Name of (Player((Integer A)))) + gear)
              • Set Multiboard[(Integer A)] = (Last created multiboard)
              • -------- we customize the next 10 row --------
              • -------- sadly we must set the style and width for each row, else if somewhere u missed then dont work the width on whole multiboard --------
              • For each (Integer B) from 1 to 10, do (Actions)
                • Loop - Actions
                  • Multiboard - Set the width for Multiboard[(Integer A)] item in column 1, row (Integer B) to 10.00% of the total screen width
                  • Multiboard - Set the width for Multiboard[(Integer A)] item in column 2, row (Integer B) to 10.00% of the total screen width
                  • Multiboard - Set the display style for Multiboard[(Integer A)] item in column 1, row (Integer B) to Show text and Show icons
                  • Multiboard - Set the display style for Multiboard[(Integer A)] item in column 2, row (Integer B) to Show text and Hide icons
                  • Multiboard - Set the text for Multiboard[(Integer A)] item in column 2, row (Integer B) to not equiped
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 1 to Equipment name
              • Multiboard - Set the color for Multiboard[(Integer A)] item in column 1, row 1 to (100.00%, 100.00%, 20.00%) with 0.00% transparency
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 2, row 1 to Status(equiped or n...
              • Multiboard - Set the color for Multiboard[(Integer A)] item in column 2, row 1 to (100.00%, 100.00%, 20.00%) with 0.00% transparency
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 2 to Helmet
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 3 to Armor
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 4 to Glove
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 5 to Boot
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 6 to Shield
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 7 to Weapon
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 8 to Ring
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 9 to Amulet
              • Multiboard - Set the text for Multiboard[(Integer A)] item in column 1, row 10 to Wings
              • Multiboard - Hide Multiboard[(Integer A)]
            • Else - Actions
      • -------- we hide every multiboard --------
      • -------- with trick we show each multiboard to his owner --------
      • Custom script: set udg_Me = GetPlayerId(GetLocalPlayer())+1
      • Multiboard - Show Multiboard[Me]
 

Attachments

  • multiboard demo.w3x
    17.4 KB · Views: 52
Status
Not open for further replies.
Top