| 06-07-2003, 04:33 PM | #1 |
Hello, Uncle... Uncle... Uncle... Recently with FMVH, weve tried taking all of our units and putting them into .slks and text files for reasons I listed in another post. This process was pretty new to us and it was not only physically painful, but it cost an arm and a leg of development time. Anyway, now that its mostly 'done' I still have problems getting the things to run properly. And im wondering if anyone can help. Basically the unit set has 3 bugs: 1. Unless we delete the .w3u file from any map the game will crash upon loading that map. 2. In-game, no unit is capable of damaging any other unit, although they attack normally and respond to the attacks. 3. Whenever the game exits, restarts or loads another map, it instantly crashes when unloading the map. If anyone has experienced this problem before and has a solution then your help will be most appriceated, and ill make a very special mention of your name in the credits for the completed project. Thanks, FM_TertiaryEye |
| 06-07-2003, 09:40 PM | #2 |
I also have done the same as you for the cube, all works like a charm for now apart from a summoned unit, the summon spell launches and the summoned unit doesn't appear (didn't edit AbilityData.slk) As for your problems : 1) Don't worry, it makes sense to delete your w3u, unless you make your custom units with your files in the Units subfolder of warcraft 3 with local files ebables under worldeditor. Remember that changing these slk & profile files change the "basic units", they are not considered as custom ones by warcraft / worldeditor 2) I don't understand. I have quickly done a blank map placing most of your units to player 1 and a few above for player 2. All your units having an attack actually do attack when asked to. Some miss a missleart, but thats because your didn't specify it. Here is the file : http://chrydgod.free.fr/cube/TertiaryTest.w3m IMPORTANT : Please explain your problem a bit more in detail. 3) I am unsure about the reason of that problem, and i experienced it with your files too. I am still trying to find out, i'll keep you updated. THIS said : For editing all slks, i recommend (it also avoids corruption of slks) to save them as xls until you need to test them. Keep an xls version of your slk, then when needed, copy them all in your Units folder and open them all saving them as slk (symbolic link). Don't rename them. I am still investigating your fields to see if you entered an incompatible value. I'll let you know if i find out. Regards [Edit ] I have noticed something strange : all your missile arts have an mdx extension. They should all be mdl God knows why it still works, but i just wanted to point that. |
| 06-08-2003, 04:41 AM | #3 |
Hey Chyrd, Thanks for Responding. ================================= 1) Don't worry, it makes sense to delete your w3u, unless you make your custom units with your files in the Units subfolder of warcraft 3 with local files ebables under worldeditor. ================================= Yeah it makes sense, but it's quite odd that its required. My opinion is that the editor cannot correctly interpret the new sets of units, and when it saves them it corrupts them. Ive noticed that, at least on my machine, when i try to save a new map, it tells me that it cannot write the w3u. file correctly and the new map won't save. Do you have the same problem with cube defense using this technique? (The needing to remove the .w3u to avoid crashing, and the not being able to save new maps?) ================================= I don't understand. I have quickly done a blank map placing most of your units to player 1 and a few above for player 2. All your units having an attack actually do attack when asked to. Some miss a missleart, but thats because your didn't specify it. IMPORTANT : Please explain your problem a bit more in detail. ================================= OK, so i tested out the map you made and it sort of did the same as the map i had previously. What happens is that when one unit attacks another, no damage is done. The victim units hit points remain the same. If that works on your PC, then its something else i have in my environment thats messing it up. ================================= I am unsure about the reason of that problem, and i experienced it with your files too. ================================= Thanks a lot for the help Chyrd. Consequently, If theres anything i can help you with in ways of triggers or spells, then let me know. Eye MDX is a valid extension, its just a compiled MDL, they are interchangeable as far as i know. Although in the editor, it appends .mdl to whatever path you put in. |
| 06-08-2003, 05:00 PM | #4 |
Hey Chyrd, I ran another test, this time leaving out all the unnecessary elements, and it turns out that something else was affecting the units ability to damage each other. This, i believe is likely a model, but im going to continue the elimination process.l So as it stands, everything seems to be working fine so far. And as rippy jokingly said about the crashing after the game. "This feature has long been implemented, dont think that 3.0 will be the first one to do it" hehe. At least now i can continue development, thanks. Eye |
| 06-08-2003, 05:54 PM | #5 |
First my New version of Cube NE now works like a charm, the summoned unit just had the wrong unit code (nske instead of uske !). All that i have to fix left is the fact that imported CliffTypes.slk and Doodads.slk suffer from the same problem as UnitMetaData.slk on bnet : the map has to be the first one played for these 2 injections to be validated by warcraft 3. I am looking for a way round. Now, to get back to your own project : - I made a new map with my cube's unit set slks&profile txts as local files. I made a new unit based of one of the custom units. Saved the map, adding a few testing units. The map correctly saved the .w3u file, the map worked too. But the "Custom" unit with modified fields in Unit Editor lost its movement and attack. Only the model, hp & mana changed. Also, the spells didn't work either. Here is my conclusion : There must be something you did wrong somewhere, explaining why your map crashes on exit and ALSO (same problem i bet) why you can't same a map with custom units based on your unit set (error exporting to w3u). I recommend looking deeper in your slk & txt files. I will also test them a little bit in parallel and keep you updated if ever i find anything suspect. Queston : have you actually changed anything in your unit set slk & txt files while fixing your attack problem ? [edit] I have tried the same for your unit set. Saving a map with new custom units work, w3u exportation does too. There must be another file or factor causing this problem on your side. This said, only the error when exiting remains as a real issue. I wonder what field causes this. Regards |
| 06-08-2003, 06:36 PM | #6 |
My explanation for the W3U problem: If you implement modified SLKs AFTER editing the unit data via WE (=> W3U will be created), it causes problems, because the W3U saves only CHANGES to the original unit data stored in the SLks. So it can't process a change that is compared to another set of SLKs. |
| 06-08-2003, 07:07 PM | #7 |
Did you actually make custom units or edit basic units with your map before writing your unit set slks and txts ? That would be the reason, as explained by starcraftfreak, why you would be having issues with it. If not, it has to be something you did not related to the unit set files. By the way, i haven't located the problem, but it definitely seems to be in one of the two main files, UnitUI.slk or UnitMetaData.slk Regards |
| 06-08-2003, 07:09 PM | #8 | |
He said that he did so (not explicit, but read this:): Quote:
|
| 06-08-2003, 07:20 PM | #9 |
This said, a fix for the w3u files would be : 1) create a new map with the default unit set 2) change the peasant (also present in your unit set) hp to 1 3) save the map 4) extract its w3u file 5) implement it in your map 6) open your map with YOUR unit set as local files 7) Restore the peasant default hp Voila, you have a clean w3u file to use with your map ;) Regards [edit] Oh well forget it thats useless, just delete the w3u file. If you ever try to create a new custom unit or change existing fields with your unit set as local files, it will create a new dedicated w3u. The reason why it i useless is that a map with no custom unit doesn't have a w3u anyways. |
| 06-15-2003, 02:28 PM | #10 |
@ FM_TertiaryEye I've just come over the same problem that you had with your map. I have also added new units via SLk editing and now if a unit attacks another unit in my map (no matter which unit it is) they don't deal damage. What exactly did you do to get rid of the problem? Can you remember? Has it something to do with version 1.6 (the map I'm talking about was created before I patched Warcraft)? Or should I remove the w3u file? |
| 06-16-2003, 02:01 AM | #11 |
I must admit i was asking myself the same question, even though i didn't experience that pronlem. It would be nice to know most of the possible issues with complete SLK & TXT editing, as this method proves to be the only one available to make completely custom units in maps that can be played on bnet. FM_TertiaryEye : Have you found out the origin of that problem ? Regards |
| 06-16-2003, 11:46 AM | #12 |
After some tests I found out that the units not only don't deal damage, they don't even attack. Well, you see that they are attacking, but I made a trigger with the unit is attacked event and it didn't fire although they were seeming to attack. So I guess it can be something like Aquiring Range or the new damage type of version 1.6. I also deinstalled WC and reinstalled it, patched it to version 1.5 and everything worked perfectly. So I guess there might be an incompatibiility of my units with the new damage type or somthing. |
| 06-19-2003, 05:33 AM | #13 |
Ok, the crash was simply caused by something that i overlooked. Bascially the unit set will crash upon exiting a map if an entry is found in unitUi that is not found in unitdata.slk. My theory is that the whole unit dataset is driven by unitdata, and likely hashed up into a table of sorts. so if your unitdata has: hpea | aaaa | bbbb | cccc and your unitui has hpea | aaaa | bbbb | dddd Then i believe that when the game goes to unload its unit models that it uses unitUi explilcitly and when it gets to dddd and tries to hash it in the unit set, it gets a nullpointer and crashes. Anyway, regardless of how this actually works, just keep a consistent set between both files. Heres a good way to test this... When you complete your units take all of your units from unitdata and paste them into a column of unitui (like sort or something useless), and next to them paste in a formula like so... =If(A1=B1,""."warning") If A1 is your unitui id's and b1 is the id set you pasted in from unitdata and you fill down for your whole set.. you will see immedateely if there are any inconsistencies. Dont forget to remove the formulas when you are done though, lol. Anyway, thanks to everyone who helped. Eye |
| 06-19-2003, 03:23 PM | #14 |
Well .. actually I did never experience such a crash I was talking about the Units-Don't-Deal-Damage-Bug. You said you solved the problem but how? |
| 06-19-2003, 04:14 PM | #15 |
OK, this bug is related to corruption in unitbalance.slk. If you have a working unit set to start with.. and you remove an entry from unitbalance.slk then the unit will be unable to take damage at all. So naturally, i would compare, entry per entry, in the method i described earlier to see if there are any inconsistiencies. Unless you have units that are invisible casters, invulnerable projectiles or just standing around like doodads, I cant see any reason for the unit id's to not be identical across unitdata and unitbalance. Eye |
