|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 20, 2009 05:40 PM |
|
|
Quote: Can anyone tell me what the Export and Forced Export functions do?
Im sorry for all the questions but I really dont see any documentation on the advanced H5 editor.
Sorry, I don't know what the export functions do.
Documentation sucks for the H5 editor. Read the forum threads. It will take several hours, but you will learn a lot from those who have thrashed around in the darkness before you. Make book marks to everything you think you might use later.
Do lots of experiments and testing stuff on small test maps.
Download the scripting guide from Celestial Heavens if you wish to do any scripting. You won't get far without it.
Oh, and keep asking questions on the forums.
____________
-------------
Mage of Soquim
|
|
cyanight
Hired Hero
|
posted March 20, 2009 11:23 PM |
|
|
Thanks again for everyone's help. I can't believe the process to add the custom objects. It seems like such a workaround process. I was successful and I apologize for seeming retarded, hehe.
|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 21, 2009 12:30 AM |
|
|
No! You do not seem retarded. The process is cumbersome, difficult, and poorly documented. However, remember, this is the first HOMM game in the series that you had any capability to create custom objects at all. The problem is that the editor was created by programmers to be used by programmers, not ordinary mortals. My opinion is that Ubisoft did not budget for an editor and just released the thing Nival made for their own use when the community made it clear that fan-made maps would make or break the game's success in the marketplace. Let us hope that H6 will be better.
____________
-------------
Mage of Soquim
|
|
Asheera
Honorable
Undefeatable Hero
Elite Assassin
|
posted March 21, 2009 03:04 AM |
|
|
@cyanight: Don't worry you don't seem retarded at all, none of us knew all this stuff from the beginning, but that's what these forums are for, to ask questions and learn new stuff Quote: The problem is that the editor was created by programmers to be used by programmers, not ordinary mortals.
ROFL, programmers aren't human now?
____________
|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 21, 2009 03:21 AM |
|
|
@ Asheera: ROFL, programmers aren't human now?
LOL, That's not what I meant to say. Some of my best friends are programmers.
____________
-------------
Mage of Soquim
|
|
LennyTheDev
Tavern Dweller
|
posted March 21, 2009 10:02 PM |
|
|
Quote:
You can easily download The Basics of Heroes V Scripting ver. 2.0 for H5, HOF, & ToTE from http://www.celestialheavens.com/viewpage.php?id=567
As I recall, there is some minor error in the instructions for enabling the console but you should be able to figure it out.
hi mage,
replying here since it seems a better platform for this, instead of hijacking linny's thread heh heh
i now understand that i have to 'enable console' if i want to carry on my 3day venture into map making(with scripts), and i actually found your post on this somewhere:
------------------------------------
Basically, you have to edit two files.
The first file is the autoexec_a2.cfg file in the Ubisoft installation directory. The exact location of this file varies according to the choices you made when installing the game. I used the defaults and this is the path on my computer:
C:\Program Files\Ubisoft\Heroes of Might and Magic V - Tribes of the East\profiles\autoexec_a2.cfg
You open this file with a simple text editor and add this new line as the last line. The password is Russian, so don't try to understand it. You must type the text exactly as shown (or copy/paste from here):
setvar dev_console_password = schwinge-des-todes
The second file is the one you already edited. It is the input_a2.cfg file you already edited. Again, type it without errors or copy it from here:
bind show_console '`'
-------------------------------------------
i copy/paste the line into autoexec_a2.cfg and tried to save (as type all files) but got the message 'cannot create blah blah, make sure path and file name correct'..... errr... help?
you know the saying, the light at the end of the tunnel is just a freight train coming your way? well, kinda felt like that today. but there were some highlights along the way, like discovering 3x3 lower for underground instead of trying to plug objects into the vast darkness....
anyways, i now appreciate the fan-made maps at a another level because man the efforts needed....(i still havent gotten past like 10by10 map squares in my own small map because i insist on triggering 2 messageboxes within the 1st day). but if one has a story to tell, one has to tell the story exactly as one has in mind right?
lastly, couldnt agree with u more homm is the last bastion in tbs (again, read it somewhere here). the last 10 years or so of leading pixel elves and dragons against other pixel elves and dragons has been a wondrous experience. oh, not forgetting queen catherine in that outfit.
____________
|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 21, 2009 11:31 PM |
|
|
Quote:
Quote:
You can easily download The Basics of Heroes V Scripting ver. 2.0 for H5, HOF, & ToTE from http://www.celestialheavens.com/viewpage.php?id=567
As I recall, there is some minor error in the instructions for enabling the console but you should be able to figure it out.
hi mage,
replying here since it seems a better platform for this, instead of hijacking linny's thread heh heh
i now understand that i have to 'enable console' if i want to carry on my 3day venture into map making(with scripts), and i actually found your post on this somewhere:
------------------------------------
Basically, you have to edit two files.
The first file is the autoexec_a2.cfg file in the Ubisoft installation directory. The exact location of this file varies according to the choices you made when installing the game. I used the defaults and this is the path on my computer:
C:\Program Files\Ubisoft\Heroes of Might and Magic V - Tribes of the East\profiles\autoexec_a2.cfg
You open this file with a simple text editor and add this new line as the last line. The password is Russian, so don't try to understand it. You must type the text exactly as shown (or copy/paste from here):
setvar dev_console_password = schwinge-des-todes
The second file is the one you already edited. It is the input_a2.cfg file you already edited. Again, type it without errors or copy it from here:
bind show_console '`'
-------------------------------------------
i copy/paste the line into autoexec_a2.cfg and tried to save (as type all files) but got the message 'cannot create blah blah, make sure path and file name correct'..... errr... help?
you know the saying, the light at the end of the tunnel is just a freight train coming your way? well, kinda felt like that today. but there were some highlights along the way, like discovering 3x3 lower for underground instead of trying to plug objects into the vast darkness....
anyways, i now appreciate the fan-made maps at a another level because man the efforts needed....(i still havent gotten past like 10by10 map squares in my own small map because i insist on triggering 2 messageboxes within the 1st day). but if one has a story to tell, one has to tell the story exactly as one has in mind right?
lastly, couldnt agree with u more homm is the last bastion in tbs (again, read it somewhere here). the last 10 years or so of leading pixel elves and dragons against other pixel elves and dragons has been a wondrous experience. oh, not forgetting queen catherine in that outfit.
I don't know why you would get that error when you tried to save the modified autoexec_a2.cfg file.
Try this: Open Windows Notepad. In Notepad, open the autoexec_a2.cfg file. Do the edit by either pasting the text, or typing it in manually. Use Save to save the file. (It should be saved as a .cfg file, but if you save it as a .txt file, simply change .txt to .cfg yourself after you exit Notepad. Do not save it in any format besides .txt or .cfg.) Make sure autoexec_a2.cfg goes back into the same directory you found it in.
Once you have edited both files, make sure you use the same profile you got the input_a2.cfg file from to start the game. Press the ' key and the console should appear across the top of the game screen.
Yes, my wife and I still play HOMM3 as a team against the AI on our LAN. I create my own H3 maps that have bi-lateral symmetry to make it equal fun for the two of us. I watch the opening video with Queen Catherine in it every year or so. Still puts a lump in my throat. If you try to play any of my H5 maps, let me know what you think.
____________
-------------
Mage of Soquim
|
|
LennyTheDev
Tavern Dweller
|
posted March 22, 2009 07:44 AM |
|
|
Quote:
I don't know why you would get that error when you tried to save the modified autoexec_a2.cfg file.
Try this: Open Windows Notepad. In Notepad, open the autoexec_a2.cfg file. Do the edit by either pasting the text, or typing it in manually. Use Save to save the file. (It should be saved as a .cfg file, but if you save it as a .txt file, simply change .txt to .cfg yourself after you exit Notepad. Do not save it in any format besides .txt or .cfg.) Make sure autoexec_a2.cfg goes back into the same directory you found it in.
Once you have edited both files, make sure you use the same profile you got the input_a2.cfg file from to start the game. Press the ' key and the console should appear across the top of the game screen.
Yes, my wife and I still play HOMM3 as a team against the AI on our LAN. I create my own H3 maps that have bi-lateral symmetry to make it equal fun for the two of us. I watch the opening video with Queen Catherine in it every year or so. Still puts a lump in my throat. If you try to play any of my H5 maps, let me know what you think.
i tried, same result, and the path is correct since it even prompted whether to save over existing file before error message. i think i will leave this alone for now. enabling console basically allows you to check for script error right? i lay awake for an hour last night thinking about this. conclusion: i should stick to few and simple scripts, and innovate. (e.g. i have an idea where hero touch tavern and gets transported to an enclosed area with a tavern internal layout with shady characters, barmaid, bar counter (ultima style)..etc. it would have been cool, but the scripting would have murdered me. u know what, i will put a 2 way monolith in front of the tavern and i can achieve the effect! get in and get out of the tavern. yes it would scream low-tech and i dont know how a monolith in front of tavern looks like, but my life gets to go on) i have decided to stick to what excites me, a storyline centred around urgash's call, and innovate when scripting fails me. (or rather when i fail at scripting heh). for now at least.
i was looking at your jackdaw jake and another (marriage of discord) script and i realise that level of scripting might simply be beyond me in this life time.( i didnt even want to open frenzy's mercenaries after that) but at the same time i realise the AI is challenging and fun for a reason, it was purposely made so and not because HOMMV decided to be clever that day!
regard comments on your maps, off the top of my head (i played them quite some time back), i think jackdaw and mining tycoon should be more complicated in terms of scripting as compared to the virgin sagas right? but i actually enjoyed virgin more (i dont know, something about a bob haired girl with her tainted honour lugging a huge bastard sword around, whats not to like? ). i suppose we all head to where our imaginations can be captured.
cheers and thanks man, i am going back to furiously tackle that map
____________
|
|
LennyTheDev
Tavern Dweller
|
posted March 22, 2009 11:41 AM |
|
|
@mage:
maybe i am using vista, whatever. in case someone else faces the same problem, save the 2 cfg files somewhere else 1st and drag them back to the profile folder to paste over old files, will be prompted 'need admin permission to continue' click ok and voila.... i cant explain why, but thats how i got it done
and secondly, its a obscure thing perhaps.... theres no such snowz as PERK_HELLFIRE!!!!!!!! (as given by the id list in editor documentation). the script guide by pitsu/mage on celestial heaven correctly identifies it as PERK_DEMONIC_FIRE.
____________
|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 22, 2009 03:23 PM |
|
|
@ LennyTheDev
First, I am very happy that you figured out a way to get the console operating. My wife's machine has Vista and it has a few quirks (as seen from the XP point of view) regarding permissions and viewing/using old but compatible files. Anyway, I think it is impossible to get even the lowest level of scripting to work without the console.
Second, I like your story-first or, rather, story-centered concepts of map making. Your evaluation of my maps is right on target. I sometimes forgot the story in a "lust" for scripting results. In my defense, I was trying to bend HOMM away from the simplistic kill-all underlying game concept. Also, making the script sometimes wore me out so badly that I lacked the energy to keep the story going.
Third, Franzy is indeed the King Of H5 scripting. The rest of us sit lower on the pyramid in one position or the other. Reading and figuring out his scripts is like playing an elaborate, detective game.
Fourth, you have already demonstrated enough scripting ability to ensure your success at it. You have the right idea of how to proceed. Keep it simple and do just enough to make your story work. Do not spend hours on making a few script functions when simply using a combination of existing object will accomplish the same story results.
Fifth, but on those occasions when a simple function or two will make things significantly better, go ahead and do them. Ask for help when you get stuck badly. Asheera seems to be keeping an eye on the forums and she is a Master Scripter who is willing and able to help. I quit making H5 maps a long time ago so my skills are fading rapidly, but I love HOMM and will continue to help all mapmakers when I can.
____________
-------------
Mage of Soquim
|
|
Vlaad
Admirable
Legendary Hero
ghost of the past
|
posted March 22, 2009 08:21 PM |
|
|
Quote: Asheera seems to be keeping an eye on the forums and she is a Master Scripter who is willing and able to help.
Ashie at school:
____________
|
|
Asheera
Honorable
Undefeatable Hero
Elite Assassin
|
posted March 22, 2009 08:32 PM |
|
|
Quote: and secondly, its a obscure thing perhaps.... theres no such snowz as PERK_HELLFIRE!!!!!!!! (as given by the id list in editor documentation). the script guide by pitsu/mage on celestial heaven correctly identifies it as PERK_DEMONIC_FIRE.
The best way is to use the sources directly, and that is the scripts found in the "scripts" folder in data.pak
advmap-startup.lua and common.lua hold most of the IDs. And btw, I myself prefer to use the numeric values directly (and add a comment if needed), because some people said sometimes those IDs don't work for some reason.
____________
|
|
LennyTheDev
Tavern Dweller
|
posted March 23, 2009 06:04 PM |
|
|
seriously, i insist that 'lua' is a small monkey species found in south america. if u see one, hunt it down and cook it.
i know i promised to stick to simple scripts, but i cant help but think of fanciful stuff that can happen and i want to make it happen. but wanting and found wanting are 2 different things.
everytime i stick to the practical guide's function-if-then-trigger format i am fine, everytime i try to get clever i get screwed for hours on end.
can mage or asheera or whoever that is reading pls help?
my concept is u see a (always join) monster surrounded by (always attack) monsters. upon joining, it should trigger a message and hero auto attacking 1st stack of hostile, after battle another trigger message and auto attack 2nd stack of hostile... so on so forth till all hostile eliminated.
i named all the monster stacks in property tree, say, join1, attack1, attack2, attack3 ..etc. my naive(it has to be cos its not working) attempt at scripts look something like that:
function event1()
MessageBox({"Maps/SingleMissions/test/1.txt"});
MakeHeroInteractWithObject ("Marder", "attack1");
end;
Trigger (OBJECT_TOUCH_TRIGGER, "join1", "event1");
function event2()
MessageBox({"Maps/SingleMissions/test/2.txt"});
MakeHeroInteractWithObject ("Marder", "attack2");
end;
Trigger (OBJECT_TOUCH_TRIGGER, "attack1", "event2");
...etc till all killed.
i am assuming that monsters can be classified as objects, and the makeherointeractwithobject when hero interact with a monster stack clasified as 'always attack' means will enter into battle, am i right?
i have experimented with 'object' objects, meaning like touch a signboard trigger hero to drink from well. it doesnt work. so, it has to be the script. thanks in advance to anyone who can help
@ mage: maybe i can guess why u quit map making, it takes up more time than playing ! i need sleep...
__________________________________________
edit: also, you u space bar a monster stack, and input a message, u see message after battle. what about the script tab? doesnt seem to work. if for example i want to see a flying sign after battle, a simple:
ShowFlyingSign("Maps/SingleMissions/test/1.txt", "Marder", PLAYER_1, 5);
input into script tab on monster doesnt work. what is the difference between this script page and the normal script page we use? anyone? thanks
____________
|
|
Asheera
Honorable
Undefeatable Hero
Elite Assassin
|
posted March 23, 2009 07:46 PM |
|
|
I don't find any obvious flaw in your script. Can you also tell us your problem please? What doesn't work, nothing? If so check the console as well, there may be a syntax error somewhere and the script wouldn't work at all this way.
____________
|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 24, 2009 02:17 AM |
|
Edited by rdeford at 02:19, 24 Mar 2009.
|
@ LennyTheDev -- I did not set up a test map to test your script, so all my comments are off the top of my head.
First, I assume you are using Tribes of the East, which has the most complete set of scripting functions of the H5 series.
Like Asheera, I don't see any obvious problem with your script. As she suggested, you should keep the console open while you test the map by riding up with the Marbas/Marder hero and touching the friendly stack just to make sure you aren't getting hung up by a syntax error.
Yes, you can give the monster stack a scripting name and move, remove, etc. with the script functions.
I am rusty with my H5 scripting, but I am wondering about using the object touch trigger with the monster stack since it has the built-in action to interact with the hero when touched. Same thing is true with the sign object. When I made the many custom-action objects in my Mining Tycoon map, I started by disabling the normal action of the object, then replacing the normal action with a custom action function. Here is what I had to do:
-- disable normal action to customize Seer's Hut to make the info kiosk
SetObjectEnabled("infoKiosk", nil);
SetDisabledObjectMode("infoKiosk", DISABLED_INTERACT);
OverrideObjectTooltipNameAndDescription("infoKiosk", path.."infoKioskName.txt", path.."infoKioskDesc.txt");
--=========================
--infoKiosk custom action
--=========================
function infoKioskFun()
local week = GetDate(WEEK) -- WEEK
if GetCurrentPlayer() == PLAYER_1 then
local hLevel = heroLevel * 100;
infoCost = difficultyLevel + 1
infoCost = infoCost * 2000;
infoCost = infoCost + hLevel;
if week == 3 then
QuestionBox( {path.."bigHintOffer.txt"; gold = infoCost }, "bigHintYes", "bigHintNo");
else
MessageBox( {path.."comeBackW3.txt"; gold = infoCost });
end;
end;
end;
Trigger(OBJECT_TOUCH_TRIGGER, "infoKiosk", "infoKioskFun");
Don't be put off by the complexity of the infoKioskFun(). It just calculates a cost based on variable contents, then gives one question box choice during week 3 and a different message if not week 3.
Anyway, you might have to do something like this with your monster stacks. One advantage would be you could give the stacks custom names such as "Friendly" "Hostile" etc so the player would be alerted.
Oh, and I am not sure you need the {} in your message box path, but they probably don't hurt anything.
Regarding:
Quote: @ mage: maybe i can guess why u quit map making, it takes up more time than playing ! i need sleep...
H5 scripting was a little like being a junkie for me. I was neglecting my other interests to the point where I just had to kick the habit.
____________
-------------
Mage of Soquim
|
|
LennyTheDev
Tavern Dweller
|
posted March 24, 2009 06:44 AM |
|
|
now i dont know what is a syntax error, but it sounds like a big big dirty dirty word, something u get spanked for saying at the dinner table....
@ mage:
yes, what the infocounter is supposed to do is a bit beyond me, but i get the basic 'function - what function supposed to do - trigger' pattern. i dont know why it doesnt work for me, gonna try it again and post the result.
the {} was there when i 1st copied the function from somewhere, its been there ever since, i try to stick to a winning format and just change the variables to suit my needs. but now that u mention it, its kind of a cool reminder how i started eh?
so u are a ex-junkie who attends AA meeting to get your fix vicariously huh? heh. unless by 'other interest' u refer to soemthing that involves real-life interaction with significant real life people, i dont see why u should kick one interest simply because it caused you to neglect other interests. it just means it is a superior interest that warrants more of your attention. but i overstep my line.
anyhoo, back to scripting, will post my result.
oh yes, anyone knows the diff between the script page in monster tab and the normal script we use?
______________________
hey mage, i just realise u know that marder is marbas! off the top of your head! i dont remember u having this hero anywhere in your maps, so it is one of those fun facts only a real ex-junkie could know!! ha!
________________________
awesome awesome awesome!!!!! it works!!! i dont know why it didnt work yesterday but who cares??!! i retyped the whole chunk so:
1) could be typo somewhere ( i was hanging on coffee and cigarettes)
2) i removed the scripts on each monster stacks ( i had some flying signs on them which did not work anyway, could have interacted with the main script page i dont know)
3) proven: makeherointeractobject works on monster appointed 'always attack', automatically goes into battle
only thing was the friendly who joined me died in the waves of attacks...hahaha it is a good day afterall! ahhhhh i cant describe the kick from this! @mage, u sure u wanna retire from this?!
____________
|
|
rdeford
Known Hero
Wyld Mapper
|
posted March 24, 2009 03:33 PM |
|
|
@ LennyTheDev --
Quote: i dont see why u should kick one interest simply because it caused you to neglect other interests. it just means it is a superior interest that warrants more of your attention. but i overstep my line.
Your point is well made, but beware, an addiction is not merely a "superior interest." If it were, that would be fine. I am a writer, sculptor, artist, and all-around creative entity. I am building a fantasy sculpture garden, among other things, and while feeding my H5 scripting habit was indeed a creative outlet, the tension due to neglecting my other outlets slowly became too much to bear. I may make a few more H5 maps this winter when it is appropriate to do intellect work. The trouble is, I enjoy H5 scripting a lot more than H5 playing, and alpha testing a map is a drag for me.
Quote: only thing was the friendly who joined me died in the waves of attacks...hahaha it is a good day afterall! ahhhhh i cant describe the kick from this! @mage, u sure u wanna retire from this?!
Lenny, Lenny, Lenny... I know that kick all too well! Just helping you in this thread gives me the shakes. The hunger is still there... aggahhh...
____________
-------------
Mage of Soquim
|
|
mirthless
Tavern Dweller
|
posted April 20, 2009 07:15 PM |
|
|
Some time ago i asked here if it's possible to run combat scripts in multiplayer game.
Well, I've investigated the matter and found that it's imposible in 3.1
(even the way Asheera suggested).
Nival said that they disabled them to avoid sync problems. (that are still there anyway even after 4 years of patching )
|
|
Galev
Famous Hero
Galiv :D
|
posted June 01, 2009 10:54 PM |
|
|
Hello
I finally have my editor fixed so it can save and load maps...
Now the problem is I should set map objectives, but I have little idea how. I checked the editor manual and found there is a preset objective kind I need "Open garrison" or at least I hope it means if the player captures a garrison the game is won.
So I of course need to specify the garrison's "script code" or whatever in the properties, but how is it done? Also I would like to add a prerequisite quest: to visit >hut of the magi< first and then to capture the garrison.
I hope I was clear and that you can help.
____________
Incidence? I think it's cummulative!
|
|
rdeford
Known Hero
Wyld Mapper
|
posted June 02, 2009 04:01 AM |
|
|
Quote: Hello
I finally have my editor fixed so it can save and load maps...
Now the problem is I should set map objectives, but I have little idea how. I checked the editor manual and found there is a preset objective kind I need "Open garrison" or at least I hope it means if the player captures a garrison the game is won.
So I of course need to specify the garrison's "script code" or whatever in the properties, but how is it done? Also I would like to add a prerequisite quest: to visit >hut of the magi< first and then to capture the garrison.
I hope I was clear and that you can help.
My H5 Editor skills are rusty after not using the editor for over a year, but I think I can remember enough to help you. I am writing this off the top of my head without checking anything in the Editor, so I may a little off in the details. Sorry.
First, put a garrison on the map. Select it. Then open the Properties listing. You should see the properties for the garrison object. Look for the Name property. Click in the blank field for the Name value. Type in a script name for the garrison.
(For example, garr1) Save the map.
Now, put a hut of the magi on the map. Select it. Then open the Properties listing. You should see the properties for the hut. Look for the Objective properties. It will have a drop-down list where you can select the objective. As I recall, there is a capture object objective. Select that objective. Note: You will need to specify the script name for the garrison object. The editor manual explains how to do that pretty well, so look up how to do it.
Also, there is a way to provide the custom text that explains the objective to the player when he or she visits the hut. Again, as I recall, you will have to create a text resource and provide the path name somewhere in the properties for the hut.
Get a copy of the The Basics of Heroes V Scripting ver. 2.0 for H5, HOF, & ToTE - from here: http://www.celestialheavens.com/viewpage.php?id=567 It explains how to do almost everything I'm telling you here, and a whole lot more that you will need.
I know this all sounds complicated. That's because it is. If you struggle for a while and fail, do not give up! Instead, send me a personal email and I will dig out the Editor and make a small example map that you can study and learn from. I will include comments. Or, if you are adventurous and independent minded, you might try to take a look at how I did the magi hut in my Jakdaw Jake map.
|
|
|
|