Author Topic: Easycompany  (Read 43318 times)

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #60 on: May 21, 2017, 11:08:27 PM »
Well for example not actual values!

[Death and Decay]
tab="dnd spell"
input=DECIMAL
output=1
address=0x004A1CAE,0x004A1CAE
limit=0,250
default=25,26
checked=1

1. So to replace death and decay with blizzard I would need to input 2 addresses and 2 values.

Currently, each entry only changes one address (its just an alpha), however I will add the option for multiple changes to the "SELECT" input method for the next release. Good point and not hard to add.

I notice you have the same address twice there - I'm assuming thats just for this made up example and they would normally be different (in fact I just re-read and you said that), anyway for multiple options for what to write at a single address the look at the "SELECT" input type on the example tab.

2. Also should be a comment section where we can add lists of addresses & values.
You mean in the ini file itself? or included in the mods section that is written to the pud? ... both worthwhile ideas.

Certianly I have been planning to use the semicolon [;] as a comment delimiter to allow comments in the ini file, but just havn't got around to it yet - currently any text that is not part of a valid definition will cause an error.

It would also be good to have 2 text sections available to be saved with the PUD:
 - Comments for other modders and interested people that would appear on the LiveMod console log
 - An intro message that would be displayed on the screen for all players at the start of the game that would explain a bit about the particular map/mods


3. I see the format is in decimal, can we use Hex? That would be great and save time from converting all current research.

Of course :)
change "input=DECIMAL" to "input=HEX"
That sort of stuff is all up to you.
Have a look at the entries for the "example" tab in the ini file

There is also a "scale=" option where you can set a multiplier to be applied to the input value before it is saved, for cases like the gold amount in mines that is written to PUD files. I dont know if we will need this but it's there.
e.g.
   with "scale=3" inputing 10 in the editor would save a value of 30 for the mod
   or "scale=0.5" inputing 88 in the editor would save a value of 44 for the mod etc....

Here's the basic outline of the format so far:

[Name]
tab     = (tab title)
input   = DECIMAL|HEX|TEXT|SELECT
limit   = min,max
scale   = (multiplier)
select  = "item",(value)
output  = 1|2|4|Sz|USz
address = (write address)
default = (initial contents)
checked = (BOOL: initially active)


It still needs documenting properly.

"output" types are
   1-BYTE
   2-WORD
   4-DWORD
   Sz-ANSII STRING
   USz-UNICODE STRING

Obviously "select" items only work with input type "SELECT" .... the "item" part is what will appear in the editor combo-box, then after the comma is the value will be written if that item is selected.

output to "Sz" (ANSII string) or USz (UNICODE string) requires "TEXT" input.

4. Is there a reason the range is from 0 to 250 instead of 255?

Nope. That's just what I typed in when I was quickly making a test ini file. If the acceptable range is 0-255 or 1-255 or whatever then it should be changed to that. I'm hoping that our awesome modding community will help work out things like that :D

5. Now the hardest part. For example what if I would want a address to be triggered apoun certain conditions? So I have an address that changes the icons for units so a peon could have a mage icons(attack, move, blizz, fireball, etc.) The current set up would force all units and buildings to have those icons. So if we could add some mini scripting this would be pure ownage.
There is a string value in a memory location that changes to peon, mage, barracks when you click on them in game. We could then use that!
My psudocode idea
If selected = peon then
Call icons
End else
Call defaults
End

Something like that would be amazing! Think of all the possibilities. You could add the scores of each player in game and reward them with onscreen, or whatever the possibilities are endless.

Yes, scripting like this would be very cool, and it is ultimately possible, however that's a whole extra layer on top of what will be the first release. Might add this for version 2 if I get time... never know, see how we go.

It would not be cheat proof because a person could edit the ini.... but if you networked the exe and said everyone has to use the hosts ini file boom!

.... the .ini file is only to configure the editor. The editor writes the mods to the PUD file and it is the mods in the PUD file that are applied to the game, so when you play the map everybody has the same mods (from the PUD) and the .ini file has nothing to do with it.

yall nerds 

Hehe - yes indeed  ;D

my mouse icon better not turnto a  :critter:  >:(

OMG! :D That is a FREAKIN AWESOME idea! Ima do it!!

ok ruffed them all to this one value im just guessing shit right now.....heal does heal lol lust works also haste does to on canon towers guard..should of released this first :/

95f70-95fc0 =70 22 44  "on for buildings?"

but great got this little part out of the way and what it kinda is ...spell affects which type units.

Sonds cool. Not exactly sure what you are saying here, but I suspect "95f70" etc. are file offsets, so you will have to convert them to process addresses.

    --> Fortunately for most of the WC2 exe this is very easy - you just put a "4" in front of it .... i.e. 0x00495F70. This is because the image base is 0x00400000 most sections have the same value for "VirtualAddress" and "PointerToRawData" in the IMAGE_SECTION_HEADER structures. The exception is stuff in the .rsrc section .... but I can help with that later if need be.
its gooder to hax hard and NEVER get caught!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #61 on: May 22, 2017, 01:41:07 AM »
but if yall wanted to make a stand alone exe part it wouldnt be as big as the pud editors,just not a whole lot of usefullness stuff as the pud afaik

Oh... now I see what you're saying....

Good news, mate  :)

That is the point of LiveMod. The editor can add a new section to a PUD file. The new section lists all the mods for that map. So then when you play the map, the LiveMod.exe automatically mods the Warcraft II EXE in memory, while it is running. Then when you leave that game it reverses the mods and puts the EXE back to normal.   :critter:

Of course all the players must be running LiveMod.exe so they all get the same mods, otherwise people will desync and drop.

So instead of having to distribute a modified EXE file, people just have to download LiveMod once, and then modders can configure the editor for whatever mods they can come up with, and map-makers can add whatever mods they want to each PUD file so then it all happens automatically...  :fro:


its gooder to hax hard and NEVER get caught!

Offline Delete mine too

  • Death Knight
  • *********
  • Posts: 2652
  • http://meatspin.com
    • View Profile
    • http://meatspin.com
Re: Easycompany
« Reply #62 on: May 22, 2017, 09:35:19 AM »
I can't wait to get version 2 up in this bitch. :)

Go lambchops, go lambchops....

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #63 on: May 22, 2017, 10:09:13 PM »
all this has to do is spell swap

please explain? is there something that you need to change that you can't change?

ahh it needs to be online?

The internals locations for many things are different for multiplayer/siingle player games.
Some are the same, however if you are looking for multiplayer mods there's not much point testing in single player mode as they might not work.


its gooder to hax hard and NEVER get caught!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #64 on: May 24, 2017, 01:34:24 AM »
ok lamb  ;D  any way to hide the value box? im just doing some spell test like ...ex Heal2Lust checked it replaces so users wont crash with bad spells...got my own little spell tab this is great !!!

well it can stay open no biggie..so users least see what its writing.

we'll ok to work some spells, there is 2 value spots so i had to do a 1 and a 2..

well tried to bypass with the text and sz :P most values in the exe has  3 parts 00 00 00

but still good enuff.

hehe, just tried out the heal2lust thing - cool :)

   ------------

For slow, you are witing 2 values to consecutive bytes
49615C and 49615D .... so what you are actually doing
is writing a WORD (2 byte) value at 49615C, so you want
to change it to "output=2".

[Heal2Slow]
tab="knights"
input=HEX
output=2
address=0x0049615C
limit=0x29E0,0x29E0
default=0x29E0
checked=0

--------------------

You can see here that I have limited the allowed value to only that correct value, to avoid mistakes....

But as you do not need to enter a range of values, it would be better as input="SELECT". Try this:

[Change Heal to:]
tab="knights"
input=SELECT
output=2
address=0x0049615C
select="slow",0x29E0
select="bloodlust",0x2CF0
default=slow
checked=0



Actually, doing that I've just noticed that the combo-box for selection isn't displaying properly - you can still use the little "up/down" arrows to make it work though.... I'll get that fixed.
its gooder to hax hard and NEVER get caught!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #65 on: May 24, 2017, 01:37:48 AM »
Currently, each entry only changes one address (its just an alpha), however I will add the option for multiple changes to the "SELECT" input method for the next release. Good point and not hard to add.

... what I mean by this is... so for example we can change the spell to lust AND the icon to the lust portrait AND the hotkey to 'B' all at once.
its gooder to hax hard and NEVER get caught!

Offline Igognito

  • Axe Thrower
  • ****
  • Posts: 406
    • View Profile
Re: Easycompany
« Reply #66 on: May 24, 2017, 09:09:27 AM »
Hey guys, can you make heal increase the max hp of a unit?
This way, heal would be a perfect before battle spell!
It could become OP but if you can make it to do only double original HP then it should be fine :-D

Tell me when I can test some of your stuff :-D and what I need to do?

Cheerios

Offline Incos

  • Axe Thrower
  • ****
  • Posts: 253
    • View Profile
Re: Easycompany
« Reply #67 on: May 24, 2017, 04:45:06 PM »
do heal cost 1mp, its as powerful as ive got it to do yet...not a lust killer but dam better than 6mp.(i think computers become invince with this  :P )

oh no it cant increase hp :(,maybe with some future scripts :o

Lol so nice easy, even implementing that would Be nice, can you upload the .exe for that?

Is it possible to do .5 or does this become op?

To be actually honest, with some testing, this could be a minor but permanent change into the next war2combat file. Let's be honest, out of all the units in Warcraft 2, paladins get the least love. Even rangers and berserkers beat them it's so bad
« Last Edit: May 24, 2017, 04:47:32 PM by Incos »
https://www.twitch.tv/incoswc - my twitch. Streaming 9:30pm - 11pm est most days!!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #68 on: May 25, 2017, 01:40:06 AM »
Hey guys, can you make heal increase the max hp of a unit?
This way, heal would be a perfect before battle spell!
It could become OP but if you can make it to do only double original HP then it should be fine :-D

Those things would require modding the code, not just the data sections. LiveMod is restricted from writing to executable sections. This is necessary to safeguard against people using it to inject malware.

They are cool ideas though. There is a facility built in for safe, tested code mods to be given an encrypted exception, so if anyone works out this, or other fun code mods they can eventually be included in pud files also.
Tell me when I can test some of your stuff :-D and what I need to do?


The LiveMod alpha test is available HERE, there isn't much in the way of documentation yet, but an idea of what it does and how can be gained from reading this thread.

Its a format to allow non-standard mods to be added to PUD files. As for the individual mods, they are up to the community to work out. I've included examples for setting the MP costs for spells, and EC has posted stuff for giving paladins lust or heal also.

Hopefully as this matures we will be able to colaborate on an extensive .ini file that has lots of cool mods that people can add to PUDs.

Is it possible to do .5 or does this become op?


It is not possible to have fractional MP costs for spells the value is stored as an integer, however I think it would be unnecessary as I really can't see anyone re-casting heal faster than they recover 1 MP anyway - well not without hacks...
this could be a minor but permanent change into the next war2combat file.


War2ce releases are not up to me, however I would be very surprised to see (and would strongly argue against) any permenant changes to the game mechanics. As soon as that happens, war2.ru is no longer a Warcraft II server. As soon as someone used heal in a game with standard wc2 clients there would either be crashes, drops and/or splits.

That's the idea of what I'm trying to do with LiveMod, it allows people to play modded games if they want without throwing a massive spaner in the works for the standard WC2 game that we have all loved for the last 20 years.
its gooder to hax hard and NEVER get caught!

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #69 on: May 25, 2017, 01:46:16 AM »
:critter: So has anybody tried running this with 2+ people in a server game?
:critter: It should work, but AFAIK it hasn't actually been tested yet.
its gooder to hax hard and NEVER get caught!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Easycompany
« Reply #70 on: May 25, 2017, 07:50:40 AM »
nope..we can whenever you want though,it has to work :p and by my calculations u could have this sucker very powerful..like heal will turn a knight into a foot etc :))
« Last Edit: May 25, 2017, 02:02:39 PM by easycompany »

Offline Incos

  • Axe Thrower
  • ****
  • Posts: 253
    • View Profile
Re: Easycompany
« Reply #71 on: May 25, 2017, 08:08:04 PM »
Very nice lambs  :pig: I tried it today on melee with custom gow map. I realized it didn't work, however I am curious what settings do I have to use? Do both players need your program? And do I have to hit the lamb to activate or is that a fun thing for you :)
https://www.twitch.tv/incoswc - my twitch. Streaming 9:30pm - 11pm est most days!!

Offline shesycompany

  • Death Knight
  • *********
  • Posts: 3587
  • retired, be in music section
    • View Profile
Re: Easycompany
« Reply #72 on: May 25, 2017, 10:01:18 PM »
make a ums,it has a time limit 5 mins and do a use map settings in bnet,its not for single player yet. even though that would be cool for campaign people!

yes click the lamb to activate.
yes both people has to have it or will drop one.

"I tried it today on melee with custom gow map"-it will work any settings the time limit may have got you like it was doing me. activate it when u got ur magic units
« Last Edit: May 25, 2017, 11:34:26 PM by easycompany »

Offline Lambchops

  • Ogre Mage
  • ********
  • Posts: 1541
    • View Profile
Re: Easycompany
« Reply #73 on: May 26, 2017, 06:12:02 AM »
make a ums,it has a time limit 5 mins and do a use map settings in bnet,its not for single player yet. even though that would be cool for campaign people!

yes click the lamb to activate.
yes both people has to have it or will drop one.

"I tried it today on melee with custom gow map"-it will work any settings the time limit may have got you like it was doing me. activate it when u got ur magic units

Yeah that is fine for testing, although when its actually being used everyone should activate it before entering the game.

For testing I just use a custom map where you start with a fort etc. on "use map settings" -- just make a map with 1 computer(active) controler and 1 human..... its handy to just give the comp 1 peon surrounded by walls, you can bust him out if you want to let them build.

Th 5 minute limit is just because it's an alpha test. In case we discovered some nasty issue when testing it that needs to be fixed - that will stop people from using the test version later in real games. When I release a stable, tested version there will be no time limit.

... and yeah when it's "Active" its monitoring the WC2 process for modded games and will apply the mods when the game starts. When it's not active its just a launcher for the editor/about with a console log and pretty pictures.

 As EC says, all players would definately have to be running it or they will drop. It may be that some mods will still cause drops, IDK. We have to test it.

At the moment my circumstances aren't ideal, I have limited computer time/internet time, so I would appreciate it if 2 or more people can test it in a multiplayer game.


BTW: If you make a player vs. CPU version of "flame wars" the comp totally pwns... it smashes out fireballs with 2 mages at once!





its gooder to hax hard and NEVER get caught!

Offline salvadorc17

  • Grunt
  • ***
  • Posts: 120
    • View Profile
Re: Easycompany
« Reply #74 on: May 26, 2017, 12:57:35 PM »
The LiveMod alpha test is available HERE, there isn't much in the way of documentation yet, but an idea of what it does and how can be gained from reading this thread.


Can you please upload source code of this, youre doing in c or asm??