"Какой программой лучше всего редактировать скрипты?" - здесь у всех людей свои предпочтения, но я рекомендую Notepad++ (ссылка)
Советы:
1. Соблюдайте табуляцию/выравнивание кода (лесенка) - так будет гораздо удобнее редактировать в дальнейшем.
Намного лучше когда так:
Код
if(a == b) { if(a == b) { //Code } }
Чем вот так:
Код
if(a == b) { if(a == b) { //Code } }
2. Если вводите новую функцию - старайтесь добавлять комментарий к ней, чтобы потом не думать "а за что же она отвечает?". Согласитесь, со временем может вылететь из головы. К тому же, если вы занимаетесь скриптами не один, то вашему напарнику(-кам) это намного облегчит задачу.
3. Нежелательно использовать цикл в цикле.
4. В конце каждой строки кода не забывайте вставлять знак "точка с запятой" (;). Без этого, скрипт не будет работать или будет работать не так как надо. (Правильно так: LAi_CalcDamageForBlade(pchar); а не так: LAi_CalcDamageForBlade(pchar))
5. Если в if вы используете какой-либо атрибут, то не забывайте перед этим проверять его функцией CheckAttribute
if(Number1 != Number2) { //Скрипт, если условие верное } else { //Скрипт, если условие неверное }
Условия для операторов выбора:
a == b - равно a != b - не равно a <= b - меньше или равно a >= b - больше или равно
Циклы:
while - Пример:
Код
int Number;
while (Number < 10) // Цикл работает, пока "Number" меньше 10 { Number++; // С каждым "циклом" увеличиваем "Number" на 1 }
for - Пример:
Код
int i;
for (i = 0; i < 10; i++) // Цикл будет работать до тех пор, пока "i" меньше 10. При этом, с каждым "циклом", "i" увеличивается на 1 { // Скрипт }
Комментарии:
Комментарии - текст, который движок "не видит". Обычно, используется для различных пояснений
// - делает "невидимой" строку. Пример: // Ваш текст с пояснениями
/* и */ - делает "невидимым" какой-либо кусочек кода.
Пример:
Код
/* Ваш текст 1 Ваш текст 2 Ваш текст 3 */
P.S: Можно использовать для того, чтобы временно "отключить" какой-либо скрипт
Функции:
rand(int X) - случайное целое число в диапазоне от 0 до int X (int X - это любое целое число). Пример: int Number = rand(45);
FRAND(float X) - случайное дробное число в диапазоне от 0.0 до float X (float X - это любое дробное число). Пример: float Number = FRAND(958.71);
frandSmall(float X) - функция, аналогичная "FRAND", только с меньшим диапазоном случайных чисел. Трудно объяснить в чем у них разница, так что лучше попробуйте обе и сравните их. Лично я советую все-же использовать "frandSmall", чем "FRAND"
sti(string) - преобразование текста в целое число. Пример: sti("10");
stf(string) - преобразование текста в дробное число. Пример: stf("32.15");
makeint(float) - преобразование дробного числа в целое. Пример: makeint(17.12); - округлит до 17
makefloat(int) - преобразование целого числа в дробное (обычно используется для выражений, где получаются дробные числа). Пример: makefloat(10 / 16); - выведет 0.625
Log_Info(string) - выводит в "Лог" (вверху экрана, как, например "Time x2" или "Удачный удар") текст.
Пример:
Код
Log_Info("Ваш текст");
или
Код
string Text = "Ваш текст"; Log_Info(Text);
Log_TestInfo(string) - выводит текст в "Лог" при условии, что включен "Режим бета-теста" ("bBettaTestMode = true" в файле _LSC_on_off.h)