Staredit Network > Forums > SC1 Mapping Tools > Topic: Tool or mod for bypassing the 1700 unit limit for 1.16.1?
Tool or mod for bypassing the 1700 unit limit for 1.16.1?
Mar 13 2022, 7:18 pm
By: NiceNowIHaveAName  

Mar 13 2022, 7:18 pm NiceNowIHaveAName Post #1



Hi! I've been looking on the forum to find a tool or a mod for bypassing the 1700 unit limit for 1.16.1, but I can't find anything or maybe it's something that I'm missing. Could you point me to one if it exists?



None.

Mar 13 2022, 9:54 pm Nekron Post #2



Here's one from... neiv, of course - http://www.staredit.net/topic/16823/
https://github.com/neivv/teippi
Doesn't work with most other plugins though




Mar 14 2022, 1:44 pm NiceNowIHaveAName Post #3



Thank you!

As I have said in this post, there's a trick to run ai_debug along teippi. What I have done to make them run without an issue is I started a new Firegraft project, then I added ai_debug as the first plugin, with teippi following next, and then I saved the project as .exe. Like this:




If you add teippi first and ai_debug second, it won't work. This reminds me of messing out with Doom 2 mods in the same manner.



None.

Mar 14 2022, 1:45 pm Nekron Post #4



I think the debug release of teippi already includes the debug

Post has been edited 1 time(s), last time on Mar 14 2022, 1:56 pm by Nekron.




Mar 14 2022, 1:52 pm NiceNowIHaveAName Post #5



I just checked, it doesn't. I pressed all keys :bleh:



None.

Mar 14 2022, 1:56 pm Nekron Post #6



You mustve gotten the non-debug one then o_o should be possible to compile debug from github, neiv included some instructions




Mar 14 2022, 2:53 pm NiceNowIHaveAName Post #7



Yep, you're right, I've gotten the non-debug version. I've been trying to compile it for a couple of minute, but I keep getting errors for both methods, for Visual Studio and python. I'm gonna try on a different machine that uses the latest versions of everything, I hope it'll work.



None.

Mar 14 2022, 6:08 pm NiceNowIHaveAName Post #8



I got to compile the .qdp file. You were right, this teippi version includes ai_debug. I have gotten one issue, though, right before the creation of the .qdp, I got these warnings in the console:

Visual Studio Community 2015 Update 3 Warnings

I managed to fix all the previous errors that occurred before during building, but not this one.

I noticed when I use this .qdp with Firegraft and the run Starcraft, Starcraft keeps hanging from time to time for small maps like Andromeda, with only 200 units. But, if I'm running it with a map that has more than 1000 units, the game starts lagging.
If I'm running it with Chaoslauncher, with more than 1000 units, the game crashes.
This behaviour never happened with before with the previous versions of teippi and ai_debug.

Do you think those warnings introduced the hanging and lagging of the game?

I attached the file below.

Attachments:
teippi debug.qdp
Hits: 0 Size: 4195.5kb



None.

Mar 14 2022, 11:12 pm Nekron Post #9



I found this build stashed away on my hard drive, you can take a look if it's any better; I think lag is expected with the dev release (depending on your machine), though I haven't really run into any with such low unit / sprite numbers as you're mentioning.

Attachments:
teippi_dev.qdp
Hits: 3 Size: 3327kb




Mar 15 2022, 10:45 am NiceNowIHaveAName Post #10



Thanks! "teippi_dev.qdp" did the trick! It works as expected with both Firegraft and Chaoslauncher.

I tested "teippi debug.qdp" on a PC way way stronger than mine and it happened the same. If the missing "freetype26d.pdb" (I have no idea how to generate it) is not the culprit for the hang/lag, then it's either something wrong with my Visual Studio's settings (which might be, since I'm new to compiling programs) or something might be wrong with the teippi source, or, as you pointed out, the PC.

Post has been edited 2 time(s), last time on Mar 15 2022, 10:53 am by NiceNowIHaveAName.



None.

Mar 15 2022, 11:29 am NiceNowIHaveAName Post #11



I suppose if I were to compile the project on the other PC, the results might've been different.



None.

Mar 19 2022, 12:21 pm NiceNowIHaveAName Post #12



I tried to map out all the commands of "teippi debug.qdp" (most of the commands apply to "ai_debug.qdp", as well) based on these 2 files:

scconsole.cpp
genericconsole.cpp


I tested the commands out only with "teippi_dev.qdp", though.
There are some commands that I couldn't figure out. You'll find them along the other commands. If you have any idea about how they work, let me know, and I'll adjust the post.

Any of you know why I get "Failed to get ImageSize" below when I'm trying to link to an imgur image?


Legend

() - is used for mandatory values
[] - is used for optional values
<> - value type
Example: number, number decimal, number hexadecimal, string
"number" is the same as "number decimal"
"..." - type what's exactly between the quotes without the quotes



The debug info is controlled through console that can be opened with the "~" key.
Some of the commands descriptions was taken from here.
The commands are ordered the same as they are presented in the help prompt:
Failed to get ImageSize ( http://i.imgur.com/9hcaBEZ.png )

spawn (unit name <string> or hexadecimal_id <number hexadecimal>) (amount <number>) (player_id <number>)
Spawn a specific amount of units for a certain player
Example:
spawn probe 10 1 - spawns 10 probes for the player with the id of 1
spawn 3d 10 1 - spawns 10 dark templars for the player with the id of 1

It doesn't work for units that have a 2 word string, for example "dark templar". Instead, you have to use the hexadecimal_id for "dark templar", which is "3d". The hexadecimal_id is derived from the decimal_id of the unit, which for "dark templar" is 61. This 61 value can be found in DatEdit, SCMDraft 2, ChkDraft and some other tools

Every time you use a 2 word string, a suggestion gets printed showing both the name of the unit and its hexadecimal_id


color bg (value <number decimal or hexadecimal>)
Sets console background color
Example:
color bg 255
color bg d1


color text (value <number decimal or hexadecimal>)
Sets help font color
Example:
color text 255
color text d1


color own (value <number decimal or hexadecimal>)
Sets command font color
Example:
color own bb


color border (value <number decimal or hexadecimal>)
Sets console border color
Example:
color border 255


color typo (value <number decimal or hexadecimal>)
Sets typo font color
Example:
color typo 255


color fail (value <number decimal or hexadecimal>)
Sets fail font color
Example:
color fail 70


crash
Crashes the game


quit
Exits the game


exit
Same as quit


cls
Clears the console display


tcr (trigger check rate <number>)
I'm not sure what this does, but I think the value it takes is expressed as milliseconds
Example:
tcr 100


trigger_speed
Same as tcr


int3
I think it exits the game in a different manner than quit


term
Same as quit


terminate
Same as quit


echo (value <string>)
Prints a given string to console
Example:
echo am I doing it right?


pid
Show Starcraft's process id


help
Prints help to console


aiscript count
Prints all the AI scripts on the map, I think


aiscript info (player_id <number>) - the player must be a CPU player
Prints information related to AI scripts
Example:
aiscript info 1 - displays information for each AI script player 1 has


gsw (value <number>)
Sets the game to wait *about* (value <number>) milliseconds between frames. Slowest working value is around 150, holding down the + key will go even faster than "gsw 0"
Example:
gsw 42 - runs game at the fastest speed


sleep (value <number>)
Freezes the game for an amount of milliseconds
Example:
sleep 5000 - freezes the game for 5 seconds


cmds
Same as help


heal
Select at least a unit/building (own/enemy/neutral) and type heal to restore its full health


kill
Select at least a unit/building (own/enemy/neutral) and type kill to kill/destroy it


give
Select a unit/building, not yours, and type "give" (unit's color won't change when it will become yours) for it to become yours


vis
Reveals AI's visibility (perhaps all players' visibility, since I haven't tested it with other human players) under the Fog of War


u
Select a unit and then type "u" to see options
Options:


u ai
Select a CPU's unit and type "u ai"


u flags ["v"]
Select a unit and type the command/s to shows related flags about a unit
Examples:
u flags
u flags v


u id
Select a unit and type the command to show a unit's id and its lookup_id
Example of results that might get displayed:
Unit id: 9a, lookup id: 0000003e


u ("f"/"find") (lookup_id <number hexadecimal>)
Use the lookup_id value provided by "u id" to find the unit behind the value on the map. Once the command is triggered, it jumps on the map to the unit's location.
Example:
The example for for "u id" above has "0000003e" as the lookup_id, hence we can use:
u find 3e
or
u f 3e


unit
Same as u


supplymax
Sets your supply to half of a given value
Example:
supplymax 600 - sets your supply to 300


self
Prints to console the game number
It shows different things for, I think, when you're playing alone or when you're in a network game


airegion
airegion (player_id <number>) (region code <number hexadecimal>)
Displays the state and the flags that an air region has for a player (I think it has to be CPU player)
Before using airegion, type "show regions" in the console.
Example:
airegion 2 c5 - c5 is not the number in the parentheses. See picture:

Failed to get ImageSize ( http://i.imgur.com/ng1p6pL.png )


aireg
Same as airegion


player
Select a player's unit/building and type "player" to print the ID of the respective player


money
Prints your minerals and gas


money (player_id <number>)
Prints a player's minerals and gas


money set (player_id <number>) (minerals <number>) (gas <number>)
Gives a player resources
Example:
money set 0 500 1000 - gives 500 minerals and 1000 gas to player 0


resources
Same as money


supply
Select a player's unit and type supply to see that player's supply


supply (player_id <number>)
Type "supply" along with a player's id
Example:
supply 0


frame
Prints the frame count


pause
Pauses / unpauses the game


show nothing
Hides any info on the screen related to "show"


show fps
Shows frames per second in the top right side of the screen


show frame
Shows frame count in the top right side of the screen


show regions
Shows the pathfinding regions. Useful with "show ai player (player_id <number>)", which shows extra info for each region


show locations
Draws location borders on the screen


show paths
Draws the paths of the units on the screen


show collision
Draws the collision boxes of the units as a rectangle


show coords
Shows different kinds of coordinates (game, mouse, screen) in the top right side of the screen


show range
Draws an *approximation* of a unit's range as a circle. BW's distance algorithm causes the range to be more of a 12-gon than a circle, so the shown circle is not perfect representation

Failed to get ImageSize ( http://imgur.com/vtolZoc )
Source


Source


show info
Show different kind of info (units, bullets, sprites, images) in the top right side of the screen


show bullets
Shows bullets on impact as rectangles on the screen. Attack a unit to see it in action


show resareas
Shows the base resource areas, which are locations the AI will be able to expand to


show ai
(Abbreviation sai)
Toggles the main debug output on/off. Shows the request queue of AI players in the top left corner, the AI will always only look at the first request on the queue until it can start working on it, or discard it completely


show ai full
Show all AI info


show ai simple
Turns off "show ai full"


show ai named
Shows named AI


show ai raw
Turns off "show ai named"


show ai units
Abbreviation saiu)
Draws lines from each AI unit to their related location. For workers and buildings the line shows their town, for military it shows the current region they are allocated to, and guards show their home point


show ai guards
(Abbreviation saig)
Shows guard positions, for both alive guards and ones that the AI tries to build


show ai player (player_id <number>)
Abbreviation saip (player id <number>))
Limits debug info to specific player and shows region info of a player. The player_id is 0-based, you can also use "player" command to show what player owns the currently selected unit


show ai player all
Reverts "show ai player (player_id <number>)"


show orders all
Shows the orders of all the units on the map


show orders selected
Shows the orders of the currently selected unit


dc
dc = death counter
Prints this:
dc["?"|";"] <unit name or hex id> [player id, player id, ...]


dc? (unit_name <string> or hex_id <number hex>) (player_id <number>)
Prints the death counter of a unit for a specific player


dc; (unit_name <string> or hex_id <number hex>) (player_id <number>)
No idea what it does


dc;;
Death counter clear (doesn't seem to work)


It seems to be more to the dc command, but I don't know how it all works

grid
Creates a grid on the screen providing a width, height and a color
grid ("+"|"-") w <number> [h <number>] [color <number decimal or hexadecimal>]
Example:
grid + 10 10 0 - draws a grid using 10 by 10 squares of beige color
grid - 10 10 - removes the previously created grid


test -1
Print how to use test. You must be in an on-going game for this to work


test all (value <number>) (repeat <number>)
test (begin_id <number>) (end_id <number>) (repeat <number>)
Not sure how these work


test ai_tgtprio
No idea what this does


ais_exec (player_id <number>) (bytes <number not sure if hex or binary>)
Not sure what this does


Post has been edited 2 time(s), last time on Mar 19 2022, 12:33 pm by NiceNowIHaveAName.



None.

Mar 20 2022, 2:46 pm Nekron Post #13



Nice, it's good to have it all in one place for future reference. Thanks!




Mar 21 2022, 10:26 am NiceNowIHaveAName Post #14



You're welcome! :P



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[10:50 pm]
Vrael -- Ultraviolet
Ultraviolet shouted: How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
hey cut it out I'm getting all the minerals
[10:11 pm]
Ultraviolet -- :P
[10:11 pm]
Ultraviolet -- How about you all send me your minerals instead of washing them into the gambling void? I'm saving up for a new name color and/or glow
[2024-4-17. : 11:50 pm]
O)FaRTy1billion[MM] -- nice, now i have more than enough
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- if i don't gamble them away first
[2024-4-17. : 11:49 pm]
O)FaRTy1billion[MM] -- o, due to a donation i now have enough minerals to send you minerals
[2024-4-17. : 3:26 am]
O)FaRTy1billion[MM] -- i have to ask for minerals first tho cuz i don't have enough to send
[2024-4-17. : 1:53 am]
Vrael -- bet u'll ask for my minerals first and then just send me some lousy vespene gas instead
[2024-4-17. : 1:52 am]
Vrael -- hah do you think I was born yesterday?
[2024-4-17. : 1:08 am]
O)FaRTy1billion[MM] -- i'll trade you mineral counts
Please log in to shout.


Members Online: jun3hong, Zergy, Ultraviolet