http://wiki.datarealms.com/index.php?title=Special:Contributions/Ximximik&feed=atom&limit=50&target=Ximximik&year=&month=Data Realms Wiki - User contributions [en]2024-03-29T07:28:32ZFrom Data Realms WikiMediaWiki 1.16.5http://wiki.datarealms.com/Activities.iniActivities.ini2011-05-13T12:37:28Z<p>Ximximik: Delete spam</p>
<hr />
<div>Activities.ini is the file in the vanilla Missions.rte that tells the game what files to use to attack the player. It can be edited to give the enemies stronger weapons, troops or crafts. Activities.ini files can also be loaded from other modules (though only the first loaded Skirmish Activities will be used in game) in order to use the assets in that module. Activities.ini need not be called Activities.ini, for example, the vanilla activities are split into "Mission Activities" and "Skirmish Activities".<br />
<br />
==Without Changing Index.ini==<br />
Alrighty, so you have a mod and you want to fight against it. That is entirely possible for anyone, you need not have any great skill in coding.<br />
<br />
There is one gigantic rule you must remember and follow. You cannot, under any circumstances, call (make a reference to) an actor, weapon, craft, or whatever, without first loading it. This means, somewhere along your logic chain, that you must have "IncludeFile = Mod.rte/Actor.ini" before you call "AddInventory = AHuman CopyOf = Actor".<br />
<br />
Now, for purposes of this article we will be using a mod called simply "Mod.rte". Replace the word "Mod.rte" in this tutorial with your chosen mod, such as "AAL.rte" or "Kloveska.rte", though most mods nowadays already have activities packaged with them.<br />
<br />
To begin, let's go through how to enable a pre-made activities.ini packaged with a mod.<br />
<br />
Part one, you want to disable the basegame activities. This has been made easier in Build 23, simply put "//" before the IncludeFile line in Missions.rte/Index.ini referring to "Skirmish Activities.ini"<br />
<br />
Now, part two. This may not be necessary, but check in your Mod.rte/Index.ini for an IncludeFile line for its Activities.ini. It may be commented out (a "//" to the left of the IncludeFile line). If it is, uncomment it (remove the "//"). This will enable the mod activities, and you're done.<br />
<br />
Now we're going to be creating our own Activities.ini for mods that do not include them.<br />
For starters, disable the basegame activites as described above. Then, copy Missions.rte/Activities.ini, and paste it into "Mod.rte". Before we do anything more, add a line to Mod.rte/Index.ini including the new activities.ini. This should look something like "IncludeFile = Mod.rte/Activities.ini".<br />
To begin to modify your new activities, remove all the " AddAttackerSpawn = ACDropShip" or "AddAttackerSpawn = ACRocket" blocks. You are going to replace them with the mod's parts. So, your file should look something like this when you're done.<br />
<br />
<pre><br />
AddActivity = GABaseDefense<br />
PresetName = Skirmish Defense<br />
SceneName = Grasslands<br />
TeamCount = 2<br />
PlayerCount = 1<br />
TeamOfPlayer1 = 0<br />
TeamOfPlayer2 = 1<br />
FundsOfTeam1 = 10000<br />
FundsOfTeam2 = 10000<br />
CPUTeam = 1<br />
Difficulty = 3<br />
SpawnIntervalEasiest = 20000<br />
SpawnIntervalHardest = 8000<br />
</pre><br />
<br />
You can modify the "FundsOfTeamX" lines to change the amount of starting gold. There is a limit, but I do not know it exactly, so I will say that you should keep it to 200000 or lower.<br />
<br />
Now, to actually add some spawns. You will need to do a little bit of diving in the mod's inis. To add spawns, look for something like "AddActor = AHuman (nextline tab) PresetName = Actor". This means that an actor called "Actor" can be used in your activities. AddActor = ACrab, AddActor = ACDropShip, AddActor = ACRocket, AddDevice = HDFirearm, AddDevice = TDExplosive, and AddDevice = HeldDevice are all things you can spawn in your activities. Look above for more help. Copy down their PresetNames, as well as the data type (the thing after AddDevice =).<br />
A basic spawn block.<br />
<br />
<pre><br />
AddAttackerSpawn = ACDropShip<br />
CopyOf = Dropship<br />
AddInventory = AHuman<br />
CopyOf = Actor<br />
AddInventory = HDFirearm<br />
CopyOf = Gun<br />
</pre><br />
<br />
This is saying that you want a dropship with a presetname of "Dropship" to be loaded with an actor, "Actor", equipped with a gun "Gun. You can add all the "AddInventory" blocks you want, though usually most people keep it to about two guns and a digger and a grenade, if that.<br />
Continue to add "AddAttackerSpawn" blocks until you are satisfied with your dastardy creation. Then, save it and start up Cortex.<br />
<br />
One of three things can happen here. More, actually, but these are the three I'm specifically going over here.<br><br />
1. Cortex will start up and everything will work fine.<br><br />
-Solution: Survive your newly created onslaught.<br><br />
2. Cortex will start up, but when you select a difficulty in skirmish mode it will crash. Boo!<br><br />
-Solution: Make sure your activities is loaded in the mod's index.<br><br />
3. Cortex will not start up and give an error, about not being able to find "Actor" or something of that sort. Boo!<br><br />
-Solution: Make sure you copied down the data types and PresetNames of all the objects you want to load.<br><br />
<br />
If you get an error that is not one of the above, post in Support. With plenty of details as to exactly what went wrong.<br />
<br />
And that's it. One step closer to modding in Cortex. Congratulations if you got it. If you didn't, carefully check your work.<br />
<br />
==Grif's guide==<br />
Okay, so first off, get to your /Cortex Command/ directory in Windows Explorer.<br />
<br />
Go to <mod>.rte.<br />
<br />
Open Index.ini in Notepad. It will always be in the first folder inside Mod.rte.<br />
<br />
After EVERY line except for Datamodule in this folder, add a double-slash: //<br />
<br />
Once accomplished, the mod Index should look like this:<br />
<br />
<pre><br />
DataModule<br />
// IncludeFile = Grif.rte/Blender/Index.ini<br />
// IncludeFile = Grif.rte/Bunklearer/Index.ini<br />
// IncludeFile = Grif.rte/CIWS/Index.ini<br />
// IncludeFile = Grif.rte/Crusher/Index.ini<br />
// IncludeFile = Grif.rte/Invinciclone/Index.ini<br />
// IncludeFile = Grif.rte/Kinetic/Index.ini<br />
// IncludeFile = Grif.rte/Bunker/Index.ini<br />
</pre><br />
<br />
Note that the DataModule line is not commented out, but all the others are. That's important; if you comment out DataModule the game will crash on startup.<br />
<br />
NOW. Copy EVERY includefile line from the mod. (except for my mod, where the last line is to an activities edit and not needed)<br />
<br />
Go back to the /Cortex Command/ directory, and click into Base.rte.<br />
<br />
Open Index.ini. Now, this is the tricky part, so pay attention.<br />
<br />
First, paste all the IncludeFiles you just copied at the end of the includefiles of Index.ini, but BEFORE the IncludeFile for Activities.ini.<br />
<br />
So, the pasted includefiles are after EVERYTHING EXCEPT ACTIVITIES.<br />
<br />
That's vital; because most mods have dependencies somewhere inside base.rte.<br />
<br />
Now, your Index.ini should look something like this:<br />
<br />
<pre><br />
DataModule<br />
IncludeFile = Base.rte/Materials.ini<br />
IncludeFile = Base.rte/Sounds.ini<br />
IncludeFile = Base.rte/Effects.ini<br />
IncludeFile = Base.rte/Ammo.ini<br />
IncludeFile = Base.rte/Devices.ini<br />
IncludeFile = Base.rte/Actors.ini<br />
IncludeFile = Base.rte/Scenes.ini<br />
// IncludeFile = Grif.rte/Blender/Index.ini<br />
// IncludeFile = Grif.rte/Bunklearer/Index.ini<br />
// IncludeFile = Grif.rte/CIWS/Index.ini<br />
// IncludeFile = Grif.rte/Crusher/Index.ini<br />
// IncludeFile = Grif.rte/Invinciclone/Index.ini<br />
// IncludeFile = Grif.rte/Kinetic/Index.ini<br />
// IncludeFile = Grif.rte/Bunker/Index.ini<br />
IncludeFile = Base.rte/Activities.ini<br />
</pre><br />
<br />
The especially savvy members will now begin to wonder where I'm going with this; now every IncludeFile that references the mod has been commented out.<br />
<br />
Well, now what you do is, delete the //es you made in the mod Index. Once they're in Index.ini of Base.rte, we want them to load; but if we have both sets of includefiles load, then you will have duplicates of everything in the buy and build menus.<br />
<br />
So, proceed to remove all the doubleslashes.<br />
<br />
<pre><br />
DataModule<br />
IncludeFile = Base.rte/Materials.ini<br />
IncludeFile = Base.rte/Sounds.ini<br />
IncludeFile = Base.rte/Effects.ini<br />
IncludeFile = Base.rte/Ammo.ini<br />
IncludeFile = Base.rte/Devices.ini<br />
IncludeFile = Base.rte/Actors.ini<br />
IncludeFile = Base.rte/Scenes.ini<br />
IncludeFile = Grif.rte/Blender/Index.ini<br />
IncludeFile = Grif.rte/Bunklearer/Index.ini<br />
IncludeFile = Grif.rte/CIWS/Index.ini<br />
IncludeFile = Grif.rte/Crusher/Index.ini<br />
IncludeFile = Grif.rte/Invinciclone/Index.ini<br />
IncludeFile = Grif.rte/Kinetic/Index.ini<br />
IncludeFile = Grif.rte/Bunker/Index.ini<br />
IncludeFile = Base.rte/Activities.ini<br />
</pre><br />
<br />
Now, go to Activities.ini, and add away. Note: You will have to add the Includefiles from EVERY mod you want loaded; it's probably the primary reason I put all my mods into one pack.<br />
<br />
To change what craft are delivered, use this basic guide:<br />
In each mod .rte, somewhere, there is a root instancename for what you want to mod into Activities.ini, and a root prop type for it.<br />
<br />
Nearly always, this will be one of the following:<br><br />
*ADoor<br><br />
*ACDropship<br><br />
*ACrab<br><br />
*ACRocket<br><br />
*AHuman<br><br />
*HDFirearm<br><br />
*HeldDevice<br><br />
*TDExplosive<br><br />
<br />
Most of the time, this is fairly self explanatory.<br />
<br />
If it's a door, it's going to be an ADoor.<br><br />
If it's a dropship, it'll be an ACDropship.<br><br />
If it's a crab, OR a four-legged turret, it'll be an ACrab.<br><br />
ACRocket is for rockets.<br><br />
HDFirearm just means gun (held device firearm), so any gun mod will use this.<br><br />
HeldDevice is what Shields use; specifically the Riot Shield.<br><br />
TDExplosive is for most bombs, and all grenades.<br><br />
<br />
So, here's what you do. Depending on the mod, the particle type will change. So, first, what you have to do is find the prop type. Generally, in the buy menu, this will be explained for you.<br />
The Actors tab covers AHuman and ACrab. AHuman also covers Robots, so don't make it ARobot in your activities edit.<br />
Craft covers ACRockets and ACDropships. Hint: Rockets have one engine, dropships have two.<br />
Shields tab has HeldDevices, Bombs has TDExplosives.<br />
Tools and Firearms are both HDFirearms.<br />
<br />
So, then, you have to get the instancename, which is just the name of the mod. This is even easier; just look at what it's called in either the Bunker Editor or Build Menu.<br />
<br />
Now, open Activities.ini, scroll down to the Grasslands activities, and mod away.<br />
<br />
<pre><br />
AddAttackerSpawn = <prop><br />
CopyOf = <instancename><br />
</pre><br />
<br />
All there really is to it. Oh, and if you're curious, yes, you can make AHumans fall from the sky. Or HDFirearms.<br />
<br />
[[Category:Tutorials]]</div>Ximximikhttp://wiki.datarealms.com/Activities.iniActivities.ini2011-05-11T14:18:03Z<p>Ximximik: Delete spam</p>
<hr />
<div>Activities.ini is the file in the vanilla Missions.rte that tells the game what files to use to attack the player. It can be edited to give the enemies stronger weapons, troops or crafts. Activities.ini files can also be loaded from other modules (though only the first loaded Skirmish Activities will be used in game) in order to use the assets in that module. Activities.ini need not be called Activities.ini, for example, the vanilla activities are split into "Mission Activities" and "Skirmish Activities".<br />
<br />
==Without Changing Index.ini==<br />
Alrighty, so you have a mod and you want to fight against it. That is entirely possible for anyone, you need not have any great skill in coding.<br />
<br />
There is one gigantic rule you must remember and follow. You cannot, under any circumstances, call (make a reference to) an actor, weapon, craft, or whatever, without first loading it. This means, somewhere along your logic chain, that you must have "IncludeFile = Mod.rte/Actor.ini" before you call "AddInventory = AHuman CopyOf = Actor".<br />
<br />
Now, for purposes of this article we will be using a mod called simply "Mod.rte". Replace the word "Mod.rte" in this tutorial with your chosen mod, such as "AAL.rte" or "Kloveska.rte", though most mods nowadays already have activities packaged with them.<br />
<br />
To begin, let's go through how to enable a pre-made activities.ini packaged with a mod.<br />
<br />
Part one, you want to disable the basegame activities. This has been made easier in Build 23, simply put "//" before the IncludeFile line in Missions.rte/Index.ini referring to "Skirmish Activities.ini"<br />
<br />
Now, part two. This may not be necessary, but check in your Mod.rte/Index.ini for an IncludeFile line for its Activities.ini. It may be commented out (a "//" to the left of the IncludeFile line). If it is, uncomment it (remove the "//"). This will enable the mod activities, and you're done.<br />
<br />
Now we're going to be creating our own Activities.ini for mods that do not include them.<br />
For starters, disable the basegame activites as described above. Then, copy Missions.rte/Activities.ini, and paste it into "Mod.rte". Before we do anything more, add a line to Mod.rte/Index.ini including the new activities.ini. This should look something like "IncludeFile = Mod.rte/Activities.ini".<br />
To begin to modify your new activities, remove all the " AddAttackerSpawn = ACDropShip" or "AddAttackerSpawn = ACRocket" blocks. You are going to replace them with the mod's parts. So, your file should look something like this when you're done.<br />
<br />
<pre><br />
AddActivity = GABaseDefense<br />
PresetName = Skirmish Defense<br />
SceneName = Grasslands<br />
TeamCount = 2<br />
PlayerCount = 1<br />
TeamOfPlayer1 = 0<br />
TeamOfPlayer2 = 1<br />
FundsOfTeam1 = 10000<br />
FundsOfTeam2 = 10000<br />
CPUTeam = 1<br />
Difficulty = 3<br />
SpawnIntervalEasiest = 20000<br />
SpawnIntervalHardest = 8000<br />
</pre><br />
<br />
You can modify the "FundsOfTeamX" lines to change the amount of starting gold. There is a limit, but I do not know it exactly, so I will say that you should keep it to 200000 or lower.<br />
<br />
Now, to actually add some spawns. You will need to do a little bit of diving in the mod's inis. To add spawns, look for something like "AddActor = AHuman (nextline tab) PresetName = Actor". This means that an actor called "Actor" can be used in your activities. AddActor = ACrab, AddActor = ACDropShip, AddActor = ACRocket, AddDevice = HDFirearm, AddDevice = TDExplosive, and AddDevice = HeldDevice are all things you can spawn in your activities. Look above for more help. Copy down their PresetNames, as well as the data type (the thing after AddDevice =).<br />
A basic spawn block.<br />
<br />
<pre><br />
AddAttackerSpawn = ACDropShip<br />
CopyOf = Dropship<br />
AddInventory = AHuman<br />
CopyOf = Actor<br />
AddInventory = HDFirearm<br />
CopyOf = Gun<br />
</pre><br />
<br />
This is saying that you want a dropship with a presetname of "Dropship" to be loaded with an actor, "Actor", equipped with a gun "Gun. You can add all the "AddInventory" blocks you want, though usually most people keep it to about two guns and a digger and a grenade, if that.<br />
Continue to add "AddAttackerSpawn" blocks until you are satisfied with your dastardy creation. Then, save it and start up Cortex.<br />
<br />
One of three things can happen here. More, actually, but these are the three I'm specifically going over here.<br><br />
1. Cortex will start up and everything will work fine.<br><br />
-Solution: Survive your newly created onslaught.<br><br />
2. Cortex will start up, but when you select a difficulty in skirmish mode it will crash. Boo!<br><br />
-Solution: Make sure your activities is loaded in the mod's index.<br><br />
3. Cortex will not start up and give an error, about not being able to find "Actor" or something of that sort. Boo!<br><br />
-Solution: Make sure you copied down the data types and PresetNames of all the objects you want to load.<br><br />
<br />
If you get an error that is not one of the above, post in Support. With plenty of details as to exactly what went wrong.<br />
<br />
And that's it. One step closer to modding in Cortex. Congratulations if you got it. If you didn't, carefully check your work.<br />
<br />
==Grif's guide==<br />
Okay, so first off, get to your /Cortex Command/ directory in Windows Explorer.<br />
<br />
Go to <mod>.rte.<br />
<br />
Open Index.ini in Notepad. It will always be in the first folder inside Mod.rte.<br />
<br />
After EVERY line except for Datamodule in this folder, add a double-slash: //<br />
<br />
Once accomplished, the mod Index should look like this:<br />
<br />
<pre><br />
DataModule<br />
// IncludeFile = Grif.rte/Blender/Index.ini<br />
// IncludeFile = Grif.rte/Bunklearer/Index.ini<br />
// IncludeFile = Grif.rte/CIWS/Index.ini<br />
// IncludeFile = Grif.rte/Crusher/Index.ini<br />
// IncludeFile = Grif.rte/Invinciclone/Index.ini<br />
// IncludeFile = Grif.rte/Kinetic/Index.ini<br />
// IncludeFile = Grif.rte/Bunker/Index.ini<br />
</pre><br />
<br />
Note that the DataModule line is not commented out, but all the others are. That's important; if you comment out DataModule the game will crash on startup.<br />
<br />
NOW. Copy EVERY includefile line from the mod. (except for my mod, where the last line is to an activities edit and not needed)<br />
<br />
Go back to the /Cortex Command/ directory, and click into Base.rte.<br />
<br />
Open Index.ini. Now, this is the tricky part, so pay attention.<br />
<br />
First, paste all the IncludeFiles you just copied at the end of the includefiles of Index.ini, but BEFORE the IncludeFile for Activities.ini.<br />
<br />
So, the pasted includefiles are after EVERYTHING EXCEPT ACTIVITIES.<br />
<br />
That's vital; because most mods have dependencies somewhere inside base.rte.<br />
<br />
Now, your Index.ini should look something like this:<br />
<br />
<pre><br />
DataModule<br />
IncludeFile = Base.rte/Materials.ini<br />
IncludeFile = Base.rte/Sounds.ini<br />
IncludeFile = Base.rte/Effects.ini<br />
IncludeFile = Base.rte/Ammo.ini<br />
IncludeFile = Base.rte/Devices.ini<br />
IncludeFile = Base.rte/Actors.ini<br />
IncludeFile = Base.rte/Scenes.ini<br />
// IncludeFile = Grif.rte/Blender/Index.ini<br />
// IncludeFile = Grif.rte/Bunklearer/Index.ini<br />
// IncludeFile = Grif.rte/CIWS/Index.ini<br />
// IncludeFile = Grif.rte/Crusher/Index.ini<br />
// IncludeFile = Grif.rte/Invinciclone/Index.ini<br />
// IncludeFile = Grif.rte/Kinetic/Index.ini<br />
// IncludeFile = Grif.rte/Bunker/Index.ini<br />
IncludeFile = Base.rte/Activities.ini<br />
</pre><br />
<br />
The especially savvy members will now begin to wonder where I'm going with this; now every IncludeFile that references the mod has been commented out.<br />
<br />
Well, now what you do is, delete the //es you made in the mod Index. Once they're in Index.ini of Base.rte, we want them to load; but if we have both sets of includefiles load, then you will have duplicates of everything in the buy and build menus.<br />
<br />
So, proceed to remove all the doubleslashes.<br />
<br />
<pre><br />
DataModule<br />
IncludeFile = Base.rte/Materials.ini<br />
IncludeFile = Base.rte/Sounds.ini<br />
IncludeFile = Base.rte/Effects.ini<br />
IncludeFile = Base.rte/Ammo.ini<br />
IncludeFile = Base.rte/Devices.ini<br />
IncludeFile = Base.rte/Actors.ini<br />
IncludeFile = Base.rte/Scenes.ini<br />
IncludeFile = Grif.rte/Blender/Index.ini<br />
IncludeFile = Grif.rte/Bunklearer/Index.ini<br />
IncludeFile = Grif.rte/CIWS/Index.ini<br />
IncludeFile = Grif.rte/Crusher/Index.ini<br />
IncludeFile = Grif.rte/Invinciclone/Index.ini<br />
IncludeFile = Grif.rte/Kinetic/Index.ini<br />
IncludeFile = Grif.rte/Bunker/Index.ini<br />
IncludeFile = Base.rte/Activities.ini<br />
</pre><br />
<br />
Now, go to Activities.ini, and add away. Note: You will have to add the Includefiles from EVERY mod you want loaded; it's probably the primary reason I put all my mods into one pack.<br />
<br />
To change what craft are delivered, use this basic guide:<br />
In each mod .rte, somewhere, there is a root instancename for what you want to mod into Activities.ini, and a root prop type for it.<br />
<br />
Nearly always, this will be one of the following:<br><br />
*ADoor<br><br />
*ACDropship<br><br />
*ACrab<br><br />
*ACRocket<br><br />
*AHuman<br><br />
*HDFirearm<br><br />
*HeldDevice<br><br />
*TDExplosive<br><br />
<br />
Most of the time, this is fairly self explanatory.<br />
<br />
If it's a door, it's going to be an ADoor.<br><br />
If it's a dropship, it'll be an ACDropship.<br><br />
If it's a crab, OR a four-legged turret, it'll be an ACrab.<br><br />
ACRocket is for rockets.<br><br />
HDFirearm just means gun (held device firearm), so any gun mod will use this.<br><br />
HeldDevice is what Shields use; specifically the Riot Shield.<br><br />
TDExplosive is for most bombs, and all grenades.<br><br />
<br />
So, here's what you do. Depending on the mod, the particle type will change. So, first, what you have to do is find the prop type. Generally, in the buy menu, this will be explained for you.<br />
The Actors tab covers AHuman and ACrab. AHuman also covers Robots, so don't make it ARobot in your activities edit.<br />
Craft covers ACRockets and ACDropships. Hint: Rockets have one engine, dropships have two.<br />
Shields tab has HeldDevices, Bombs has TDExplosives.<br />
Tools and Firearms are both HDFirearms.<br />
<br />
So, then, you have to get the instancename, which is just the name of the mod. This is even easier; just look at what it's called in either the Bunker Editor or Build Menu.<br />
<br />
Now, open Activities.ini, scroll down to the Grasslands activities, and mod away.<br />
<br />
<pre><br />
AddAttackerSpawn = <prop><br />
CopyOf = <instancename><br />
</pre><br />
<br />
All there really is to it. Oh, and if you're curious, yes, you can make AHumans fall from the sky. Or HDFirearms.<br />
<br />
[[Category:Tutorials]]</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.printRussian: G.print2010-06-26T08:10:12Z<p>Ximximik: </p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = print<br />
|arguments = [ [[Russian:number|number]] ] [ [[Russian:string|string]] ] <br />
|returns = [[Russian:nil|nil]] <br />
|description = [[Russian:_G|Глобальная]] функция для отображения текста в консоли.<br />
|codedesc = Выводит "Hello World!" в консоль.<br />
|code = <pre><br />
print("Hello World!")<br />
</pre><br />
|output = Строка в консоли - "PRINT: Hello World!"<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_GRussian: G2010-06-26T08:09:04Z<p>Ximximik: Created page with '_G - глобальная таблица Lua Все функции в _G могут быть вызваны без префикса _G. Category:Russian:Lua'</p>
<hr />
<div>_G - глобальная таблица Lua <br />
<br />
Все функции в _G могут быть вызваны без префикса _G. <br />
<br />
[[Category:Russian:Lua]]</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateTDExplosiveRussian: G.CreateTDExplosive2010-06-26T08:06:15Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateTDExplosive |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Ru…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateTDExplosive<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:TDExplosive|TDExplosive]] <br />
|description = Создает объект типа TDExplosive, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает Standard Bomb в позиции (1642 , 605)<br />
|code = <pre><br />
bomb = CreateTDExplosive("Standard Bomb" , "Coalition.rte");<br />
bomb.Pos = Vector(1642, 605);<br />
MovableMan:AddMO(bomb); </pre><br />
|output = [[Russian:TDExplosive|TDExplosive]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateMOSRotatingRussian: G.CreateMOSRotating2010-06-26T08:03:44Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateMOSRotating |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Ru…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateMOSRotating<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:MOSRotating|MOSRotating]] <br />
|description = Создает объект типа MOSRotating, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает Spark Yellow 1 в позиции (1642 , 605)<br />
|code = <pre><br />
MOSR = CreateHDFirearm("Spark Yellow 1" , "Base.rte");<br />
MOSR.pos = Vector(1642 , 605);<br />
MovableMan:AddMO(MOSR);</pre><br />
|output = [[Russian:MOSRotating|MOSRotating]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateMOSParticleRussian: G.CreateMOSParticle2010-06-26T08:02:51Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateMOSParticle |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Ru…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateMOSParticle<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:MOSParticle|MOSParticle]] <br />
|description = Создает объект типа MOSParticle, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает Casing Blue в позиции (1642 , 605)<br />
|code = <pre><br />
mos = CreateMOSParticle("Casing Blue" , "HOKMT.rte");<br />
mos.Pos = Vector(1642, 605);<br />
MovableMan:AddMO(mos); </pre><br />
|output = [[Russian:MOSParticle|MOSParticle]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateHDFirearmRussian: G.CreateHDFirearm2010-06-26T08:01:46Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateHDFirearm |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Russ…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateHDFirearm<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:HDFirearm|HDFirearm]] <br />
|description = Создает объект типа HDFirearm, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает снайперскую винтовкой в позиции (1642 , 605)<br />
|code = <pre><br />
weap = CreateHDFirearm("Sniper Rifle" , "Coalition.rte");<br />
weap.pos = Vector(1642 , 605);<br />
MovableMan:AddMO(weap);</pre><br />
|output = [[Russian:HDFirearm|HDFirearm]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateAttachableRussian: G.CreateAttachable2010-06-26T07:57:23Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateAttachable |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Rus…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateAttachable<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:Attachable|Attachable]] <br />
|description = Создает объект типа Attachable, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает AFSC Muzzle Flash в позиции (1642 , 605)<br />
|code = <pre><br />
att = CreateAttachable("AFSC Muzzle Flash" , "HOKMT.rte");<br />
att.Pos = Vector(1642, 605);<br />
MovableMan:AddMO(att); </pre><br />
|output = [[Russian:Attachable|Attachable]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateAHumanRussian: G.CreateAHuman2010-06-26T07:56:25Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateAHuman |arguments = ({{Russian:string|string}},{{Russian:string|string}}) PresetName, .RTE Name |returns …'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateAHuman<br />
|arguments = ({{Russian:string|string}},{{Russian:string|string}}) PresetName, .RTE Name<br />
|returns = [[Russian:AHuman|AHuman]] <br />
|description = Создает объект типа AHuman, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает клона коалиции в позиции (1642 , 605)<br />
|code = <pre>local clone = CreateAHuman("Soldier Heavy" , "Coalition.rte");<br />
clone.Pos = Vector(1642 , 605);<br />
clone.Team = self.CPUTeam;<br />
clone.AIMode = Actor.AIMODE_SENTRY;<br />
MovableMan:AddActor(clone);</pre><br />
|output = [[Russian:AHuman|AHuman]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateAEmitterRussian: G.CreateAEmitter2010-06-26T07:55:28Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateAEmitter |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Russi…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateAEmitter<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:AEmitter|AEmitter]] <br />
|description = Создает объект типа AEmitter, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает эмиттер "Lit Screen" в позиции (1642 , 605)<br />
|code = <pre><br />
emt = CreateAEmitter("Lit Screen");<br />
"Lit Screen".Pos = Vector(1642, 605);<br />
MovableMan:AddParticle("Lit Screen"); </pre><br />
|output = [[Russian:AEmitter|AEmitter]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateADoorRussian: G.CreateADoor2010-06-26T07:54:22Z<p>Ximximik: Created page with '{{Russian:LuaFunction |function_name = CreateADoor |arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name |returns = [[Russian:…'</p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateADoor<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:ADoor|ADoor]] <br />
|description = Создает объект типа ADoor, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает Door Slide Long в позиции (1642 , 605)<br />
|code = <pre><br />
door = CreateADoor("Door Slide Long" , "Base.rte");<br />
door.Pos = Vector(1642, 605);<br />
MovableMan:AddActor(door); </pre><br />
|output = [[Russian:ADoor|ADoor]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateACrabRussian: G.CreateACrab2010-06-26T07:53:04Z<p>Ximximik: </p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateACrab<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:ACrab|ACrab]] <br />
|description = Создает объект типа ACrab, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает краба в позиции (1642 , 605)<br />
|code = <pre><br />
crb = CreateACrab("Crab" , "Wlidlife.rte");<br />
crb.Team = self.CPUTeam;<br />
crb.AIMode = Actor.AIMODE_SENTRY;<br />
crb.pos = Vector(1642 , 605);<br />
MovableMan:AddActor(crb);</pre><br />
|output = [[Russian:ACrab|ACrab]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateACDropShipRussian: G.CreateACDropShip2010-06-26T07:51:44Z<p>Ximximik: </p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateACDropShip<br />
|arguments = ([[Russian:Lua Datatypes#String|string]],[[Russian:Lua Datatypes#String|string]]) PresetName, .RTE Name<br />
|returns = [[Russian:ACDropShip|ACDropShip]] <br />
|description = Создает объект типа ACDropShip, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает дропшип в позиции (1642 , 605)<br />
|code = <pre><br />
ship = CreateACDropShip("Drop Ship MK1","Base.rte");<br />
ship.Pos = Vector(1680 , 300);<br />
ship.Team = self.CPUTeam;<br />
ship:SetControllerMode(Controller.CIM_AI, 1);<br />
MovableMan:AddActor(ship);<br />
</pre><br />
|output = [[Russian:ACDropShip|ACDropShip]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Russian:_G.CreateACRocketRussian: G.CreateACRocket2010-06-26T07:51:21Z<p>Ximximik: </p>
<hr />
<div>{{Russian:LuaFunction<br />
|function_name = CreateACRocket<br />
|arguments = ({{Russian:string}},{{Russian:string}}) PresetName, .RTE Name<br />
|returns = [[Russian:ACRocket|ACRocket]] <br />
|description = Создает объект типа ACRocket, Если вместо имени .RTE оставляют пробел, оно ищет во всех файлах, иначе оно ищет в моде.<br />
|codedesc = Создает ракету в позиции (1642 , 605)<br />
|code = <pre><br />
Rocket = CreateACRocket("Rocket MK1","Base.rte");<br />
Rocket.Pos = Vector(1680 , 300);<br />
Rocket.Team = self.CPUTeam;<br />
Rocket:SetControllerMode(Controller.CIM_AI, 1);<br />
MovableMan:AddActor(Rocket);<br />
</pre><br />
|output = [[Russian:ACRocket|ACRocket]]<br />
|}}</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:stringTemplate:Russian:string2010-06-26T07:49:57Z<p>Ximximik: Created page with 'string'</p>
<hr />
<div>[[Russian:Lua Datatypes#String|string]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:LuaFunctionTemplate:Russian:LuaFunction2010-06-26T07:48:07Z<p>Ximximik: Created page with '<table style="border: solid 3px black; width: 50%; font-size: 90%; text-align: left; align: center; padding: 4px; clear:right;" cellspacing="0" cellpadding="4"> <tr><th style="fo…'</p>
<hr />
<div><table style="border: solid 3px black; width: 50%; font-size: 90%; text-align: left; align: center; padding: 4px; clear:right;" cellspacing="0" cellpadding="4"><br />
<tr><th style="font-size: 1.5em; padding: 0;" colspan="2">Функция</th></tr><br />
<tr style="background: #EFEFEF;"><th style="width: 10%; border-top: solid 1px black; border-right: solid 1px black;">Синтаксис</th><td style="border-top: solid 1px black;">{{{function_name}}}( {{{arguments|}}} )</td></tr><br />
<tr><th style="border-top: solid 1px black; height: 1em; padding: 0px 0px 0px 4px;" colspan="2">Описание:</th></tr><br />
<tr><td style="height: 1em; padding: 0px 6px 0px 6px; border-bottom: solid 1px black" colspan="2">{{{description|No description provided}}}</td></tr><br />
<tr style="background: #EFEFEF;"><th style="width: 10%; border-right: solid 1px black;">Возвращает</th><td>{{{returns|[[nil]]}}}</td></tr><br />
</table><br />
<br><br><br><br />
<table style="width: 100%; font-size:95%; text-align: left; align: center;" cellspacing="4"><br />
<tr><th style="font-size: 188%; margin: 0; padding-top: .5em; padding-bottom: .17em; border-bottom: 1px solid #aaa;">Пример</th><br />
<tr><th style="width: 8em; vertical-align: top;">Описание</th><td>{{{codedesc|Отсутствует!}}}</td></tr><br />
<tr><th style="width: 8em; vertical-align: top;">Код</th><td>{{{code|Отсутствует!}}}</td></tr><br />
<tr><th style="width: 8em; vertical-align: top;">Возвращает</th><td>{{{output|Отсутствует!}}}</td></tr><br />
</table><br />
<br />
<includeonly><br />
[[Category: Russian:Lua]]<br />
</includeonly><br />
<noinclude><br />
== Использование шаблона ==<br />
<br />
<pre><br />
{{LuaFunction<br />
|function_name = Имя функции<br />
|arguments = [[type]] аргумент , [[type]] аргумент2<br />
|returns = [[type]] <br />
|description = Введите описание сюда<br />
|codedesc = Описание примера<br />
|code = Введите сюда Lua код, заключив его в <"pre"><"/pre"> (без кавычек)<br />
|output = Что возвращает код из примера в консоль?<br />
|}}<br />
</pre><br />
</noinclude></div>Ximximikhttp://wiki.datarealms.com/Russian:EditorsRussian:Editors2010-06-10T03:41:21Z<p>Ximximik: Created page with '{{Russian:TableModArticles}} Описание общих особенностей редактора ===Редактор Сцен=== Редактор Сцен, в настоящ…'</p>
<hr />
<div>{{Russian:TableModArticles}}<br />
Описание общих особенностей редактора<br />
===Редактор Сцен===<br />
Редактор Сцен, в настоящее время не может создать новые сцены. Редактор Сцен позволяет Вам помещать части бункера и акторов в уже существующих сценах. По существу, это только экономит время создания нового бункера каждый раз, когда Вы начинаете играть.<br />
<br />
'''Различия между Редактором Сцен и Редактором Бункеров в игре:'''<br />
<br />
В Редакторе Сцен Вы можете удалить помещенные объекты, и на все объекты в редакторе не действует физика. Именно поэтому Вы можете поместить акторов в воздух, и они тогда упадут на землю, когда сцену запустят. Также вы можете сохранить сцену.<br />
<br />
Внутри-игровой Редактор бункеров. В скирмише игроки могут построить свой бункер, как они хотят, и затем начать игру. После того, как закончится создание бункера, игрок не сможет вернуться в режим постройки, даже при использовании скрипта. В этом режиме пользователь не может сохранить то, что он создал.<br />
===Редактор гибов===<br />
<br />
Редактор гибов в настоящее время - единственный редактор, который непосредственно способствует созданию модов. Это загружает актора или транспортное средство и позволяет вручную поместить гибы в юнит. Также есть простое тестирование гибов. Как только гибы были размещены, пользователь может экспортировать данные гибов и вставить их в свой мод.<br />
<br />
===Просмотр акторов===<br />
<br />
Просмотр акторов - простой инструмент, который позволяет пользователю загружать актора или транспортное средство и смотреть, как это выглядит и двигается в игре. В настоящее время единственные действия, которые может выполнить актор в этом редакторе, это - идти, использовать свой джетпак и ползание. Если актору прикрепили огнестрельное оружие через .ini файл, он может стрелять в редакторе. Если актор безоружен, нельзя дать ему огнестрельное оружие.<br />
<br />
Дропшипы и ракеты могут активировать свои главные и боковые двигатели, а также открыть двери.<br />
<br />
В Просмотрщике Акторов некоторые значения [[Russian:LuaDocs/MOSprite#SpriteAnimMode|SpriteAnimMode]] имеют проблемы. Например attachable актора не будет анимировать, даже если их значение SpriteAnimMode будет установлено в 1. Рекомендуется использовать Просмотра Акторов только, чтобы позиционировать attachables, и затем попробовать актора в игре, чтобы получить реальную обратную связь на ее появлении.<br />
<br />
===Редактор Зон===<br />
Редактор зон загружает любую карту и позволяет Вам размещать прямоугольники произвольного размера, которые будут использоватся в миссиях через [[Lua]].</div>Ximximikhttp://wiki.datarealms.com/Russian:Create_MissionsRussian:Create Missions2010-06-10T03:33:10Z<p>Ximximik: Created page with '{{Russian:TableModArticles}} '''Автор''' - Dantalion13 '''Выложил, редактировал и оформлял''' - Ximximik/Программист Данный у…'</p>
<hr />
<div>{{Russian:TableModArticles}}<br />
'''Автор''' - Dantalion13<br />
<br />
'''Выложил, редактировал и оформлял''' - Ximximik/Программист<br />
<br />
Данный учебник научит вас базовым знаниям в создании миссий<br />
<br />
== Часть №1:Создание структуры мода-миссии, вся необходимая подготовка. ==<br />
<br />
Как и говорил ранее, размещаю статью по созданию миссий. <br />
Поделил ее на несколько частей. В первой, этой, речь пойдет о создании своей папки с модом, всех необходимых файлов, а также будут описаны приготовления к собственно началу создания миссии. <br />
<br />
=== Подготовка кода модуля===<br />
Первым делом, создаем в папке с игрой (скорее всего, она у Вас называется Cortex Command) свою папку. <br />
<br />
Я назову свою: '''NewMission.rte''' <br />
<br />
'''.rte''' - часть, обязательная для добавления к названию папки. <br />
<br />
Далее, в этой папке создаю текстовый документ (формата .txt), переименовываю его имя и расширение следующим образом: <br />
'''Index.ini''' <br />
<br />
Также в папке с модом создаю файлы: '''"Activities.ini"''', '''"Scenes.ini"''' и папку под названием '''"Scenes"'''. <br />
<br />
В папке '''"Scenes"''' создаю файл '''"NewMission.lua"''' (здесь будем писать код миссии) <br />
<br />
По поводу структурирования мода могу дать следующую рекомендацию: смотри, как все устроено в оригинальных папках игры и делай так же. <br />
Просто если начать оригинальничать, то Кортекс может начать капризничать. <br />
<br />
<br />
Открываю файл "Index.ini" и пишу там следующее: <br />
<pre>DataModule<br />
ModuleName = Test //можно называть произвольно <br />
IncludeFile = NewMission.rte/Scenes.ini //пути к файлам .ini <br />
IncludeFile = NewMission.rte/Activities.ini<br />
<br />
</pre><br />
<br />
<br />
<br />
Открываю файл "Activities.ini" и прописываю там: <br />
<pre><br />
AddActivity = GAScripted<br />
PresetName = NewMission //эта строчка и следующая должны совпадать, как мне кажется: одна с названием <br />
//файла карты, а другая - со значением PresetName внутри .ini - файла карты. Подробно это не разбирал за <br />
//ненадобностью. <br />
SceneName = NewMission <br />
ScriptFile = NewMission.rte/Scenes/NewMission.lua //путь к файлу с расширением .lua <br />
InCampaignStage = 1<br />
LuaClassName = NewMission //на Ваше усмотрение. штука очень нужная, так что запомните или как она <br />
//называется или где можно найти название <br />
</pre><br />
<br />
<br />
текст после двух "косых палок" означает комментарии. Их компьютер при чтении файла игнорирует.<br />
<br />
=== Подготовка карты ===<br />
Следующее, что нужно сделать - это создать карту для миссии. <br />
<br />
Описывать процесс не буду. Эта статья может помочь, если вы не умеете создавать карты:[[Russian:Scenes|Тутор]]<br />
<br />
Не забудьте, что в .ini - файл карты нужно добавить строчки: <br />
<br />
<pre><br />
LocationOnPlanet = Vector<br />
X = 120<br />
Y = 80 //координаты взял наугад <br />
</pre><br />
<br />
'''1.''' Своей карте я дам имя "NewMission". (Смотрим выше и находим, с чем должно совпадать имя карты) <br />
<br />
'''2.''' Для демонстрации потребуется несколько зон с разными именами. <br />
<br />
'''3.''' Создайте 5 зон с именами от '''"A"''' до '''"E"''':<br />
*'''A''' - будет зона появления командного юнита игрока <br />
*'''B''' - зона появления вражеского командного юнита <br />
*'''C''' - зона появления союзных солдат <br />
*'''D''' - зона появления вражеских солдат <br />
*'''E''' (где-нибудь в воздухе, чтобы вокруг было побольше свободного места) - зона для появления десантных кораблей <br />
'''4.''' Сохраните карту. <br />
<br />
'''5.''' Выйдите из игры. <br />
<br />
'''6.''' Зайдите в игру, убедитесь, что Вас не выкидывает при загрузке и не выскакивает окно с сообщением об ошибке, что в вашу карту можно играть в режиме скримиша. На всякий случай. <br />
<br />
<br />
<br />
===Если есть проблемы===<br />
<br />
#Изучайте написанное Вами и ищите ошибки. Если ничего не нашли, то: <br />
#Изучайте как устроены другие моды-миссии и сравнивайте с тем, что написали вы. Ищите ошибки. Если и это не помогло: <br />
#Обращайтесь на форум с просьбой помочь. Именно в таком порядке. <br />
<br />
Как правило, ошибки в ini или lua бывают от полоротости. Вы же не хотите выставить себя в дурном свете? <br />
<br />
Также в отлове ошибок очень помогает консоль (вызывается клавишей ~) <br />
<br />
Зачастую там написано, какая именно проблема возникла и где (дается номер строки в файле, в которой произошла ошибка). <br />
<br />
Можно, конечно, и самому строчки считать, но если ошибка где-то в строчке эдак двухсотой... <br />
<br />
Лучше загрузить на свой комп какой-нибудь текстовый редактор с возможностью нумеровать строки. <br />
<br />
К примеру, этот:[http://sourceforge.net/projects/notepad-plus/files/ Notepad ++]<br />
<br />
Это была подготовительная часть. Дальше уже пойдет собственно создание миссии. <br />
<br />
В следующей части я создам несколько переменных и сохраню в них данные, которые нам позже пригодятся, а также размещу в нужных зонах командные юниты с оружием. <br />
<br />
А пока настоятельно рекомендую прочитать следующую статью: [http://big.vip-zone.su/doc/devel/lua.xml Lua для начинающих]<br />
<br />
Хотя и вообще без знания lua можно методом шевеления мозгов делать миссии... Все же будет лучше сначала вникнуть хотя бы в азы этого языка. <br />
<br />
Знание операторов присваивания и выбора, операций сравнения, циклов, функций, таблиц - вот что нужно для комфортного программирования миссий.<br />
<br />
== Часть №2:Размещаем командные юниты и вооружаем их. ==<br />
===Планирование===<br />
Стандартная миссия содержит следующие части: <br />
<br />
<pre>function <имя файла миссии>:StartActivity() <br />
<тело функции> <br />
end </pre><br />
<br />
<pre>function <имя файла миссии>:UpdateActivity() <br />
<тело функции> <br />
end</pre><br />
<br />
Кстати, в моем случае '''<имя файла миссии> - это NewMission''' <br />
<br />
В первой функции описываются различные данные, которые будут в дальнейшем использоваться в программе, различные глобальные переменные и постоянные. <br />
<br />
Во второй - размещаются функции или команды, которые нужно выполнить несколько раз или один раз, но не с самого начала. <br />
<br />
Прежде чем что-то делать, нужно определиться с тем, что мы желаем получить. <br />
<br />
В данном примере я хочу следующее: <br />
<br />
# Чтобы в нужных зонах появлялись командные юниты (Brain Robot) с оружием (Auto Pistol) и стояли неподвижно на своих местах. <br />
# В нужных зонах появлялись солдаты (Soldier Light) со стрелковым оружием (Assault Rifle) и гранатами (Grenade), после появления шли уничтожать вражеский мозг. <br />
# После уничтожения мозга компьютерного игрока появлялся в нужном месте корабль (Drop Ship MK1) <br />
# Через 30 секунд после появления корабля, если корабль еще жив и не улетел на орбиту, корабль взрывался <br />
# Условие поражения игрока: командный юнит погиб <br />
# Условие победы: командный юнит внутри корабля улетел на орбиту <br />
<br />
===Расстановка акторов===<br />
Начнем со '''StartActivity.''' Запишем там имеющиеся у нас данные. Какие? Имена зон, юнитов, корабля. <br />
<pre><br />
function NewMission:StartActivity()<br />
<br />
-- Сохраняю в переменных имеющиеся зоны: <br />
<br />
self.ZoneBrainRed = SceneMan.Scene:GetArea("A"); -- зона появления мозга игрока <br />
self.ZoneBrainGreen = SceneMan.Scene:GetArea("B"); -- компьютерного противника <br />
self.SpawnSoldierR = SceneMan.Scene:GetArea("C"); -- зона спавна солдатов игрока <br />
self.SpawnSoldierG = SceneMan.Scene:GetArea("D"); -- -//- противника <br />
self.SpawnShip = SceneMan.Scene:GetArea("E"); -- зона появления корабля <br />
<br />
-- Сохраняю в переменных юниты и оружие: <br />
<br />
self.BrainRed = CreateAHuman("Brain Robot" , "Base.rte"); -- мозг красных <br />
self.BrainGreen = CreateAHuman("Brain Robot" , "Base.rte"); -- зеленых <br />
self.Soldier = CreateAHuman("Soldier Light" , "Coalition.rte"); -- солдат <br />
self.WeaponBrain = CreateHDFirearm("Auto Pistol" , "Coalition.rte"); -- оружие мозга <br />
self.WeaponSoldier = CreateHDFirearm("Assault Rifle" , "Coalition.rte"); -- оружие солдата <br />
self.Grenade = CreateTDExplosive("Grenade" , "Coalition.rte"); -- граната <br />
self.Ship = CreateACDropShip("Drop Ship MK1","Base.rte");-- корабль <br />
end <br />
</pre><br />
Давайте теперь разберем более подробно, что же тут написано. <br />
<br />
Это: '''"SceneMan.Scene:GetArea("A");"''' функция. Ей передается значение '''"A"''' (в качестве имени зоны). Она ищет в файле '''.ini''' карты зону с таким именем и, если находит, отдает в качестве результата саму эту зону. <br />
<br />
В нашем случае зона сохраняется в переменной "self.ZoneBrainRed". Теперь, "self.ZoneBrainRed" - это по своей сути зона. В эту зону можно приказать идти, можно выполнить проверку и так далее. <br />
<br />
Зачем вообще нужно сохранять зоны в переменных? <br />
<br />
Затем, что вместо длинного и малопонятного '''"SceneMan.Scene:GetArea("A");"''' мы имеем переменную "self.ZoneBrainRed", которая, во-первых, короче, а во-вторых, по ее внешнему виду понятно, за что она отвечает, какую информацию хранит. <br />
'''CreateAHuman''', '''CreateHDFirearm''', '''CreateTDExplosive''', '''CreateACDropShip''' - функции по созданию пехотинцев, оружия, гранат и десантных кораблей соответственно. <br />
<br />
В эти функции нужно передать два значения. Первое - имя объекта (лежит в '''.ini''' - файле, описывающим объект, в строчке с '''"PresetName = "'''). <br />
<br />
Второе - имя папки с расширением '''.rte''', в которой лежит '''.ini''' - файл с объектом. <br />
<br />
Кстати, в миссиях можно использовать не только стандартные объекты, но и из модов. <br />
<br />
Допишем эту часть, дав команду на появление командных юнитов с нужным оружием, в нужных местах, с нужным режимом ИИ (чтобы стояли на месте) и чтобы они принадлежали нужной команде. <br />
<br />
После строчки '''"self.Ship = CreateACDropSh..."''' делаем небольшой пропуск, чтобы не мешалось все в одну кучу, и пишем: <br />
<pre><br />
self.BrainRed:AddInventoryItem(self.WeaponBrain); -- добавляем мозгу оружие для мозга <br />
self.BrainRed.AIMode = Actor.AIMODE_SENTRY; -- устанавливаем мозгу режим "стоять на месте" <br />
self.BrainRed.Pos = Vector(self.ZoneBrainRed:GetRandomPoint().X, self.ZoneBrainRed:GetRandomPoint().Y);-- устанавливаем позицию, где<br />
--появится мозг <br />
self.BrainRed.Team = Activity.TEAM_1; -- мозг будет за игрока <br />
MovableMan:AddActor(self.BrainRed); -- добавляем мозг на карту <br />
</pre><br />
Так, хорошо, в результате этого мозг красных появится на карте. <br />
<br />
Аналогичное проделываем для командного юнита зеленых: <br />
<pre><br />
self.BrainGreen = CreateAHuman("Brain Robot" , "Base.rte"); <br />
--далее, в функции я прописал сразу, какое именно оружие выдать мозгу <br />
<br />
self.BrainGreen:AddInventoryItem(CreateHDFirearm("Auto Pistol" , "Coalition.rte")); <br />
-- важное замечание: нельзя дважды выдать на руки двум солдатам одно и тоже оружие. <br />
</pre><br />
Если бы я написал сначала "self.BrainRed:AddInventoryItem(self.WeaponBrain)", а затем: "self.BrainGreen:AddInventoryItem(self.WeaponBrain)", то произошла бы ошибка. <br />
<br />
Также нельзя дважды спавнить одного и того же солдата, нельзя дважды стрелять одной и той же пулей, и так далее. Помните это. <br />
<br />
Если захотите '''N''' раз заспавнить солдата, вам придется делать что-то вроде этого: <br />
<br />
<pre><br />
for i=1,N do <br />
local Soldier = CreateAHuman(ля-ля-ля); <br />
<прописывание свойств солдата> <br />
MovableMan:AddActor(Soldier) <br />
end</pre><br />
<br />
Вернемся к нашим баранам: <br />
<br />
<pre>self.BrainGreen.AIMode = Actor.AIMODE_SENTRY; <br />
self.BrainGreen.Pos = Vector(self.ZoneBrainGreen:GetRandomPoint().X, self.ZoneBrainGreen:GetRandomPoint().Y);-- в качестве зоны <br />
--используется уже другая переменная <br />
self.BrainGreen.Team = Activity.TEAM_2; -- команда уже другая <br />
MovableMan:AddActor(self.BrainGreen);</pre><br />
<br />
Если вы все делали правильно, то после запуска миссии... <br />
<br />
Вы увидите здоровенную надпиcь ''"DEAD"'' посредине экрана. <br />
<br />
Не волнуйтесь, все идет по-плану. Подвигайте мышью и убедитесь, что командные юниты стоят на своих местах и с оружием.<br />
<br />
===Советы к этой части===<br />
Советую скопировать куда-нибудь названия функций или переписать их. И подробно описать, что они делают. Пока эти функции сами собой не запомнятся, их написание частенько придется посматривать. <br />
<br />
Думаю, это хорошая идея - попробовать самостоятельно добавить на карту еще парочку солдат с оружием, прописав соответствующий код. <br />
<br />
Кстати, могу подсказать простой способ разместить солдата в какой-либо точке, не прописывая в переменной зону для этого солдата. <br />
<br />
# В редакторе зон ставим зону. <br />
# Открываем .ini - файл карты и смотрим координаты Х,У зоны, зону из файла убираем. (подсказка: зону в файле можно найти по ее имени) <br />
# Для нужного актора пишем: <br />
<pre><br />
self.<наш актор>.Pos = Vector(X, Y); <br />
</pre><br />
Где '''Х''' и '''У''' - какие-то числовые значения. <br />
<br />
В следующей части статьи разберем проверку того, жив мозг или нет, напишем условие поражения (смерть мозга).<br />
<br />
== Часть №3:Условия победы и поражения. ==<br />
===Вступление===<br />
В этой части тутора будет разобрана функция, проверяющая, живы ли командные юниты игрока и компьютерного противника, а также объявляющая победу/поражение. <br />
<br />
В этот раз к статье прикреплена папка с модом-миссией ([http://www.filefactory.com/file/b1h9318/n/NewMission.rte.rar Скачать]), благодаря чему вы можете получить работающий образец миссии и посмотреть, как эта миссия устроена. <br />
<br />
Код я приводить в статье полностью не буду (все равно в прикреплении есть), а лишь поговорю про некоторые моменты и тонкости, встретившиеся мне в ходе создания данной версии тестовой миссии. <br />
<br />
Первое, что замечу: в отличие от предыдущей версии .lua-файла миссии, в функции '''StartActivity''' добавились следующие строки: <br />
<br />
<pre>-- Сохраняю в переменных команды <br />
<br />
self.CPUTeam = Activity.TEAM_2;<br />
<br />
self.PlayerTeam = Activity.TEAM_1;</pre><br />
<br />
также с целью сделать нижеследующий код более наглядным. <br />
<br />
'''CPUTeam/PlayerTeam''' используется ниже. <br />
Когда встретите эти обозначения в коде, обратите внимание, откуда они взялись. <br />
Вообще, если вы всерьез займетесь созданием миссий (или модов), то вам наверняка придется доставать из чужих миссий и модов куски кода для получения нужного вам эффекта. <br />
Для того, чтобы быстро и безболезненно осуществить интеграцию чужого кода в ваш, всегда тщательно разбирайте чужой код. <br />
<br />
Гляньте сюда: <br />
<br />
[[File:5888101.jpg||Гляньте сюда:]]<br />
<br />
Скопипастить чужой код - дело нескольких секунд, а вот чтобы он заработал как надо... <br />
<br />
Если коротко - всегда смотрите, какие данные и откуда берутся в коде.<br />
<br />
===Цели миссии===<br />
<br />
Функция '''"UpdateActivity"''' выглядит у меня так: <br />
<br />
<pre><br />
function NewMission:UpdateActivity() <br />
self:ClearObjectivePoints(); <br />
self:WinDefeat(); <br />
self:YSortObjectivePoints(); <br />
end</pre><br />
<br />
Про функции '''Clear/YSort Objective''' я говорил раньше (в прошлой части тутора). '''"WinDefeat"''' - название функции, отвечающей за победу/поражение игрока. <br />
<br />
Вообще-то, в данной версии миссии функции '''Clear/YSort ObjectivePoints''' не нужны. (легко проверить, занеся вызов этих функций под комментарий (поставив перед ними "--" без кавычек) и запустив миссию) Однако, если вы будете использовать в миссии маркеры, то эти функции вам понадобятся. В общем случае рекомендуется все функции в '''UpdateActivity''' (или весь код внутри ее) помещать между '''ClearObjectivePoints''' и '''YSortObjectivePoints.''' <br />
<br />
Что насчет функции '''WinDefeat''', то взял ее я из стандартной миссии '''"Doainar"''' и довольно сильно урезал. <br />
Можете во время миссии посадить своего командного юнита в корабль/ракету/ящик и пронаблюдать, насколько быстро перед вашим взором предстанет рабочий стол. <br />
<br />
Поскольку по ходу запланированной миссии мозг должен покинуть планету на корабле, я это доработаю. Пока же функция выглядит достаточно просто, без лишних наворотов, и в ней легче разобраться. <br />
<br />
Смысл ее таков: <br />
<br />
У нас есть зарезервированная переменная PlayerBrain. <br />
Поначалу она пустая (что комп узнает командой self:GetPlayerBrain(player)), поэтому мы находим на карте мозг (MovableMan:GetUnassignedBrain(team)), а затем в эту зарезервированную переменную этот мозг помещаем (на самом деле, всего лишь указатель помещаем на мозг в эту переменную.. но да ладно). <br />
<br />
Помещаем следующей командой - '''self:SetPlayerBrain(newBrain, player);.''' <br />
<br />
Если мозга на карте не нашли, тогда игроку засчитывается поражение. <br />
<br />
Если же нашли, уже проверяем, как там у нас поживает мозг синих зеленых. <br />
<br />
И если тот мертв, засчитываем игроку победу. <br />
<br />
Вот на скорую руку набросанная и кошмарно оформленная схема работы функции: <br />
<br />
[[File:0748097.jpg||Вот на скорую руку набросанная и кошмарно оформленная схема работы функции: :]]<br />
<br />
<br />
На этом пока что, пожалуй, все. <br />
<br />
В принципе, на основе кода этой тестовой миссии уже можно делать миссии. В духе "атакуй крепость, обороняемую гарнизоном и убей вражеский мозг" или "проберись одним чушком мимо охраны и убей мозг противника" или "выберись из охраняемой тюрьмы и убей ее начальника или, там, важную персону какую-нибудь". <br />
Чем я и рекомендую вам заняться.<br />
<br />
== Часть №4:Респавн, режим "охота на мозг", таймер. ==<br />
===Вступление===<br />
Вновь к статье прикреплен архив с тестовым модом и вновь я пробегусь лишь по самому основному, поскольку остальное можно узнать в .lua-файле мода. [http://www.filefactory.com/file/b1h9319/n/5123418.rar Скачать архив]<br />
<br />
Кстати, если к какой-либо функции нет комментария (а он вам нужен для понимания) - поищите выше по тексту аналогичную функцию, там комментарий скорее всего будет. <br />
<br />
В этой версии тестовой миссии каждые семь секунд респавнятся солдаты красных и зеленых, и идут убивать мозг команды противника. <br />
Также, после смерти командира зеленых не наступает сразу победа, а спавнится в положенном месте корабль, и только лишь через 30 секунд миссия завершается победой. <br />
<br />
В этой версии в .lua-файле добавились аж четыре функции. <br />
<br />
#'''War()''' - периодично спавнит солдат. <br />
#'''WarInit()''' - содержит данные для работы первой функции. Лучше сказать, один раз объявляет нужные переменные и один раз <br />
задает нужные начальные значения. <br />
#'''DropShip()''' - спавнит корабль и через 30 секунд после этого объявляет игрока победившим. <br />
#'''DropShipInit()''' - ... догадались? Нужные переменные и начальные значения для функции '''DropShip()'''. <br />
<br />
Счастливый обладатель .lua-файла миссии к прошлой части тутора может заметить, что я перенес некоторые команды из '''StartActivity''' в '''WarInit''' и '''DropShipInit'''. <br />
<br />
Зачем? Затем, что если у вас будет не две-три функции в миссии, а двадцать-тридцать, то вынос данных и констант в отдельные "инициализирующие" функции может вам здорово помочь. Тем, что сгруппирует данные и константы. И '''StartActivity''' у вас в помойку не превратится... <br />
<br />
Но важнее другое.<br />
<br />
===Разделение миссии на этапы===<br />
<br />
Вот, представьте... Вам нужно добраться из одного конца города в другой. Что легче - посмотреть по карте весь путь полностью, полностью его в голове держать и идти по нему, или запоминать путь по кусочкам, по мере необходимости? Сначала посмотрел путь до ул. Архангельской, как дошел до нее - посмотрел путь до Герцена, потом - до центра, до ул. Советской, и так далее... <br />
Часто миссию можно (и нужно) разделить на этапы. <br />
<br />
К примеру, сначала - высадить свои войска на склоне холма, потом - под огнем противника пробраться внутрь базы, потом - отключить энергию, чтобы ПВО перестали работать, потом массированный десант и в наступление... <br />
Что лучше - сразу все в память компьютера вбухать, константы и структуры данных по всем этапам, или по мере необходимости подгружать? <br />
<br />
'''DropShipInit''' у меня запускается только после смерти мозга зеленых (после эдакого завершения условного первого этапа) и запускается лишь один раз - на это тоже внимание обратите. <br />
<br />
Первый этап у меня олицетворяет функция '''War()''', функция '''WarInit()''' запускается в функции '''StartActivity'''. Другими словами, данные для первого этапа подгружаются с самого начала.<br />
<br />
===Опишу логику миссии===<br />
<br />
Функция '''WinDefeat''' теперь следит лишь за тем, жив командир красных или нет (если нет - поражение игрока). <br />
В функции '''UpdateActivity''' появилась следующая конструкция: <br />
<pre><br />
if self.AllowDS == false then <br />
self:War(); <br />
else <br />
self:DropShip(); <br />
end </pre><br />
Как мы видим, пока '''AllowDS == false''', будет выполняться функция '''War''' и будет идти первая фаза, а когда '''AllowDS''' поменяет свое значение, уже будет выполняться функция '''DropShip''', причем никакие команды из функции '''War''' выполняться уже не будут. <br />
AllowDS меняет значение на "true" внутри функции '''War''', но только в том случае, если погибнет мозг зеленых: <br />
<pre>-- проверяем, мертв ли командир зеленых <br />
if not MovableMan:IsActor(self.CPUBrain) then <br />
-- если не_жив, тогда меняем значение переменной, переходя в другую фазу <br />
-- и подгружаем данные для следующего этапа: <br />
self:DropShipInit(); <br />
self.AllowDS = true; <br />
end</pre><br />
<br />
Так... ну, остальное прописал в файле .lua и достаточно подробно... <br />
<br />
Хочу сказать еще несколько вещей. <br />
<br />
Иногда посреди фазы должно произойти какое-то событие и должно произойти только один раз. <br />
Если нет возможности сделать так, чтобы сразу после происшествия этого события начиналась следующая фаза... всосали? <br />
<br />
Тогда можно применить следующую конструкцию: <br />
<pre>function <имя скрипта>:<название функции>Init(); <br />
<какие-то данные и константы> <br />
<наша переменная> = true; <br />
end <br />
<br />
function <имя скрипта>:<название функции>(); <br />
<какие-то команды> <br />
if <наша переменная> == true then <br />
<что-то сделать>; <br />
<наша переменная> = false; <br />
end <br />
<какие-то команды> <br />
end</pre><br />
<br />
Здесь в псевдокоде представлены две функции, инициализирующая и "рабочая". Благодаря условию '''if <наша переменная> == true''' и тому, что после выполнения действий условие это перестает выполняться, нужные действия будут выполнены лишь один раз. <br />
В '''.lua'''-файле миссии можете данный "прием" увидеть. <br />
<br />
Немного для понимания. <br />
В начале миссии выполняется один раз '''"StartActivity"'''. <br />
А затем, до тех пор, пока миссия не завершиться, будет выполняться "UpdateActivity" все команды сверху вниз, бесчисленное множество раз, множество раз в секунду. <br />
Все функции, которые вызываются внутри '''"StartActivity"''' будут выполнены один раз. <br />
Все функции, которые могут быть вызваны внутри '''"UpdateActivity"''' будут выполнены бесчисленное множество раз. <br />
<br />
===Советы к этой части===<br />
Напоследок процитирую слова классика и посоветую вам следить за тем, чтобы все нужные данные и структуры данных были созданы перед тем, как ваши команды бросятся эти данные и структуры использовать или обрабатывать. <br />
А также порекомендую выцарапать из кода условие с таймером и команды для респа, а затем сделать в миссии какую-нибудь интересную штуковину. <br />
<br />
Например, чтобы периодично по времени и хаотично по пространству бомбы с неба сыпались. <br />
Координаты для бомб: '''-10''' по игреку, а для икса: '''math.random(<ширина карты в пикселах>);''' <br />
Присвоить переменной бомбу (или создать бомбу) можно следующей командой: '''local bomb = CreateTDExplosive("Napalm Bomb", "Coalition.rte");''' заспавнить - '''MovableMan:AddMO(bomb);'''<br />
<br />
Считайте это вашим домашним заданием. <br />
<br />
Только... Помните - нельзя дважды выстрелить одной пулей. Не понятно? Тогда прочтите комментарии к .lua-файлу или прошлые части тутора.<br />
<br />
=== Важное замечание ===<br />
<br />
Чтобы текст .lua-файла нормально отображался, его следует открывать программой '''"Notepad++"'''. <br />
Если при открытии файла весь текст будет размазан по одной-трем строчкам и вся табуляция будет жестоко убита топором, скачайте вышеуказанную программу. <br />
Описание программы и ссылку на скачку можно найти [http://sourceforge.net/projects/notepad-plus/files/ Здесь].<br />
[[Category:Russian:Tutorials]]<br />
[[Category:Russian:Lua]]</div>Ximximikhttp://wiki.datarealms.com/File:0748097.jpgFile:0748097.jpg2010-06-10T03:31:41Z<p>Ximximik: </p>
<hr />
<div></div>Ximximikhttp://wiki.datarealms.com/File:5888101.jpgFile:5888101.jpg2010-06-10T03:31:36Z<p>Ximximik: </p>
<hr />
<div></div>Ximximikhttp://wiki.datarealms.com/Category:Russian:LuaCategory:Russian:Lua2010-06-07T12:36:41Z<p>Ximximik: Created page with 'Lua был добавлен в Cortex Command в 23-ом билде. Эта категория содержит все страницы о Lua, которые находят…'</p>
<hr />
<div>Lua был добавлен в [[Cortex Command]] в 23-ом билде. Эта категория содержит все страницы о Lua, которые находятся в русском разделе Cortex Command Wiki.</div>Ximximikhttp://wiki.datarealms.com/Category:Russian:TutorialsCategory:Russian:Tutorials2010-06-07T12:35:34Z<p>Ximximik: Created page with '=Категория: Туториалы= Туториалы - статьи, которые дают информацию по определенной теме. Некоторы…'</p>
<hr />
<div>=Категория: Туториалы=<br />
Туториалы - статьи, которые дают информацию по определенной теме. Некоторые могут показать примеры или показать, как это сделать.</div>Ximximikhttp://wiki.datarealms.com/Russian:Module_StructureRussian:Module Structure2010-06-07T12:34:30Z<p>Ximximik: Created page with '{{Russian:TableModArticles}} Модули, загруженные в Cortex Command, являются просто папками в каталоге Cortex Command с ".rte" р…'</p>
<hr />
<div>{{Russian:TableModArticles}}<br />
Модули, загруженные в Cortex Command, являются просто папками в каталоге Cortex Command с ".rte" расширением. При загрузке игра проверит любые модули в своем основном каталоге.<br />
<br />
Чтобы игра могла загрузить Ваш модуль, папка должна содержать файл, названный '''index.ini''', Это довольно очевидно. Это - индекс для всех файлов, которые будут ссылаться в модуле.<br />
<br />
Внутри файла index.ini - множество свойств и атрибутов, примеры которых даны ниже:<br />
<br />
<pre><br />
DataModule<br />
Author = Me<br />
ModuleName = My Mod<br />
IconFile = ContentFile<br />
FilePath = Example.rte/Icon.bmp<br />
IncludeFile = Example.rte/Content1.ini<br />
IncludeFile = Example.rte/Example/Content2.ini<br />
<br />
//Комментарии не читаются.<br />
<br />
/*<br />
Блок комментариев также игнорируется.<br />
*/<br />
</pre><br />
<br />
'''DataModule'''<br />
* Это всегда будет первой строкой. Единственная цель этой строки состоит в том, чтобы сообщить движку игры, что читаемый файл является индексом модуля. Если эта строка не будет включена, то движок выдаст ошибку: ''Could not find DataModule.''<br />
<br />
'''Author'''<br />
* Это - место для автора, чтобы показать, кто создал файл. Это - дополнительное свойство.<br />
<br />
'''ModuleName.'''<br />
* Это свойство дает Вашему моду уникальное идентификационное имя. Оно должно быть уникально. <br />
<br />
'''IconFile.'''<br />
* Это свойство дает Вашему моду уникальный баннер, флажок, или значок, чтобы идентифицировать это в [[Russian:Buy Menu|Меню покупки]]. Свойство является дополнительным, но атрибут должен быть '''ContentFile''', если это включено.<br />
<br />
'''FilePath'''<br />
* Если Вы решили создать IconFile, Ваше следующее действие будет FilePath. FilePath - родитель IconFile. На английском языке это обозначает, где графический файл постоянно находится в модуле. Атрибут этого свойства всегда будет '''YourMod.rte/folder/file.extension''', Вы должны всегда включать название модуля (.rte), в котором содержится файл. Это свойство является дополнительным, но должно быть включено, если свойство IconFile объявлено.<br />
<br />
'''IncludeFile'''<br />
* Наконец, суть индекса. Эти свойства говорят движку, где найти местонахождение других файлов модуля, чтобы их включить. Если Вы решили добавить информационное содержимое модуля к другим документам, Вы должны назвать IncludeFile, чтобы сказать игре, где искать. Атрибут для этого свойства - местоположение файла внутри модуля. Опять, за этим следует '''YourMod.rte/folder/file.extension'''.<br />
<br />
Кол-во включенных файлов безгранично. Это позволяет Вам организовывать свои файлы, как Вы считаете целесообразным, и увеличивает гибкость движка. Много больших модов имеют отдельный файл, включающий акторов, крафты, оружие, устройства, и сцены.<br />
<br />
[[Category:Russian: Tutorials]]</div>Ximximikhttp://wiki.datarealms.com/User:XimximikUser:Ximximik2010-06-05T18:38:17Z<p>Ximximik: </p>
<hr />
<div>I the Russian mod-maker.<br />
I am engaged in translation wiki on Russian, and also writing of new articles in Russian.<br />
Excuse me for my bad English.</div>Ximximikhttp://wiki.datarealms.com/Russian:Main_PageRussian:Main Page2010-06-05T18:26:22Z<p>Ximximik: </p>
<hr />
<div><div align="center">[[Image:CCWebTile.png]]</div><br />
<br />
<div align="center"><font size="2" style="color: #BB0000;"><b>ВНИМАНИЕ: Пожайлуста прочтите [[CortexWiki:Editing Policy|политику редактирования]] перед изменением какой-либо статьи в этой энциклопедии</b></font></div><br />
----<br />
<br />
<br />
<div align="center">Добро пожаловать в '''CortexWiki!''' Сейчас пока не так много инфорации но в ближайшее время энциклопедия будет расти и расти, в том числе будут переводится все новые и новые статьи на русский язык. Будем рады вашей помощи в наполнеии!</div><br />
<br />
<div align="center"><br />
{| cellspacing=5 cellpadding=5 border=0 style="width=95%; background-color: #BBCCFF; border: 2px dashed #88AADD; margin: 5px;"<br />
{{MainPageItem|mmCortexCommand.png|Russian:Cortex Command|Cortex Command|О игре. [[Cortex Command|&#91;eng&#93;]]}}<br />
|<br />
{{MainPageItem|mmModding.png|Russian:Modding|Создание модов|Информация по созданию собственных<br/>модов и дополнений для [[Cortex Command]].}}<br />
|-<br />
{{MainPageItem|RusLua.png|Russian:Lua|Lua|Кое что о Lua, категоризированное для легкого использования..}}<br />
|<br />
{{MainPageItem|mmTodo.png|CortexWiki:To-Do List|Планы по расширению|То - чем вы можете помочь сообществу}}<br />
<!-- Keep these last! --><br />
|-<br />
{{MainPageItemWeb|http://www.datarealms.com/|Сайт DataRealms|Домашняя страница DataRealms.}}<br />
|<br />
{{MainPageItemWeb|http://www.datarealms.com/forum/|Форумы DataRealms|Англоязычные форумы DataRealms.}}<br />
|}<br />
</div></div>Ximximikhttp://wiki.datarealms.com/Russian:List_of_all_Lua_functionsRussian:List of all Lua functions2010-06-05T18:24:37Z<p>Ximximik: Create Russian List of all Lua function (Functions will be added later)</p>
<hr />
<div>{{Russian:TableLuaArticles}}<br />
Функции будут добавлены позже. (Functions will be added later)<br />
<br />
==Library Function Index==<br />
<br />
*[[Russian:_G|Base Library]]<br />
{{Template:Russian:Lua_G|Lua_G}}<br />
*[[Russian:coroutine|coroutine]]<br />
{{Template:Russian:Lua Coroutine}}<br />
*[[Russian:debug|debug]]<br />
{{Template:Russian:Lua Debug}}<br />
*[[Russian:math|math]]<br />
{{Template:Russian:Lua Math}}<br />
*[[Russian:package|package]]<br />
{{Template:Russian:Lua Package}}<br />
*[[Russian:string|string]]<br />
{{Template:Russian:Lua String}}<br />
*[[Russian:table|table]]<br />
{{Template:Russian:Lua Table}}<br />
<br />
==Object Functions==<br />
*[[Russian:Activity|Activity]]<br />
{{Template:Russian:Lua Activity}}<br />
*[[Russian:Actor|Actor]]<br />
{{Template:Russian:Lua Actor}}<br />
*[[Russian:AEmitter|AEmitter]]<br />
{{Template:Russian:Lua AEmitter}}<br />
*[[Russian:AHuman|AHuman]]<br />
{{Template:Russian:Lua AHuman}}<br />
*[[Russian:ACDropship|ACDropship]]<br />
{{Template:Russian:Lua ACDropship}}<br />
*[[Russian:ACrab|ACrab]]<br />
{{Template:Russian:Lua ACrab}}<br />
*[[Russian:ACraft|ACraft]]<br />
{{Template:Russian:Lua ACraft}}<br />
*[[Russian:ACRocket|ACRocket]]<br />
{{Template:Russian:Lua ACRocket}}<br />
*[[Russian:ActivityManager|ActivityManager]]<br />
{{Template:Russian:Lua ActivityMan}}<br />
*[[Russian:ADoor|ADoor]]<br />
{{Template:Russian:Lua ADoor}}<br />
*[[Russian:Attachable|Attachable]]<br />
{{Template:Russian:Lua Attachable}}<br />
*[[Russian:AudioManager|AudioManager]]<br />
{{Template:Russian:Lua AudioMan}}<br />
*[[Russian:Box|Box]]<br />
{{Template:Russian:Lua Box}}<br />
*[[Russian:ConsoleManager|ConsoleManager]]<br />
{{Template:Russian:Lua ConsoleMan}}<br />
*[[Russian:Controller|Controller]]<br />
{{Template:Russian:Lua Controller}}<br />
*[[Russian:FrameManager|FrameManager]]<br />
{{Template:Russian:Lua FrameMan}}<br />
*[[Russian:HDFirearm|HDFirearm]]<br />
{{Template:Russian:Lua HDFirearm}}<br />
*[[Russian:HeldDevice|HeldDevice]]<br />
{{Template:Russian:Lua HeldDevice}}<br />
*[[Russian:MOPixel|MOPixel]]<br />
{{Template:Russian:Lua MOPixel}}<br />
*[[Russian:MOSprite|MOSprite]]<br />
{{Template:Russian:Lua MOSprite}}<br />
*[[Russian:MOSParticle|MOSParticle]]<br />
{{Template:Russian:Lua MOSParticle}}<br />
*[[Russian:MOSRotating|MOSRotating]]<br />
{{Template:Russian:Lua MOSRotating}}<br />
*[[Russian:MovableManager|MovableManager]]<br />
{{Template:Russian:Lua MovableMan}}<br />
*[[Russian:MovableObject|MovableObject]]<br />
{{Template:Russian:Lua MovableObject}}<br />
*[[Russian:PresetManager|PresetManager]]<br />
{{Template:Russian:Lua PresetMan}}<br />
*[[Russian:Scene|Scene]]<br />
{{Template:Russian:Lua Scene}}<br />
*[[Russian:SceneManager|SceneManager]]<br />
{{Template:Russian:Lua SceneMan}}<br />
*[[Russian:SceneObject|SceneObject]]<br />
{{Template:Russian:Lua SceneObject}}<br />
*[[Russian:TDExplosive|TDExplosive]]<br />
{{Template:Russian:Lua TDExplosive}}<br />
*[[Russian:ThrownDevice|ThrownDevice]]<br />
{{Template:Russian:Lua ThrownDevice}}<br />
*[[Russian:Timer|Timer]]<br />
{{Template:Russian:Lua Timer}}<br />
*[[Russian:TimerManager|TimerManager]]<br />
{{Template:Russian:Lua TimerManager}}<br />
*[[Russian:UInputManager|UInputManager]]<br />
{{Template:Russian:Lua UInputMan}}<br />
*[[Russian:Vector|Vector]]<br />
{{Template:Russian:Vector}}<br />
<br />
[[Category:Russian:Lua]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:VectorTemplate:Russian:Vector2010-06-05T18:22:51Z<p>Ximximik: Created page with '**Vector:SetMagnitude **Vector:GetXFlipped **Vector:[[Russ…'</p>
<hr />
<div>**[[Russian:Vector|Vector]]:[[Russian:Vector:SetMagnitude|SetMagnitude]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:GetXFlipped|GetXFlipped]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:GetYFlipped|GetYFlipped]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:CapMagnitude|CapMagnitude]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:FlipX|FlipX]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:FlipY|FlipY]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:IsZero|IsZero]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:IsOpposedTo|IsOpposedTo]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Dot|Dot]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Cross|Cross]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Round|Round]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:ToHalf|ToHalf]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Floor|Floor]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Ceiling|Ceiling]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Normalize|Normalize]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Perpendicularize|Perpendicularize]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:Reset|Reset]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:RadRotate|RadRotate]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:DegRotate|DegRotate]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:AbsRotateTo|AbsRotateTo]]<br />
**[[Russian:Vector|Vector]]:[[Russian:Vector:SetXY|SetXY]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_UInputManTemplate:Russian:Lua UInputMan2010-06-05T18:21:24Z<p>Ximximik: Created page with '**UInputMan:SetMousePos **UInputMan:DisableMouseMoving **[[…'</p>
<hr />
<div>**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:SetMousePos|SetMousePos]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:DisableMouseMoving|DisableMouseMoving]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:JoyDirectionPressed|JoyDirectionPressed]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:JoyButtonPressed|JoyButtonPressed]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:ForceMouseWithinPlayerScreen|ForceMouseWithinPlayerScreen]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnalogMoveValues|AnalogMoveValues]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyInput|AnyInput]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnalogAimValues|AnalogAimValues]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnalogAxisValue|AnalogAxisValue]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:MouseButtonPressed|MouseButtonPressed]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:MouseButtonHeld|MouseButtonHeld]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:JoyButtonReleased|JoyButtonReleased]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyJoyPress|AnyJoyPress]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnalogStickValues|AnalogStickValues]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:MouseWheelMoved|MouseWheelMoved]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyJoyButtonPress|AnyJoyButtonPress]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyMouseButtonPress|AnyMouseButtonPress]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:KeyHeld|KeyHeld]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:TrapMousePos|TrapMousePos]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyPress|AnyPress]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:MouseUsedByPlayer|MouseUsedByPlayer]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:SetMouseValueMagnitude|SetMouseValueMagnitude]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyStartPress|AnyStartPress]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:AnyJoyInput|AnyJoyInput]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:WhichJoyButtonPressed|WhichJoyButtonPressed]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:ElementHeld|ElementHeld]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:KeyReleased|KeyReleased]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:MouseButtonReleased|MouseButtonReleased]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:JoyButtonHeld|JoyButtonHeld]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:ElementPressed|ElementPressed]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:JoyDirectionReleased|JoyDirectionReleased]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:KeyPressed|KeyPressed]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:ElementReleased|ElementReleased]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:WhichKeyHeld|WhichKeyHeld]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:ForceMouseWithinBox|ForceMouseWithinBox]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:JoyDirectionHeld|JoyDirectionHeld]]<br />
**[[Russian:UInputMan|UInputMan]]:[[Russian:UInputMan:GetMouseMovement|GetMouseMovement]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_TimerManagerTemplate:Russian:Lua TimerManager2010-06-05T18:19:00Z<p>Ximximik: Created page with '**TimerManager:EnableAveraging **TimerManager:[[Russian:TimerManager:PauseSim|PauseSim]…'</p>
<hr />
<div>**[[Russian:TimerManager|TimerManager]]:[[Russian:TimerManager:EnableAveraging|EnableAveraging]]<br />
**[[Russian:TimerManager|TimerManager]]:[[Russian:TimerManager:PauseSim|PauseSim]]<br />
**[[Russian:TimerManager|TimerManager]]:[[Russian:TimerManager:TimeForSimUpdate|TimeForSimUpdate]]<br />
**[[Russian:TimerManager|TimerManager]]:[[Russian:TimerManager:DrawnSimUpdate|DrawnSimUpdate]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_TimerTemplate:Russian:Lua Timer2010-06-05T18:18:27Z<p>Ximximik: Created page with '**Timer:Reset **Timer:IsPastSimMS **Timer:[[Russian:Timer:LeftTillSimM…'</p>
<hr />
<div>**[[Russian:Timer|Timer]]:[[Russian:Timer:Reset|Reset]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:IsPastSimMS|IsPastSimMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:LeftTillSimMS|LeftTillSimMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:SetSimTimeLimitS|SetSimTimeLimitS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:LeftTillRealTimeLimitMS|LeftTillRealTimeLimitMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:SetRealTimeLimitS|SetRealTimeLimitS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:IsPastRealTimeLimit|IsPastRealTimeLimit]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:LeftTillRealTimeLimitS|LeftTillRealTimeLimitS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:IsPastRealMS|IsPastRealMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:AlternateSim|AlternateSim]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:SetRealTimeLimitMS|SetRealTimeLimitMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:LeftTillRealMS|LeftTillRealMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:LeftTillSimTimeLimitS|LeftTillSimTimeLimitS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:LeftTillSimTimeLimitMS|LeftTillSimTimeLimitMS]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:AlternateReal|AlternateReal]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:IsPastSimTimeLimit|IsPastSimTimeLimit]]<br />
**[[Russian:Timer|Timer]]:[[Russian:Timer:SetSimTimeLimitMS|SetSimTimeLimitMS]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_ThrownDeviceTemplate:Russian:Lua ThrownDevice2010-06-05T18:17:12Z<p>Ximximik: Created page with '**None'</p>
<hr />
<div>**None</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_TableTemplate:Russian:Lua Table2010-06-05T18:16:52Z<p>Ximximik: Created page with '**table.concat **table.foreach **table.[[Russian:table.foreachi|foreachi]…'</p>
<hr />
<div>**[[Russian:table|table]].[[Russian:table.concat|concat]]<br />
**[[Russian:table|table]].[[Russian:table.foreach|foreach]]<br />
**[[Russian:table|table]].[[Russian:table.foreachi|foreachi]]<br />
**[[Russian:table|table]].[[Russian:table.getn|getn]]<br />
**[[Russian:table|table]].[[Russian:table.insert|insert]]<br />
**[[Russian:table|table]].[[Russian:table.maxn|maxn]]<br />
**[[Russian:table|table]].[[Russian:table.remove|remove]]<br />
**[[Russian:table|table]].[[Russian:table.setn|setn]]<br />
**[[Russian:table|table]].[[Russian:table.sort|sort]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_TDExplosiveTemplate:Russian:Lua TDExplosive2010-06-05T18:16:01Z<p>Ximximik: Created page with '**None'</p>
<hr />
<div>**None</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_StringTemplate:Russian:Lua String2010-06-05T18:15:43Z<p>Ximximik: Created page with '**string.byte **string.char **string.dump **[[Rus…'</p>
<hr />
<div>**[[Russian:string|string]].[[Russian:string.byte|byte]]<br />
**[[Russian:string|string]].[[Russian:string.char|char]]<br />
**[[Russian:string|string]].[[Russian:string.dump|dump]]<br />
**[[Russian:string|string]].[[Russian:string.find|find]]<br />
**[[Russian:string|string]].[[Russian:string.format|format]]<br />
**[[Russian:string|string]].[[Russian:string.gfind|gfind]]<br />
**[[Russian:string|string]].[[Russian:string.gmatch|gmatch]]<br />
**[[Russian:string|string]].[[Russian:string.gsub|gsub]]<br />
**[[Russian:string|string]].[[Russian:string.len|len]]<br />
**[[Russian:string|string]].[[Russian:string.lower|lower]]<br />
**[[Russian:string|string]].[[Russian:string.match|match]]<br />
**[[Russian:string|string]].[[Russian:string.rep|rep]]<br />
**[[Russian:string|string]].[[Russian:string.reverse|reverse]]<br />
**[[Russian:string|string]].[[Russian:string.sub|sub]]<br />
**[[Russian:string|string]].[[Russian:string.upper|upper]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_SceneObjectTemplate:Russian:Lua SceneObject2010-06-05T18:14:37Z<p>Ximximik: </p>
<hr />
<div>**[[Russian:SceneObject|SceneObject]]:[[Russian:SceneObject:IsOnScenePoint|IsOnScenePoint]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_SceneManTemplate:Russian:Lua SceneMan2010-06-05T18:13:58Z<p>Ximximik: Created page with '**SceneMan:GetScene **SceneMan:LoadScene **SceneMan:[[…'</p>
<hr />
<div>**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetScene|GetScene]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:LoadScene|LoadScene]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetSceneDim|GetSceneDim]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetSceneWidth|GetSceneWidth]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GeSceneHeight|GetSceneHeight]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SceneWrapsX|SceneWrapsX]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SceneWrapsY|SceneWrapsY]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetOffset|GetOffset]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetOffset|SetOffset]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetOffsetX|SetOffsetX]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetOffsetY|SetOffsetY]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetScreenOcclusion|GetScreenOcclusion]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetScreenOcclusion|SetScreenOcclusion]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetTerrain|GetTerrain]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetLayerDrawMode|SetLayerDrawMode]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetTerrMatter|GetTerrMatter]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetMOIDPixel|GetMOIDPixel]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetGlobalAcc|GetGlobalAcc]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetOzPerKg|GetOzPerKg]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetKgPerOz|GetKg]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetLayerDrawMode|SetLayerDrawMode]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetScroll|SetScroll]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SetScrollTarget|SetScrollTarget]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetScrollTarget|GetScrollTarget]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:TargetDistanceScalar|TargetDistanceScalar]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CheckOffset|CheckOffset]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastMaterialRay|CastMaterialRay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastNotMaterialRay|CastNotMaterialRay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastStrengthSumRay|CastStrengthSumRay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastStrengthRay|CastStrengthRay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastWeaknessRay|CastWeaknessRay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastMORay|CastMORay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastFindMORay|CastFindMORay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:CastObstacleRay|CastObstacleRay]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:GetLastRayHitPos|GetLastRayHitPos]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:FindAltitude|FindAltitude]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:MovePointToGround|MovePointToGround]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:IsWithinBounds|IsWithinBounds]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:ForceBounds|ForceBounds]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:WrapPosition|WrapPosition]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:SnapPosition|SnapPosition]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:ShortestDistance|ShortestDistance]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:ObscuredPoint|ObscuredPoint]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:RegisterPostEffect|RegisterPostEffect]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:AddSceneObject|AddSceneObject]]<br />
**[[Russian:SceneMan|SceneMan]]:[[Russian:SceneMan:ClearPostEffects|ClearPostEffects]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_SceneTemplate:Russian:Lua Scene2010-06-05T18:11:23Z<p>Ximximik: Created page with '**Scene:GetArea **Scene:WithinArea'</p>
<hr />
<div>**[[Russian:Scene|Scene]]:[[Russian:Scene:GetArea|GetArea]]<br />
**[[Russian:Scene|Scene]]:[[Russian:Scene:WithinArea|WithinArea]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_PresetManTemplate:Russian:Lua PresetMan2010-06-05T18:10:27Z<p>Ximximik: Created page with '**PresetMan:GetDataModule **PresetMan:GetModuleID **[[Russian:Pr…'</p>
<hr />
<div>**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetDataModule|GetDataModule]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetModuleID|GetModuleID]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetPreset|GetPreset]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:AddPreset|AddPreset]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetOfficialModuleCount|GetOfficialModuleCount]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:LoadDataModule|LoadDataModule]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetTotalModuleCount|GetTotalModuleCount]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetEntityDataLocation|GetEntityDataLocation]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:ReadReflectedPreset|ReadReflectedPreset]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:GetModuleIDFromPath|GetModuleIDFromPath]]<br />
**[[Russian:PresetMan|PresetMan]]:[[Russian:PresetMan:ReloadAllScripts|ReloadAllScripts]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_PackageTemplate:Russian:Lua Package2010-06-05T18:09:24Z<p>Ximximik: Created page with '**package.loadlib **package.seeall'</p>
<hr />
<div>**[[Russian:package|package]].[[Russian:package.loadlib|loadlib]]<br />
**[[Russian:package|package]].[[Russian:package.seeall|seeall]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MovableObjectTemplate:Russian:Lua MovableObject2010-06-05T18:08:49Z<p>Ximximik: Created page with '**MovableObject:ReloadScripts **MovableObject:[[Russian:MovableObject:GetAltitude|GetA…'</p>
<hr />
<div>**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:ReloadScripts|ReloadScripts]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:GetAltitude|GetAltitude]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:SetWhichMOToNotHit|SetWhichMOToNotHit]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsSetToDelete|IsSetToDelete]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsGeneric|IsGeneric]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsActor|IsActor]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsDevice|IsDevice]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsHeldDevice|IsHeldDevice]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsThrownDevice|IsThrownDevice]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsGold|IsGold]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsThrownDevice|IsThrownDevice]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:HasObject|HasObject]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:HasObjectInGroup|HasObjectInGroup]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:AddForce|AddForce]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:AddAbsForce|AddAbsForce]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:AddImpulseForce|AddImpulseForce]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:AddAbsImpulseForce|AddAbsImpulseForce]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:ClearForces|ClearForces]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:ClearImpulseForces|ClearImpulseForces]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:RestDetection|RestDetection]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:NotResting|NotResting]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:IsAtRest|IsAtRest]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:MoveOutOfTerrain|MoveOutOfTerrain]]<br />
**[[Russian:MovableObject|MovableObject]]:[[Russian:MovableObject:RotateOffset|RotateOffset]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MovableManTemplate:Russian:Lua MovableMan2010-06-05T18:06:36Z<p>Ximximik: Created page with '**MovableMan:AddActor **MovableMan:AddParticle **[[Russian:Movabl…'</p>
<hr />
<div>**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:AddActor|AddActor]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:AddParticle|AddParticle]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:AddMO|AddMO]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:IsActor|IsActor]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:GetUnassignedBrain|GetUnassignedBrain]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:RemoveActor|RemoveActor]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:RemoveParticle|RemoveParticle]]<br />
**[[Russian:MovableMan|MovableMan]]:[[Russian:MovableMan:RemoveMO|RemoveMO]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MathTemplate:Russian:Lua Math2010-06-05T18:04:28Z<p>Ximximik: Created page with '**math.abs **math.acos **math.asin **math.[[R…'</p>
<hr />
<div>**[[Russian:math|math]].[[Russian:math.abs|abs]]<br />
**[[Russian:math|math]].[[Russian:math.acos|acos]]<br />
**[[Russian:math|math]].[[Russian:math.asin|asin]]<br />
**[[Russian:math|math]].[[Russian:math.atan|atan]]<br />
**[[Russian:math|math]].[[Russian:math.ceil|ceil]]<br />
**[[Russian:math|math]].[[Russian:math.cos|cos]]<br />
**[[Russian:math|math]].[[Russian:math.cosh|cosh]]<br />
**[[Russian:math|math]].[[Russian:math.deg|deg]]<br />
**[[Russian:math|math]].[[Russian:math.exp|exp]]<br />
**[[Russian:math|math]].[[Russian:math.floor|floor]]<br />
**[[Russian:math|math]].[[Russian:math.fmod|fmod]]<br />
**[[Russian:math|math]].[[Russian:math.frexp|frexp]]<br />
**[[Russian:math|math]].[[Russian:math.ldexp|ldexp]]<br />
**[[Russian:math|math]].[[Russian:math.log|log]]<br />
**[[Russian:math|math]].[[Russian:math.log10|log10]]<br />
**[[Russian:math|math]].[[Russian:math.max|max]]<br />
**[[Russian:math|math]].[[Russian:math.min|min]]<br />
**[[Russian:math|math]].[[Russian:math.mod|mod]]<br />
**[[Russian:math|math]].[[Russian:math.modf|modf]]<br />
**[[Russian:math|math]].[[Russian:math.pow|pow]]<br />
**[[Russian:math|math]].[[Russian:math.rad|rad]]<br />
**[[Russian:math|math]].[[Russian:math.random|random]]<br />
**[[Russian:math|math]].[[Russian:math.randomseed|randomseed]]<br />
**[[Russian:math|math]].[[Russian:math.sin|sin]]<br />
**[[Russian:math|math]].[[Russian:math.sinh|sinh]]<br />
**[[Russian:math|math]].[[Russian:math.sqrt|sqrt]]<br />
**[[Russian:math|math]].[[Russian:math.tan|tan]]<br />
**[[Russian:math|math]].[[Russian:math.tanh|tanh]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MOSpriteTemplate:Russian:Lua MOSprite2010-06-05T18:01:47Z<p>Ximximik: Created page with '**MOSprite:SetNextFrame **MOSprite:IsTooFast **[[Russian:MOSprite|MOSpr…'</p>
<hr />
<div>**[[Russian:MOSprite|MOSprite]]:[[Russian:MOSprite:SetNextFrame|SetNextFrame]]<br />
**[[Russian:MOSprite|MOSprite]]:[[Russian:MOSprite:IsTooFast|IsTooFast]]<br />
**[[Russian:MOSprite|MOSprite]]:[[Russian:MOSprite:IsOnScenePoint|IsOnScenePoint]]<br />
**[[Russian:MOSprite|MOSprite]]:[[Russian:MOSprite:RotateOffset|RotateOffset]]<br />
**[[Russian:MOSprite|MOSprite]]:[[Russian:MOSprite:UnRotateOffset|UnRotateOffset]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MOSRotatingTemplate:Russian:Lua MOSRotating2010-06-05T18:01:14Z<p>Ximximik: Created page with '**MOSRotating:AddRecoil **MOSRotating:SetRecoil **[[Russian:MO…'</p>
<hr />
<div>**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:AddRecoil|AddRecoil]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:SetRecoil|SetRecoil]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:IsRecoiled|IsRecoiled]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:EnableDeepCheck|EnableDeepCheck]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:ForceDeepCheck|ForceDeepCheck]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:GibThis|GibThis]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:MoveOutOfTerrain|MoveOutOfTerrain]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:ApplyForces|ApplyForces]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:ApplyImpulses|ApplyImpulses]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:AttachEmitter|AttachEmitter]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:IsOnScenePoint|IsOnScenePoint]]<br />
**[[Russian:MOSRotating|MOSRotating]]:[[Russian:MOSRotating:EraseFromTerrain|EraseFromTerrain]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MOSParticleTemplate:Russian:Lua MOSParticle2010-06-05T18:00:32Z<p>Ximximik: Created page with '**None'</p>
<hr />
<div>**None</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_MOPixelTemplate:Russian:Lua MOPixel2010-06-05T18:00:07Z<p>Ximximik: Created page with '**None'</p>
<hr />
<div>**None</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_HeldDeviceTemplate:Russian:Lua HeldDevice2010-06-05T17:59:48Z<p>Ximximik: Created page with '**HeldDevice:IsWeapon **HeldDevice:IsTool **[[Russian:HeldDevice|HeldD…'</p>
<hr />
<div>**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsWeapon|IsWeapon]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsTool|IsTool]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsShield|IsShield]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsOneHanded|IsOneHanded]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:Activate|Activate]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:Deactivate|Deactivate]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsActivated|IsActivated]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsReloading|IsReloading]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:DoneReloading|DoneReloading]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:NeedsReloading|NeedsReloading]]<br />
**[[Russian:HeldDevice|HeldDevice]]:[[Russian:HeldDevice:IsFull|IsFull]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_HDFirearmTemplate:Russian:Lua HDFirearm2010-06-05T17:58:20Z<p>Ximximik: Created page with '**None'</p>
<hr />
<div>**None</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_GTemplate:Russian:Lua G2010-06-05T17:52:03Z<p>Ximximik: Created page with '**_G.Clamp **_G.CreateACDropShip **_G.[[Russian:_G.CreateACRocket|CreateACRocket…'</p>
<hr />
<div>**[[Russian:_G|_G]].[[Russian:_G.Clamp|Clamp]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateACDropShip|CreateACDropShip]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateACRocket|CreateACRocket]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateACrab|CreateACrab]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateADoor|CreateADoor]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateAEmitter|CreateAEmitter]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateAHuman|CreateAHuman]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateAttachable|CreateAttachable]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateHDFirearm|CreateHDFirearm]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateMOSParticle|CreateMOSParticle]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateMOSRotating|CreateMOSRotating]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateScene|CreateScene]]<br />
**[[Russian:_G|_G]].[[Russian:_G.CreateTDExplosive|CreateTDExplosive]]<br />
**[[Russian:_G|_G]].[[Russian:_G.EaseIn|EaseIn]]<br />
**[[Russian:_G|_G]].[[Russian:_G.EaseInOut|EaseInOut]]<br />
**[[Russian:_G|_G]].[[Russian:_G.EaseOut|EaseOut]]<br />
**[[Russian:_G|_G]].[[Russian:_G.LERP|LERP]]<br />
**[[Russian:_G|_G]].[[Russian:_G.NormalRand|NormalRand]]<br />
**[[Russian:_G|_G]].[[Russian:_G.PosRand|PosRand]]<br />
**[[Russian:_G|_G]].[[Russian:_G.RangeRand|RangeRand]]<br />
**[[Russian:_G|_G]].[[Russian:_G.SelectRand|SelectRand]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToACDropShip|ToACDropShip]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToACRocket|ToACRocket]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToACrab|ToACrab]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToACraft|ToACraft]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToADoor|ToADoor]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToAEmitter|ToAEmitter]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToAHuman|ToAHuman]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToAttachable|ToAttachable]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToGameActivity|ToGameActivity]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToHDFirearm|ToHDFirearm]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToMOSParticle|ToMOSParticle]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToMOSRotating|ToMOSRotating]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToMOSprite|ToMOSprite]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToMovableObject|ToMovableObject]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToScene|ToScene]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToSceneObject|ToSceneObject]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ToTDExplosive|ToTDExplosive]]<br />
**[[Russian:_G|_G]].[[Russian:_G.assert|assert]]<br />
**[[Russian:_G|_G]].[[Russian:_G.class|class]]<br />
**[[Russian:_G|_G]].[[Russian:_G.collectgarbage|collectgarbage]]<br />
**[[Russian:_G|_G]].[[Russian:_G.dofile|dofile]]<br />
**[[Russian:_G|_G]].[[Russian:_G.error|error]]<br />
**[[Russian:_G|_G]].[[Russian:_G.gcinfo|gcinfo]]<br />
**[[Russian:_G|_G]].[[Russian:_G.getfenv|getfenv]]<br />
**[[Russian:_G|_G]].[[Russian:_G.getmetatable|getmetatable]]<br />
**[[Russian:_G|_G]].[[Russian:_G.ipairs|ipairs]]<br />
**[[Russian:_G|_G]].[[Russian:_G.load|load]]<br />
**[[Russian:_G|_G]].[[Russian:_G.loadfile|loadfile]]<br />
**[[Russian:_G|_G]].[[Russian:_G.loadstring|loadstring]]<br />
**[[Russian:_G|_G]].[[Russian:_G.module|module]]<br />
**[[Russian:_G|_G]].[[Russian:_G.newproxy|newproxy]]<br />
**[[Russian:_G|_G]].[[Russian:_G.next|next]]<br />
**[[Russian:_G|_G]].[[Russian:_G.pairs|pairs]]<br />
**[[Russian:_G|_G]].[[Russian:_G.pcall|pcall]]<br />
**[[Russian:_G|_G]].[[Russian:_G.print|print]]<br />
**[[Russian:_G|_G]].[[Russian:_G.rawequal|rawequal]]<br />
**[[Russian:_G|_G]].[[Russian:_G.rawget|rawget]]<br />
**[[Russian:_G|_G]].[[Russian:_G.rawset|rawset]]<br />
**[[Russian:_G|_G]].[[Russian:_G.require|require]]<br />
**[[Russian:_G|_G]].[[Russian:_G.select|select]]<br />
**[[Russian:_G|_G]].[[Russian:_G.setfenv|setfenv]]<br />
**[[Russian:_G|_G]].[[Russian:_G.setmetatable|setmetatable]]<br />
**[[Russian:_G|_G]].[[Russian:_G.tonumber|tonumber]]<br />
**[[Russian:_G|_G]].[[Russian:_G.tostring|tostring]]<br />
**[[Russian:_G|_G]].[[Russian:_G.type|type]]<br />
**[[Russian:_G|_G]].[[Russian:_G.unpack|unpack]]<br />
**[[Russian:_G|_G]].[[Russian:_G.xpcall|xpcall]]</div>Ximximikhttp://wiki.datarealms.com/Template:Russian:Lua_FrameManTemplate:Russian:Lua FrameMan2010-06-05T17:38:06Z<p>Ximximik: Created page with '**FrameMan:ClearScreenText **FrameMan:SetScreenText **[[Russian:…'</p>
<hr />
<div>**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ClearScreenText|ClearScreenText]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:SetScreenText|SetScreenText]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ShowPerformanceStats|ShowPerformanceStats]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:SaveBitmapToBMP|SaveBitmapToBMP]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ClearBackBuffer8|ClearBackBuffer8]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ResetFrameTimer|ResetFrameTimer]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:FadeInPalette|FadeInPalette]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:FadeOutPalette|FadeOutPalette]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:DrawLine|DrawLine]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:LoadPalette|LoadPalette]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:IsResettingRTE|IsResettingRTE]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:SaveScreenToBMP|SaveScreenToBMP]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ToggleFullscreen|ToggleFullscreen]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ResetSplitScreens|ResetSplitScreens]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ResetRTE|ResetRTE]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:ClearBackBuffer32|ClearBackBuffer32]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:DrawText|DrawText]]<br />
**[[Russian:FrameMan|FrameMan]]:[[Russian:FrameMan:IsFullscreen|IsFullscreen]]</div>Ximximik