HomeUser Control Panel (unavailable in archive)ForumsTutorialsArt GalleryResourcesMaps

Weird problems I can't figure out

11-19-2006, 03:06 AM#1
scythetleppo
(using TFT WE)

Problem #1{
I have a unit that enters a building. When this happens, the game creates an invisible, unselectable, invincible version of the unit. The problem is he still has a shadow so obviously not completely invisible.

Here's my current code:

Code:
    Actions
        Set pointMath2 = (Position of (Transporting unit))
        Unit - Create 1 (Unit-type of (Triggering unit)) for (Owner of (Triggering unit)) at pointMath2 facing Default building facing degrees
        Custom script:   call RemoveLocation(udg_pointMath2)
        Unit - Add Locust to (Last created unit)
        Animation - Change (Last created unit)'s vertex coloring to (100.00%, 100.00%, 100.00%) with 100.00% transparency
        Unit - Move (Last created unit) instantly to ((Owner of (Triggering unit)) start location)
        Unit - Order (Last created unit) to Hold Position

It was suggested to give him 'Ghost' as well. When I do that, the unit loses his shadow but the unit himself becomes visible again, at least to the owner of the unit. What I want is a totally undetectable unit with no shadow that can't be killed or affected in any way.
}

Problem #2{

I have 8 players in my map, with no computers and no need for them. The map has all 8 players on the same force. It is free for all. When the game starts everything works fine (they are all against each other).

2.a-The problem is three part. First of all the players BEFORE the game starts can change teams and therefore FORCE someone to be on the same team as them.

2.b-Also, the colors of the players are important in my map. I want Player 3 to ALWAYS be TEAL. Not any other color ever. same for all players. Player 1 = red, etc. ALWAYS. The thing is it seems to kind of randomly give out colors.

2.c-And finally, when the game starts, if you try to go to the allies menu and become allied with someone, you just can't do it. I want this to be able to be done.


Here's what I actually want, for it to be perfect:
-'Normal' Colors are always used: red, blue, teal, purple, yellow, orange, green, pink.
-No one can change teams before the game.
-Anyone can change who they are allied with *in game*

It was suggested to me to check the 'lock forces' box. When I do that, I am unable to start my game because it says I need two teams...
}


Thanks{
If you can help me out here. I don't know JASS but at this point would implement some if need be.
}
11-19-2006, 03:17 AM#2
Av3n
problem one: Make an different unit that is simliar, give it invurnability to it if you want it selectable, locust if you don't, then change its model file to NONE.

problem two: I can answer your second mini problem, trigger it.

-Av3n
11-19-2006, 03:17 AM#3
superlaxplayer17
maybe for the lock forces you could set the player 9 to a computer that isn't really used in the map so that there's another team.?
i don't know about the other problems though
11-19-2006, 03:22 AM#4
Av3n
for your first mini problem, there isn't really a way you have to use default settings.

-Av3n (give me rep!)
11-19-2006, 03:27 AM#5
scythetleppo
Quote:
Originally Posted by Av3n
problem one: Make an different unit that is simliar, give it invurnability to it if you want it selectable, locust if you don't, then change its model file to NONE.

There's many units that can be loaded into it, which would be a ton of extra custom units that could all be avoided if I can just figure out how to remove the shadow =/


Quote:
problem two: I can answer your second mini problem, trigger it.

Trigger what? I need help damnit...
11-19-2006, 03:27 AM#6
TaintedReality
For problem 1, why not just use the Hide Unit function? If the unit is unselectable, invisible, etc it's basically hidden, unless you're ordering it to do something through triggers.

For problem 2, I don't believe you can make teams locked before the game but unlocked once the game starts. You would have to trigger it.
11-19-2006, 04:00 AM#7
scythetleppo
Quote:
Originally Posted by TaintedReality
For problem 1, why not just use the Hide Unit function? If the unit is unselectable, invisible, etc it's basically hidden, unless you're ordering it to do something through triggers.

He has to be attacking though is why i didnt use hide

Quote:
For problem 2, I don't believe you can make teams locked before the game but unlocked once the game starts. You would have to trigger it.

the game won't start, I don't see how triggers would do anything. unless im wrong. can you give an example?
11-19-2006, 04:20 AM#8
TaintedReality
Quote:
the game won't start, I don't see how triggers would do anything. unless im wrong. can you give an example?

Well you have two options.

1. Allow players to choose their team before the game, but then unally everyone when the game starts. However, this wouldn't fix your problem with player colors.

2. Don't allow players to choose their team by locking player settings. Then make a second force that is just there so the game will start. You would need to trigger a whole alliance system, probably using text commands or something.
11-19-2006, 04:29 AM#9
scythetleppo
I tried to just add a dummy force but it just doesn't show up when i go to start... I tried with neutral, with computer and with player.

or it shows up but isnt actually computer.


GRRRRRR why is warcraft 3 so damn confusing!!!!

edit: ok got it to work with a totally useless force 2....stupid game...

alright then now I just need the other thing thanks
11-19-2006, 09:22 AM#10
BertTheJasser
You can set a players playercolor via this command.
Collapse JASS:
native SetPlayerColor           takes player whichPlayer, playercolor color returns nothing
E.g.
Collapse JASS:
call SetPlayerColor(Player(0),PLAYER_COLOR_RED)//makes player 0 have always red

For all players to use their standard color use:
Collapse JASS:
function StandardPlayerColors takes nothing returns nothing
 local integer i=0
    loop
         exitwhen i>11
         call SetPlayerColor(Player(i),ConvertPlayerColor(i))
    endloop
endfunction

For ally/enemy stuff...

Create a trigger that detects when a unit is selected. Store that unit in a global variable.
Create a trigger that detects when ESC is hit. Check if the unit is ally or enemy, if enemy, make it ally and make it vice versa (check before if it is neutral hostile or another CPU player). (Maybe show some text messages who got ally to whom)
11-19-2006, 05:30 PM#11
Daxtreme
Lol. Simple solutions to your problems

#1 has already been answered except the fact that TaintedReality, giving a unit no model still creates a shadow at its feet. You must also set Art - Shadow Image (unit) field to "None"

#2: Scenario - Player Properties - Check "Fixed Player Start Locations" This will set their colors to Red , Blue, Teal, Purple, etc. Then,

Scenario - Force Properties - Check "Use Custom Forces" and "Fixed Player Settings". You will need a ninth player in order to do that. Even if you don't necessarly need him, you can set his name to like "Made by: YOUR_NAME"l. What's important is that you need a ninth player, and you put him alone in a second force.

Now, players are supposed to be able to ally unless you do this in Trigger Editor: "Game - Set Map Flag", and you click on map flag and choose "Lock Alliance Settings" to off. Delete your MELEE initialization trigger as it often includes a line which does that.