Staredit Network > Forums > Modding Assistance > Topic: First mod crashes horribly [solved using ugly method]
First mod crashes horribly [solved using ugly method]
Jan 1 2017, 11:47 pm
By: DirectShift  

Jan 1 2017, 11:47 pm DirectShift Post #1



Hello guys!

So, I just followed the tutorial named "How to Write a Starcraft MOD" with all the steps for a super easy modification:

- disabled shields for zealot
- zealot now has 60 hp
- zealot is a medium sized unit

I compiled the mpq, loaded it with mpqDraft, and it totally crashes!!

What info can I give so you can assist me here?

I'm using starcraft broodwar downloaded by torrent (cd version) with the 1.161 Patch.

Thank you guys!!

Post has been edited 1 time(s), last time on Jan 2 2017, 1:38 am by DirectShift.



None.

Jan 2 2017, 12:03 am Dem0n Post #2

ᕕ( ᐛ )ᕗ

Can you attach your mpq so we can take a look at it?



Memes gather, and now my watch begins. It shall not end until my death. I shall take no wife, hold no lands, father no children. I shall wear no crowns and win no glory. I shall live and die at my post. I am the sword in the darkness. I am the memer on the walls. I am the shield that guards the realms of memes. I pledge my life and honor to the Meme's Watch, for this meme and all the memes to come.

Jan 2 2017, 12:35 am Pr0nogo Post #3



If those are the only changes, it should only income changing the units.dat file. Is your file imported to the correct path in the mpq? arr/units.dat should be it.

Where does it crash? During gameplay? Upon start-up? As soon as a zealot is on screen? Do you have any files besides the units.dat file in your mpq?




Jan 2 2017, 12:55 am DirectShift Post #4



Thanks for your answers, just tried it again but doing a modification on weapons.dat (gauss riffle of normal marine now does 26 damage) but didn't work neither.

It crashes the moment I do "finalize" on mpqdraft, using "load mpq patch" option.

I'm totally clueless, maybe the starcraft versios is not compatible?



None.

Jan 2 2017, 1:01 am Dem0n Post #5

ᕕ( ᐛ )ᕗ

The changes you made will work on any version, so that's not the issue. Are you properly selecting the Starcraft directory on the first screen of MPQDraft? Maybe you're choosing an invalid path or something.



Memes gather, and now my watch begins. It shall not end until my death. I shall take no wife, hold no lands, father no children. I shall wear no crowns and win no glory. I shall live and die at my post. I am the sword in the darkness. I am the memer on the walls. I am the shield that guards the realms of memes. I pledge my life and honor to the Meme's Watch, for this meme and all the memes to come.

Jan 2 2017, 1:06 am DirectShift Post #6



Yes, the path is correct.

Not sure if this helps... but.. this is the error

https://postimg.org/image/aphq057ix/

and I'm attaching the mpq (this is another one, the only modification is in units.dat -> marine with 90hp...)



None.

Jan 2 2017, 1:37 am DirectShift Post #7



OK, so I uninstalled starcraft and deleted everything.

Then installed it again, applied last patch (1.16.1 I think).

Followed the tutorial again but... nothing... NADA, didn't work.

HOWEVER, I managed to make it work using a "dangerous" method.

I just picked up the Patch_rt.mpq and DIRECTLY added the units.dat there... and voilá... just opened starcraft.exe normally and it worked.

So, for the moment I will stick to this UGLY method, haha!!

Thank you guys!



None.

Jan 2 2017, 1:41 am Dem0n Post #8

ᕕ( ᐛ )ᕗ

If you post your mpq file, we can tell you exactly what you're doing wrong so you don't have to use that 'ugly' method.



Memes gather, and now my watch begins. It shall not end until my death. I shall take no wife, hold no lands, father no children. I shall wear no crowns and win no glory. I shall live and die at my post. I am the sword in the darkness. I am the memer on the walls. I am the shield that guards the realms of memes. I pledge my life and honor to the Meme's Watch, for this meme and all the memes to come.

Jan 2 2017, 1:56 am DirectShift Post #9



OK, here it is.

Attachments:
dalecarlos.mpq
Hits: 2 Size: 22.29kb



None.

Jan 2 2017, 5:57 am Pr0nogo Post #10



If it's crashing upon finalizing in MPQDraft, it's definitely a problem with your programs and not with your modded files. I was able to commit the changes fine when using the mpq you provided.

Make sure you're running everything as administrator. Try using mpqdraft to compile it as a Self-Executing MPQ (SEMPQ) and see if you have any better luck with that. If that still doesn't work, get FireGraft, make a new project, and save it as a new .exe, importing your mpq into it when it asks for one.




Jan 2 2017, 6:59 pm Neiv Post #11



If you didn't download your MPQDraft from https://sourceforge.net/projects/mpqdraft/ it might be an older version which can cause a crash like you're seeing.



None.

Jan 5 2017, 12:26 am DirectShift Post #12



Thanks for the answers.
I might use Firegraft



None.

Options
  Back to forum
Please log in to reply to this topic or to report it.
Members in this topic: None.
[06:25 pm]
m.0.n.3.y -- Here's another question. I'm using switch randomization for powerups. There are 9 powerups, and I only want any of the powerups to appear only about 30% of the time. So I was just going to use 5 switches for a total of 32 options and have the other 23 results restart the randomization process. Is there a better way to do this?
[06:04 pm]
m.0.n.3.y -- NudeRaider
NudeRaider shouted: m.0.n.3.y Pro and Demon already gave correct answers, but let me add a pretty elegant way: Have the detection trigger owned by whoever is convenient for you. A single computer player, a force, all players - it doesn't matter. Now detect for the arbiter in conditions - also doesn't really matter how. In actions just set a dc to 1 for all players or the force that should have the text displayed. It will set the dc for each player to 1 individually. Because of this you can make a 2nd trigger that checks for the dc for current player and remove the dc for current player afterwards.
Ok that makes perfect sense NudeRaider
NudeRaider shouted: This method also has a bonus use: If you detect the arbiter in conditions for current player (set trigger owned accordingly!) then you can do the following: Add 1 to dc for current player AND add 1 to dc for all players. And in your 2nd trigger you can distinguish between players that just are informed and the player that actually had it, because their dc will be 2 instead of 1. So you can give them an additional reward or something dynamically.
Wow that's awesome! I'll definitely be doing this. Thanks for the tip, that's really cool
[05:29 pm]
NudeRaider -- This method also has a bonus use: If you detect the arbiter in conditions for current player (set trigger owned accordingly!) then you can do the following: Add 1 to dc for current player AND add 1 to dc for all players. And in your 2nd trigger you can distinguish between players that just are informed and the player that actually had it, because their dc will be 2 instead of 1. So you can give them an additional reward or something dynamically.
[05:27 pm]
NudeRaider -- m.0.n.3.y
m.0.n.3.y shouted: NEW QUESTION: How is it possible to show text to all players when something occurs? EX: Player 1 builds an Arbiter. Trigger says, When player 1 builds an Arbiter, do something, then remove the Arbiter. Now, I'd like text to show for all other players when P1 builds an Arbiter that says "P1 built an arbiter!". But how is this possible when the the original trigger that detects if P1 built an Arbiter then removes the Arbiter in it's actions? Like, the Arbiter is detected as built, then Action occurs for P1, then Arbiter is removed. So how can you detect if the Arbiter is built to show text to the other plays saying "P1 built an Arbiter" if the other trigger quickly removes the Arbiter? Does that make sense?
Pro and Demon already gave correct answers, but let me add a pretty elegant way: Have the detection trigger owned by whoever is convenient for you. A single computer player, a force, all players - it doesn't matter. Now detect for the arbiter in conditions - also doesn't really matter how. In actions just set a dc to 1 for all players or the force that should have the text displayed. It will set the dc for each player to 1 individually. Because of this you can make a 2nd trigger that checks for the dc for current player and remove the dc for current player afterwards.
[05:22 pm]
NudeRaider -- that's why the All Players thing is neat: When one player runs a wait, their copy of hypers will actually be blocked. But the hyper effect will not be disrupted because the hypers of all the other players are still running.
[05:21 pm]
NudeRaider -- *running at the same time for the same player.
[05:20 pm]
NudeRaider -- m.0.n.3.y
m.0.n.3.y shouted: Mini Moose 2707 Shit. Ok what are the exact circumstances where using wait triggers causes wait blocks and messes things up? EX: If player 8 is a computer and has hyper triggers at the bottom of his list, can I use a few of triggers on each human player 1-6 with a few waits each lasting 50 - 1000ms? I've read the articles in SEN Wiki but still not super clear on it :/
simple: 2 waits running at the same time. Hyper triggers constantly block each other, but they have no other purpose than to force another trigger loop, and stay in that "blocking each other" state as long as possible (=NEO)
[05:17 pm]
NudeRaider -- Dem0n
Dem0n shouted: It's recommended to never use waits if you have hyper triggers.
yes and no. If you have to ask: yes. If you know what you're doing, you can use them in a non-disruptive manner.
[05:15 pm]
NudeRaider -- m.0.n.3.y
m.0.n.3.y shouted: ALSO: @NudeRaider for your "other setup" you mean give the hypers to the "All Players" player checkbox, not to each player individually, right?
That's equivalent. At the start of a game sc parses triggers and creates copies of triggers owned by player groups (forces and all players) to each player that is part of that group. During runtime there's only individual trigger owners.
[04:04 pm]
m.0.n.3.y -- Dem0n
Dem0n shouted: That won't work. And it's one extra trigger with 2 actions. Hardly extra work.
You're right. Thank you!
Please log in to shout.


Members Online: Roy, m.0.n.3.y, Wing Zero