So I tested how much code I can copy in my map before it starts to throw errors or just won't load the triggers and I was able to run it with 3061kb.
-> I've still 1 mb left to fill with code.
But Kueken just told me that the data objects (units, etc...) count to the script limit, too.
This seems quite unfortunate. :(
Since I've breached the 2mb mapscript size, I tried to find where the mapscript border is.
Rumors stated that it was at approximately 2mb of uncompressed script size.
I've made some tests in my Diablo map with the result that 3061kb of uncompressed "Mapscript.galaxy" file is still executed properly (at least offline via editor test).
Having much more kb results in an editor error message while compiling stating that the script is to long.
So either a patch changed it or people had a ton of variables more than me.
But I'm already using 3051 global variables (this value counts every variable slots possible within arrays, so this is the total amount of fields used as global variables).
I triggered everything with GUI.
The .galaxy file produced has 93.764 lines, contains 2.947.261 characters and has a compressed size of 189kb within the map.
I'm quite happy that I've still 1mb of script memory left to tinker with in my map.
Maybe DarkRevenant can continue his Mafia map as I have no idea why he hit it at 2mb when I'm hitting it at 3mb.
I thought I should share my recently gained knowledge.
sounds:
~ 20.5 mb (includes like 20 minutes of music, D1 sounds, ogg, compressed with audacity with quality 0 -> no big loss as files had poor Diablo 1 quality ;D)
models:
~ 3.5 mb (only m3 filesize)
images:
~ 4.5 mb (dds, dds files renamed to tga for smaller model textures)
progress in map:
-half of the monsters got a model, but I need a ton of doodad and a few wall models in addition to this
-sounds only need a few quest related sounds
-images are pretty much completed (-> only more textures for doodads/walls)
I've compressed every sound and every texture to cut filesize. I just started to use my second mod file as my mod files only include all my sounds atm.
I saved the most space with model textures. I just resized images from 1024x1024 to 196x196 and made the file use dds format (only editor complains, sc2 engine handles wrong specified filetypes correctly).
I assume your completely custom UI takes a lot of image space. :D
work in progress, buttons appearing when own hero is selected is special, custom leaderboard is collapseable via the button:
hero selection window for 2 teams:
top: monster info; bottom: belt, xp progress bar, 2 skills, menu buttons; right: item durability warnings; layout changes: smaller game menu buttons, actual minimap moved to different corner, chat lowered, moved friend button and timer around:
character screen and inventory and belt:
quest log and skill chose window (my NPC window looks similar to the quest log, just more buttons):
NPC trading inventory, player inventory:
picked up an item inside the own inventory -> shows placement and NPC options with item:
possibilities I can think of:
- fill slots with computer players and set the first human slot to the slot which you want to test
- remote control a computer player
- publish privately and play with someone on battle.net (check mapster's irc to find people that might help you)
- verify you code by staring at it or using something like Hoare Logic.
@zenx1: Go
There are 4 spawning locations for enemies at the edges of the map.
@map
- I think it's missing a button for the upgrade window (hotkey m). Also that window should get a higher priority than the unit's status dialogs. (I think you can define dialog's priority.)
- I sometimes don't know why some monsters want to leave my dungeon. The behaviors the unit had didn't help me figuring that out. :S
- Loosing screen rotates to fast. Make it slower.
- After 46 minutes the first wave with predators rushed through and killed me with their 358 damage.
Use a buff (behavior) to run an effect on receiving lethal damage.
It should be always on the unit and contains a lethal damage response effect set.
It also should reduce the incoming damage to 0 (check the min value flag, else damage done is 0.5 by default which could kill the unit).
The effect set should contain 2 effects:
First the caster needs to be fully healed.
Second the CASTER unit is given to the TARGET's player. This will give the killer the building.
edit:
I've never implemented something like that, but that's how I think it should work.
0
Add a buff to units outside the playable map area and check for the unit not having that buff.
Playable map area only effects the player's minimap and camera at most,
0
@zorbotron: Go I'm at 2038kb in my map currently.
So I tested how much code I can copy in my map before it starts to throw errors or just won't load the triggers and I was able to run it with 3061kb.
-> I've still 1 mb left to fill with code.
But Kueken just told me that the data objects (units, etc...) count to the script limit, too.
This seems quite unfortunate. :(
0
Since I've breached the 2mb mapscript size, I tried to find where the mapscript border is.
Rumors stated that it was at approximately 2mb of uncompressed script size.
I've made some tests in my Diablo map with the result that 3061kb of uncompressed "Mapscript.galaxy" file is still executed properly (at least offline via editor test).
Having much more kb results in an editor error message while compiling stating that the script is to long.
So either a patch changed it or people had a ton of variables more than me.
But I'm already using 3051 global variables (this value counts every variable slots possible within arrays, so this is the total amount of fields used as global variables).
I triggered everything with GUI.
The .galaxy file produced has 93.764 lines, contains 2.947.261 characters and has a compressed size of 189kb within the map.
I'm quite happy that I've still 1mb of script memory left to tinker with in my map.
Maybe DarkRevenant can continue his Mafia map as I have no idea why he hit it at 2mb when I'm hitting it at 3mb.
I thought I should share my recently gained knowledge.
0
Make the behavior's duration 1/16th of a second longer.
0
sounds:
~ 20.5 mb (includes like 20 minutes of music, D1 sounds, ogg, compressed with audacity with quality 0 -> no big loss as files had poor Diablo 1 quality ;D)
models:
~ 3.5 mb (only m3 filesize)
images:
~ 4.5 mb (dds, dds files renamed to tga for smaller model textures)
progress in map:
-half of the monsters got a model, but I need a ton of doodad and a few wall models in addition to this
-sounds only need a few quest related sounds
-images are pretty much completed (-> only more textures for doodads/walls)
I've compressed every sound and every texture to cut filesize. I just started to use my second mod file as my mod files only include all my sounds atm.
I saved the most space with model textures. I just resized images from 1024x1024 to 196x196 and made the file use dds format (only editor complains, sc2 engine handles wrong specified filetypes correctly).
I assume your completely custom UI takes a lot of image space. :D
0
@KingRadical: Go I'm doing stuff on the map for quite a long time. So it's hard to say how much time I've invested into UI...
@Nardival: Go :D
0
So, you are not in any of this regions it shouldn't return false or what are you expecting?
Your code atm expresses:
If you are in any of this regions (5,15,45,55,85,95), it should return false.
0
@Zolden: Go You got to play my map "Dia blo - Mortal Shroud" on EU/US. ;)
0
work in progress, buttons appearing when own hero is selected is special, custom leaderboard is collapseable via the button:
hero selection window for 2 teams:
top: monster info; bottom: belt, xp progress bar, 2 skills, menu buttons; right: item durability warnings; layout changes: smaller game menu buttons, actual minimap moved to different corner, chat lowered, moved friend button and timer around:
character screen and inventory and belt:
quest log and skill chose window (my NPC window looks similar to the quest log, just more buttons):
NPC trading inventory, player inventory:
picked up an item inside the own inventory -> shows placement and NPC options with item:
0
Tried to modify the animation speed within the 2 cloak models (low and high)?
0
possibilities I can think of:
- fill slots with computer players and set the first human slot to the slot which you want to test
- remote control a computer player
- publish privately and play with someone on battle.net (check mapster's irc to find people that might help you)
- verify you code by staring at it or using something like Hoare Logic.
0
This?
0
@zenx1: Go There are 4 spawning locations for enemies at the edges of the map.
@map
- I think it's missing a button for the upgrade window (hotkey m). Also that window should get a higher priority than the unit's status dialogs. (I think you can define dialog's priority.)
- I sometimes don't know why some monsters want to leave my dungeon. The behaviors the unit had didn't help me figuring that out. :S
- Loosing screen rotates to fast. Make it slower.
- After 46 minutes the first wave with predators rushed through and killed me with their 358 damage.
0
attack move to the position of the attacking unit
0
Use a buff (behavior) to run an effect on receiving lethal damage.
It should be always on the unit and contains a lethal damage response effect set.
It also should reduce the incoming damage to 0 (check the min value flag, else damage done is 0.5 by default which could kill the unit).
The effect set should contain 2 effects:
First the caster needs to be fully healed.
Second the CASTER unit is given to the TARGET's player. This will give the killer the building.
edit:
I've never implemented something like that, but that's how I think it should work.