nestharus / JASS

MIT License
31 stars 8 forks source link

You don't accept PM's #17

Closed Arhowk closed 10 years ago

Arhowk commented 10 years ago

LUA doesn't work, silly.

nestharus commented 10 years ago

it does work -.-

Arhowk commented 10 years ago

no it doesnt

nestharus commented 10 years ago

if you have a legit installation of wc3, it does...

it's really not good to have like 128 abilities use constant ids... that's a lot of abilities

just use my Lua stuff to generate, I can test it for you >.>. I have legit wc3 :)

Arhowk commented 10 years ago

I'm almost certain that my desktop is legit, still no work. What good is it if only yours works and everyone else doesn't?

If anyone has issues with overwriting they/I can just change the prefix on the abilities

nestharus commented 10 years ago

Run NewGen as admin. Be sure that your registry contains information as to where wc3 is.

Arhowk commented 10 years ago

I'm not using lua. This isn't really up for discussion.

nestharus commented 10 years ago

Then I'm not using your resource, lol.

Also, if you can run the things directly, line by line (much slower), you can create a Lua script that you can use that generates those lines 1 by 1 and then runs them. You don't have to use an external block. The external block with the object merger is the thing that doesn't work for some machines (which I've fixed on all of mine by doing legit wc3 installations instead of cnping my wc3 copy all over).

Arhowk commented 10 years ago

That's fine. I'm not going to spend hours on every noobs pc fixin lua for them so that I can have my system in an unpopular WmW copy.

My scripts don't take that long -.- it's one 15second auto installation, boo hoo.

Arhowk commented 10 years ago

Btw you've got I t backwards. ObjectMerger works anywhere but LUA is

nestharus commented 10 years ago

er.. Lua works anywhere. Certain external blocks do not. You can generate your script using 1 liner object merger and then evaluate it -.-. This ensures unique ids. You, Arhowk, can most certainly use Lua scripts in an external block like the exporter (the one LUA_FILE_HEADER uses).

One such external block that does not work everywhere is the object merger. This is because when it runs, it looks in the registry for the war3.mpq or whatever.

So, to me it appears that you are just being lazy here.

Generating like 128 objects that aren't guaranteed to be unique and expecting the users to go through all 128 or so to make sure that there are no collisions is ridiculous. Then if they change something, they have to go all throughout your code and change it everywhere. You're telling me that's the good way to go? That's asinine.

Why 128? To make integer calculations faster (you won't have to change base, you can change bit grouping instead). I'd even go 256, a full byte. This will increase file io operations a bit, but that's ok. The main bottleneck is in networking.

edit also, when I said using your resource, I didn't mean the map. Remember, I have a lot of stuff having to do with codeless save/load.

nestharus commented 10 years ago

Oh, it's also possible to actually run either the faster external block way or the always work way.

http://www.lua.org/pil/8.4.html

maybe the object library thing should be updated, eh?

Arhowk commented 10 years ago

I still think you're not analyzing the two enough.

LUA: Doesn't work on nearly 100% of all computers, the Hive even deleted all resources that used LUA. I dont know LUA. Estimated time that I spend on each person getting LUA installed: an hour, considering it even works. 0% of the time a UniqID problem

ObjectMerger: Works on most computers that Ive seen. I know ObjectMerger. Estimated time getting each person setup on ObjectMerger: 0 minutes. Worst case scenario, revert to last backup and I send them a script that uses different uniqIDs.

as far as syncing is concerned, I'm only focusing on strings right now.

nestharus commented 10 years ago

Bro, I was the one that ordered the gying of the Lua resources.

I know exactly why Lua does not work and what specifically in Lua does not work.

You can use Lua for your purposes. Just don't use an external block using the object merger and you'll be fine. To do this, you make a Lua script that generates JASS code that essentially does the script you're already doing, but with dynamic ids. How hard is that?

I developed all of the Lua stuff, I know what I'm talking about.

edit doh, generating the object ids themselves still requires an external object merger block.. so I dunno how you'd do it then. You can probably execute the exe directly, passing in the wc3 mpq location. This'll be slightly more challenging : )

Arhowk commented 10 years ago

The only ID used in the code is the ID of the spellbook that contains the other spellbooks. Literally takes 8 key presses to change it.