------------------------------------------------------------------- HOW TO MESS AROUND WITH THE DATS and EVEN MAKE YOUR OWN in 'LLML' (Lord Life Markup Language) ------------------------------------------------------------------- ********************************** NEW COMMANDS EXIST... Newest commands available this version is: `=[(TempStr0),(OtherDir),MYFILE.TXT,5] this command looks in the directory: (OtherDir) and looks there for a file called: MYFILE.TXT and looks in that file for line number: 5 and then places that line in the variable: (TempStr0) So (TempStr0) would now be equal to line number 5 of that file... `=[(MyData-1),String] Creates a NEW temporary var...be sure to DELETE it AFTER! `=[(MyData-1)] Deletes a temporary var...be sure to use this and not ... one deletes a variable..the other a file! **** --==you can now create new temporary vars as well as file vars==-- --if you understand the below commands -- --use them with caution -- **delete all vars you create!** -- `=[(MyData-1),String] `=[(MyData-1)] **** *********************************** ---- SUGGESTION: This file is currently very tiny...I would print it if you plan to do anything much with .dat files. I WOULD RATHER YOU MAKE YOUR OWN DAT AND ADD IT TO THE 4thparty.dat than if you mess up my game dats too much.... Cuz well alot of work went into them :) ...Take a look at testtxt.dat... ...And the var file that goes with it testtxt.var... If you have looked at any of the dats you will have seen that everything lordlife says or does can be changed...you can even have your own lord life modules. I know it is kinda difficult to program these dats now...but soon it will be much easier. Mess around with them in a text editer...and well make something I havn't thought of NOW YOU CAN HAVE YOUR OWN VARIABLES!!! JUST TAKE A LOOK AT THE FILE TESTTXT.VAR ...WHEN YOU WRITE A MODULE THE MODULE NAME WITH A .VAR EXTENSION WILL BE THE VARIABLES -You can have as many vars as you like...but you must have a date var if you want some info ie flags .. to change next day --I am woking on better documentation..but I hate documenting things so its going to be awhile...Anybody want to help me write em? --LOOK AT TESTTXT.VAR AND TESTTXT.DAT FOR IDEAS-- *Almost anything you could think of doing has been done in some form or another in the main life modules...just look at them for hints too. -------------------- SUGGESTION::::::: START YOUR OWN GAME OFF FROM THE TESTTXT.DAT AND TESTTXT.VAR...COPY THEM SOMEPLACE TO A NEW NAME LIKE SAY UHH MYTXT.DAT AND MYTXT.VAR -must have same name-different extension. -Dont forget to add your dats name and title to the 4thparty.dat file! -------------------- ***NOTE: The best way to see how to make Lordlife do something is to look and see how its done in the existing dats. !!IF YOU WANT TO MAKE YOUR OWN MODULE...EDIT THE 4thparty.dat... and add two lines..the first the full filename of your dat ie: c:\doors\myprog\myprog.dat and the second line is what the user will see: ie: `1My `3Program -Soon I hope to create a program to install 4thparty.dats easily. -Also I hope (though unlikely) to have the time to make an easy editor for the dats, or a Word 6 .LLML Editor. sorta like HTML. NOTE: ALL COMMANDS LOOK LIKE: ` OR: `=[FIRST,SECOND,ETC] NOTE: ALL VARIABLES LOOK LIKE: (VariableName) -all lines without commands are printed unless they start with two forward slashes ie: // -all program dats start with a @#BEGIN -A dat file is run until another break point is reached or a command causes a break point: Any line that starts with @# is a break point, as are some commands...most often ` commands will send the program to a different break point. ---------------------------------------------------------------------- COMMAND LIST ---------------------------------------------------------------------- //if you have two forward slashes to start a line...then that line //is ignored..ie for comments like this! `=[Themap,x,y,e,0] The above sets up a map...like a menu only it shows a map and the char 'e' in this case is the 'enemy' and it will move towards you...see the travtxt.dat for the best example or the mysttxt.dat or the maintxt.dat...These are very easy to use if you only look at the existing ones carefully .. the last parameter is always zero UNLESS you want a time limit in seconds and if you do it calls the break point TheMapOptions` So it uses the color char for time up...the color char would otherwise not be a possibility... ` Tells lordlife that your program has a .VAR file that it uses. ` Quit is the most important command...you MUST HAVE IT SOMEWHERE, where it is always accessable to the user so they can quit the program. ` (Obsolete...no longer used...look at testtxt.dat) This resets life's values..ie if user has had beer or not for that day...so that when its a new day the user can again do said option. `=[1] This is Just the monster edit sub program...you must tell it the level you want it to edit from, thats the first parameter...it can be a literal number like above or variable like (TempInt0) ... `=[A,B,C,D] This should be a command in every menu you have...to set the new options list...they are shown to the user...ALSO BE WARNED: ALL YOUR MENU CHOICES MUST BE INCLUDED IN THIS LINE BECAUSE THE PROGRAM WILL ONLY EXECUTE COMMANDS IF THEIR ASSOCIATED LETTER IS SET WITH THIS. `=[(TempStr0),(TheUser)] This prints a value to the screen, in this case (TempStr0) ... (see variable section in the next section for list of values). And (TheUser) means the current user...it could also be some variable for another user you find with `=[] I know this sounds confusiong...just look how its done...for example open TRISTXT.DAT and look at: @#TavernOptionsA `=[(LordNick),(TheUser),(TLifesDir),LifePub.txt,%] This outputs the value (in this case lords nick name) into the specified file and specified directory (in this case LIFEPUB.TXT in life's dir. And the last parameter is the start color of the line. `=[(TLifesDir),mydata.ans] This displays an ansi file...in this case: MYDATA.ANS in the Lifes Directory. `=[(TLifesDir),LifePub.txt,20] This command trims a file down to so many lines..in this case I am trimming down the LIFEPUB.TXT file which is located in the Lifes Dir...down to 20 lines long. `=[LIFEPUB.TXT,(TLifesDir)] This command displays a txt file...changing colors as lord would with is standard color scheme. See the variable list later in this file for explanation of (TLifesDir) ...This is directory of life `=[(TempStr0),70,100,2,(TheUser)] This command gets the user to enter a line of text, into In this case: (TempStr0) max length: 70 ... max total length including color change chars: 100 (this should never be more OR... bad things will happen) `=[(TempStr0),YN,(TheUser)] This inputs one letter from keyboard...only accepts the letters listed as the second param...in this case YN ...the default is the first letter in the list so Y is the default here...for example open PUBTXT.DAT and search for @#PubOptionsT ...it asks user if they will pay... `=[(TempStr0),(TheUser)] `=[(TempStr0),(TheUser)] `=[(TempStr0),(TheUser)] These nifty commands take a partial user nickname...like if user inputs a partial search key..ie: wo then these funcs would find WOLF! if that nickname existed in that file...ie Comm (comment file) Life (main lifeppl.dat file) Lord (lord's player.dat file) AND IF IT FINDS THE NICKNAME IT RETURNS THE REAL USER NAME IN THE FIRST PARAM...so if WOLF!'s real name was John Doe it would return that....so that you could use that real name to find stats on this John Doe, wolf ... or change stats...see how its done in the dats like: in the MYSTTXT.DAT file the summon an ill wind can hurt another player see how its done...open the file and search for: @#MysticalOptionsS `=[(LordNick),(TheUser),Dweeb] Put this line somewhere and all users would get their nicknames changed to dweeb hehehhehe! See how it works...The value (LordNick) is set to Dweeb...for (TheUser). `=[(TempInt0),(TheUser),1,100] This is a very usefull command...it generates a random number in this case between 1 and 100 and places it in (TempInt0) `=[(LGems),(TheUser),100] Place this line in the dats some place and some user is going to get an awful lotta gems! :) This adds to the value..the amount you specify, or concatinates a string on the end of a string value `=[(LordGold),(TheUser),10] Same as add above..but it subtracts... `=[(LordGold),(TheUser),10] Same as add above..but it multiplies... `=[(LordGold),(TheUser),10] Same as add above..but it divides... `=[(TempStr1),(TheUser),###NotFound###,@#UserNotFound] This is an importand command...it checks if the value in this case (TempStr1) is equal to in this case: ###Not Found### and if so does something in this case jumps to the line starting with @#UserNotFound `= --- These are the same as if except ifless checks if `= the value is less and else does the oposite of it. `=[@#NewLine] This just jumps to a new point in the dat. `=[MainMenu] Sets the menu to what you give it and also runs that menu. `=[MainMenu,(TLifesDir),MAINTXT.DAT] This also changes the dat file as well as the menu...if your making your own 4thparty.dat don't use this cuz then there would be files all over the place and it would be a mess! :) ` This simply waits for the users response to continue. ` Shows Credits. ` Clears screen. ` Forces a new line ... ie: carriage return...or enter ...whatever ` Forces a space to be printed when running with auto return off. ` Turns off auto return so a line ends with its last valid non space char...if you do not do a ` then everything will go to the one line. ` Turns auto return on. ---------------------------------------------------------------------- VARIABLES ---------------------------------------------------------------------- (TheUser) The real name of the current user (TLifesDir) Life's full directory path (TLordsDir) Lord's full directory path (TheOptions) The menu options (TempStr0) ************************************************** (TempStr1) * These strings are temporary * (TempStr2) *and are not saved to file, use for temp vals * (TempStr3) ************************************************** (TGotFairy) Does user have a fairy 1=yes 0=no (TempInt0) -Temporary ints...(thats small numbers) (TempInt1) -'' (TempInt2) -'' (TempInt3) -'' (TempDbl0) ==Temporary doubles..for very large numbers. (TempDbl1) == (TempDbl2) == (TempDbl3) == (LordNick) lord nickname...alias (LRealName) real name (LordWeapon) weapon name (LordArmour) armour name (LordHP) hit points (LordHPMax) max hit points (LWeaponNum) weapon number (LArmourNum) armour number (LHumanFights) human fights (LForestFights) forest fights (LordGold) lord gold (LordBank) lord gold in bank (LDefence) lord defence (LStrength) lord strength (LCharm) lord charm (Level) lord level (LGems) lord gems (LordExp) lord experience (LKids) number of lord kids (LTimesWon) times won lord (Lays) number of lays (LHaveHorse) have horse if this is 1 else 0 if user doesn't have horse (LWeirdEvent) if 5 then weird event will occur 0 if not (LSeenDragon) if 5 then seen dragon 0 if not (LSeenViolet) if 5 then seen voilet 0 if not (LSeenMaster) if 5 then seen master 0 if not (LDead) if 5 then player dead in lord 0 if not (LInn) if 5 then player staying in inn 0 if not (LSex) if 5 then female 0 if male (LBard) if 5 then seen bard 0 if not (LClass) class 1, 2, or 3 ie Death Knight,Mystical,Thievery (LevelW) death knight skill left (LevelM) mystical skill left (LevelT) thievery skill left (LSkillW) death knight skill level (LSkillM) mystical skill level (LSkillT) thievery skill level (FLifeExp) life experience (FLifeStr) life strength (FLifeDef) life defence (FLifeGold) life money on hand (LifeBank) life money in bank (FLifeSkill) life skill at jousting (HadDrink) 1 if had drink 0 if not (FTalked) 1 if talked to tris 0 if not (FHadBeer) 1 if had beer 0 if not (FWashroom) 1 if used washroom 0 if not (FHadSpec) 1 if had special dish 0 if not (FHadVegg) 1 if had vegg dish 0 if not (FDeedDone) 1 if done a herioc deed 0 if not (FJoust) number of Jousts done today out of max 5 (FVisLan) 1 if visited Lan 0 if not (FVisLisa) 1 if visited Lisa 0 if not (FSavedPr) 1 if saved princess 0 if not (FTrained) 1 if trained today 0 if not (FGambled) 1 if gambled today 0 if not (Comment) comment user made bout self (CAge) age user entered (CHair) hair color number 1..12 (CEyes) eye color number 1..12 (CRealSex) real sex number (CLikeToMeet) 1 if like to meet other 0 if not --------------------------------------------------------------------------- uhh..Dibbbity..Dibity..DIbity...that's all for now folks! ---------------------------------------------------------------------------