• Listen to a special audio message from Bill Roper to the Hive Workshop community (Bill is a former Vice President of Blizzard Entertainment, Producer, Designer, Musician, Voice Actor) 🔗Click here to hear his message!
  • Read Evilhog's interview with Gregory Alper, the original composer of the music for WarCraft: Orcs & Humans 🔗Click here to read the full interview.

Custom colors

Status
Not open for further replies.
Level 38
Joined
Sep 18, 2007
Messages
1,881
Hello all! This is first time that I ever open thread in We Help zone.
I have to ask cause it has been for years since I created maps, and also I haven't seen or heard that someone did that at all.
I asked -Kobas-, and he did not find idea for that, so its better to ask majority of you.
So, I am working on some things now, editing some of Blizzard maps from original campaign, and there is thing what I want but do not know how to do.
How can I add new colors to players?
For example, in campaign there are three Undead races, in three different colors. I want them all to be purple, in different purple variations (original purple, light purple and dark purple), and as we all know there is only one purple.
And 12 colors in total plus 13. black one for neutral passive/hostile.
So, how can I add new colors, or even ,,convert" or ,,redefine" some existing colors into new ones? For example if new colors cannot be add, can I convert unused brown to convert into new purple for example?
Is there a trigger or way to add new colors or change existing? or it is hard-coded in exe file, so cannot be done?
I know only for trigger, And I did that yesterday to change color or player ! Red to blue, and player blue to get red. Still those are just ,,giving" existing colors to different players, and I need to really change color code of exist ones, or even better to add new ones if possible.
 
[trigger=Three shades of purple]
Events
Unit - A unit enters (Playable map area)
Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Equal to Player 1 (Red)
Then - Actions
Animation - Change (Triggering unit)'s vertex coloring to (100.00%, 0.00%, 100.00%) with 0.00% transparency
Unit - Change color of (Triggering unit) to Purple
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Equal to Player 2 (Blue)
Then - Actions
Animation - Change (Triggering unit)'s vertex coloring to (75.00%, 5.00%, 100.00%) with 0.00% transparency
Unit - Change color of (Triggering unit) to Purple
Else - Actions
If (All Conditions are True) then do (Then Actions) else do (Else Actions)
If - Conditions
(Owner of (Triggering unit)) Equal to Player 3 (Teal)
Then - Actions
Animation - Change (Triggering unit)'s vertex coloring to (100.00%, 5.00%, 75.00%) with 0.00% transparency
Unit - Change color of (Triggering unit) to Purple
Else - Actions

[/trigger]
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
People, DAT-C3, this is what I wanted to do for example
This is original screenshot from map
wc110.jpg


And I want to change team color of players to this, so those green and blue will turn into blue, look at corners. So I want their armies to have those colors.Of course those purples are quickly done to represent only what I want to be done, I may use different variates.
wc310.jpg
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
I think it's hard-coded into warcraft 3 and therefore impossible to accomplish.
Sure you might be abled to change the chat color and multiboard color of a player, but I don't think it's possible to alter the actual color.

I mean, if you look under Scripts inside war3.mpq even the ai scripts are based on colors.
I couldn't really find anything specific to players inside the MPQ's. Good luck to those who'd like to search for it.
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
Hashjie, yeah man, sadly, I think that too, that they hardcoded colors in exe.
But there must be way or trick for that which nobody discovered yet.

You could MAYBE and PROBABLY search in the MPQ of Wc3 where the Player Colors are holded, and import a player color into the same path.
Well, I did not hear yet that colors are hold in MPQ.

Guys, we discussed whole night, around few hours about that in chat.
Dat-C3 and Darkdread were talking about GUI and Jass for that case, maybe you can find something useful for some idea. Here is something:


[01-51-37] Dat-C3: MasterHaosis, doesn't seem possible unless jass has a function where you can tell it to convert a players color by string
[01-51-46] Dat-C3: otherwise yea im sry.... =(
[01-52-03] Dat-C3: only base 13 that way it seems unless you can find a way to do that
[01-52-09] Darkdread: jass doesn't have that function I'm afraid.
[01-52-09] Dat-C3: im sure there has to be a way, i just don't know it yet
[01-52-55] Dat-C3: call SetPlayerColorBJ( Player(0), PLAYER_COLOR_RED, true )
[01-52-59] Dat-C3: so you couldn't use a string variable in that?
[01-53-08] Dat-C3: like convert player_color_red to a varible that uses a string?
[01-53-38] Darkdread: Dat-C3, nope.
[01-55-09] MasterHaosis: Darkdread, Dat-C3, so cannot be folled system to think that red color is for example red, even you somehow change its color code?
[01-55-24] MasterHaosis: Actually as you say there is not way to change color code
[01-55-49] Dat-C3: if you can find a way to replace the base 13 colors then sure
[01-55-55] Dat-C3: otherwise i see no way to add it without having open source wc3
[01-56-50] Darkdread: there's no such thing as PLAYER_COLOR_BLACK or whatever
[01-56-56] Darkdread: only existing 12 colors..
[01-57-06] MasterHaosis: Darkdread, there is black
[01-57-12] MasterHaosis: 13 color I am sure
[01-57-16] Dat-C3: Darkdread, theres 13, 1 to 12 then black
[01-57-19] Darkdread: o_O
[01-57-25] Dat-C3: there is, Lol
[01-57-30] MasterHaosis: neutral hostile and passive uses it
[01-57-32] Dat-C3: neutral hostile uses black
[01-57-35] Darkdread: there isn't in my jasshelper
[01-57-48] Dat-C3: o_O a gui function jass doesn't have?
[01-58-30] Darkdread: I mean
[01-58-36] Darkdread: there's only 12 constant :\
[01-58-49] Dat-C3: Darkdread, theres no black for jass?
[01-59-40] Dat-C3: call SetPlayerColorBJ( Player(0), ConvertPlayerColor(12), true )
[01-59-47] Darkdread: heck, it's constant 13
[01-59-47] Dat-C3: there so is black >.>
[01-59-56] Dat-C3: you forget in jass, 0 is red
[01-59-56] Dat-C3: 12 is black
[02-00-03] Darkdread: I think so
[02-00-03] Darkdread: no
[02-00-06] Darkdread: there's 0-11 in jass only
[02-00-09] Dat-C3: in gui its 1 to 13
[02-00-12] Dat-C3: in jass its 0 to 12
[02-00-12] Darkdread: 12 is hidden
[02-00-32] Dat-C3: then explain " call SetPlayerColorBJ( Player(0), ConvertPlayerColor(12), true )"
[02-01-10] Darkdread: ConvertPlayerColor(12) is actually PLAYER_COLOR_BLACK. BUT, PLAYER_COLOR_BLACK is not in jass
[02-01-29] Dat-C3: Darkdread, yes.. its in numbers isn't it?
[02-01-49] Darkdread: if not, you try to convert red or whatever with black
[02-01-49] Darkdread: lol
[02-02-05] Darkdread: if you convert red or whatever, you get PLAYER_COLOR_RED
[02-02-47] MasterHaosis: but there is no way to redefine that red?
[02-03-31] Darkdread: no
 
Level 14
Joined
Dec 12, 2009
Messages
1,027
I don't believe it's possible to add additional colors. You should be able to import a custom color over the existing color's path. The game references the colors from somewhere, so there exists a path to that color.

You can use DAT-C3's method to change the units and then change the color of the text names seen in the dialog box to achieve what you want to do.

I can't look for it now, since I lost WC3 yesterday when my laptop crashed and had to be rebooted from the last safe point. Friday after 7PM (Eastern Time) is the soonest I can reinstall and fool around with the map in question.

//\\oo//\\
 
Level 22
Joined
Dec 31, 2006
Messages
2,216
Lol easy.
Change the name of the player like you would change the name of a unit to give it color.

|c00<hex code>+PLAYER NAME+|r

F.ex, to change my name to Red even if I'm Player Blue, I would need to change my name to "|c00ff0000The Reborn Devil|r".
 
Level 22
Joined
Dec 31, 2006
Messages
2,216
Derp. Thought that was what you wanted :D

"How can I add new colors to players?"

To change colors on units (without using Animation - Change Unit's vertex coloring which sucks) to colors not already predefined, you need to change the TeamColor textures manually and import the new textures into your map with the same path as the old ones. For the minimap I'm not sure, but I suspect you can edit the .slk files (or perhaps some of the derpy files within the map).
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Mechanical Man and The Reborn Devil where right!

changecolor.jpg


I simply went into war3.mpq with an mpq editor, exported ReplaceableTextures\TeamColor\TeamColor08.blp
Then I went into the map and imported the blp under this path: ReplaceableTextures\TeamColor\TeamColor01.blp

Now player blue's textures have changed to the color of player grey.

This same thing counts for TeamGlow.

Of course you could alter the blp to have any custom color you like...

You can use this with the chat color system that you already have to completely change the player's color!
By doing this the minimap is also solved as you can see... A test map is attached:


EDIT: Okay.... This seems not to work since in-game the colors change back to blue instead of grey :S
This only seems to work for inside the world editor? Which means it is probably hard-coded like I said before :(

EDIT 2: I think it got to do with the map header:

JASS:
//***************************************************************************
//*
//*  Players
//*
//***************************************************************************

function InitCustomPlayerSlots takes nothing returns nothing

    // Player 0
    call SetPlayerStartLocation(Player(0) , 0)
    call SetPlayerColor(Player(0) , ConvertPlayerColor(0))
    call SetPlayerRacePreference(Player(0) , RACE_PREF_HUMAN)
    call SetPlayerRaceSelectable(Player(0) , true)
    call SetPlayerController(Player(0) , MAP_CONTROL_USER)

    // Player 1
    call SetPlayerStartLocation(Player(1) , 1)
    call SetPlayerColor(Player(1) , ConvertPlayerColor(1))
    call SetPlayerRacePreference(Player(1) , RACE_PREF_ORC)
    call SetPlayerRaceSelectable(Player(1) , true)
    call SetPlayerController(Player(1) , MAP_CONTROL_COMPUTER)

endfunction

As you can see in war3map.j the colors of the players will be set. I'm trying to override it right now...

EDIT 3: Even if I physically alter war3map.j to have ConverPlayerColor(8) and import it with an MPQ editor, it still shows up blue in-game.
AAAARHG >.<!
 

Attachments

  • testje.w3x
    17.8 KB · Views: 142
Last edited:
Level 38
Joined
Sep 18, 2007
Messages
1,881
Hashjie, thanks for trying man!
We already tested that and it is not working. Pain in ass problem.

Guys, today in chat GhostThruster tried to help to do something, and basically at least he managed ,,something".

[15-43-26] GhostThruster: MasterHaosis, http://www.hiveworkshop.com/forums/pastebin.php?id=220o2t
[15-43-29] GhostThruster: you can do what i did in that
[15-43-39] GhostThruster: look at stand 1
[15-43-42] GhostThruster: and stand 2
[15-44-31] GhostThruster: i edited the alpha of TeamColour00 via material manager to only show it in stand -2 anim

And here is his result,

wc510.png


Well, replacing manualy unit's textures and reimport models again will solve problem to certain point, but following problems will occur:

1. Hero Team Glow
2. Mini map
3. Owner of that color posses or charms unit from another color, so posseded/charmed unit wont turn back into this color. Same happens when owner has regular color and posses/charms unit which belongs to this new color, this light purple peon for example. Peon will remain that color because he loses alpha channels which turns out team colors.
Okay this third problem can be solved, simply I wont use Ghosts and Banshies in campaign maps.
But minimap and hero glow are problems.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
GhostThruster said:
i edited the alpha of TeamColour00 via material manager

How can you use a material manager on TeamColour00? It's a blp not a mdl or mdx :S?

Either ways, if this can be done on TeamColour00.blp then why can't it be done on TeamGlow00.blp? They basically are the same...
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
Hashjie, I will send him now visitor message so he can get here and example better.
I think he did that because he exported some blp color, or just edited manually in some program that blp, and reimported into mdl model under TeamColor00 path. So instead being red it is that light purple, but also cannot change color, its always light purple.
And about material manager, I did not check it, but he will explain better.
However, mini map and team glow are still problems.
Thats why I prefer whole team color to be altered, but seems that its impossible for now.
 
Level 14
Joined
Apr 20, 2009
Messages
1,543
Hashjie, I will send him now visitor message so he can get here and example better.
I think he did that because he exported some blp color, or just edited manually in some program that blp, and reimported into mdl model under TeamColor00 path. So instead being red it is that light purple, but also cannot change color, its always light purple.
And about material manager, I did not check it, but he will explain better.
However, mini map and team glow are still problems.
Thats why I prefer whole team color to be altered, but seems that its impossible for now.

Ah, I understand he edited the texture of one model on a different animation?
Then this means you'll have to alter every unit's texture :S
Would be quite a lot of work...
If there is an alternative to importing TeamColor and TeamGlow on the
ReplaceableTextures\TeamColor
ReplaceableTextures\TeamGlow
paths, it would be a better solution since it alters it for all units instead of just one by one.
But then such a solution is yet to be discovered.

I would love to hear from GhostThruster in person how he did it though.

I'm off to bed now, I have exam preparations to attent to tomorrow.
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
Then this means you'll have to alter every unit's texture :S
Would be quite a lot of work...
Yeah, but like I noticed already:
1. Hero Team Glow
2. Mini map
3. ......................................
Hero Glow can be ignored, but mini map is pain in ass.
Can be unitd get tinted by trigger or somehow to certain color?

If there is an alternative to importing TeamColor and TeamGlow on the
ReplaceableTextures\TeamColor
ReplaceableTextures\TeamGlow
paths, it would be a better solution since it alters it for all units instead of just one by one.
But then such a solution is yet to be discovered.
Exactly! I also hope that there is certain solution so we can change whole team color.

I would love to hear from GhostThruster in person how he did it though.
I send him visitor message so he will hopefully come here.

I'm off to bed now, I have exam preparations to attent to tomorrow.
Ah man good luck tomorrow!
 
Basically, I made the material visible during certain animations only.

I edited its alpha, to be invisible during stand - 1, so that there is no purple. But in stand - 2, I made it visible.

133 is the frame which stand - 1 starts from, and 1633 the frame it ends in. 1800 the frame stand - 2 starts from, and 4667 (or something) the one it ends in.
The number followed by the colon ':' is either 0 or 1. 0 means the material will be invisible. 1 means the material will show up.

Also minimap display will remain the same sorry to say.

EDIT: I'll make a better example with a footman.
 

Attachments

  • animpeasant.jpg
    animpeasant.jpg
    295.6 KB · Views: 203
Level 24
Joined
Mar 29, 2004
Messages
1,991
You can only replace TeamColor and TeamGlow textures with a SEMPQ (MPQ archive converted into an EXE with that old tool) -- the game won't accept it from a map or campaign file.

The TeamColour blps can't be real textures, they always end up smudged to a single colour somehow. TeamGlows can be real textures, though. But that's no help if you can't replace them anyway!
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
You can only replace TeamColor and TeamGlow textures with a SEMPQ (MPQ archive converted into an EXE with that old tool) -- the game won't accept it from a map or campaign file.
Damnit!
Did you try it?
So, should I create new MPQ wuth edited team colors using that tool?
How MPQ file must be named?

The TeamColour blps can't be real textures, they always end up smudged to a single colour somehow. TeamGlows can be real textures, though. But that's no help if you can't replace them anyway!
I wonder why Blizzard coded them like that!
But in your way I can only replace current ones, from 00 to 12 color?
Cannot be added 13, 14 and such colors?
 
Level 24
Joined
Mar 29, 2004
Messages
1,991
Damnit!
Did you try it?
So, should I create new MPQ wuth edited team colors using that tool?
How MPQ file must be named?
Yes, I did try.

A SEMPQ can be named whatever you want; as long as you run the game through it everything will be well.

I wonder why Blizzard coded them like that!
But in your way I can only replace current ones, from 00 to 12 color?
Cannot be added 13, 14 and such colors?
I don't think it's coding so much as quirks of load order and priorities. Things like team-colour are guaranteed to be in use in any map, so they probably just get jumped at game init and never read again.

You cannot add more team-colours, but players 13 and 14 do exist so you might be able to replace them if you know how to leverage the actual players. I never went this far, I kept to 1 to 12.
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
MUAHAHHAHAHAHAHHAHAHHAHA
MORTALS! I JUST MADE IT WORKING (for now!)

Screenshots to see my new replacement.
First, I replaced pink into that pink-purple.
Second, I replaced grey to white

wc910.jpg

wc1010.jpg

wc1110.jpg

wc1210.jpg

wc1310.jpg



MUAHAHAHAH!
Now to explain how I did that.
First, War3.MPQ.Open it.
Then, go and find ReplaceableTextures folder. Open it.
Then, go find TeamColor. Open it.
Now, you should see blp textures, from TeamColor00.blp to TeamColor15.blp
00-11 are standard colors, 12 is black, 13,14 and 15 are black too, but not used in game.
Extract any of blp.
For example I wanted to change grey to white. I extracted TeamColor008, converted it into .png, recolored it in second into white, converted back to blp.
Then, with your MPQ program delete TeamColor08.blp from colors, and import your own one.
There, you have new color.
DONT FORGET TO BACKUP YOUR original War3.mpq before processing this! Cause you will loose original colors in case that you want them back.

BUT MAIN PROBLEM IS STILL NOT SOLVED.
This is new discover, ONLY FOR COLORS !!! Not team glows for heroes. I will test that too.

Also, we must find out how to discover way to expand those 12 color selection to max 16 since there are 16 colors in teamcolors from 00-15. it will be useful for us since 4 more colors for selection are more than welcome!
Stay tuned!
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
Team Glows are working well! I tested out of my new purple.
Just be careful when recolor team glows because they have light to darken variations, so if you recolor whole team color using filter (and not leaving original black) you will have visual issue ingame with team glows.

Here is how my team color works on my new purple
wc1610.jpg
 
Level 20
Joined
Jul 14, 2011
Messages
3,213
Wow... It amazes me to know how much effort you've put on this. And you achieved it...

I'd like to know if this is something that can be based on the map, or if it's based on each player MPQ file.
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
well now that you've figured out how to apply new colours, i would like to see you apply new players
No, no, no, I did not figure out how to apply new colors, I figured out how to change existing ones, visually. That is not same because I have to ,,sacrifice" existing ones and override mpq, but still its something, for beggining.
azlier is testing now possibilities.

more than the standard... 14 is it? (including neutral passive and neutral hostile)
On what do you mean, players or colors?
Well currently there are from colors 00-11 which are selectable. it is 12.
Neutral hostile and passive uses color TeamColor12 which is 13. color and cannot be selected but can be added to player in World Editor via trigger easily.
There are more colors like TeamColor13.blp/14/15.blp which in total are 16 at all. (because numbering starts from 0) but those last three colors are black and not used in game.
 
MUAHAHHAHAHAHAHHAHAHHAHA
MUAHAHAHAH!
Now to explain how I did that.
First, War3.MPQ.Open it.
Then, go and find ReplaceableTextures folder. Open it.
Then, go find TeamColor. Open it.
Now, you should see blp textures, from TeamColor00.blp to TeamColor15.blp
00-11 are standard colors, 12 is black, 13,14 and 15 are black too, but not used in game.
Extract any of blp.
For example I wanted to change grey to white. I extracted TeamColor008, converted it into .png, recolored it in second into white, converted back to blp.
Then, with your MPQ program delete TeamColor08.blp from colors, and import your own one.
There, you have new color.
DONT FORGET TO BACKUP YOUR original War3.mpq before processing this! Cause you will loose original colors in case that you want them back.

BUT MAIN PROBLEM IS STILL NOT SOLVED.
This is new discover, ONLY FOR COLORS !!! Not team glows for heroes. I will test that too.

Also, we must find out how to discover way to expand those 12 color selection to max 16 since there are 16 colors in teamcolors from 00-15. it will be useful for us since 4 more colors for selection are more than welcome!
Stay tuned!

Um I remember telling you about editing the MPQ already in chat. I also remembered that I told you it is local only, ie. if you are playing online only you can see your custom colour.

EDIT: Unless they download the MPQ. Which is highly unlikely due to the fact it is 420mb and the only change is a few textures. Also unless it is single-player (but if it was, you might as well used my idea for the models).
 
lol VerySexyStruct struct come to save the day:
JASS:
struct VerySexyStruct /* because of very jass code */ extends array
    static method HolyShit takes player crazy_bitch, integer lazy_integer returns nothing
        local unit forever_alone_unit
        local playercolor mad_color 
        if lazy_integer>15 or lazy_integer<0 then
            call BJDebugMsg("Bitch Please, wtf are you doing, Player color go from 0 to 15, UMad?")
            return
        else
            set mad_color = ConvertPlayerColor(lazy_integer)
        endif
        call SetPlayerColor(crazy_bitch, mad_color )
        call GroupEnumUnitsInRect(bj_lastCreatedGroup, bj_mapInitialPlayableArea, null)
        loop
            set forever_alone_unit = FirstOfGroup(bj_lastCreatedGroup)
            exitwhen forever_alone_unit == null
                
                if GetOwningPlayer(forever_alone_unit) == crazy_bitch then
                    call SetUnitColor(forever_alone_unit, mad_color)
                endif
                
            call GroupRemoveUnit(bj_lastCreatedGroup, forever_alone_unit)
        endloop
    endmethod
endstruct
Test map, should work :ogre_hurrhurr:

Sadly playercolor is still unknown variable type to me, it isn't string or integer like variable so we can easily edit it.
Most likely it's some link to texture and glow found in wc3 mpq.
Editing Scripts/Common.j didn't get us anywhere.
Editing wc3 mpq didn't get us anywhere.
 

Attachments

  • a.w3x
    19 KB · Views: 110
Last edited:
Level 38
Joined
Sep 18, 2007
Messages
1,881
Well guys, I just tested out.
With Jass, there can be assigned color to player, even using those three unused colors
TeamColor13.blp
TeamColor14.blp
TeamColor15.blp
They are unused in game, so altering them and assigning to player in maps we can have up to 16 total colors which can be used in single player.
Well yes, like -Kobas- said, colors are not known as scripts or whatever so they cannot be easily edited into map.
For now, for our discovers, colors are mpq based.
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
Guys, after some testing I discovered something, which I must aware you for.
I was wrong, TeamColor15.blp is actually used ingame by neutral passive !!!
Because in WE we have option to chose BlackColor, and it is TeamColor12.blp (13.color actually), I though that Neutral Hostile and passive share same that color!
I was wrong. Neutral Hostile for true uses TeamColor12, but Neutral passive uses TeamColor15 which is also black.
So, changing that color will cause all Neutral passive units and buildings inmap (huts, buildings, villagers, creeps) which cannot fight to change color into new one, like I just accidentally did it here
wc2010.jpg


As you can see from screenshot, I replaced Team15 into light bluish purple., and caused all neutral passive units to get light blue-purple color.

BUT THIS IS AWESOME THING IF NEUTRAL HOSTILE AND PASSIVE DO NOT SHARE SAME COLOR! SIMPLE, YOU CAN CHANGE NEUTRAL PASSIVE'S COLOR TO DIFFER IT FROM NEUTRAL HOSTILE, JUST TO DISTANCE PASSIVE FROM HOSTILE WHICH CAN BE GREAT USE FOR YOU TO KNOW WHO CAN BE TROUBLE FOR YOU! As we all know that neutral hostile always attacks players on sight, so recignizing them in minimap from passives is helpful, especially in campaigns.
If they are black, its sometimes hard to see in minimap which ,,black dots" belongs to creatures, which for civilians or buildings which cannot harm you.
Since neutral hostile can harm you, its better to differ it from neutral passive.
For example, you can use grey color for Neutral passive, and replace regular grey for anything you wish. So passive will on radar and ingame always be grey colored, and hostile black.
I tested it, do not worry about taverns, camps, fountains and such if you replace team color
Simple, they have special status, and instead of team color in minimap they always show yellow houses or whatever signs, and they do not have team color, so cannot change color at all. They will remain same as before altering TeamColor15.blp
 
Level 4
Joined
Sep 12, 2008
Messages
111
lol VerySexyStruct struct come to save the day:
JASS:
struct VerySexyStruct /* because of very jass code */ extends array
    static method HolyShit takes player crazy_bitch, integer lazy_integer returns nothing
        local unit forever_alone_unit
        local playercolor mad_color 
        if lazy_integer>15 or lazy_integer<0 then
            call BJDebugMsg("Bitch Please, wtf are you doing, Player color go from 0 to 15, UMad?")
            return
        else
            set mad_color = ConvertPlayerColor(lazy_integer)
        endif
        call SetPlayerColor(crazy_bitch, mad_color )
        call GroupEnumUnitsInRect(bj_lastCreatedGroup, bj_mapInitialPlayableArea, null)
        loop
            set forever_alone_unit = FirstOfGroup(bj_lastCreatedGroup)
            exitwhen forever_alone_unit == null
                
                if GetOwningPlayer(forever_alone_unit) == crazy_bitch then
                    call SetUnitColor(forever_alone_unit, mad_color)
                endif
                
            call GroupRemoveUnit(bj_lastCreatedGroup, forever_alone_unit)
        endloop
    endmethod
endstruct
Test map, should work :ogre_hurrhurr:

Sadly playercolor is still unknown variable type to me, it isn't string or integer like variable so we can easily edit it.
Most likely it's some link to texture and glow found in wc3 mpq.
Editing Scripts/Common.j didn't get us anywhere.
Editing wc3 mpq didn't get us anywhere.

I
lolcjs.png
'ed about how your trigger is made. Especially the crazy_bitch part. lol.

Meh, sorry to say this but, if you edit your war3.MPQ, you can only see it in custom colored yourself. Other players need to do that so they can see it too.
 
Last edited by a moderator:
Level 38
Joined
Sep 18, 2007
Messages
1,881
Hey guys, I see that moderator just removed your pictures spam. Just to inform you.
Please, first, those huge pictures you posted just make thread hardly readable, and second, I do not want you neg repped or punished in any way because of this. And third, this was question at first place, now it is ,,somewhat" solved and began as research, so lot of people are watching this thread (767 views for now), so they expect someone to discover something new related to team colors, because this is unique thread in Hive related to this problem.
And those spam pictures look ugly and are making thread immature, and less attractive to people, but more to moderators hahaha!

Meh, sorry to say this but, if you edit your war3.MPQ, you can only see it in custom colored yourself. Other players need to do that so they can see it too.
Yes man, thats only what I and others discovered. I told already that it is only MPQ based for now, because altering existing colors will be eye visible only for person who has altered Wa3.MPQ
It doesnot alter multiplayer, I did not tested it at all. This needs further investigation.
 
Level 13
Joined
Sep 13, 2010
Messages
550
OK here is the one solution WITHOUT editing MPQ! You think I am joking... Well you may right.. but not this time.

Tutorial:

Step one: Download AllowLocal.zip, open it and execute the .reg file you can find in it.( You only need to do this once for infinite fun )
Step two: Download TeamColor00.tga, and put it into "YourWarIIIFolder\ReplaceableTextures\TeamColor\" like you would do if you imported it into a map.( I attached TeamGlow00.tga for more pwning effects - put it into "YourWarIIIFolder\ReplaceableTextures\TeamGlow\" )

Create a map to test player red, or use an existing one. Woilla green team color!

Yea it will work only for a single person not for every you play with.

This method works for also team glows, other colors, and other shits I won't tell you ;P
 

Attachments

  • AllowLocal.zip
    311 bytes · Views: 144
  • TeamColor00.TGA
    300 bytes · Views: 137
  • IMG.PNG
    IMG.PNG
    331.7 KB · Views: 277
  • TeamGlow00.TGA
    3 KB · Views: 128
Last edited:
Level 38
Joined
Sep 18, 2007
Messages
1,881
Statharas, exactly. And this is how it should be for now... If anyone discovers how new colors can be added, or current altered one visible to other players aswell, lets us know.

NOW MORTALS!
GERIES IS FUCKING AWESOME EXTRA SEXY COOL GUY!
HE FOUND A EASY WAY TO ALTER COLORS WITHOUT EDITING MPQ, AND MAPS!
All you need is just to put that his registry file in your WC3 folder, and create ReplaceableTextures there. Inside that folder you must create two folders, TeamColor and TeamGlow.
So altering colors is easy, just put tga color. For example TeamColor00.tga for replacing red, and such... Do not like new color? Okay, just select and delete it, and it will turn back to red. or add new one TeamColor00.
NOTE THAT YOU MUST USE TeamGlow00.tga too, because teamGlow is responsible for portraits team colors and hero glows!
And here, it all works, its tested out now
116.jpg

213.jpg

312.jpg

As you can see its working well! geries just made us much easier to edit colors without editing map or MPQ!!!
geries, rep for you!
 
Nice trick geries, but you don't need file at all.
Open Registry editor (start menu - run - regedit), find warcraft 3 and edit Allow Local Files value (default is 0, set it to 1).

You can edit more things here like hp bars, resolution screen and so on (well wc3 options more or less).

This will allow you to edit color of all maps on your computer on single map if you import texture into it regularly.
 
Level 13
Joined
Sep 13, 2010
Messages
550
Nice trick geries, but you don't need file at all.
Open Registry editor (start menu - run - regedit), find warcraft 3 and edit Allow Local Files value (default is 0, set it to 1).

You can edit more things here like hp bars, resolution screen and so on (well wc3 options more or less).

This will allow you to edit color of all maps on your computer on single map if you import texture into it regularly.

Dude, you know that usually there is no registry entry or it is set to 1. Rare when there is an entry already with 0. Also it is easier to execute this than go through all steps. Am I right? Ofc I am.

KobasS said:
find warcraft 3

LOL! :D OK you wasted here 5-15 mins to do that bro ;P

"HKEY_CURRENT_USER\Software\Blizzard Entertainment\Warcraft III"


Geries, you do realize that this only works well, duh, only for you? Like the MPQs? "You think i am joking", lawl.

Geries said:
Yea it will work only for a single person not for every you play with.

I think I have already told that. This way or MPQ edit or nothing.

Each have positives and negatives. Like with this you trash the whole warcraft folder, if you choose MPQedit then you have to backup your MPQ, cause if you want to undo these actions you can restore it otherwise you would have to reinstall whole Warcraft. OK you can only make a copy of TeamColors you overwrite but you won't have a clean MPQ anymore. Also war3patch,local,x.mpqs can cause trouble.

Hao said:
All you need is just to put that his registry file in your WC3 folder

Nope. You have to run only once and you can delete it.
 
Level 38
Joined
Sep 18, 2007
Messages
1,881
Yes, but guys, I forgot to say you, altering MPQ directly can cause some problems to WorldEditor, at least mine. I was unable to load any of maps via any of WE I had (original, WEU, and JassNewGen) because they all reported same problems that map cannot be loaded because TeamColor08.blp file is corrupted. I replaced that grey with purple, and got that problem. I then changed back color to original grey, and still got same problem! Game did not have any of problems but World Editor had. And only with one color TeamColor08.blp. I replaced few colors and he only found problem at it. For extracting/importing blps I used mpq master.

So, this geries's solution is the best, allowing local files, but let me tell you here is only one drawback we found for now. It is statistics after finishing game. For example, if you replace red for that green, after finishing game you will still be red on statistic.
I do not know how, but statistic is somehow not reading local files.
I think geries will think something regard this to fix it, he already showed great knowledge.
However this drawback can be fixed in campaign by changing player's name color via triggers. I am not sure, I think that once I changed my name's color from red to pink by testing long time ago, and in statistic I was pink, therefore in campaign you will need just to do that. But again, I am not sure 100%, I just think that coloring name will color name in statistic.
 
Level 16
Joined
May 2, 2011
Messages
1,351
This is why I have 3 or 4 copies of Warcraft III: one has patch changed to play online, one is original, and one has campaigns extracted( because I was afraid I will change them to so)

Edit: this way, you can just change with one and save it in the other folder or so. btw, just today, I could not open the latest version of my map (cannot load and no error message, cannot load message, never mind, I just used the previous one)
 
Status
Not open for further replies.
Top