Среда, 13.12.2017, 23:48
РОССИЯ
[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Форум » ↓ Другое ↓ » Моддинг » Вступление (Принцип написания скриптов)
Вступление
Paho  Дата: Четверг, 08.08.2013, 10:39 | Сообщение # 1
Глав.адм
Сообщений: 2417
Репутация: 1515
Награды: 166
GSC(Game Script)
NotePad++ - удобный редактор
Переменные служат для хранения информации в пределах одной функции.
Язык программирования: смешанный C++...
// - как бы пояснение, в скрипте не читается, для простоты советую вам добавлять для себя сноски через пробел таким способом

имя = значение; // Имя переменной не должно содержать пробелов и символов
объект.имя = значение; // Присваиваем значение индивидуальной переменной объекта.
text = "пример123"; // Текст должен быть в кавычках, иначе игра посчитает его за переменную.
text = oldtext; // Присваивает переменной text значение переменной oldtext.
logic=true; // false, undenfined - логические выражения.
level.имя=значение; // Совершает определенные действия либо операцию.
При старте игра загружает 2 скрипта: режима и карты.


имя() // Имя функции
{ // Открывает функцию
} // Закрывает её

Функция может содержать аргументы
имя(аргумент1, аргумент2,аргумент3) // Аргументы через запятую.
{
}

load_ent()
{
ent getEnt("test","targetname"); //
Подгружает объект и значение таргетнейма "test"
ent startMove (1042,5,1.9,1.9); 
}
startMove (distance,time,wait)
{
self movez (distance,time,wait);

self это текущий объект в данной функции "test" 
Им может быть игрок или брашмоделька

Математические действия

variable = значение оператор значение;

Операторы
=
Равно
- Вычитание
+ Сложение
* Умножение
/ Деление

variable = 5 + 5 - 1; // Будет 9

text = "test"
text_two = "Xyi"
new text = text + text_two; //
Выйдет testXyi

Редкие операторы:

переменная ++; // Прибавит 1 к значению
переменная --; // Отнимет 1 от значения
переменная += значение; // Добавит значение к значению переменной
переменная -= // Противоположность +=

Операторы:

Оператор if проверяет данные и если они удовлетворяют условию - то он переходит к выполнению определенного кода

== Равно
!= Не равно
! Отключено либо на 0
< Меньше
> Больше
<= Меньше либо равно
>= Больше либо равно
&& И
|| или

if(переменная) // Если значение переменной true - удовлетворит
if(!переменная) // Если значение переменной false - удовлетворит
if(переменная >= переменная2) // Если значение переменной не равно переменной2 - удовлетворит
Длинный:
if(переменная == переменная2 && переменная3 >= переменной4 && (переменная5 != переменная6 || переменная7 == переменная)) //
Переменная равна переменной 2 И переменная 3 больше или равна переменной 4 И переменная 5 не равна переменной 6 либо переменная 7 равна переменной 8 - удовлетворит

if(переменная == переменной2 || ! переменная 3)
{
}
Выполнение кода если условие удовлетворит
}
else
}
Выполнение кода если условие не удовлетворит

Циклы:


while(условие) // Если вместо условия будет единица 1 или true - цикл станет бесконечным
{
Код, который в цикле
}

while(level.trololo <= 2)
{
Код будет в цикле пока левел.трололо меньше либо равен 2
}

for(i=0;iоператорзначение;i++)
objects=
getentarray("object","targetname");
for(i=0;i objects init();

Подгрузка всех объектов с таргетнеймом object. Далее запуск с помощью цикла от имени каждого объекта функции init
В функции init - selt будет являться объектом

for(;;) // бесконечный цикл
{
wait1; // в бесконечном цикле должно присутствовать ожидание, иначе игра зависнит
if(переменная == переменная2)
break; // Прекращение выполнения цикла
}



max-damage3  Дата: Суббота, 17.08.2013, 18:18 | Сообщение # 2
Dead.Ghost|LeaDer
Сообщений: 88
Репутация: 120
Награды: 14
"Язык смешанный с С++" 
Язык смешаный с С++, но очень малый процент, язык програмирования код2 - "Квейк Си", язык програмирования от квейка 3.
+ в if переменной, условия нужно указывать 2 символами. ==, еси поставить = то скрипт не будет работать, в других случаях (вне переменной if) можно ставить.
Self и level
self- является игрок имеющий свои данные, и использующий опеределенный скрипт, self.davalka=1, игроку использующему скрипт, дается статус davalka=1,
level- являются все игроки, а точнее общий статус, например статус level.antispwan, все игроки получают статус antispawn.. так же этот статус похож на 
player.antispawn
где i указывается число игроков на сервере player.size если не ошибаюсь, то есть player
.antispawn дает игрокам или игроку, смотря к чему вы приписали значение i, приписывает статус antispawn.
Не много дополнил прошлую запись))



max-damage3  Дата: Суббота, 17.08.2013, 18:19 | Сообщение # 3
Dead.Ghost|LeaDer
Сообщений: 88
Репутация: 120
Награды: 14
player не прописалось почему то)


Paho  Дата: Пятница, 04.10.2013, 18:36 | Сообщение # 4
Глав.адм
Сообщений: 2417
Репутация: 1515
Награды: 166
С++

Paho  Дата: Пятница, 04.10.2013, 18:36 | Сообщение # 5
Глав.адм
Сообщений: 2417
Репутация: 1515
Награды: 166
и только

Paho  Дата: Пятница, 04.10.2013, 18:36 | Сообщение # 6
Глав.адм
Сообщений: 2417
Репутация: 1515
Награды: 166
Вот другая версия:

Paho инструкция по моддингу/скриптингу в COD2

GSC(Game Script) - используется в серии Call of Duty в качестве скриптов
Язык: C++
Редакторы: блокнот, NotePad++ и т.д.

После // через пробел текст - выполняться в игре не будет, можно использовать в качестве пояснения(даже хотябы для самого себя)
или
/*
 это комментарий, который может состоять
 из нескольких строчек
 */

Переменные: служат для хранения информации в пределах одной функции
имя = значение; // Имя переменной не должно содержать пробелов и символов
объект.имя = значение; // Присваиваем значение индивидуальной переменной объекта
P.s.s: текст должен быть в кавычках - иначе игра посчитает его за переменную (в значении)

Логические выражения:
logic = true; // истина, правда, верно
logic = false; // ложный, короче противоположность true
logic = undefined; // неопределенное значение

level.имя = значение; //совершает определенное действие или оперецию

При старте игра загружает два скрипта: режима и карты

имя(); // Имя функции
{ // Открывает функцию
} // Закрывает её

Функция может содержать аргументы:

имя(аргумент1, аргумент2, аргумент3) // Аргументы через запятую
{
}

self Это текущий объект в данной функции {в скобках}

Математические действия:
variable = переменная
variable = значение оператор значение;
= Равенство
+ Сложение
- Вычитание
* Умножение
/ Деление

variable = 5 + 5 - 1; // 9

переменная++; // Прибавит 1 к значению
переменная--; // Отнимет 1 от значения
переменная+=значение; // Добавит значение к значению переменной
переменная-=значение; // Отнимет значение от значения переменной

Условия и циклы
Операто if проверяет данные и, если они удовлетворяют условию - оператор переходит к выполнению определенного кода
== Равно
!= Не равно
! Отключено либо на 0
< Меньше
> Больше
<= Меньше либо равно
>= Больше либо равно
&& И
|| Или

if(переменная) // если значение переменной true истина - удовлетворит
if(!переменная) // если значение переменное false - удовлетворит
if(переменная >= переменная2) // если значение переменной не равно переменной 2 - удовлетворит

Оператор :: существует для того, чтобы можно было обращаться к тем функциям, типам, и переменным, которые лежат в каких-либо пространствах имён, либо полям, принадлежащим определённому классу. То есть если у нас есть, например, функция Sqrt, которая является членом класса Math, который лежит в пространстве имён System, то вызов этой функции будет выглядеть так:
System::Math::Sqrt(x);
Одно двоеточие используется при определении областей видимости в классе и при наследовании одного класса от интерфейсов, либо от других классов.

max-damage3  Дата: Четверг, 24.10.2013, 07:51 | Сообщение # 7
Dead.Ghost|LeaDer
Сообщений: 88
Репутация: 120
Награды: 14
Павлик с++ это после 4 коды, до этого все квейк си


Форум » ↓ Другое ↓ » Моддинг » Вступление (Принцип написания скриптов)
Страница 1 из 11
Поиск:


 site made by Paho & SplinterCell 2011-2017 | Создать бесплатный сайт с uCoz Сайт оптимизирован под браузеры: Chromium, Google Chrome, Opera
Дизайн данного сайта полностью принадлежит администратору сайта.