Ardenaso
HD Model Reviewer
- Joined
- Jun 22, 2013
- Messages
- 1,950
Hmm why is it so laggy and... the tooltip and the health/mana counter is weird? My standard WC3 works fine though
Also, when I set the textures on low, the game became black and white.
The heal reduced on the affected unit.Also, how does orb of fire work, is the healer or healed that is reduced?
What are these anyway? What's the difference? Please explain to me, anyone who knows.global variables
All user generated variables are global variables. As opposed to local variables, which you can declare in JASS with the keyword local.What are these anyway? What's the difference? Please explain to me, anyone who knows.
I'm being really stupid here. Does that affect GUI as well or just custom script?All user generated variables are global variables. As opposed to local variables, which you can declare in JASS with the keyword local.
Well, nothing has changed. There has always been global and local variables. The only thing what has changed now is that you can now see them in the Trigger Editor and put them into folders. But they cannot be sorted. In Dwarf Campaign, all the variables show up in a random order...I'm being really stupid here. Does that affect GUI as well or just custom script?
Also, every time I open up the editor, the terrain palette looks like in your image although I stretched it lower than that each time. The editor should save that state.Fifth bug. On my screen (1600x900), the new Open Document window is initially always too high, so that OK and Cancel buttons are not visible.
Fourth bug. In GnollCampaign-C1R6-build1, if you open Campaign Editor -> Custom Data -> Abilities -> Custom Abilities -> Earthquake (Gnoll Supreme Warden) and try to click on Tooltip - Learn - Extended, the World Editor Crashes. Pictures:
View attachment 321602
View attachment 321603
Just tried another 12 player AI match on Icecrown Glacier but ran the .exe from the x86 folder as opposed to the x86_64 one as before.I didn't see that; but still the PTR still lags
It appears that the previous observations regarding the defend ability's deflection mechanics are proven right by being indistinguishable from an attack. Furthermore, it appears that the unreduced damage of the deflected projectile is 1.00, based on default stats of the defend ability.
However, it is very easy to tell if the damage dealt is from the attacker or the receiver if the ability is based on either carapace or spiked barricades. (The damage type dealt is defensive, and ignores armor)
@_Guhun_ The observation made regarding deflected attacks was correct. There is no way to determine if the projectile was deflected, at least without having to check the speed of the projectile and periodically tracking the possible location of the projectile.
Warcraft III - Patch 1.31 PTRScrew it, I'll just wait for a hotfixed PTR or the actual release
Yeah! I tried it and made a short demo. I'm not the best with JASS-script, but it seems to work without any issues.This patch is great, I can't wait to test some stuff myself this weekend.
Oh my.... does this means one can make WASD movement system? This is awsome
globals
unit array WASD_PlayerUnit
boolean array WASD_IsKeyDown_W
boolean array WASD_IsKeyDown_A
boolean array WASD_IsKeyDown_S
boolean array WASD_IsKeyDown_D
constant oskeytype WASD_KEY_W = ConvertOsKeyType($57)
constant oskeytype WASD_KEY_A = ConvertOsKeyType($41)
constant oskeytype WASD_KEY_S = ConvertOsKeyType($53)
constant oskeytype WASD_KEY_D = ConvertOsKeyType($44)
constant real WASD_MoveDistance = 96.0
endglobals
function PlayerMoveEvent_Actions takes nothing returns nothing
local integer i = 0
local location loc1 = null
local location loc2 = null
loop
exitwhen(i > 24)
if (WASD_IsKeyDown_W[i]) then
set loc1 = Location(GetUnitX(WASD_PlayerUnit[i]), GetUnitY(WASD_PlayerUnit[i]))
set loc2 = PolarProjectionBJ(loc1, WASD_MoveDistance, 90.0)
call IssuePointOrder( WASD_PlayerUnit[i], "move", GetLocationX(loc2), GetLocationY(loc2) )
call RemoveLocation(loc1)
call RemoveLocation(loc2)
elseif (WASD_IsKeyDown_S[i]) then
set loc1 = Location(GetUnitX(WASD_PlayerUnit[i]), GetUnitY(WASD_PlayerUnit[i]))
set loc2 = PolarProjectionBJ(loc1, WASD_MoveDistance, 270.0)
call IssuePointOrder( WASD_PlayerUnit[i], "move", GetLocationX(loc2), GetLocationY(loc2) )
call RemoveLocation(loc1)
call RemoveLocation(loc2)
elseif (WASD_IsKeyDown_A[i]) then
set loc1 = Location(GetUnitX(WASD_PlayerUnit[i]), GetUnitY(WASD_PlayerUnit[i]))
set loc2 = PolarProjectionBJ(loc1, WASD_MoveDistance, 180.0)
call IssuePointOrder( WASD_PlayerUnit[i], "move", GetLocationX(loc2), GetLocationY(loc2) )
call RemoveLocation(loc1)
call RemoveLocation(loc2)
elseif (WASD_IsKeyDown_D[i]) then
set loc1 = Location(GetUnitX(WASD_PlayerUnit[i]), GetUnitY(WASD_PlayerUnit[i]))
set loc2 = PolarProjectionBJ(loc1, WASD_MoveDistance, 0.0)
call IssuePointOrder( WASD_PlayerUnit[i], "move", GetLocationX(loc2), GetLocationY(loc2) )
call RemoveLocation(loc1)
call RemoveLocation(loc2)
endif
set i = i + 1
endloop
set loc1 = null
set loc2 = null
endfunction
function PlayerKeyEvent_Actions takes nothing returns nothing
local oskeytype osKeyPressed = BlzGetTriggerPlayerKey() // What key was pressed or released?
local boolean isKeyDown = BlzGetTriggerPlayerIsKeyDown() // Was the event key pressed or released?
//Not used here, but this way we can detect the meta-key.
//local integer metaKeyPressed = BlzGetTriggerPlayerMetaKey()
if (osKeyPressed == WASD_KEY_W) then
set WASD_IsKeyDown_W[GetPlayerId(GetTriggerPlayer())] = isKeyDown
elseif (osKeyPressed == WASD_KEY_A) then
set WASD_IsKeyDown_A[GetPlayerId(GetTriggerPlayer())] = isKeyDown
elseif (osKeyPressed == WASD_KEY_S) then
set WASD_IsKeyDown_S[GetPlayerId(GetTriggerPlayer())] = isKeyDown
elseif (osKeyPressed == WASD_KEY_D) then
set WASD_IsKeyDown_D[GetPlayerId(GetTriggerPlayer())] = isKeyDown
endif
endfunction
//===========================================================================
function InitTrig_WASD_PlayerKeyEvent takes nothing returns nothing
local trigger t = CreateTrigger( )
local integer i = 0
//takes trigger whichTrigger, player whichPlayer, oskeytype key, integer metaKey, boolean keyDown returns event
/* metaKey = In order to fire the event the player must press down another key at the same time,
0 = No additional key required.
1 = Shift-key required
2 = Ctrl-key required
3 = ????
4 = Alt-key required
5+ = ????
*/
loop
exitwhen(i > 24)
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_W, 0, true ) // Presses the "W"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_W, 0, false )// Releases the "W"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_A, 0, true ) // Presses the "A"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_A, 0, false )// Releases the "A"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_S, 0, true ) // Presses the "S"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_S, 0, false )// Releases the "S"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_D, 0, true ) // Presses the "D"-key.
call BlzTriggerRegisterPlayerKeyEvent( t, Player(i), WASD_KEY_D, 0, false )// Releases the "D"-key.
set i = i + 1
endloop
call TriggerAddAction( t, function PlayerKeyEvent_Actions )
set t = null
set t = CreateTrigger( )
call TriggerRegisterTimerEvent( t, 0.03, true )
call TriggerAddAction( t, function PlayerMoveEvent_Actions )
endfunction
It is the new input event which can register any key. The function is available with JASS2 (JASS) as are all functions. Lua uses these as well via JASS2Lua. Hence with exception of Lua native language features, JASS2 supports everything Lua does as far as interfacing with Warcraft III.Link please? dunno about JASS2 but is that different from Jass and not built-in wc3?
It does matter what hardware you are using because older hardware may perform worse with modern builds. This is because modern compilers emit code optimized for modern processors. That same code may perform very poorly on older processors.but It doesn't matter of my computer...
The problem now is comparing 1.31&1.30 on the same computer
Resource requirements increased due to the new buff stacking system I guess. In maps with a lot of buffs there could possibly be a measurable difference.I'm pretty positive performance has been regressing in the last few patches. Experienced this myself as well as other people. Same map, different wc3 versions, newer ones lag much more.
Please post what hardware you are using. Have you tried the x86 (not x86-64) build? Or running the D3D9 backend? Or even OpenGL?I don't know how to describe it but it just lags, even on the start menu everything's moving slowly and I even tried setting on lowest settings.
I suppose with the help of JNGP (for finding out the rawcode equivalent of the hotkeys) and the ConvertAbilityStringField native (not sure if prefixed with Blz), you can introduce a desired constant for hotkey manipulation.
Can anyone verify if ability field editing applies to that ability map-wide for everyone, or it can be done on per-unit basis?
Or of the x86 (not x86-64) build?
The other explanation is that the change from fixed function pipeline to using programable shaders include more difference than are currently visible. Specifically it might already include part of the Reforged graphic pipeline despite currently being unable to take advantage of it. Hence the GPU has to work harder for little visual gains.
I get the same results, with both x86 and x86_64 builds (60 fps to ~15) (V-sync off).Alright did a test map (attached) and when there are 50 archers per (25) player (including neutral hostile), FPS(+VSync) is 60 if there are 100 archers per player, FPS drops to 15.
Note that the map is the smallest and has no doodads or tile or terrain height variation. The only trigger in it is the one to spawn archers. Just write test in chat.
thorns aura dealt plant damage, in my test.Have you tested if Thorns aura also does defensive damage?
It's per unit, I tried modifying the range on one Crypt Lord's Impale and it did not affect the other Crypt Lord.
What's with that site anyway? I mean we have the stuff here on Hiveworkshop and on Battle.net.Is the site React App only for suggestions? Can I leave a bugreport there?
You can register damage event for any unit via executing next code.i thought that the new damage native events would become a Generic Unit Event, but it is not. So basically all the DDS'es need to be revised and re-written?
call TriggerRegisterAnyUnitEventBJ(trig, EVENT_PLAYER_UNIT_DAMAGED)
I edited my post, that site was mentioned in the head of this thread. It is said that site is for feedback. I just want to ensure that I will post bugreport in the most appropriate place.What's with that site anyway? I mean we have the stuff here on Hiveworkshop and on Battle.net.
There's plenty of cut heroes that existed in Alpha/Beta.I wish they added more items or unique units in the game instead of tweaking the original ones, either just for the editor use or added towards melee maps, its still nice and all but it would be nice to have some new faces on the game. I also know the new game is being created but its just a thought. An example would be a nice hero for each race? I know it may mess up the lore of everything but would be nice to have IMO.
Not play since you need D3D11 and x86-64 anyway. They will likely drop x86 (32bit) and D3D9 support later as they did with all their other games already.For ReForged ? What do the old WC3(1.31 the The original player) do?
Likely capped to the desktop refresh rate?I also noticed the fps is capped@60 in Patch 1.31 PTR, why?
No. According to common.j you can only change their name, proper name, ground texture and shadow image.- can a unit's MODEL be changed with this? Icon?JASS:native BlzSetUnitStringField takes unit whichUnit, unitstringfield whichField, string value returns boolean
type unitstringfield extends handle
constant unitstringfield UNIT_SF_NAME = ConvertUnitStringField('unam')
constant unitstringfield UNIT_SF_PROPER_NAMES = ConvertUnitStringField('upro')
constant unitstringfield UNIT_SF_GROUND_TEXTURE = ConvertUnitStringField('uubs')
constant unitstringfield UNIT_SF_SHADOW_IMAGE_UNIT = ConvertUnitStringField('ushu')
ConvertUnitStringField('umdl') or ConvertUnitStringField('uico')
, but it was all in vain.I also noticed the fps is capped@60 in Patch 1.31 PTR, why?
Sounds like something else is capping it at 60 for your pc.
I get lower FPS if I activate Vsync with the same Hz.I've got no issues with the current non-ptr version, so not sure what the problem could be?
No difference for me, except if I have V-sync turned on the fps caps at 60.0 as intended, but the overall fps is the same.I get lower FPS if I activate Vsync with the same Hz.
Yeah. Exactly. It's 60 with Vsync on. So should we use Vsync or not?No difference for me, except if I have V-sync turned on the fps caps at 60.0 as intended, but the overall fps is the same.
I wouldn't recommend it unless you experience heavy screen tearing from fps drops and that bothers you, at the cost of potential input lag.Yeah. Exactly. It's 60 with Vsync on. So should we use Vsync or not?
Does the current Warcraft III run at 144Hz with unique, interpolated frames? Or is it duplicating frames?I've got no issues with the current non-ptr version, so not sure what the problem could be?
Try window mode and turn vsync off.I also noticed the fps is capped@60 in Patch 1.31 PTR, why?
A bit of an oddity with groups now (PTR) is that FirstOfGroup does not appear to work (in my tests).