Приветствую Вас Гость | RSSГлавная | Lua комманды и синтаксис - Форум | Регистрация | Вход
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » Статьи » Учебник по Lua » Lua комманды и синтаксис
Lua комманды и синтаксис
ПрограммистДата: Среда, 31.03.2010, 10:43 | Сообщение # 1
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Lua

У меня есть предложение для тех кто хорошо знает Луа - дополнять эту статью по нему, в которой будут описаны команды и синтаксис Lua. Вот шаблон:

1) Код команды
2) Описание команды (зачем нужна, что делает и т.д.)
3) Пример использования (если можно его привести)

И так для каждой команды. Я понимаю, это долгая и нудная работа, но я могу помочь с оформлением + несколько команд я знаю. За эту работу вам будут благодарны многие в том числе и я.
Начну нашу статью.




1) GibThis()
Данная команда является приказывает указанному объекту уничтожиться на гибы (ну где то так)
Пример использования:



2) IsPlayerControlled()
Используется в условиях для проверки подконтрольности актора игроку.
Пример использования:



3) UInputMan:KeyPressed(<число>)
Данная команда при нажатии на указанную клавишу возвращает true, или false если была нажата другая клавиша.
Число в команде указывает на какая клавиша должна быть нажата. Список клавиш и их чисел.
Пример использования:



4) UInputMan:KeyReleased(<число>)
Данная команда при отпускании указанной клавиши возвращает true, или false если была отпущена другая клавиша.
Число в команде указывает на какая клавиша должна быть отпущена. Список клавиш и их чисел.
Пример использования:



5) UInputMan:KeyHeld(<число>)
Данная команда при удерживании указанной клавиши возвращает true, или false если удерживается другая клавиша.
Число в команде указывает на какая клавиша должна удерживаться. Список клавиш и их чисел.
Пример использования:



6) ActivityMan:GetActivity():SetTeamFunds(<кол-во золота>,<номер команды>)
Данная команда позволяет устанавливать кол-во золота в команде.
Пример использования:



7) IsEmitting( )
Данная команда позволяет проверить включен шлейф (Emission) или нет
Пример использования:



8) EnableEmission(<Истина/Ложь>)
Данная команда позволяет включить шлейф.
Пример использования:



9) <юнит/оружие/эффект>.Pos = Vector(X, Y)
Установка положения в пространстве.
Пример использования:



10) <юнит>.Team = Activity.Team_2
Установка команды юнита
Пример использования:



11) math.random(<число>);
Генерация случайного числа в пределе от 1 до <число> (требует уточнения)


12) self:GetTeamDeathCount(<команда>)
Получение кол-ва смертей юнитов определенной команды
Пример использования:



13) <юнит/оружие/эффект>.Vel = Vector(X, Y)
Установка скорости по осям.
Пример использования:



14) <юнит>.AIMode = <юнит>.AIMODE_<режим ИИ>
Установка режима ИИ для актора
Пример использования:



Статья будет постоянно дополняться. Просьба всех, кто знает луа принимать в этом участие. Поправки, предложения и замечания приветствуются.


Я мертв :)

Сообщение отредактировал Программист - Вторник, 20.04.2010, 17:10
 
RICARDOДата: Среда, 31.03.2010, 11:23 | Сообщение # 2
Lt.Ricardo
Группа: Проверенные
Сообщений: 577
Награды: 31  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Здесь можно собрать кучу уроков по луа в СС, что я давно хотел увидеть.

Пока совет один - дополнять и осуждать, а когда придет время, разделить все на 2 темы - сами уроки и обсуждения, а потом организовать целый форум. Тоже самое предлагаю и с ини.
Вообщем автору зачет за вклад в развитие луа в нашем сайте smile

И еще, Программист, поможешь во всем что знаешь в луа? Я хочу знать хотя бы базовые основы(А ты как раз их знаешь) smile



Lt.Ricardo's Blog
 
ПрограммистДата: Среда, 31.03.2010, 11:33 | Сообщение # 3
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
RICARDO,
Я около пяти минут назад нашел хороший тутор на дате, хочу заняться его переводом и тут выложить.
А насчет помощи: я знаю как многие скрипты подстраивать под себя, и более менее основы Lua. В их изучении мне помогло среднее знание синтаксиса Pascal'я. Как я думаю, еще немного изучив Lua, я смогуу сделать свой вариант смены режимов оружия, гораздо легкий в интегрировании в ini код оружия. Можешь что-нибудь простое спросить, если я знаю то скажу.


Я мертв :)
 
Mad_AlexДата: Среда, 31.03.2010, 14:08 | Сообщение # 4
Печальный Скнюссик
Группа: Главный Администратор
Сообщений: 2004
Награды: 38  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Quote (Программист)
Как я думаю, еще немного изучив Lua, я смогуу сделать свой вариант смены режимов оружия, гораздо легкий в интегрировании в ini код оружия. Можешь что-нибудь простое спросить, если я знаю то скажу.

Сомневаюсь, что ты сделаешь то, чего не смог СС48. Он все ж гений луа и ини моддинга, инженер новых возможностей и нестандартного геймплея...

Сначала скажи-ка мне принцип, по которому ты хочешь это сделать, потому что тут принцип важнее чем техническая реализация.

Насчет статьи:

Она поможет разобраться в луа только опытным программистам, для нубов это останется темный лес.
Для увеличения списка команд и описаний знание луа не нужно вообще, достаточно открыть кортексвикию и перевести....


С вопросами, в том числе касающимися моддинга, пишите мне в личные сообщения. Они должны дойти до меня, даже если я не часто захожу на сам сайт.
А вообще можете связаться со мной через VK: https://vk.com/dizzybat
Там я, возможно, отвечу чуть быстрее.
 
ПрограммистДата: Среда, 31.03.2010, 14:29 | Сообщение # 5
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Mad_Alex, на том же принципе, но только для переключения режимов оружия будет использоваться не меню, а кнопка на клавиатуре. Но я этим намного позже займусь, когда буду хорошо знать Lua.
Quote (Mad_Alex)
Насчет статьи:
Она поможет разобраться в луа только опытным программистам, для нубов это останется темный лес.

Я сегодня буду переводить одну статью по Lua. Там как раз все основы разбираются.


Я мертв :)
 
RaseriДата: Понедельник, 19.04.2010, 21:36 | Сообщение # 6
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Программист, Если есть возможность, то в самое первое сообщение добавлять команды и описание? Или в комментариях оставлять, чтобы ты потом перенес?
 
ПрограммистДата: Вторник, 20.04.2010, 03:38 | Сообщение # 7
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Dantalion13, ты ведь модератор теперь, можешь добавлять новые команды в топик сам, по шаблону.

Я мертв :)
 
RaseriДата: Вторник, 20.04.2010, 03:57 | Сообщение # 8
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
^___^ А может, так невежливо будет - твоя статья все-таки... вот и спросил ^___^
 
ПрограммистДата: Вторник, 20.04.2010, 04:00 | Сообщение # 9
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Как бы я для этого и создал статью в основном, для того чтобы не только я, но и люди, которые знают луа тоже её дополняли, либо напрямую (модераторы), либо через комменты

Я мертв :)
 
RaseriДата: Вторник, 20.04.2010, 04:38 | Сообщение # 10
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
"Доступ запрещен" - пишут.
--__-- все сбросилось... как досадно...
 
ПрограммистДата: Вторник, 20.04.2010, 04:39 | Сообщение # 11
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Попробуй еще раз, это бывает, какой то глюк

Я мертв :)
 
RaseriДата: Вторник, 20.04.2010, 04:47 | Сообщение # 12
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Эхх...
Ладно, предложение есть следующее: при увеличении списка команд до, скажем, тридцати - устраивать на сайте аналог кортекс вики с разделением команд на группы, быстрым поиском блэкджеком и шлюхами
Думаю, даже обосновывать мнение не нужно...
Как можно это сделать на нашем сайте? Арморед, Солдиер?
 
ПрограммистДата: Вторник, 20.04.2010, 12:11 | Сообщение # 13
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Dantalion13,
Можно все под спойлер загнать и упорядочить либо создать аналог вики:
1) можно создать специальную ветку форума
2) можно использовать многоспойлерные спйлеры
3) можно сделать свою вики, благо движок бесплатный


Я мертв :)
 
RaseriДата: Вторник, 20.04.2010, 12:36 | Сообщение # 14
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Ну... Еще можно создать страницу сайта и установить другой шаблон к нему, нарисовать шапку "кортекс вики русская версия" или как-то так, убрать с той страницы все лишнее (только ссылки на форум и на главную страницу сайта на видном месте оставить). На той странице (с другим шаблоном которая) соорудить невидимую таблицу, в ней - расположить ссылки на группы команд, сопроводив их какими-либо иконками. Ссылки на группы команд чтобы тоже вели на другие страницы с измененным шаблоном... там дать ссылки на подгруппы команд, как-то так.
Или все ссылки на команды на одной странице сделать, и оформить по типу:
1. <первая группа>
__1) <первая подгруппа>
____ - <первая ссылка>
____ - <вторая ссылка>
____ - <третья ссылка>
__1) <вторая подгруппа>
____ - <первая ссылка>
и так далее.
happy Так более понтово будет happy )))

Мм... возможно, правила пользования бесплатным хостингом ucoz не дадут сделать страницу без всяких "наворотов". Ну, парочку модулей оставить тогда...

 
ПрограммистДата: Вторник, 20.04.2010, 17:13 | Сообщение # 15
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Dantalion13, молодец, добавил новых команд. smile Именно по такому принципу и строится статья. Для экономия места, спрятал все примеры под спойлеры.

Я мертв :)
 
repeatДата: Среда, 21.04.2010, 01:52 | Сообщение # 16
Краб
Группа: Проверенные
Сообщений: 24
Награды: 4  +
Репутация:  ±
Замечания:  ±
Статус: Offline
не мешал бы навигатор
всё уже давно изобретено. в конце некоторых книг в алфавитном порядке ключевые слова или темы, а напротив них через запятую страницы где эти ключевые слова или темы упоминаются

чего бы тоже так не сделать?

Оружие
- режимы link1
- создание link1, link2, link3
- bla-bla-bla


моё - http://pereulok.net.ru/

Сообщение отредактировал repeat - Среда, 21.04.2010, 01:53
 
RaseriДата: Среда, 21.04.2010, 02:01 | Сообщение # 17
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Навигатор пока что очень маленький получится =) Такой, что и без него обойтись можно... Или ты предлагал по командам навигатор создать? =)
Считаю, что в обоих случаях навигатор создать следует... но не сейчас, наверное...
 
ПрограммистДата: Суббота, 15.05.2010, 13:34 | Сообщение # 18
Рейстлин Маджере
Группа: Проверенные
Сообщений: 276
Награды: 24  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Навигатор вам нужен? Вот вам тогда Cortex Command Wki Rus. Но сначала это прочитайте. В ней пока почти ничего нет, только основа для создания статей. Так что давайте все вместе дружно переводить Wiki DataRealms и дополнять нашу новую вики! Также я добавляю на новую вики английские статьи и помечаю их как требующие перевода.Их можно посмотреть тут

Я мертв :)
 
Dиmasиk2009Дата: Суббота, 15.05.2010, 13:47 | Сообщение # 19
Чёрный Геймер
Группа: Проверенные
Сообщений: 599
Награды: 6  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Круто... blink
Но помочь смогу только позже, сейчас занят другим важным делом... wacko
 
RaseriДата: Пятница, 24.12.2010, 23:12 | Сообщение # 20
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
ОГО, русская вики работает!
Она и будет продолжать так делать?
 
v4Дата: Среда, 12.12.2012, 17:54 | Сообщение # 21
Краб
Группа: Проверенные
Сообщений: 14
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
у меня не работает на 1.0б

http://cortexcommandru.3dn.ru/forum/61-1986-1
 
zasecrechenoДата: Четверг, 22.08.2013, 13:58 | Сообщение # 22
Краб
Группа: Проверенные
Сообщений: 68
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
self:GetTeamFunds(<номер команды>);
используется для получения данных о деньгах команды

Ребята, я пол дня тружусь над получением некоторой команды - но создать ее толком не могу, множество вариантов не воспринимает - выводит Eror. Если кто может прошу, поковыряйтесь.
Подобная команда есть в уровнях где целью является выковырять некоторую сумму Oz из земли.
Адрес к lua файлу: Base.rte/Activities/SiteScan.lua
 
RaseriДата: Понедельник, 04.11.2013, 12:13 | Сообщение # 23
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
В некоторых функциях в первом посте встречаются ошибки, лол.
Надо всё переделывать dry
 
ximximikДата: Понедельник, 04.11.2013, 17:49 | Сообщение # 24
Добрый модератор
Группа: Проверенные
Сообщений: 460
Награды: 29  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Raseri, да вообще надо тему сносить и чуть ли не с нуля писать. Тема для 23 билда писалась, если мне не изменяет память.

Мой YouTube канал.
 
RaseriДата: Понедельник, 04.11.2013, 19:07 | Сообщение # 25
Темный Клинок
Группа: Добрый Модератор
Сообщений: 779
Награды: 23  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Угу smile
Хотя даже и так, она приносит пользу smile
 
SfabrikanДата: Суббота, 09.11.2013, 14:57 | Сообщение # 26
Швабри
Группа: Половина модератора
Сообщений: 1470
Награды: 1  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Нашел кое что интересное http://tylerneylon.com/a/learn-lua/

 
BluffyДата: Суббота, 14.12.2013, 19:50 | Сообщение # 27
Краб
Группа: Пользователи
Сообщений: 9
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Помогло.

Сиджи, ты понимаешь, что ты уже потраченный? не я потраченный, не он потраченный, а ты потраченный!
 
zasecrechenoДата: Воскресенье, 02.03.2014, 18:16 | Сообщение # 28
Краб
Группа: Проверенные
Сообщений: 68
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
у меня вопрос
есть ли какая нибудь команда для удаления обекта с инвентаря (делаю ак 47 с патронами штоб они могли законьчиться)

если кто знает пишите пожалуйста!
зарание спасибо!
 
zasecrechenoДата: Воскресенье, 02.03.2014, 18:24 | Сообщение # 29
Краб
Группа: Проверенные
Сообщений: 68
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
да кстати у меня для вас есть новая команда
GetTeamFunds(<номер команды>);
получение количества денег команды
у меня пока работало только в связке:

ActivityMan:GetActivity():GetTeamFunds(<номер команды>);

и пример работы
local P = ActivityMan:GetActivity():GetTeamFunds(0);
if P < 1000 then
ActivityMan:GetActivity():SetTeamFunds(P+100, 0)
end

если денег меньше 1000 то добавить 100
надеюсь это кому нибудь поможет
 
BlumpДата: Воскресенье, 02.03.2014, 18:31 | Сообщение # 30
Коалиция
Группа: Проверенные
Сообщений: 777
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
zasecrecheno, self.ToDelete = true; wink

Моддинг - это сезонное. По крайней мере, у меня...

Сообщение отредактировал Blump - Воскресенье, 02.03.2014, 18:32
 
zasecrechenoДата: Воскресенье, 02.03.2014, 18:50 | Сообщение # 31
Краб
Группа: Проверенные
Сообщений: 68
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
Blump
согласен логично
но! этот способ работает только с обектами на сцене (теми которые мы можем сломать,увидеть(невооруженым глазом))
тоесть этот способ негоден для работы с инвентарем
так как он существует только ввиде текста
ктомуже я уже нашел как решить проблему

для получения инвентаря подконтрольного актора нужно ввести
ActivityMan:GetActivity():GetControlledActor(0).Inventory;

тогда вы получите список обэктов инвентаря
например магазин моего ак "AK-47 Magazine,heldDevice"
 
BlumpДата: Воскресенье, 02.03.2014, 18:56 | Сообщение # 32
Коалиция
Группа: Проверенные
Сообщений: 777
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
zasecrecheno, твой код - твои правила). Я подумал, что ты будешь скрипт к самой пушке будешь присоединять (или, я правильно понял?). Я не знаток хороших команд. Я искал всегда простые пути, обходные

Моддинг - это сезонное. По крайней мере, у меня...

Сообщение отредактировал Blump - Воскресенье, 02.03.2014, 18:57
 
zasecrechenoДата: Воскресенье, 02.03.2014, 18:58 | Сообщение # 33
Краб
Группа: Проверенные
Сообщений: 68
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
извените немного завис (мой вопрос и мой ответ не сходятся)
щас перезагружусь и все будет ок  biggrin
похоже удаление с инвентаря (ToDelete = true) работает
ступил (сначала ответил а потом попробовал)
сейчасже исправлюсь
 
zasecrechenoДата: Воскресенье, 02.03.2014, 19:45 | Сообщение # 34
Краб
Группа: Проверенные
Сообщений: 68
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
вот выложу lua пухи если кому интересно

function Create(self)
self.PresetName = self.PresetName..' '..math.random(10000);--код девайса для поиска
end

function Update(self)

if self.Magazine ~= nil then
for actor in MovableMan.Actors do --поиск актора который держит ету пуху
if self.Magazine.RoundCount == 31 then --31 патрон является флагом (да я так иногда делаю)
weapon = ToAHuman(actor).EquippedItem; --берем пуху которую держит актор
if weapon.PresetName == self.PresetName then --проверка имя пухи которую держит актор и етого девайса (тут и нужен код пухи (без кода пухи игрок может воспользоваться магазином другого актора))
mag = actor:HasObject("AK-47 Magazine"); --проверка есть ли вообще магазины к етой пухе
if mag == false then --магазины отсутствуют значит нет смисла искать по инвентарю
self.Magazine.RoundCount = 0
end
if mag == true then --магазины присутствуют заряжаем
for device in actor.Inventory do --поиск по инвентарю
if device.PresetName == "AK-47 Magazine" then --если ето магазин к пухе
device.PresetName = ''; --обнуляем имя
device.ToDelete = true; --удаляем пуху(она всеравно останется но исчезнет если актор ее возьмет) потому и обнуляем имя
self.Magazine.RoundCount = 30; --заряжаем магазин
break;
end
end
end
end
end
end
end
end
 
BlumpДата: Воскресенье, 02.03.2014, 19:46 | Сообщение # 35
Коалиция
Группа: Проверенные
Сообщений: 777
Награды: 0  +
Репутация:  ±
Замечания:  ±
Статус: Offline
zasecrecheno, если работает, то ты крут)

Моддинг - это сезонное. По крайней мере, у меня...
 
Форум » Статьи » Учебник по Lua » Lua комманды и синтаксис
Страница 1 из 11
Поиск:
Статистика Форума
Последние темы Читаемые темы Последние зарегистрированные пользователи
Хорошие фильмы [puksus]

игра обломи предыдущего [puksus]

District 9 Multi-National United (MNU) [Xterian]

Песенки или музыка. [puksus]

Super Weapons of AcoACorp [puksus]

Black Ravens v.0.8.8 {B27} [degtyar02]

Outposts v.1.5.1 {B32} [Xterian]

OnLine Tech [alexgamer0092]

Новые Бункеры [Xterian]

Command & Conquer [alexgamer0092]

[1]>Флудильня! [5131]

[2]>Свалка арта. [879]

[3]>Фан-арт по Cortex Command [386]

[4]>игра обломи предыдущего [331]

[5]>Black Ravens v.0.8.8 {B27} [288]

[6]>Выход 24 билда. [281]

[7]>[UNITED TERRAN FORCES] [274]

[8]>Улучшения форума [270]

[9]>Песенки или музыка. [270]

[10]>Russian Combat Small Arms {B24-B27} [263]

serezhka8402 [16.11.2017|13:23]

fedorofflucka2017 [14.11.2017|18:43]

abramovfilip1989 [10.11.2017|11:18]

maksa1990ra [04.11.2017|15:55]

dimatchagin [01.11.2017|07:55]

doktorkto529 [31.10.2017|20:30]

lvivua [29.10.2017|12:30]

farsj10i2 [24.10.2017|14:44]

adrianfames [14.10.2017|08:24]

alexgamer0092 [07.10.2017|02:00]


Вверх
Русский Фан Сайт Cortex Command © 2017.